Verständnisfrage zu LDAP/Kerberos SASL
Verständnisfrage zu LDAP/Kerberos SASL
Ich hätte mal eine generelle Verständnisfrage zu dem Thema LDAP Server, MIT Kerberos Server und der Passwort Speicherung für SASL.
Ich installiere einen LDAP Server auf welchem ich meine Benutzer und Gruppen anlege.
Auf demselben Server installiere ich meinen Kerberos Server. Um mich an dem Kerberos Server authentifizieren zu können, benötige ich hier ebenfalls meine Benutzer.
Die LDAP und Kerberos Informationen sind alle in derselben DB gespeichert.
Das bedeutet ich habe einen LDAP Benutzer (Hans) mit einem Passwort (1234) und ich habe einen Kerberos Benutzer (Hans) mit einem Passwort (xyz).
Jetzt kann ich mich an meinem Client mit dem Benutzer (Hans) sowohl am LDAP Server (1234) als auch am Kerberos Server (xyz) authentifizieren.
Was wenn ich jedoch erreichen möchte, dass sich der Benutzer (Hans) mit einem Passwort an LDAP und Kerberos authentifiziert?
Somit müsste im LDAP und Kerberos Server dasselbe Passwort (1234) hinterlegt sein. Dieses ist jedoch nicht bekannt, weil ein Benutzer sein Passwort ändern kann.
Eigentlich sollte es doch ausreichend sein, wenn das Passwort nur einmal vorhanden ist, und die beiden Benutzer (LDAP/Kerberos) miteinander verknüpft sind.
Hier habe ich jedoch die Konfiguration nicht ganz verstanden.
Wie werden die beiden Benutzer LDAP/Kerberos miteinander verknüpft? Oder habe ich hier einen Denkfehler?
Wäre schön wenn mir hier mal jemand Licht ins dunkle bringen könnte.
Ich installiere einen LDAP Server auf welchem ich meine Benutzer und Gruppen anlege.
Auf demselben Server installiere ich meinen Kerberos Server. Um mich an dem Kerberos Server authentifizieren zu können, benötige ich hier ebenfalls meine Benutzer.
Die LDAP und Kerberos Informationen sind alle in derselben DB gespeichert.
Das bedeutet ich habe einen LDAP Benutzer (Hans) mit einem Passwort (1234) und ich habe einen Kerberos Benutzer (Hans) mit einem Passwort (xyz).
Jetzt kann ich mich an meinem Client mit dem Benutzer (Hans) sowohl am LDAP Server (1234) als auch am Kerberos Server (xyz) authentifizieren.
Was wenn ich jedoch erreichen möchte, dass sich der Benutzer (Hans) mit einem Passwort an LDAP und Kerberos authentifiziert?
Somit müsste im LDAP und Kerberos Server dasselbe Passwort (1234) hinterlegt sein. Dieses ist jedoch nicht bekannt, weil ein Benutzer sein Passwort ändern kann.
Eigentlich sollte es doch ausreichend sein, wenn das Passwort nur einmal vorhanden ist, und die beiden Benutzer (LDAP/Kerberos) miteinander verknüpft sind.
Hier habe ich jedoch die Konfiguration nicht ganz verstanden.
Wie werden die beiden Benutzer LDAP/Kerberos miteinander verknüpft? Oder habe ich hier einen Denkfehler?
Wäre schön wenn mir hier mal jemand Licht ins dunkle bringen könnte.
Re: Verständnisfrage zu LDAP/Kerberos SASL
Und schon ist dein Setup doppelt und im eigentlichen Sinne falsch ... der LDAP Benutzer "Hans" besitzt kein Kennwort, sondern den Verweis auf die Kerberos-Identität Hans, welche wiederrum das Passwort xyz besitzt.joe2017 hat geschrieben:12.12.2018 16:56:05Das bedeutet ich habe einen LDAP Benutzer (Hans) mit einem Passwort (1234) und ich habe einen Kerberos Benutzer (Hans) mit einem Passwort (xyz).
Korrekt, zwei unterschiedliche Dienste, zwei unterschiedliche Kennwörter.joe2017 hat geschrieben:12.12.2018 16:56:05Jetzt kann ich mich an meinem Client mit dem Benutzer (Hans) sowohl am LDAP Server (1234) als auch am Kerberos Server (xyz) authentifizieren.
Deine Ausdrucksweise ist ein wenig unscharf, aber wie ich oben schon erwähnt habe, dein LDAP Server enthält in den LDAP Benutzer Objekten keinerlei Passwörter, sondern nur den Verweis auf die Kerberos Identitäten.joe2017 hat geschrieben:12.12.2018 16:56:05Was wenn ich jedoch erreichen möchte, dass sich der Benutzer (Hans) mit einem Passwort an LDAP und Kerberos authentifiziert?
In diesem Falle hast du zwei "getrennte Dienste", die rein zufällig das gleiche Passwort für einen Benutzer haben.joe2017 hat geschrieben:12.12.2018 16:56:05Somit müsste im LDAP und Kerberos Server dasselbe Passwort (1234) hinterlegt sein. Dieses ist jedoch nicht bekannt, weil ein Benutzer sein Passwort ändern kann.
Korrektjoe2017 hat geschrieben:12.12.2018 16:56:05Eigentlich sollte es doch ausreichend sein, wenn das Passwort nur einmal vorhanden ist, und die beiden Benutzer (LDAP/Kerberos) miteinander verknüpft sind.
Schau mal was Tante Google mir dazu anbietet:joe2017 hat geschrieben:12.12.2018 16:56:05Hier habe ich jedoch die Konfiguration nicht ganz verstanden.
Wie werden die beiden Benutzer LDAP/Kerberos miteinander verknüpft? Oder habe ich hier einen Denkfehler?
* https://wiki.ubuntuusers.de/Kerberos/LDAP/
* https://wiki.debian.org/LDAP/Kerberos
* http://www.rjsystems.nl/en/2100-d6-kerb ... ovider.php
Hell genug?joe2017 hat geschrieben:12.12.2018 16:56:05Wäre schön wenn mir hier mal jemand Licht ins dunkle bringen könnte.
Re: Verständnisfrage zu LDAP/Kerberos SASL
Danke schon mal für die Info. Deinen ersten Link hatte ich bereits auch schon versucht einzurichten. Jedoch hat das ganze nicht funktioniert. Wahrscheinlich mache ich hier etwas falsch.
Hier gibt es wohl zwei Möglichkeiten:
SASL - Kerberos als Passwordspeicher
oder
LDAP als KDC
Ich habe mich für den zweiten Weg (LDAP als KDC) entschieden.
Jedoch habe ich in beiden Benutzern (LDAP/Kerberos) ein Passwort?
Wie teile ich in diesem Fall dem Kerberos Server mit, dass die Passwort Informationen im LDAP Benutzer stehen?
Hier gibt es wohl zwei Möglichkeiten:
SASL - Kerberos als Passwordspeicher
oder
LDAP als KDC
Ich habe mich für den zweiten Weg (LDAP als KDC) entschieden.
Jedoch habe ich in beiden Benutzern (LDAP/Kerberos) ein Passwort?
Wie teile ich in diesem Fall dem Kerberos Server mit, dass die Passwort Informationen im LDAP Benutzer stehen?
Re: Verständnisfrage zu LDAP/Kerberos SASL
Naja nicht so ganz.
* LDAP ist dein Verzeichnisdienst und enthält (u.a.):
** Benutzer Objekte
** Gruppen Objekte
** Objekte für die Speicherung von Kerberos Daten (KDE)
Damit LDAP die Benutzer anhand ihres Kerberos Passwortes authentifiziert musst du GSS-API/SASL im LDAP Server aktivieren und in SASL wiederrum auf deinen Kerberos Server verweisen, der um die Quadratur des Kreises zu schließen, seine KDC Daten aus dem LDAP ausliest.
* LDAP ist dein Verzeichnisdienst und enthält (u.a.):
** Benutzer Objekte
** Gruppen Objekte
** Objekte für die Speicherung von Kerberos Daten (KDE)
Damit LDAP die Benutzer anhand ihres Kerberos Passwortes authentifiziert musst du GSS-API/SASL im LDAP Server aktivieren und in SASL wiederrum auf deinen Kerberos Server verweisen, der um die Quadratur des Kreises zu schließen, seine KDC Daten aus dem LDAP ausliest.
Re: Verständnisfrage zu LDAP/Kerberos SASL
Das bedeutet, wenn ich LDAP als KDC eingerichtet habe, muss ich lediglich libsasl2-modules-gssapi-mit installieren.
Die Datei /etc/default/slapd anpassen.
und mein LDAP anpassen (ldapmodify)
Code: Alles auswählen
sudo apt-get install libsasl2-modules-gssapi-mit
Code: Alles auswählen
export KRB5_KTNAME=/etc/ldap/ldap.keytab
Code: Alles auswählen
changetype: modify
add: olcSaslHost
olcSaslHost: sasl.server.realm ######### (LDAPserver.domain.com)
dn: cn=config
add: olcSaslRealm
olcSaslRealm: REALM ######### (DOMAIN.COM)
# Das hier nur einkommentieren, wenn ein User existiert, der cn=config bearbeiten darf. Sonst sperrt man sich aus!
#dn: cn=config
#add: olcSaslSecProps
#olcSaslSecProps: noplain,noactive,noanonymous,minssf=56
#Usermapping setzten
#Kerberos -> LDAP Object
#username -> username.users.example.com
dn: cn=config
add: olcAuthzRegexp
olcAuthzRegexp: {0}"uid=([^/]*),cn=GSSAPI,cn=auth" "uid=$1,ou=users,dc=example,dc=com"
######### (olcAuthzRegexp: {0}"uid=([^/]*),cn=GSSAPI,cn=auth" "uid=$1,ou=users,dc=domain,dc=com")
#username@realm -> username.users.example.com
dn: cn=config
add: olcAuthzRegexp
olcAuthzRegexp: {1}"uid=([^/]*),cn=realm,cn=GSSAPI,cn=auth" "uid=$1,ou=users,dc=domain,dc=com"
######### (olcAuthzRegexp: {1}"uid=([^/]*),cn=realm,cn=GSSAPI,cn=auth" "uid=$1,ou=users,dc=domain,dc=com") oder muss hier auch das cn=realm ausgetauscht werden? cn=domain.com
#host/hostname.realm@realm -> hostname.hosts.example.com
dn: cn=config
add: olcAuthzRegexp
olcAuthzRegexp: {2}"uid=host/([^/]*).realm,cn=realm,cn=gssapi,cn=auth" "cn=$1,ou=hosts,dc=example,dc=com"
######### (olcAuthzRegexp: {2}"uid=host/([^/]*).realm,cn=realm,cn=gssapi,cn=auth" "cn=$1,ou=hosts,dc=domain,dc=com") oder muss hier auch das .realm und cn=realm ausgetauscht werden? .domain.com / cn=domain.com
Zuletzt geändert von joe2017 am 13.12.2018 12:21:58, insgesamt 2-mal geändert.
Re: Verständnisfrage zu LDAP/Kerberos SASL
Das Thema ist zu komplex um anhand eines Happens eine fundierte Antwort geben zu können.
Und bitte gib dir beim Posten etwas mehr Formatierungsmühe, deine Fragen habe ich erst nach dem dritten Lesen des Code-Blocks überhaupt wahrgenommen.
joe2017 hat geschrieben:13.12.2018 11:42:23Code: Alles auswählen
#username@realm -> username.users.example.com dn: cn=config add: olcAuthzRegexp olcAuthzRegexp: {1}"uid=([^/]*),cn=realm,cn=GSSAPI,cn=auth" "uid=$1,ou=users,dc=domain,dc=com" (olcAuthzRegexp: {1}"uid=([^/]*),cn=realm,cn=GSSAPI,cn=auth" "uid=$1,ou=users,dc=domain,dc=com") oder muss hier auch das cn=realm ausgetauscht werden? cn=domain.com
Dazu müsstest du mal deine LDAP-Baumstruktur offen legen.joe2017 hat geschrieben:13.12.2018 11:42:23Code: Alles auswählen
#host/hostname.realm@realm -> hostname.hosts.example.com dn: cn=config add: olcAuthzRegexp olcAuthzRegexp: {2}"uid=host/([^/]*).realm,cn=realm,cn=gssapi,cn=auth" "cn=$1,ou=hosts,dc=example,dc=com" (olcAuthzRegexp: {2}"uid=host/([^/]*).realm,cn=realm,cn=gssapi,cn=auth" "cn=$1,ou=hosts,dc=domain,dc=com") oder muss hier auch das .realm und cn=realm ausgetauscht werden? .domain.com / cn=domain.com
Und bitte gib dir beim Posten etwas mehr Formatierungsmühe, deine Fragen habe ich erst nach dem dritten Lesen des Code-Blocks überhaupt wahrgenommen.
Re: Verständnisfrage zu LDAP/Kerberos SASL
Ich hatte versucht meine Inhalte im Code Fett anzeigen zu lassen, aber das geht leider nicht. Ich versuche das nächste mal solche Dinge besser darzustellen.
Ich bin immer noch etwas verwirrt was die Konfiguration angeht. Vielleicht könntest du mir Stichpunktartig noch einmal weiterhelfen. Ich versuche meine Installation darzustellen.
Ich Installiere alles auf einem einzigen Server welchen ich später Repliziere. Das lasse ich jetzt aber erst einmal weg.
LDAP als KDC
Ich bin immer noch etwas verwirrt was die Konfiguration angeht. Vielleicht könntest du mir Stichpunktartig noch einmal weiterhelfen. Ich versuche meine Installation darzustellen.
Ich Installiere alles auf einem einzigen Server welchen ich später Repliziere. Das lasse ich jetzt aber erst einmal weg.
LDAP als KDC
- LDAP Installation (slapd ldap-utils)
- Kerberos Installation (krb5-kdc krb5-admin-server krb5-kdc-ldap)
- Das Kerberos Schema importieren
- Die Konfig Dateien für LDAP und Kerberos lasse ich hier erst einmal weg. Das sprengt etwas den Rahmen. Gerne liefere ich diese nach.
- OU´s, Benutzer und Gruppen im LDAP anlegen
- Meine LDAP Benutzer haben derzeit noch ein Kennwort hinterlegt
- Principals im KDC anlegen (hier habe ich bislang nur meine Benutzer und alle nfs/ Einträge)
- Meine KDC Benutzer haben derzeit ebenfalls ein Kennwort hinterlegt
- GSS-API/SASL installieren (libsasl2-modules-gssapi-mit)
- Principal ldap/LDAPserver.realm anlegen
- Principal exportiern in die keytab
- slapd muss die keytab nutzen
- ldap muss SASL verwenden (hierzu ldapmodify)
- meine LDAP Benutzer bekommen ein neues Passwort zugewiesen ({SASL}user@REALM)
Re: Verständnisfrage zu LDAP/Kerberos SASL
Wenn du saslauthd verwenden willst, dann ja - ansonsten erklärst du dem LDAP das er direkt mit der GSSAPI spricht:joe2017 hat geschrieben:13.12.2018 12:20:57
Wenn ich das richtig verstanden habe, muss ich jetzt noch folgendes installieren und konfigurieren
Hab ich das richtig verstanden?
- GSS-API/SASL installieren (libsasl2-modules-gssapi-mit)
- ldap muss SASL verwenden (hierzu ldapmodify)
- meine LDAP Benutzer bekommen ein neues Passwort zugewiesen ({SASL}user@REALM)
in /etc/default/slapd
Code: Alles auswählen
SASL_MECH=GSSAPI
joe2017 hat geschrieben:13.12.2018 11:42:23Code: Alles auswählen
#username@realm -> username.users.example.com dn: cn=config add: olcAuthzRegexp olcAuthzRegexp: {1}"uid=([^/]*),cn=realm,cn=GSSAPI,cn=auth" "uid=$1,ou=users,dc=domain,dc=com" (olcAuthzRegexp: {1}"uid=([^/]*),cn=realm,cn=GSSAPI,cn=auth" "uid=$1,ou=users,dc=domain,dc=com") oder muss hier auch das cn=realm ausgetauscht werden? cn=domain.com
joe2017 hat geschrieben:13.12.2018 11:42:23Code: Alles auswählen
#host/hostname.realm@realm -> hostname.hosts.example.com dn: cn=config add: olcAuthzRegexp olcAuthzRegexp: {2}"uid=host/([^/]*).realm,cn=realm,cn=gssapi,cn=auth" "cn=$1,ou=hosts,dc=example,dc=com" (olcAuthzRegexp: {2}"uid=host/([^/]*).realm,cn=realm,cn=gssapi,cn=auth" "cn=$1,ou=hosts,dc=domain,dc=com") oder muss hier auch das .realm und cn=realm ausgetauscht werden? .domain.com / cn=domain.com
Re: Verständnisfrage zu LDAP/Kerberos SASL
Ich habe hierzu noch mal einen interessanten Link gefunden: https://bobcares.com/blog/kerberos-and- ... -together/
Vielleicht könntest du hier einmal kurz drüber schauen. Ich denke das ist genau das was ich suche.
Ich habe das mit einem Test Server und Client getestet. Ich habe jetzt lediglich eien Anmeldung am Client und kann noch nicht sagen ob die nachvolgenden Services (LDAP/Kerberos) korrekt funktionieren.
Ich kann auf die LDAP Gruppen und Benutzer zugreifen und habe ein Kerberos Ticket.
Die Seite ist jedoch etwas älter, denn die Installation (ldap-auth-client) gibt es unter Debian 9.6.0 nicht mehr.
Vielleicht könntest du hier einmal kurz drüber schauen. Ich denke das ist genau das was ich suche.
Ich habe das mit einem Test Server und Client getestet. Ich habe jetzt lediglich eien Anmeldung am Client und kann noch nicht sagen ob die nachvolgenden Services (LDAP/Kerberos) korrekt funktionieren.
Ich kann auf die LDAP Gruppen und Benutzer zugreifen und habe ein Kerberos Ticket.
Die Seite ist jedoch etwas älter, denn die Installation (ldap-auth-client) gibt es unter Debian 9.6.0 nicht mehr.
Re: Verständnisfrage zu LDAP/Kerberos SASL
Also das ist die Variante ohne "saslauthd", die ich dir schon zuvor geschildert hatte.joe2017 hat geschrieben:13.12.2018 16:05:00Ich habe hierzu noch mal einen interessanten Link gefunden: https://bobcares.com/blog/kerberos-and- ... -together/
Re: Verständnisfrage zu LDAP/Kerberos SASL
Also ich habe folgende Anpassungen durchgeführt.
LDAP/Kerberos Server
Client
Apache Server
Wenn ich nun versuche auf meien Apache WebDav Webseite zuzugreifen passiert folgendes.
Apache Config 1
Mein Client kann auf die Webseite zugreifen.
Jetzt möchte ich jedoch den Zugriff auf die Webseite mit LDAP Gruppen einschränken.
Apache Config 2
Mein Client wird nach einer Anmeldung gefragt. Somit befürchte ich, dass die GSSAPI Konfig noch nicht so ganz funktioniert.
LDAP/Kerberos Server
- sudo apt install libsasl2-modules-gssapi-mit
- addprinc -randkey ldap/server.domain.com
- ktadd -k /etc/ldap/ldap.keytab ldap/server.domain.com
- sudo nano /etc/default/slapd
Code: Alles auswählen
export KRB5_KTNAME=/etc/ldap/ldap.keytab
Code: Alles auswählen
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// dn: cn=config add: olcAuthzRegexp olcAuthzRegexp: uid=(.*),cn=domain.com,cn=gssapi,cn=auth uid=$1,ou=Users,dc=domain,dc=com dn: cn=config add: olcSaslHost olcSaslHost: mas-a-str00001a.domain.com dn: cn=config add: olcSaslRealm olcSaslRealm: DOMAIN.COM
- sudo nano /etc/ldap/ldap.conf
Code: Alles auswählen
BASE dc=domain,dc=com URI ldap://server.domain.com SASL_MECH GSSAPI
- In den LDAP Benutzern dass Passwort gelöscht
Client
- bereits an LDAP und Kerberos angebunden
- sudo apt install libsasl2-modules-gssapi-mit
- sudo nano /etc/ldap/ldap.conf
Code: Alles auswählen
BASE dc=domain,dc=com URI ldap://server.domain.com SASL_MECH GSSAPI
Apache Server
- bereits an LDAP und Kerberos angebunden
- sudo apt install libsasl2-modules-gssapi-mit
- sudo nano /etc/ldap/ldap.conf
Code: Alles auswählen
BASE dc=domain,dc=com URI ldap://server.domain.com SASL_MECH GSSAPI
Wenn ich nun versuche auf meien Apache WebDav Webseite zuzugreifen passiert folgendes.
Apache Config 1
Code: Alles auswählen
<Directory /var/www/html/webdav>
SSLRequireSSL
DAV On
AuthName "WebDav"
AuthType Kerberos
KrbAuthRealms DOMAIN.COM
KrbServiceName HTTP/apache.domain.com
KrbMethodNegotiate on
KrbMethodK5Passwd on
Krb5Keytab /etc/krb5.keytab
</Directory>
Jetzt möchte ich jedoch den Zugriff auf die Webseite mit LDAP Gruppen einschränken.
Apache Config 2
Code: Alles auswählen
<Directory /var/www/html/webdav>
SSLRequireSSL
DAV On
AuthName "WebDav"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPURL ldaps://server.domain.com/dc=domain,dc=com?uid?sub?(objectClass=*)
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off
<RequireAll>
Require ldap-group cn=web_dav,ou=Groups,dc=domain,dc=com
Require valid-user
</RequireAll>
</Directory>
Re: Verständnisfrage zu LDAP/Kerberos SASL
Ich frag mal ganz zwischendurch:
* Funktioniert Kerberos auf deinem LDAP Server nun?
* Funktioniert Kerberos auf deinem LDAP Server nun?
Re: Verständnisfrage zu LDAP/Kerberos SASL
Was meinst du damit? Ich gehe doch davon aus, wenn sich mein Client anmelden kann, dass der Service funktioniert.
Ich habe derzeit nur einen Server auf welchem LDAP und Kerberos installiert ist.
Ich habe derzeit nur einen Server auf welchem LDAP und Kerberos installiert ist.
Re: Verständnisfrage zu LDAP/Kerberos SASL
Kannst du dir ein Kerberos-Ticket anfordern?
Code: Alles auswählen
kinit
Code: Alles auswählen
klist
Re: Verständnisfrage zu LDAP/Kerberos SASL
Also kinit und klist funktioniert.
Re: Verständnisfrage zu LDAP/Kerberos SASL
Was auch noch interessant ist...
Wenn ich an meinem Client im Thunderbird ein LDAP Adressbuch hinzufüge, bekomme ich die Kontakte angezeigt solange die Login Methode unterder Registerkarte Advanced auf SIMPLE eingestellt ist.
Unter KLIST steht auch nur folgender ServicePrinzipal krbtgt/DOMAIN.COM@DOMAIN.com
Änder ich diese Einstellung auf Kerberos (GSSAPI) bekomme ich die Kontakte nicht mehr angezeigt.
Jetzt erscheint unter KLIST auch der Eintrag ldap/server.domain.com@DOMAIN.COM.
Nachdem mein LDAP Benutzer kein Kennwort mehr hinterlegt hat, und ich somit mit dem Kerberos Kennwort angemeldet bin, sollte die GSSAPI eigentlich greifen. Sonst könnte ich doch nicht auf die LDAP Kontakte (Adressbuch) zugreifen. Richtig? Weshalb funktioniert die GSSAPI Einstellung für das Adressbuch nicht?
Ich weiß, das sind gerade alles ziemlich viele Beispiele und Themen. Ich versuche das ganze gerade nur von allen Seiten zu Testen um den Hintergrund zu verstehen.
Wenn ich an meinem Client im Thunderbird ein LDAP Adressbuch hinzufüge, bekomme ich die Kontakte angezeigt solange die Login Methode unterder Registerkarte Advanced auf SIMPLE eingestellt ist.
Unter KLIST steht auch nur folgender ServicePrinzipal krbtgt/DOMAIN.COM@DOMAIN.com
Änder ich diese Einstellung auf Kerberos (GSSAPI) bekomme ich die Kontakte nicht mehr angezeigt.
Jetzt erscheint unter KLIST auch der Eintrag ldap/server.domain.com@DOMAIN.COM.
Nachdem mein LDAP Benutzer kein Kennwort mehr hinterlegt hat, und ich somit mit dem Kerberos Kennwort angemeldet bin, sollte die GSSAPI eigentlich greifen. Sonst könnte ich doch nicht auf die LDAP Kontakte (Adressbuch) zugreifen. Richtig? Weshalb funktioniert die GSSAPI Einstellung für das Adressbuch nicht?
Ich weiß, das sind gerade alles ziemlich viele Beispiele und Themen. Ich versuche das ganze gerade nur von allen Seiten zu Testen um den Hintergrund zu verstehen.
Re: Verständnisfrage zu LDAP/Kerberos SASL
Ich habe jetzt noch folgendes herausgefunden.
ldapwhoami
Ich habe folgendes ausgeführt:
Und schon funktioniert
Jetzt werde ich noch den Apache testen und eine Rückmeldung geben.
ldapwhoami
Code: Alles auswählen
SASL/GSSAPI authentication started
ldap_sasl_interactive_bind_s: Other (e.g., implementation specific) error (80)
additional info: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (Permission denied)
Ich habe folgendes ausgeführt:
Code: Alles auswählen
sudo chown openldap /etc/ldap/ldap.keytab
- ldapwhoami
- und ebenfalls mein Thunderbird Adressbuch mit [Kerberos (GSSAPI)]
Jetzt werde ich noch den Apache testen und eine Rückmeldung geben.
Re: Verständnisfrage zu LDAP/Kerberos SASL
Mein Apache funktioniert noch nicht ganz so wie ich das möchte.
Evtl. habe ich auch falsche Parameter in der Site Config.
Theoretisch müsste mein Apache jetzt nur LDAP Benutzer meiner Gruppe "web_dav" zulassen. Das funktioniert wahrscheinlich auch korrekt.
Wenn ich am Client die Webseite aufrufe werde ich jedoch aufgefordert Benutzer und Passwort einzugeben. Ich denke mal das der Apache einen LDAP Benutzer erwartet. Mein Client sich jedoch mit einem Kerberos Benutzer anmeldet. Jetzt müsste mein Apache wissen, dass der Kerberos Benutzer mit dem LDAP Benutzer gleichzusetzen ist. Irgendwo hängt das noch...
Evtl. habe ich auch falsche Parameter in der Site Config.
Code: Alles auswählen
<Directory /var/www/html/webdav>
SSLRequireSSL
DAV On
AuthName "WebDav"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPURL ldaps://server.domain.com/dc=domain,dc=com?uid?sub?(objectClass=*)
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off
<RequireAll>
Require ldap-group cn=web_dav,ou=Groups,dc=domain,dc=com
Require valid-user
</RequireAll>
</Directory>
Wenn ich am Client die Webseite aufrufe werde ich jedoch aufgefordert Benutzer und Passwort einzugeben. Ich denke mal das der Apache einen LDAP Benutzer erwartet. Mein Client sich jedoch mit einem Kerberos Benutzer anmeldet. Jetzt müsste mein Apache wissen, dass der Kerberos Benutzer mit dem LDAP Benutzer gleichzusetzen ist. Irgendwo hängt das noch...
Re: Verständnisfrage zu LDAP/Kerberos SASL
Wenn du Kerberos als Single Sign on verwenden willst, dann musst du Apache auch entsprechend konfigurieren.
http://www.microhowto.info/howto/config ... ation.html
http://www.microhowto.info/howto/config ... ation.html
Re: Verständnisfrage zu LDAP/Kerberos SASL
Wenn ich meine Apache Webseite für Kerberos konfiguriere funktioniert das ja auch.
Jedoch möchte ich nur einer bestimmten LDAP Gruppe die Berechtigungen für die Seite geben.
Code: Alles auswählen
<Directory /var/www/html/webdav>
SSLRequireSSL
DAV On
AuthName "WebDav"
AuthType Kerberos
KrbAuthRealms DOMAIN.COM
KrbServiceName HTTP/apache.domain.com
KrbMethodNegotiate on
KrbMethodK5Passwd on
Krb5Keytab /etc/krb5.keytab
</Directory>
Re: Verständnisfrage zu LDAP/Kerberos SASL
Die Tante Google willst du nicht nutzen, oder?
* https://danieljamesscott.org/all-articl ... ation.html
* http://lisa.rushworth.us/?p=244
* https://danieljamesscott.org/all-articl ... ation.html
* http://lisa.rushworth.us/?p=244
Re: Verständnisfrage zu LDAP/Kerberos SASL
Doch natürlich verwende ich die Tante Google!
Jedoch habe ich alle mir bekannten Möglichkeiten durch. Und sobald ich require ldap-group verwende, werde ich am Client nach den Anmeldeinformationen gefragt. Ich befürchte, dass am Apache noch etwas fehlt.
Nachdem der Apache am LDAP/Kerberos angebunden ist habe ich folgendes auf diesem Server durchgeführt:
kinit -k -t /etc/krb5.keytab HTTP/apacheserver.domain.com
Jedoch habe ich alle mir bekannten Möglichkeiten durch. Und sobald ich require ldap-group verwende, werde ich am Client nach den Anmeldeinformationen gefragt. Ich befürchte, dass am Apache noch etwas fehlt.
Nachdem der Apache am LDAP/Kerberos angebunden ist habe ich folgendes auf diesem Server durchgeführt:
- sudo apt install libsasl2-modules-gssapi-mit
- sudo nano /etc/ldap/ldap.conf
Code: Alles auswählen
BASE dc=domain,dc=com URI ldap://server.domain.com SASL_MECH GSSAPI
- sudo apt install libapache2-mod-auth-kerb
- addprinc -randkey HTTP/apacheserver.domain.com
- ktadd HTTP/apacheserver.domain.com
- sudo chown www-data /etc/krb5.keytab
- sudo a2enmod auth_kerb
kinit -k -t /etc/krb5.keytab HTTP/apacheserver.domain.com
Code: Alles auswählen
kinit: Pre-authentication failed: Keine Berechtigung bei Anfängliche Anmeldedaten werden geholt.
Re: Verständnisfrage zu LDAP/Kerberos SASL
Sieht mir danach aus, als fehlt der Maschine-Account für den Server.joe2017 hat geschrieben:14.12.2018 16:21:32Code: Alles auswählen
kinit: Pre-authentication failed: Keine Berechtigung bei Anfängliche Anmeldedaten werden geholt.
Re: Verständnisfrage zu LDAP/Kerberos SASL
Schönen guten Morgen.
mit Maschinen account meinst du sicherlich den princ host/server.domain.com oder?
Wie wird dieser anschließend abgefragt? Oder verwendet mein Server diesen automatisch wenn ein Kerberos Eintrag für host/... vorhanden ist?
mit Maschinen account meinst du sicherlich den princ host/server.domain.com oder?
Wie wird dieser anschließend abgefragt? Oder verwendet mein Server diesen automatisch wenn ein Kerberos Eintrag für host/... vorhanden ist?
Re: Verständnisfrage zu LDAP/Kerberos SASL
Richtigjoe2017 hat geschrieben:17.12.2018 09:07:17Schönen guten Morgen.
mit Maschinen account meinst du sicherlich den princ host/server.domain.com oder?
Nein!
Falsch herum ... Erst einmal muss sich der Client (in deinem Falle der Hosting-Server) selbst authentifizieren, bevor Dienste dieser Maschine sich anmelden und ein Ticket erhalten, bevor der TGT ein "Okay" oder "Fail" an deinen Apache zurückgibt.joe2017 hat geschrieben:17.12.2018 09:07:17Oder verwendet mein Server diesen automatisch wenn ein Kerberos Eintrag für host/... vorhanden ist?