NDS & eDirectory
2/3 Novell en LDAP 2/3.1
NCP
Inleiding
Oorspronkelijk werd Novells eDirectory (voorheen NDS genaamd) ontwikkeld als een stand-alone directory-service. Om gegevens in de NDS te kunnen benaderen, had de gebruiker een Novell-client nodig. Die Novell-client maakte contact met een Novell-server die door middel van het NetWare Core Protocol (NCP) contact maakte met de Novell-client. Beide babbelden dus in feite NCP met elkaar, een Novell-proprietary-taaltje. Met de komst van NetWare 5.0 en een native IP stack binnen NetWare, is deze filosofie radicaal veranderd. Met NetWare op pure IP moest het besturingssysteem kunnen communiceren met allerlei andere soorten systemen die op dezelfde standaard gebaseerd waren. Daarnaast moest het ook mogelijk worden om, zonder gebruik te maken van een NetWare-client, informatie uit de NDS-database te halen. LDAP bleek hier een uitstekende oplossing voor. In dit hoofdstuk geven we een overzicht van de onderdelen waaruit bij Novell een LDAP-configuratie bestaat en hoe u deze kunt inzetten binnen uw netwerk. LDAP-services voor NDS Ook als u gebruikmaakt van NDS versie 8 of later, hebt u een aparte service nodig om door middel van LDAP gegevens uit de NDS te kunnen halen. Deze service wordt op de NetWare-server geïmplementeerd in de vorm van NLDAP.NLM. Door middel van ConsoleOne kan het bijbehorende LDAP-server-object worden geconfigureerd; op deze
Novell Netwerkoplossingen, aanvulling 7
2/3.1-1
Novell en LDAP
wijze kunt u bepalen wat gebruikers die door middel van LDAP binnenkomen, wel en niet mogen. Nauw gerelateerd aan het LDAP-server-object is het LDAP-group-object; hiermee kunnen eigenschappen van meerdere LDAP-servers tegelijk worden ingesteld. De noodzaak van SSL Aangezien veel LDAP-verkeer plaatsvindt over internet, bijvoorbeeld wanneer een gebruiker vanuit zijn browser wil inloggen op de server, is het noodzakelijk dat de pakketjes die worden verstuurd ook kunnen worden versleuteld. Novell maakt hiervoor gebruik van SSL; wat ervoor zorgt dat veilig wordt gecommuniceerd door gebruik te maken van private/public-key-paren. Als er echter geen pakketjes over internet hoeven te worden verstuurd omdat NLDAP.NLM en de NDS zich op dezelfde server bevinden, kan er ook worden gekozen voor de mogelijkheid wachtwoorden als ‘clear text’ te versturen. Hiermee kunt u snelheidswinst behalen, elke vorm van encryptie voegt immers vertraging toe aan het totale proces.
Digitaal certificaat
2/3.1-2
Elke LDAP-server heeft, om gebruik te kunnen maken van SSL, een digitaal certificaat nodig. Deze certificaten worden uitgegeven door de Certificate Authority (CA). Dit is een standaardonderdeel van NetWare sinds versie 5.0. Deze certificaten worden opgeslagen in de NDS. Na installatie van een CA worden automatisch twee certificaten aangemaakt; ze heten ‘SSL CertificateDNS – Servernaam’ en ‘SSL CertificateIP – Servernaam’. Bij de eigenschappen van het LDAP-server-object kan een van deze certificaten aan de LDAP-server worden toegevoegd, vervolgens kan de LDAPserver veilig communiceren. Natuurlijk is het ook mogelijk uw eigen certificaat te maken en dat aan de LDAP-server toe te kennen.
Novell Netwerkoplossingen, aanvulling 7
NDS & eDirectory
Een van de eigenschappen van het LDAP-server-object is het SSL-certificaat dat moet worden gebruikt.
Door middel van dit toegevoegde certificaat is het mogelijk dat NLDAP veilig communiceert door gebruik te maken van de public key van de server. Het is niet nodig voor NLDAP zelf ook nog een certificaat aan te maken; het volstaat dat de public key van de server bekend is bij NLDAP.NLM. Mappings van classes en attributes In de NDS wordt gebruikgemaakt van objecten en hun eigenschappen; LDAP maakt gebruik van de daaraan equivalente classes en attributes. Het uitbreidbare LDAPschema bepaalt welke classes er zijn, welke objecten en aan welke class een object is verbonden en waar de classes in de directory mogen voorkomen. Helaas is het schema dat in NDS wordt gebruikt niet hetzelfde als het schema dat door LDAP wordt gebruikt. Dit maakt het noodzakelijk dat er een ‘mapping’ wordt gemaakt tussen de LDAP-classes enerzijds en de NDS-objecten anderzijds en natuurlijk de LDAP-attributes enerzijds en de NDS-properties ander-
Novell Netwerkoplossingen, aanvulling 7
2/3.1-3
Novell en LDAP
zijds. Hierdoor kan een LDAP-request op de juiste wijze worden vertaald in een NDS-request. Het aanmaken van de mappings gebeurt op het LDAP-group-object; dat ligt ook voor de hand, want doordat het op het LDAP-group-object gebeurt, kunnen alle servers van dezelfde mappings gebruikmaken.
Mappings tussen LDAP-classes en NDS-objecten.
Auxiliary classes
2/3.1-4
Naast alle overeenkomsten bestaat er ook een verschil tussen het LDAP-schema en het schema van NDS 8; LDAP biedt namelijk ondersteuning voor auxiliary classes. Dit komt erop neer dat het mogelijk wordt gemaakt dat een bepaalde groep objecten, bijvoorbeeld gebruikers, extra attributen heeft. Denk bijvoorbeeld aan de mogelijkheid om voor alle gebruikers in de database ook de schoenmaat op te nemen. In recente versies van eDirectory is deze functionaliteit ook aan eDirectory toegevoegd. Novell Netwerkoplossingen, aanvulling 7
NDS & eDirectory
Afwijking
LDIF
Naamgeving Als u straks vanuit een browser met LDAP-ondersteuning contact maakt met de NDS-database, zal het even wennen zijn om de namen op de juiste manier weer te geven. LDAP wijkt namelijk op twee belangrijke punten af van de regels voor naamgeving die in de NDS worden gebruikt: • LDAP gebruikt een komma, waar NDS een punt als scheidingsteken gebruikt; .CN=pleunie.ou=training.o =azlan wordt in LDAP dus CN=pleunie,ou=training,o= azlan. • LDAP gebruikt geen voorlooppunt in een distinguished name, maar gebruikt in plaats daarvan een typefull name. U kent dit verschijnsel ook al vanuit de NDS-omgeving; als u binnen DSREPAIR moet inloggen als admin om een belangrijke activiteit op te kunnen starten, typt u in sommige gevallen immers CN=admin.O=azlan en wordt .admin.azlan niet geaccepteerd. In LDAP-toepassingen is dit altijd het geval. Importeren van gebruikers: BULKLOAD Met LDAP kwam in NetWare 5.1 ook een nieuwe utility om snel grote hoeveelheden gebruikers in de directory te importeren. Met NDS gebruikte u hiervoor UIMPORT.EXE, als LDAP wordt gebruikt, kunt u in plaats daarvan BULKLOAD.NLM gebruiken. Deze utility verwacht als input een bestand in het algemene LDIF (LDAP Data Interchange Format). Op deze manier kunnen gebruikers worden toegevoegd, verwijderd en gewijzigd. Houd er rekening mee als u LDIF gaat gebruiken, dat er twee soorten LDIF zijn, namelijk versie 0 en versie 1. Met versie 0 kunnen uitsluitend gebruikers worden toegevoegd, met versie 1 is het ook mogelijk om accounts te verwijderen en te wijzigen. BULKLOAD levert ondersteuning voor
Novell Netwerkoplossingen, aanvulling 7
2/3.1-5
Novell en LDAP
beide, maar als u gebruik wilt maken van versie 1, moet u dat in het begin van het LDIF-bestand opgeven. De inhoud van zo'n bestand zou er dan als volgt uit kunnen zien: version: 1 dn: cn=maarten, ou=training, o=azlan cn: Maarten Gruiters sn: Gruiters givenname: Maarten telephonenumber: 079 3443232 title: Senior Instructor dn: cn=kees, ou=training, o=azlan cn: Kees Bres sn: Bres givenname: Kees telephonenumber: 079 3443232 title: Product Manager dn: cn=pleunie, ou=training, o=azlan cn: Pleunie Raspe sn: Raspe givenname: Pleunie telephonenumber: 079 3443232 title: Schedule master
Dit LDIF-bestand kan vervolgens in de NDS worden ingevoerd door BULKLOAD.NLM te activeren; als u de NLM op de server activeert, verschijnt een menu waarin u eerst kunt inloggen en vervolgens kunt opgeven welk LDIFbestand moet worden toegepast.
2/3.1-6
Novell Netwerkoplossingen, aanvulling 7
NDS & eDirectory
Op NetWare 5.1 gebruikt u BULKLOAD.NLM om LDIF-bestanden in de directory te importeren.
Het is trouwens ook mogelijk om BULKLOAD te gebruiken zonder dat u eerst gegevens in het menu hoeft in te geven; geef dan het commando bulkload -a admin-naam -p admin-password LDIFfilenaam.
Meer mogelijkheden
ICE Helaas was BULKLOAD.NLM geen lang leven beschoren. In NetWare 6 is deze utility namelijk vervangen door ICE. Dit is een module die aanwezig is op de server en daarnaast meteen ook een wizard die is geïntegreerd in ConsoleOne. ICE biedt u nog meer mogelijkheden die nog eenvoudiger met een grafisch programma kunnen worden uitgevoerd. Zo kan deze utility worden gebruikt om gebruikers over te halen van de ene LDAP compatible database naar de andere LDAP-database. Ook is het mogelijk de totale inhoud van uw directory te exporteren naar een LDIFbestand. Houd er wel rekening mee dat u om gebruik te maken van deze utility, gebruik moet maken van het .DER-
Novell Netwerkoplossingen, aanvulling 7
2/3.1-7
Novell en LDAP
bestand van de server. Dit is het bestand waarin de public key van de server is opgeslagen, zonder dit .DER-bestand kunt u namelijk niet op een veilige wijze aanmelden op de server. Het valt misschien op dat in het ene geval een .DER-bestand moet worden gebruikt en in het andere geval een SSL-certificaat uit de NDS. De verklaring hiervoor is eenvoudig: door gebruik te maken van het .DER-bestand kunnen ook toepassingen die geen toegang hebben tot de NDS, toch over een SSL-verbinding contact opnemen met de betreffende server.
Met de NDS-import/export-wizard kunt u op zeer flexibele wijze, door gebruik te maken van LDIF, gegevens in en uit de database plaatsen.
Configuratie van LDAP op uw NDS Er zijn meerdere mogelijkheden om toegang te geven door middel van LDAP tot uw NDS-database. Als eerste kunt u het LDAP-server-object gebruik laten maken van de rech2/3.1-8
Novell Netwerkoplossingen, aanvulling 7
NDS & eDirectory
ten van het public object. Dit betekent dat in principe iedereen die vanaf internet komt, die gegevens waar het public object rechten op heeft, uit de NDS kan halen. Deze toepassing leent zich bijvoorbeeld goed om mailadressen uit de NDS te kunnen opzoeken in een adresboek. Als u niet wilt dat al de informatie uit de NDS ‘op straat’ komt te liggen, kunt u gebruikmaken van een speciale proxy-user. Dit is een gebruiker die wordt gekoppeld aan het LDAP-group-object. De objecten die de LDAP-gebruiker dan te zien krijgt, zijn de objecten waarop deze proxygebruiker rechten heeft.
Extra probleem
Een laatste methode bestaat erin gebruikers te laten inloggen voordat ze door middel van LDAP informatie uit de directory mogen halen. Als u deze optie wilt gebruiken, krijgt u met een extra probleem te maken, namelijk dat er een wachtwoord naar de LDAP-server moet worden verstuurd. Standaard gebeurt dat op een niet-versleutelde wijze; om ervoor te zorgen dat dit wel versleuteld gebeurt, moet u een SSL-connectie tot stand brengen. We zullen later in dit hoofdstuk ingaan op de configuratie van dit alles met Microsofts Outlook Express. Configuratie van toegang door middel van de public trustee Als u met LDAP mailadresgegevens uit de directory wilt halen, moet u ervoor zorgen dat [public] in elk geval voldoende rechten heeft om deze gegevens te kunnen uitlezen. Als we ervan uitgaan dat gegevens van gebruikers uit de hele NDS-tree mogen worden gehaald, geeft u [public] op [root] de volgende rechten: • Browse-objectrechten; • Compare en read op minimaal de properties ‘CN’ en ‘Email address’.
Novell Netwerkoplossingen, aanvulling 7
2/3.1-9
Novell en LDAP
Vervolgens moet u ervoor zorgen dat op het LDAP-groupobject in elk geval [Public] trustee is met Browse-objectrechten en Compare en Read op alle attributen. Als u dit hebt gedaan, kunt u met Outlook Express de gegevens uit de directory halen. Eerst moet u ervoor zorgen dat de directory-server bekend is. Volg hiervoor de volgende stappen: • Open in Outlook Express het menu ‘Tools’. • Selecteer de optie ‘Accounts’. • Klik op de knop ‘Add’ en kies uit het lijstje dat verschijnt de optie ‘Directory Service’. • Geef in het volgende scherm de naam of het IP-adres van de LDAP-server. Vink het vakje ‘My LDAP-server requires me to log on’ niet aan. • Vink al naar gelang uw behoefte ‘yes’ of ‘no’ aan als gevraagd wordt gedaan of adressen bij deze directory-server moeten worden gecheckt. • Druk op ‘Finish’. De directory-service moet nu voorkomen in het lijstje van beschikbare directory-services; in de afbeelding op de volgende pagina gaat het om de directory-service met het IPadres 192.168.191.55.
2/3.1-10
Novell Netwerkoplossingen, aanvulling 7
NDS & eDirectory
Beschikbare directory-servers
Vervolgens kunt u nu bij het samenstellen van een mailbericht in Outlook de informatie van de directory-server ophalen. Ga hiervoor als volg te werk: • Klik op ‘New mail’ om een nieuw bericht te maken. • Klik op het pictogram dat voor het ‘To’-veld staat. • Klik op de knop ‘Find’ linksboven in het venster dat dan wordt geopend. • Er wordt nu een nieuw dialoogvenster met de titel ‘Find People’ geopend. Hier geeft u achter ‘Look in’ de naam of het IP-adres van de LDAP-server. Op het tabblad ‘People’ geeft u de naam van de gebruiker waarvan u het mailadres wilt hebben. Vervolgens klikt u op ‘Find now’. Er verschijnt dan een venster met de resultaten van de zoekactie.
Novell Netwerkoplossingen, aanvulling 7
2/3.1-11
Novell en LDAP
Het resultaat van de zoekactie.
Gebruikmaken van een proxy-user In de bovenstaande procedure is gebruikgemaakt van de rechten van het public object. Misschien wilt u echter helemaal geen gebruikmaken van dit object. U hebt dan de mogelijkheid om op het LDAP-group-object aan te geven dat een proxy-user moet worden gebruikt; dit is een Geen wachtwoord gebruiker zonder wachtwoord (!) die u speciaal voor dit doel hebt aangemaakt. Het is logisch dat u geen wachtwoord aan deze gebruiker wilt toekennen; het proces moet immers transparant op de achtergrond plaatsvinden. Het resultaat van de LDAP-request zal dan afhankelijk zijn van de rechten die deze proxy-user op de NDS-objecten heeft. U kunt bijvoorbeeld door middel van deze proxy-
2/3.1-12
Novell Netwerkoplossingen, aanvulling 7
NDS & eDirectory
user regelen dat niet alle NDS-objecten worden gezien, maar alleen gebruikersobjecten en de bijbehorende properties die belangrijk zijn om een bericht aan deze gebruikers te kunnen versturen.
Specificeren van de proxy-user.
Twee stappen
Inloggen op de LDAP-server Het grote bezwaar van de twee bovenstaande methodes is dat iedereen op deze manier de LDAP-server kan benaderen. Dit bezwaar kan ongedaan worden gemaakt door het als vereiste te stellen dat er eerst moet worden ingelogd op de LDAP-server. Hiervoor kan een speciaal voor de betreffende gebruiker aangemaakt account worden gebruikt, het kan echter ook met een algemeen account gebeuren. Om dit te bewerkstelligen, moeten twee stappen worden uitgevoerd: 1. Op het LDAP-group-object moet de optie ‘Allow Clear Text Passwords’ zijn geselecteerd.
Novell Netwerkoplossingen, aanvulling 7
2/3.1-13
Novell en LDAP
2.
In Outlook Express moeten een log-innaam en een wachtwoord worden opgegeven. U doet dit door in het menu ‘Tools’ de optie ‘Accounts’ te selecteren. Vervolgens klikt u uw LDAP-server aan en drukt u op de knop ‘Properties’. In het scherm dat vervolgens verschijnt, vinkt u het vakje ‘This server requires me to log on’ aan. Vervolgens specificeert u de LDAP(!)naam van het object en het bijbehorende wachtwoord. Let hierbij goed op; de NDS-naam .ldap.training wordt hier dus weergegeven als de LDAP-naam cn=ldap, o=training.
Specificatie van log-ininformatie in Outlook Express.
De bovenstaande methode werkt uitstekend, u kunt nog steeds gegevens uit de directory halen. Helaas is deze methode echter niet geschikt voor omgevingen waar beveiliging extra belangrijk is; het wachtwoord waarmee
2/3.1-14
Novell Netwerkoplossingen, aanvulling 7
NDS & eDirectory
wordt ingelogd kan namelijk met een sniffer heel eenvoudig van de kabel worden gehaald.
Gebruikersnaam en wachtwoord kunnen zo van de kabel worden gehaald.
LDAP over SSL Als u gebruikers wilt laten inloggen op de LDAP-server, waarbij hun eigen gebruikersnaam kan worden gebruikt, moet u ervoor zorgen dat de LDAP-server wordt geconfigureerd voor het gebruik van een SSL-connectie. Hiervoor is het nodig dat de LDAP-server wordt geconfigureerd met een SSL-certificaat. Er worden voor algemeen gebruik in een NetWare-tree automatisch twee SSL-certificaten aangemaakt; een met de naam ‘SSL CertificateDNS’ en een met de naam ‘SSL CertificateIP’. Een van deze twee moet aan de LDAP-server worden verbonden. Gebruik SSL CertificateIP als de server voornamelijk wordt benaderd op basis van zijn IP-adres en SSL CertificateDNS als de server voornamelijk wordt benaderd op basis van zijn DNS-naam. Als u dat liever hebt, kunt u trouwens ook zelf een SSL-certificaat aanmaken voor dit doel.
Novell Netwerkoplossingen, aanvulling 7
2/3.1-15
Novell en LDAP
Om een SSL-certificaat aan de LDAP-server toe te voegen, activeert u de properties van de LDAP-server en zorgt u ervoor dat op het tabblad ‘SSL Configuration’ achter ‘SSL Certificate’ de naam komt te staan van het certificaat dat u wenst te gebruiken. In de rest van deze uitwerking gaan we ervan uit dat u gekozen hebt voor ‘SSL CertificateIP’. Klik vervolgens op ‘Refresh NLDAP Server Now’. De volgende stap bestaat erin dat het zojuist geïnstalleerde certificaat wordt geëxporteerd naar de client. Alleen op deze manier kan de client namelijk gebruikmaken van de public key die bij dit certificaat hoort. Ga hiervoor als volgt te werk: 1. Selecteer in ConsoleOne het certificaat met de naam ‘SSL CertificateIP – Servernaam’ en activeer de properties ervan. 2. Activeer de optie ‘Public Key Certificate’ op het tabblad ‘Certificates’. Als u deze optie niet te zien krijgt, moet u eerst op het zwarte driehoekje op dit tabblad klikken. 3. Druk vervolgens op de knop ‘Export’. U krijgt nu een dialoogvenster waarin u kunt aangeven in welk formaat het certificaat moet worden weggeschreven. Kies hier de standaardoptie, die ervoor zorgt dat het wordt weggeschreven als ‘C:\PublicKeyCert.der’.
2/3.1-16
Novell Netwerkoplossingen, aanvulling 7
NDS & eDirectory
Het exporteren van een public key.
U hebt nu de public key die door de LDAP-server wordt gebruikt, weggeschreven naar een bestand. Dit bestand moet vervolgens naar de client worden gebracht; bijvoorbeeld door middel van een diskette. Om nu dit certificaat op de client ook te kunnen gebruiken, voert u, als u gebruikmaakt van Internet Explorer en Outlook Express, de volgende stappen uit: 1. Open in Internet Explorer uit het menu ‘Tools’ de optie ‘Internet Options’. 2. Activeer het tabblad ‘Content’ en klik hier op de knop ‘Certificates’. 3. Klik vervolgens op de knop ‘Import’ en start de wizard door. 4. Geef de naam op van het bestand dat u wilt importeren; ervan uitgaande dat u het bestand in het voorgaande hebt weggeschreven naar een bestand met de naam ‘A:\PublicKeyCert.der’, vult u deze bestandsnaam in. Novell Netwerkoplossingen, aanvulling 7
2/3.1-17
Novell en LDAP
5.
6.
In het volgende scherm selecteert u de optie ‘Automatically select the certificate store based on the type of certificate’. Deze optie zorgt ervoor dat het certificaat op de juiste manier kan worden gebruikt. Klik op ‘Finish’ om het importeren af te ronden. In de lijst ‘Intermediate Certification Authorities’ moet u nu het zojuist toegevoegde certificaat zien.
U hebt er met de bovenstaande stappen voor gezorgd dat het certificaat nu op uw client kan worden gebruikt. Nu moet u er nog voor zorgen dat Outlook Express ook daadwerkelijk over een SSL-connectie naar de LDAP-server gaat en daarvoor gaat u als volgt te werk: 1. Selecteer in Outlook Express uit het menu ‘Tools’ de optie ‘Accounts’. 2. Activeer de properties van uw LDAP-directory-server. 3. Selecteer het tabblad ‘Advanced’ en klik hier het vakje ‘This server requires a secure connection (SSL)’ aan. U ziet dat het port-adres van de LDAP-server direct wordt gewijzigd in de LDAP-port 636. U kunt nu bij het aanmaken van een nieuw bericht op een veilige manier de gegevens van de LDAP-server afhalen. Hierbij kunt u inloggen onder uw gewone gebruikersnaam en wachtwoord, zonder dat iemand in staat is uw wachtwoord van de kabel te halen.
Fundamenteel onderdeel
2/3.1-18
Conclusie In NetWare 5.0 deed LDAP voor het eerst echt serieus zijn entree in NetWare. In die tijd was het nog voornamelijk een middel om ervoor te zorgen dat de NDS compatibel was met platformen die geen NCP maar wel LDAP ondersteunden. Tegenwoordig is LDAP een fundamenteel onderdeel van eDirectory, voor veel zaken bestaat er dan ook geen
Novell Netwerkoplossingen, aanvulling 7
NDS & eDirectory
andere toepassing dan de LDAP-toepassing. U zult er als beheerder echter wel altijd voor moeten zorgen dat de security goed is geregeld wanneer u met LDAP aan het werk wilt.
Novell Netwerkoplossingen, aanvulling 7
2/3.1-19
Novell en LDAP
2/3.1-20
Novell Netwerkoplossingen, aanvulling 7