Zur Beachtung - Anleitungen

Bitte beachten Sie, daß die bereitgestellten Informationen zum Zeitpunkt der Erstellung im Rahmen von durchgeführten Arbeiten dokumentiert und validiert wurden. In einer geänderten Systemumgebung können für die Schritte Anpassungen erforderlich sein. Dies gilt insbesonders, falls die Informationen Workarounds oder Fehlerbehebungen betreffen. Die Informationen sind entsprechend spezifisch für die Systemumgebung und Version der Systeme zum Zeitpunkt der Arbeiten. Schritte, die sich für uns von selbst erschließen, sind ggf. nicht in den Anleitungen enthalten. Dasselbe gilt auch für konzeptionelle Anleitungen. Diese sind für spezifische Umgebungen und spezifische Erfordernisse erstellt und müssen vor Anwendung überprüft werden, ob sie für die angedachte Umgebung passend sind. Die Verwendung erfolgt auf eigene Gefahr.

Wir raten in jedem Fall dazu, vorab ein Backup in einem Umfang zu erstellen, der die Wiederherstellung der Systeme im Fehlerfall sichert. Dies betrifft bei Active-Directory-integrierten Diensten auch das Active-Directory.

 

validiert auf Ubuntu 20.04.3 mit WS2019 als Server

Einstellungen beziehen sich hier nicht auf mittelbare LDAP-Auth (SSSD oder Winbind Auth auf OS und Peer Auth über Postgres), sondern auf pure LDAP-Auth für postgreSQL.

  • postgreSQL verwendet OpenLDAP ==> Zertifikatsvalidierung bei LDAPS steuern über /etc/ldap/ldap.conf:
    • TLS_REQCERT never (wenn CA-Zertifikat nicht importiert)
  • LDAP-Benutzer muß in postgreSQL als normaler Benutzer angelegt werden, LDAP wird nur für die PW-Validierung verwendet
  • Durchführung der Auth wird in /etc/postgresql/12/main/pg_hba.conf konfiguriert
  • ldapbasedn ohne ou funktioniert NICHT
  • PW kann überverschiedene Arten validiert werden:
    • search and bind mit spezifischem LDAP-Filter (hier: Gruppe)
      ldapsearchfilter="(&(userprincipalname=$username)(memberOf=CN=<gruppe>,ou=<OU>,dc=<sld>,dc=<tld>))"
    • über simple bind (ldapbindpasswd und ldapbinddn weglassen)
    • search and bind mit Benutzernamen
      ldapsearchattribute

Beispiele:

hostssl all all 192.168.0.0/24 ldap ldapserver="dc.lan.domain" ldapscheme="ldaps" ldapport=636 ldapbasedn="ou=<ou>,dc=<lan>,dc=<domain>" ldapbinddn="Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein." ldapbindpasswd="<pwd>" ldapsearchfilter="(&(userprincipalname=$username)(|(memberof=CN=somegroup,ou=Security Groups,dc=lan,dc=domain)(memberof=CN=othergroup,ou=Security Groups,dc=lan,dc=domain)))"

hostssl all all 192.168.0.0/24 ldap ldapserver="dc.lan.domain" ldapscheme="ldaps" ldapport=636 ldapbasedn="ou=<ou>,dc=<lan>,dc=<domain>" ldapbinddn="Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein." ldapbindpasswd="<pwd>" ldapsearchattribute=userprincipalname