LDAP

From HateotU
Jump to: navigation, search

OpenLDAP installieren

Notwendige Pakete installieren

pkg install openldap-server openldap-client

Einträge in der /etc/rc.conf ergänzen

Um den Dienst automatisch zu starten:

slapd_enable="YES"

Falls LDAPS als Protokoll verwendet werden soll (Port 636):

slapd_flags='-h "ldapi://%252fvar%252frun%252fopenldap%252fldapi/ ldaps://0.0.0.0/"'

Falls LDAP als Protokoll verwendet werden soll (optional mit STARTTLS) (Port 389):

 slapd_flags='-h "ldapi://%252fvar%252frun%252fopenldap%252fldapi/ ldaps://0.0.0.0/"'

Grundlegende Konfiguration des OpenLDAP-Servers

Um den Server zu konfigurieren, muss die Datei /usr/local/etc/openldap/slapd.conf bearbeitet werden:

vim /usr/local/etc/openldap/slapd.conf

In der Datei müssen folgende Dinge konfiguriert werden:

  • Einbinden der Schema-Dateien
include         /usr/local/etc/openldap/schema/core.schema
include         /usr/local/etc/openldap/schema/cosine.schema
include         /usr/local/etc/openldap/schema/inetorgperson.schema
include         /usr/local/etc/openldap/schema/nis.schema
  • Einbinden der Module
moduleload      back_mdb
moduleload      back_ldap
  • Konfiguration des Datenbank-Backends
database        mdb
  • Konfiguration des Suffix:
suffix          "dc=hateotu,dc=de"
  • Konfiguration der Root-Logins:
rootdn          "cn=root,dc=hateotu,dc=de"
RootPW {SSHA}GAWRlePpW9lWwxun1HD3w1XZ1VXxuzPd
  • Konfiguration des Hash-Algorithmus für Passwörter:
password-hash   {ssha}
  • Konfiguration der Dateien für PID und Argumente:
pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args
  • Pfad der Backend-Module, die dynamisch geladen werden sollen:
modulepath      /usr/local/libexec/openldap
  • Einstellungen für Logs:
logfile /var/log/ldap/slapd.log
loglevel 256
  • (optional: TLS):
TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
TLSCertificateFile /usr/local/etc/openldap/ssl/cert.crt
TLSCertificateKeyFile /usr/local/etc/openldap/ssl/cert.key
TLSCACertificateFile /usr/local/etc/openldap/ssl/ca/ca.crt

Starten des Dienstes

service slapd start

Erstellen der initialen Struktur

Die intiale Struktur wird zuerst in einer LDIF-Datei definiert, und dann mit ldapadd auf den Server übertragen. Die LDIF hat folgenden Inhalt:

dn: dc=hateotu, dc=de                                                                                                                                                                                                                 
dc: hateotu
o: HateotU
objectclass: organization
objectclass: dcObject

dn: ou=People,dc=hateotu,dc=de
ou: People
objectClass: top
objectClass: organizationalUnit
description: Parent object of all UNIX accounts

dn: ou=Groups,dc=hateotu,dc=de
ou: Groups
objectClass: top
objectClass: organizationalUnit
description: Parent object of all UNIX groups

Somit wird die DC hateotu angelegt, unter der sich die OUs für People (Benutzer) und Groups (Gruppen) befinden. Um diese Strukturen auf dem Server anzulegen, muss folgender Befehl ausgeführt werden:

ldapadd -x -D "<rootdn>" -W -f </pfad/zum/ldif/file>