Realisierung und Einführungskonzept einer standortübergreifenden Vereinheitlichung der Benutzerverwaltung mit LDAP Diplomarbeit bei Continental Temic in Ingolstadt Bernhard Geier
Vorstellung Continental Temic Hersteller von KFZ-Elektronik (ESP, ABS, Sensoren,...) ContiTemic + ContiTeves = CAS: Umsatz: 5 Mrd. € Mitarbeiter: Standorte: 40
Ausgangslage ca Unix-Anwender Userverwaltung teils NIS (Temic und Teves), teils FlatFiles (Temic) Workstations: AIX 5.2L
Aufgabenstellung Migration Unix-Benutzerverwaltung und anderer Konfigurationsdaten (Samba, Hosts, Automounter,...) von NIS/FlatFiles nach LDAP Ausfallsicherheit durch Replikation Schutz vor unberechtigtem Zugriff leichte Administrierbarkeit und Nutzungsfreundlichkeit Betriebssysteme AIX 5.2L und SuSE Linux
NIS zentrale Verwaltung von Konfigurationseinstellungen über Tabellen:
NIS Ausfallsicherheit durch Master-Slave-Struktur
Nachteile NIS unverschlüsselte Kommunikation jeder darf alles lesen skaliert schlecht Anfällig für ARP-Spoofing Zukunft ungewiss
NFS-Automounter Automatisches, bedarfsgerechtes Mounten/Unmounten von über NFS freigegeben Verzeichnissen Vorteile gegenüber dauerhaftem Mounten: geringere Last auf NFS-Server geringere Last auf NFS-Client weniger Netzwerkverkehr Konfiguration über Automount-Maps (lokal oder NIS)
LDAP entstanden aus X.500 standardisiert objektorientiert hierarchische Struktur Unterstützung von Zugriffsrechten Unterstützung von verschlüsseltem Zugriff und Zertifikaten Replikation durch Master- und Slave-Server Backend zur Datenspeicherung frei wählbar
LDAP: Server und Clients Server: IBM Tivoli Directory Server mit DB2 OpenLDAP mit Berkeley DB Clients: Betriebssystem (secldapclntd bzw. pam-/nss_ldap) Applikationen (Samba und Automounter)
Verzeichnishierarchie (DIT) # Continental dn: dc=continental,dc=de objectClass : dcObject objectClass : organization dc: continental o: continental.de # Teves dn: ou=teves,dc=continental,dc=de objectClass : organizationalUnit ou: teves # Temic dn: ou=temic,dc=continental,dc=de objectClass : organizationalUnit ou: temic
DIT CAS
LDAP: Verzeichniseintrag Person dn: uid=meiera, ou=people, ou=teves, dc=continental, dc=de objectClass : shadowAccount objectClass : person objectClass : organizationalPerson objectClass : inetOrgPerson objectClass : posixAccount uid: meiera givenName: Arno sn: Meier cn: Arno Meier gecos: arno. meiera departmentNumber : UNDEFINED localityName : FFM mail: arno. userPasswort : {crypt}rMWJS.2 M2ALs. loginShell: /usr/bin/ksh uidNumber: gidNumber: homeDirectory : /homefs/ffm/tff/meiera
Objektklassendefinition aus core.schema: objectclass ( NAME 'person' DESC ' RFC2256 : a person' SUP top STRUCTURAL MUST ( sn $ cn ) MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) ) LDAP: Objektklassen
LDAP: Verzeichniseintrag Person dn: uid=meiera, ou=people, ou=teves, dc=continental, dc=de uid=meiera
LDAP: Datenimport aus NIS: MigrationTools von PADL Software aus FlatFiles: sectoldif Samba: pdbedit
LDAP: Zugriffsrechte Adressat: Benutzer (anonym / angemeldet / bestimmter User) Verzeichnisast Objekt Attribut Berechtigung: none auth compare search read write
LDAP: Zugriffsrechte access to dn.subtree=‘‘ou=people,ou=teves,dc=continental,dc=de’’ by dn=‘‘cn=TevesManager,ou=teves,dc=continental,dc=de’’ write by * none access to dn.subtree=‘‘ou=people,ou=teves,dc=continental,dc=de’’ attr=userPassword by self write by anonymous auth
LDAP: Replikation 2. Referral 1. Änderung 3. Änderung 3. Änderung Master Slave 4. ok4. ok
LDAP: Verschlüsselung LDAP Client LDAP Server unverschlüsselt Port 389 LDAP Client LDAP Server SSLv2 Port 640 LDAP Client LDAP Server TLS und unverschlüsselt Port 389 unverschlüsselt Port 389
LDAP: Verschlüsselung LDAP Client LDAP Server stunnel Client stunnel Server unverschlüsselt Port 389 SSLv2 Port 640 unverschlüsseltPort 389unverschlüsseltPort 389
Weboberfläche für User
Skripte und Tools Skripte für Standardaufgaben: User anlegen Passwort zurücksetzen Grafische Oberflächen für Verzeichnisadministration, z.B. JXplorer
Veraltete bzw. lückenhafte Dokumentation AIX-Automounter unterstützt LDAP erst in AIX5.3ML2 Lösung: Erstellen lokaler Automount-Maps aus LDAP mittels Cronjob Fehlerhafte Software (ITDS, Linker) Probleme
Vielen Dank