Benutzer-Werkzeuge

Webseiten-Werkzeuge


ldap-server

====== LDAP-Server ====== Der LDAP-Server wird so eingerichtet, daß er zur Namensauflösung verwendet werden kann, als Ersatz/Erweiterung der /etc/hosts. ==== LDAP-Browser Empfehlungen ==== **Eclipse Directory Studio** \\ Wohl der beste kostenfreie LDAP-Browser (Java wird benötigt): [[http://directory.apache.org/studio/|Eclipse Directory Studio (von Apache.org)]] **JXplorer** \\ Guter kostenfreier LDAP-Browser (Java nötig): [[http://jxplorer.org|JXplorer]] **Softerra LDAP Administartor** \\ Kostenpflichtig, aber verdammt gut (nur für Windows). ===== LDAP-Server einrichten ===== **ACHTUNG:** \\ Diese Beispiele beinhalten keine SSL/TLS-verschlüsselung. Mehr zum Thema Verschlüsselung im [[http://www.openldap.org|OpenLDAP]] Reference Manual. ==== Benötigte Pakete ==== > aptitude install slapd ldap-utils ==== Weitere Schemata ==== Um Hostnamen über LDAP auflösen zu können, werden folgende zusätzliche Schemata benötigt. > ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif > ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif Weiterführendes dazu hier: [[http://wiki.ubuntuusers.de/OpenLDAP|Ubuntu OpenLDAP Wiki]] ==== Administrativer Account für cn=config ==== Damit man nicht nur als **root**, sondern auch per LDAP-Browser die Konfigurationen des LDAP-Servers administrieren kann, wird mit folgendem LDIF (admin.ldif) ein entsprechender Account im LDAP angelegt. === Zugangsdaten === Bind DN: cn=admin,cn=config Passwort: x (kleines x) Base DN: cn=config **admin.ldif** ########################################################### # REMOTE CONFIGURATION DEFAULTS ########################################################### # Some defaults need to be added in order to allow remote # access by DN cn=admin,cn=config to the LDAP config # database. Otherwise only local root will # administrative access. dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootDN olcRootDN: cn=admin,cn=config dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}8UADnwyNyz8s+PHr+HCiX98tZC2LzvrS > ldapadd -Y EXTERNAL -H ldapi:/// -f admin.ldif === Passwort-Hash erzeugen === Den o.g. PW-Hash kann man per **slappasswd** ändern. > slappasswd New password: 1234 (Bleibt bei der Eingabe verborgen) Re-enter new password: 1234 {SSHA}+TGx82Jc7Mp5TgWJVnpOSFHaLaEHUBoq Alternativ kann man Klartext-Passwörter verwenden -> unsicher! ==== Base DN anlegen ==== Um Daten im LDAP zu speichern muß eine Base DN angelegt werden, unterhalb derer sich die Daten dann befinden. Dazu weist man den LDAP-Server an das entsprechende Modul für das gewünschte Backend einzubinden und erzeugt innerhalb dieses Backends seine Base DN. Als Backend soll HDB (Hierarchical Berkeley DB) verwendet werden. **back_hdb.ldif** # increase loglevel dn: cn=config changetype: modify replace: olcLogLevel olcLogLevel: stats # load hdb module dn: cn=module,cn=config objectClass: olcModuleList objectClass: olcConfig objectClass: top cn: module olcModuleLoad: /usr/lib/ldap/back_hdb.la # initialize base dn dn: olcDatabase=hdb,cn=config objectClass: olcHdbConfig objectClass: olcDatabaseConfig objectClass: olcConfig objectClass: top olcDatabase: hdb olcSuffix: dc=domain,dc=de olcAccess: to * by * write olcRootDN: cn=admin,dc=domain,dc=de olcDbDirectory: /var/lib/ldap/ olcDbIndex: objectClass eq olcDbIndex: cn,sn,uid pres,eq,approx,sub olcRootPW: {SSHA}8UADnwyNyz8s+PHr+HCiX98tZC2LzvrS > ldapadd -Y EXTERNAL -H ldapi:/// -f back_hdb.ldif **ACHTUNG:** \\ Die verwerndete ACL **olcAccess: to * by * write** ist unsicher, da jeder LDAP-Benutzer Schreibrechte auf alles hat und sollte den Gegebenheiten entsprechend modifiziert werden. Eine Abhandlung über ACLs würde den Rahmen dieses Wiki-Eintrags sprengen. Mehr zum Thema ACLs im [[http://www.openldap.org|OpenLDAP]] Reference Manual. === Zugangsdaten Admin === Bind DN: cn=admin,dc=domain,dc=de Passwort: x (kleines x) Base DN: dc=domain,dc=de ==== Base DN initialisieren ==== Damit man den LDAP-Server sinnvoll nutzen kann, müssen Daten rein. **init.ldif*** dn: dc=domain,dc=de objectclass: dcObject objectclass: organization o: b2c.de GmbH dc: domain dn: ou=hosts,dc=domain,dc=de changetype: add objectclass: organizationalUnit ou: hosts dn: cn=mx.domain.de,ou=hosts,dc=domain,dc=de cn: mx.domain.de cn: mx1.domain.de ipHostNumber: 192.168.0.148 objectClass: ipHost objectClass: device Die IP ''192.168.0.148'' ist die IP des Mailservers ''mx.domain.de''. > ldapadd -Y EXTERNAL -H ldapi:/// -f init.ldif Die Base DN wird mit einem eintrag versehen (dn: dc=domain,dc=de - Typ dcObject und oragnization). Das ist zwingend nötig, da beim Anlegen der Base DN diese anfangs nur "virtuell" existiert und erst "betankt" werden kann, wenn man sie LDAP-konform (wie oben) anlegt. \\ Des Weiteren werden ein Knoten für Hosts (ou=hosts), sowie ein exemplarischer Eintrag für eine Host <-> IP Zuordnung angelegt. ===== Linux Client einrichten ===== ==== Benötigte Pakete ==== > aptitude install libnss-ldap ==== nsswitch.conf ==== > vi /etc/nsswitch.conf Die Zeile für die Namensauflösung wie folgt anpassen. hosts: files ldap dns Man beachte das Wörtchen **ldap** ;) ==== ldap.conf ==== > vi /etc/ldap.conf Folgende Zeilen anpassen bzw. auskommentieren. base dc=domain,dc=de uri ldap://192.168.0.232/ nss_base_hosts ou=hosts,dc=domain,dc=de?one Beim URI beachten, daß dort die richtige IP des LDAP-Servers steht. Es können mehrere Server angegeben werden, z.B. uri ldap://10.0.0.1/ ldap://10.0.0.2/

ldap-server.txt · Zuletzt geändert: 2016/04/13 00:50 (Externe Bearbeitung)