X

Privacy & Cookies

deze site maakt gebruik van cookies. Door verder te gaan, gaat u akkoord met het gebruik ervan. Meer informatie, waaronder het beheren van cookies.

heb het!

advertenties

UPDATE: ik realiseerde me vandaag dat ik hetzelfde onderwerp twee keer heb geschreven, in twee verschillende berichten., Deze moet worden beschouwd als de gecombineerde inspanning, maar kan een beetje lezen als een blog Frankenstein. Origineel van de andere blijft hier:

Dit bericht is deel 5 van de nieuwe LDAP-serie Ik ben begonnen om mensen meer bewust te maken van wat LDAP is en hoe het werkt.

deel 1 werd hier geplaatst:

Wat is een LDAP eigenlijk?

Dit bericht zal zich richten op LDAP-servers en-clients.,

Servers vs clients

in het dierenrijk zult u vaak symbolische relaties zien, zoals de vermeende relatie tussen krokodillen en de Plevier, die dode dingen van de tanden van de krokodil eet.

de LDAP client / server relatie is ook symbiotisch. De server heeft de client nodig om it-vragen te stellen en de client heeft de server nodig om it-informatie in te voeren.,

als de natuur niet jouw ding is, is er altijd de Spider-Man/Venom symbiotische relatie:

in het geval van LDAP zal een client vragen naar dingen als Gebruikersnamen, thuismap locaties, groepslidmaatschappen, enz. De server zou verantwoordelijk zijn voor het leveren van die informatie.

LDAP is niet anders dan andere protocollen, zoals HTTP, NFS, enz. Er is een client en server relatie. En net als elke succesvolle relatie, moet er iemand praten en iemand luisteren.

Ik heb een zoon van twee jaar. Hij praat, maar het meeste is gewoon oefenen voor hem., Hij zal dingen zeggen als ” dada, bird truck.”En Ik zal zeggen” vogel? Truck? Cool!”Het is meestal een eenzijdig gesprek waarbij ik in wezen ACK zijn SYNs. (I need to get out more)

soms is het ” dada read book.”En ik gehoorzaam.

LDAP client/server gesprekken zijn niet veel verschillend. De cliënt is mijn tweejarige. De LDAP-server ben ik.

“LDAP, gebruikersinformatie zoeken”

“gebruikersinformatie? Cool! Hier ga je!”

op de basis zijn LDAP gesprekken niets meer dan TCP SYNs en ACKs. Dus, bij het configureren of oplossen van problemen, ze moeten worden behandeld als zodanig.,

waar dingen verward raken is wanneer je begint te overwegen wat er nodig is voor een client/server relatie om succesvol te zijn. Het is geen goed idee om de communicatiekanalen wijd open te laten voor iedereen in de wereld om te zien, dus er zijn een aantal regels die we moeten volgen wanneer klanten met servers willen praten.

Client/Server configuration

LDAP-clients kunnen alles zijn waarop software draait die LDAP kan opvragen via RFC-2307-standaarden. Windows, Linux, opslagsysteem besturingssystemen, enz. kunnen allemaal fungeren als clients., Sommige besturingssystemen bevatten ingebouwde LDAP-functionaliteit (zoals Windows) waarvoor u niets speciaals hoeft te installeren. Sommige opslagsystemen, zoals NetApp ‘ s geclusterde Data ONTAP, ondersteunen volledig LDAP dat voldoet aan de RFC-2307 standaard. Zie TR-4073: beveiligde Unified Authentication voor meer informatie.

basisinformatie van het netwerk.

onthoud dat het aan de basis een eenvoudig TCP-gesprek is.

  • LDAP-servernamen, URI of IP-adressen (bevindt de server zich in DNS? Zijn er SRV records voor LDAP?,)
  • LDAP-poort (standaardpoorten zijn 389 voor LDAP, 636 voor LDAP over SSL, 3268 voor globale catalogus; hebt u de serverpoort gewijzigd?)
  • kan de client met de server praten (routing?)

voordat een client een gesprek met een server kan starten, moet deze worden geconfigureerd met informatie over die server. De configuratie zal de basis van het OSI model volgen, beginnend bij de eerste paar lagen van de stack om een TCP gesprek met de server te starten.

gemeenschappelijke LDAP-clients

LDAP-clients hebben ook de neiging om aan dezelfde standaarden te voldoen als de servers. Waarom?, Omdat het logisch is. Clients kunnen op zichzelf staan van een besturingssysteem, maar sommige besturingssystemen integreren LDAP standaard in hun configuratie. Windows is hier een voorbeeld van omdat LDAP integraal is voor Active Directory.

andere clients bevatten (maar zijn zeker niet beperkt tot):

  • SSSD
  • OpenLDAP

Hopelijk heeft de informatie in dit bericht geholpen om verwarring op LDAP clients en servers op te lossen.

sommige LDAP-servers staan u zelfs toe om wijzigingen aan te brengen in de poort waarop het luistert voor LDAP-communicatie., Dit is om LDAP-servers te beveiligen door niet gebruik te maken van bekende poorten. Bij veelgebruikte LDAP-servers, zoals Active Directory, is het echter moeilijk om andere poorten te gebruiken dan de gewone. Bij het configureren van de clients moet de configuratie van de LDAP-server altijd worden gecontroleerd.

nadat we voorbij de TCP-verbinding zijn, brengen we onze tijd door in de applicatielaag van het OSI-model.

Bind / Login-informatie.

eerst moeten we ons zorgen maken over authenticatie bij de LDAP-server. Dit is ook bekend als bindend., Het niveau van authenticatie zal afhangen van wat de server is ingesteld om toe te staan. Het laagst mogelijke verificatieniveau is ‘anoniem’, maar geen moderne LDAP-server staat standaard anonieme bindingen toe. Over het algemeen is een alleen-lezen-account op de LDAP-server vereist voor verificatie bij een server om LDAP-query ‘ s uit te geven.

de benodigde bind-informatie is opgenomen in de clientconfiguratie. Voor de meest veilige configuratie heeft het gebruik van een ticket-of sleutelgebaseerd authenticatiesysteem de voorkeur boven het gebruik van wachtwoorden.,

LDAP-zoekinformatie

nadat een binding plaatsvindt, worden de query ‘ s uitgevoerd. De aard van de queries hangt af van de clientconfiguratie. Welk schema gebruiken we? Welke informatie hebben we nodig? Hebben we de client geconfigureerd om er zeker van te proberen LDAP voor informatie te allen tijde (via nsswitch.conf configuratie)? Hebben we de client verteld waar te beginnen met zoeken naar informatie op de LDAP-server door het verstrekken van de basis DN?

Dit vertelt de client waar naar informatie op de LDAP-server moet worden gezocht.,Het formaat voor deze informatie is Distinguished Names (DNs), die ik in Deel 4. U kunt een basis DN instellen en vervolgens specifieke DNs voor gebruikers, groepen, netgroepen, enz. U kunt zelfs meerdere locaties opgeven om te zoeken. Het idee hier is om onze zoekopdrachten te filteren om dingen te versnellen voor de klanten.

Fun fact: Apple corrigeert automatisch DNs naar DNS. Niet cool, Apple. Niet cool.

zodra de LDAP-client de nodige informatie heeft, moet deze zich losmaken – we willen niet voor onbepaalde tijd ingelogd blijven. Dat is een bron varken.

LDAP-schemainformatie

i omvat schema ‘ s in detail in deel 3., Veel clients kennen de standaardschema ‘ s die LDAP gebruikt, zoals RFC-2307, RFC-2307bis, enz. In de meeste gevallen, de schema ‘ s op de server zal niet afwijken van dat. Maar in sommige gevallen, zoals door handmatige interventie of 3rd party tools zoals Dell Vintela (ook bekend als Centrify, Quest, etc), kan het nodig zijn om aanpassingen te maken. Dit kan op de klant worden gedaan. Dit stelt de client in staat om de juiste informatie van de server te vragen, wat de server vervolgens in staat stelt om de informatie te vinden en te reageren op de client.,

Client-specifieke opties

veel clients bieden specifieke opties zoals caching van gebruikers / groepen, referenties, Kerberos configuratie, enz. Deze zijn over het algemeen optioneel, maar moeten worden bekeken op een per-client leverancier basis.

Voorbeeldclientconfiguratie

het volgende is een voorbeeld van hoe een geclusterde Data ONTAP LDAP client eruit zou zien:

Dit is hoe mijn client configuratie die SSSD draait eruit ziet:

Servers

Als u ergens wilt dat de clients om informatie vragen, hebt u een server nodig., De server moet een geldig RFC-2307 schema hebben om de benodigde LDAP objecten te kunnen bevatten. Als u LDAP op UNIX-basis uitvoert en Microsoft Active Directory wilt gebruiken voor Unix-verificatie, moet u ervoor zorgen dat de server UNIX-attributen in het schema heeft. Hoewel Microsoft Active Directory draait op een LDAP-backend, is het pas een echte op UNIX gebaseerde LDAP-server als u het schema uitbreidt. Ik praat een beetje over dit in mijn blog post op IDMU.

zoals vermeld in de client sectie, heb je een hoop informatie nodig om clients in te stellen. De server is waar deze informatie vandaan komt., Hier zijn de dingen die je op de server moet controleren om er zeker van te zijn dat je je clients correct configureert:

  • Server netwerk info (IP adres, hostnaam, DNS entries, SRV records, LDAP server ports, etc.)
  • ondersteund bindniveau (gebruik de sterkste beschikbare, indien mogelijk)
  • geldige bind-gebruiker of SPN
  • DN-informatie
  • SchemaType/attributen

LDAP-servers kunnen tonnen informatie hosten. UNIX gebruiker creds, Windows creds, netgroups, IP-adressen, SPNs, naam mapping regels…. Het hangt gewoon af van wat de klanten ondersteunen die bepaalt wat je kunt gebruiken.,

gemeenschappelijke LDAP-servers

LDAP-servers hebben de neiging om zich te houden aan een gemeenschappelijke reeks standaarden zoals gedefinieerd door IETF. Dit is om te zorgen voor een breed scala van ondersteuning voor klanten., Enkele van de meest voorkomende LDAP-servers zijn:

  • Active Directory
  • OpenLDAP
  • RedHat Directory Server/389 Directory Server
  • Apple Open Directory
  • Oracle Internet Directory
  • ApacheDS

LDAP-verwijzingen

Als u meerdere LDAP-servers gebruikt en een client is niet in staat om een object te vinden in het domein van de opgegeven LDAP-server, het kan proberen om een LDAP-verwijzing te gebruiken om in de andere servers te zoeken., In wezen neemt het informatie in de LDAP-server over andere servers die we kennen en probeert het met hen te verbinden via LDAP URI totdat het A) het object vindt of b) geen servers meer heeft om het te proberen. Dit kan gebeuren in zowel Windows als niet-Windows LDAP servers. Sommige LDAP-clients ondersteunen “referral chasing” niet, dus het is belangrijk om te weten of dit in uw omgeving gebeurt en of uw client in staat is om verwijzingen na te jagen.,

zoekopdrachten in globale catalogi

in Active Directory is het mogelijk om een kopie van attributen uit meerdere domeinen op te slaan in een forest op lokale domeincontrollers die fungeren als globale catalogusservers. Standaard worden UNIX-attributen niet gerepliceerd naar de globale catalogus, maar u kunt dit gedrag indien nodig wijzigen. Ik doe dit in TR-4073. Als u meerdere domeinen in hetzelfde forest wilt opvragen en LDAP-verwijzingen wilt vermijden, kunt u eenvoudig de benodigde attributen repliceren en de LDAP-poort wijzigen naar 3268 om de servers te laten weten dat ze de globale catalogus moeten gebruiken!,

mijn omgeving

in mijn omgeving gebruik ik Active Directory LDAP met Identity Management. Maar ik ben bekend om OpenLDAP en RedHat Directory diensten te gebruiken. Beide zijn perfect geldig om te gebruiken. Als u echter van plan bent om multiprotocol NAS te doen (CIFS/SMB en NFS), raad ik ten zeerste aan om Microsoft Active Directory te gebruiken voor verificatie voor UNIX-en Windows-gebruikers. Maakt het leven oneindig makkelijker.

als je al Linux-gebaseerde LDAP gebruikt, is dat prima. Probeer er indien mogelijk voor te zorgen dat de UNIX-Gebruikersnamen (uid LDAP-attribuut) overeenkomen met de Windows-Gebruikersnamen (sAMAccount-attribuut)., Op die manier, als u multiprotocol NAS gebruikt, hoeft u zich geen zorgen te maken over naamtoewijzing.

als je iets toegevoegd wilt zien aan dit bericht met betrekking tot LDAP servers en clients, voel je vrij om commentaar te geven of volg mij op Twitter @NFSDudeAbides!

Wrap-up

voor meer gedetailleerde informatie over LDAP-configuratie (in het bijzonder met NetApp geclusterde Data ONTAP), zie TR-4073: Secure Unified Authentication.

ook, stay tuned voor meer in de reeks van LDAP basics op deze blog!,

Links naar andere secties zijn te vinden op het eerste bericht in deze serie:

Wat is een LDAP eigenlijk?

advertenties

Articles

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *