Postgres + Kerberos + ActiveDirectory

Konfiguration des PostgreSQL Datenbankservers.
Antworten
chluebke
Neuer Benutzer
Beiträge: 1
Registriert: Mi 7. Nov 2018, 12:47

Postgres + Kerberos + ActiveDirectory

Beitrag von chluebke » Mi 7. Nov 2018, 14:18

Hallo zusammen,

ich beiße mir hier die Zähne an folgender Konfiguration aus:

- PostgreSQL 9.6 auf CentOS 7.5 in einem Docker-Container
- Windows 2008 R2 als ActiveDirectory-Server (und KDC)
- Authentifizierung via Kerberos/GSSAPI

Ich habe im AD einen Postgres-Benutzer angelegt und diesen erfolgreich via ktpass auf das Principal POSTGRES/postgres.mydomain.local@MYDOMAIN.LOCAL gemappt und das Ganze dann als postgres.keytab exportiert. Der Docker-Container verwendet den Hostnamen postgres.mydomain.local, die Ausgabe von hostname passt. Die keytab-Datei ist in der postgresql.conf eingetragen (krb_server_keyfile) und krb_caseins_users = on ist ebenfalls gesetzt. In der pg_hba.conf ist zunächst nur für den Test-Client gss aktiviert.

Wenn ich mich vom Client aus verbinde, erhalte ich immer folgende Fehlermeldung:
Failed to connect to server. Der Authentifizierungstyp 7 wird nicht unterstützt.

Typ 7 steht für die GSSAPI. Im Principal habe ich POSTGRES in Groß- und Kleinschreibung probiert, kein Unterschied.

Im PG-Log erscheint folgende Meldung:
FATAL: GSSAPI-Authentifizierung für Benutzer »username« fehlgeschlagen
DETAIL: Verbindung stimmte mit pg_hba.conf-Zeile 100 überein: »host all all 192.168.1.54/32 gss include_realm=1 krb_realm=MYDOMAIN.LOCAL«

Laut Doku muss Kerberos/GSSAPI während der Compilierung aktiviert werden. Kann es sein, dass das standardmäßig nicht der Fall ist? Die Installation von PG erfolgte durch Importieren des Redhat-Repos und yum install postgresql96 postgresql96-server postgresql96-contrib

Habe ich irgendwo einen Denkfehler oder fehlt schlicht etwas?

Nebenbei: Anmeldung via LDAP (Plaintext ohne TLS) funktioniert.

Danke & Gruß,
Christian

Antworten