LDAP Kerberos Passwortspeicher (SASL)
LDAP Kerberos Passwortspeicher (SASL)
Hallo zusammen,
ich habe eine Frage zu dem Thema LDAP und Kerberos Server. Ich komme hier irgendwie nicht weiter und glaube, dass ich einfach nur einen Denkfehler mache.
Ich habe einen LDAP und einen Kerberos Server. Meinen LDAP Server habe ich auch als Keystore eingerichtet. Ich habe meine LDAP Benutzer mit den entsprechenden Gruppenzugehörigkeiten und einen gleichnamigen Kerberos Benutzer welcher für die Authentifizierung verwendet wird. Ich kann mich auch an meinem Client und meinem NFS4 Server Authentifizieren. Das Problem ist nur, dass für beide Benutzer (LDAP/Kerberos) ein Passwort existiert. Kann dies nicht synchronisert werden, bzw. nur an einer Stelle hinterlegt werden?
Oder kann man die Kerberos Informationen zu einem bestehenden LDAP Benutzer anhängen und somit nur einen Benutzer mit Passwort anlegen?
Ich habe jetzt erst einmal auf meine gesamte Installationsbeschreibung verzichtet. Kann diese bzw. teile davon bei Fragen gerne posten.
Vielen Dank für einen Denkanstoß.
ich habe eine Frage zu dem Thema LDAP und Kerberos Server. Ich komme hier irgendwie nicht weiter und glaube, dass ich einfach nur einen Denkfehler mache.
Ich habe einen LDAP und einen Kerberos Server. Meinen LDAP Server habe ich auch als Keystore eingerichtet. Ich habe meine LDAP Benutzer mit den entsprechenden Gruppenzugehörigkeiten und einen gleichnamigen Kerberos Benutzer welcher für die Authentifizierung verwendet wird. Ich kann mich auch an meinem Client und meinem NFS4 Server Authentifizieren. Das Problem ist nur, dass für beide Benutzer (LDAP/Kerberos) ein Passwort existiert. Kann dies nicht synchronisert werden, bzw. nur an einer Stelle hinterlegt werden?
Oder kann man die Kerberos Informationen zu einem bestehenden LDAP Benutzer anhängen und somit nur einen Benutzer mit Passwort anlegen?
Ich habe jetzt erst einmal auf meine gesamte Installationsbeschreibung verzichtet. Kann diese bzw. teile davon bei Fragen gerne posten.
Vielen Dank für einen Denkanstoß.
Zuletzt geändert von joe2017 am 21.08.2018 14:39:54, insgesamt 1-mal geändert.
Re: LDAP Kerberos Passwortspeicher
Oder gibt es eine Möglichkeit beide Passwörter zu änder?
Ich habe zwar meine Konfigurationen von UBUNTU übernommen jedoch funktioniert das irgendwie nicht mehr. Wenn ich früher passwd ausgeführt habe wurde ich erst nach dem Kerbereos Passwort und anschließend noch einmal nach dem LDAP Passwort gefragt. Wo kann ich das im Client konfigurieren?
Ich habe zwar meine Konfigurationen von UBUNTU übernommen jedoch funktioniert das irgendwie nicht mehr. Wenn ich früher passwd ausgeführt habe wurde ich erst nach dem Kerbereos Passwort und anschließend noch einmal nach dem LDAP Passwort gefragt. Wo kann ich das im Client konfigurieren?
Re: LDAP Kerberos Passwortspeicher
Wie soll denn dein Setup am Ende aussehen?
Re: LDAP Kerberos Passwortspeicher
Naja, wie schon beschrieben.
- Entweder nur ein Passwort für LDAP/Kerberos Benutzer.
- oder die beiden Passwörter sysnchronisieren sich.
- oder ein Benutzer kann beide Passwörter ändern.
Das Problem ist, dass es auch Services gibt welche kein Kerberos sondern nur die LDAP authentication (Bsp. Thunderbird LDAP Adressbuch) verwenden. Wenn ich mit passwd mein Passwort ändere, wird aktuell nur das Kerberos Passwort abgefragt und geändert. Somit bleibt das LDAP Passwort noch das alte.
- Entweder nur ein Passwort für LDAP/Kerberos Benutzer.
- oder die beiden Passwörter sysnchronisieren sich.
- oder ein Benutzer kann beide Passwörter ändern.
Das Problem ist, dass es auch Services gibt welche kein Kerberos sondern nur die LDAP authentication (Bsp. Thunderbird LDAP Adressbuch) verwenden. Wenn ich mit passwd mein Passwort ändere, wird aktuell nur das Kerberos Passwort abgefragt und geändert. Somit bleibt das LDAP Passwort noch das alte.
Re: LDAP Kerberos Passwortspeicher
Du beschreibst dein Problem, nicht dein Setup, daher frage ich noch einmal nach:
Du möchtest LDAP UND Kerberos einsetzen?
Warum beides, reicht dir LDAP nicht?
Normalerweise, wenn man Kerberos und LDAP einsetzt, dann werden die Passwörter ausschließlich im Kerberos hinterlegt und nicht mehr im LDAP.
Du möchtest LDAP UND Kerberos einsetzen?
Warum beides, reicht dir LDAP nicht?
Normalerweise, wenn man Kerberos und LDAP einsetzt, dann werden die Passwörter ausschließlich im Kerberos hinterlegt und nicht mehr im LDAP.
Re: LDAP Kerberos Passwortspeicher
Ich habe einen LDAP Server welche meine Benutzer und Gruppen beinhaltet.
Ich habe einen (MIT) Kerberos Server welcher für die Authentication verantwortlich ist.
Eigentlich sollte laut der Beschreibung die Kennwörter im Kerberos gespeichert sein.
Ich kann mich an meinem Client auch an meinem Kerberos Server authentifizieren. Auch die Gruppenzugehörigkeiten für Bsp. mein NFS Server funktionieren.
Jedoch wenn ich mein Kerberos Passwort am Client mit passwd ändere, steht im LDAP immer noch das zuvor angelegte LDAP User Passwort.
Es gibt Services wie Z.B. mein LDAP Adressbuch für Thunderbird, welches lediglich die LDAP Benutzerinformationen abfragt. Selbstverständlich wäre es mir auch am liebsten wenn hier meine Kerberos Benutzerinformationen verwendet würden.
Das ist alles etwas verwirrend. Weshalb sind im LDAP immer noch die Passwörter gespeichert? Kann man den Kerberos Benutzer mit seinem Passwort nicht mit dem identischen LDAP Benutzer verknüpfen?
Ich habe einen (MIT) Kerberos Server welcher für die Authentication verantwortlich ist.
Eigentlich sollte laut der Beschreibung die Kennwörter im Kerberos gespeichert sein.
Ich kann mich an meinem Client auch an meinem Kerberos Server authentifizieren. Auch die Gruppenzugehörigkeiten für Bsp. mein NFS Server funktionieren.
Jedoch wenn ich mein Kerberos Passwort am Client mit passwd ändere, steht im LDAP immer noch das zuvor angelegte LDAP User Passwort.
Es gibt Services wie Z.B. mein LDAP Adressbuch für Thunderbird, welches lediglich die LDAP Benutzerinformationen abfragt. Selbstverständlich wäre es mir auch am liebsten wenn hier meine Kerberos Benutzerinformationen verwendet würden.
Das ist alles etwas verwirrend. Weshalb sind im LDAP immer noch die Passwörter gespeichert? Kann man den Kerberos Benutzer mit seinem Passwort nicht mit dem identischen LDAP Benutzer verknüpfen?
Re: LDAP Kerberos Passwortspeicher
Da liegt dein Fehler, deine LDAP dürfen kein Passwort im LDAP hinterlegt haben, sondern den Verweis auf den Kerberos-Server:joe2017 hat geschrieben:06.08.2018 12:07:51Jedoch wenn ich mein Kerberos Passwort am Client mit passwd ändere, steht im LDAP immer noch das zuvor angelegte LDAP User Passwort.
Code: Alles auswählen
userPassword: {SASL}username@REALM
Re: LDAP Kerberos Passwortspeicher
Ich muss diese Info in dem LDAP User als Passwort Eintrag hinterlegen RICHTIG?bluestar hat geschrieben:06.08.2018 12:13:10Da liegt dein Fehler, deine LDAP dürfen kein Passwort im LDAP hinterlegt haben, sondern den Verweis auf den Kerberos-Server:Code: Alles auswählen
userPassword: {SASL}username@REALM
Code: Alles auswählen
userPassword: {SASL}username@REALM
Dann hätte ich somit meine LDAP Benutzer welche ich LDAP Gruppen für Berechtigungen etc. zuordnen kann, und lediglich ein Passwort welches für die Authentifizierung in meinem Kerberos Benutzern hinterlegt sind.
Mit passwd würde ich somit am Client mein Kerberos Passwort ändern können und alles andere würde somit weiterhin funktionieren. So hab ich das ganze jetzt verstanden.
Muss hierfür am LDAP / Kerberos Server noch etwas konfiguriert werden?
Das wäre natürlich die einzig RICHTIGE Lösung! Perfekt! Werde ich später gleich testen. Ich gebe auf jeden Fall noch einmal eine Rückmeldung.
Re: LDAP Kerberos Passwortspeicher
Richtig, sofern du Kerberos und deinen LDAP-Server entsprechend konfiguiert hast.joe2017 hat geschrieben:06.08.2018 12:31:56Ich muss diese Info in dem LDAP User als Passwort Eintrag hinterlegen RICHTIG?Code: Alles auswählen
userPassword: {SASL}username@REALM
Wie hast du denn Kerberos konfiguriert?joe2017 hat geschrieben:06.08.2018 12:31:56Meine Kerberos Informationen sind in der LDAP Datenbank gespeichert. Der Eintrag in meinem LDAP User ist somit der Verweis auf mein Kerberos User Passwort?
Dann hätte ich somit meine LDAP Benutzer welche ich LDAP Gruppen für Berechtigungen etc. zuordnen kann, und lediglich ein Passwort welches für die Authentifizierung in meinem Kerberos Benutzern hinterlegt sind.
Wie hast du deinen LDAP-Server denn konfiguriert?
Re: LDAP Kerberos Passwortspeicher
Meine LDAP Installation richtet sich nach folgendem Link https://help.ubuntu.com/lts/serverguide ... erver.html
Ich habe zwei redundante LDAP Server
Meine Kerberos Installation richtet sich nach folgendem Link https://help.ubuntu.com/lts/serverguide ... -ldap.html
Ich habe zwei redundante Kerberos Server
Ich komm gerade nicht klar mit dem ändern des Passwortes. Ich habe folgende Anpassung forgenommen.
sudo apt-get install sasl2-bin libsasl2-modules-gssapi-mit
sudo nano /etc/default/saslauthd
sudo adduser openldap sasl
ldappasswd -H ldaps://LDAP-IP -x -D "cn=admin,dc=domain,dc=net" -W "uid=userid,ou=Users,dc=domain,dc=net" -s {SASL}userid@DOMAIN.NET
Ich habe zwei redundante LDAP Server
Meine Kerberos Installation richtet sich nach folgendem Link https://help.ubuntu.com/lts/serverguide ... -ldap.html
Ich habe zwei redundante Kerberos Server
Ich komm gerade nicht klar mit dem ändern des Passwortes. Ich habe folgende Anpassung forgenommen.
sudo apt-get install sasl2-bin libsasl2-modules-gssapi-mit
sudo nano /etc/default/saslauthd
Code: Alles auswählen
START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="kerberos5"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/run/saslauthd"
ldappasswd -H ldaps://LDAP-IP -x -D "cn=admin,dc=domain,dc=net" -W "uid=userid,ou=Users,dc=domain,dc=net" -s {SASL}userid@DOMAIN.NET
Code: Alles auswählen
Result: No such object (32)
Re: LDAP Kerberos Passwortspeicher
Das wird auch nicht funktionieren, du musst schon über ldapmodify das Feld direkt modifizieren.joe2017 hat geschrieben:06.08.2018 14:54:02ldappasswd -H ldaps://LDAP-IP -x -D "cn=admin,dc=domain,dc=net" -W "uid=userid,ou=Users,dc=domain,dc=net" -s {SASL}userid@DOMAIN.NETCode: Alles auswählen
Result: No such object (32)
Re: LDAP Kerberos Passwortspeicher
Danke für den Tipp. Hier bekomme ich jedoch einen Fehler.
sudo nano /tmp/tmp.ldif
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f /tmp/tmp.ldif
Eigentlich hatte ich so schon öfter diverse Dinge angepasst. Nur noch keine Passwörter. Werden diese anders behandelt?
sudo nano /tmp/tmp.ldif
Code: Alles auswählen
dn: cn=Vorname Nachname,ou=Users,dc=domain,dc=net
changetype: modify
replace: userPassword
userPassword: {SASL}uid@DOMAIN.NET
Code: Alles auswählen
modifying entry "cn=Vorname Nachname,ou=Users,dc=domain,dc=net"
ldap_modify: Insufficient access (50)
Re: LDAP Kerberos Passwortspeicher
Dann konsultierst du die ACLS in deinem Setup, die können dir sagen, wer welche Berechtigungen hat.joe2017 hat geschrieben:06.08.2018 16:11:31Eigentlich hatte ich so schon öfter diverse Dinge angepasst. Nur noch keine Passwörter. Werden diese anders behandelt?
Re: LDAP Kerberos Passwortspeicher
Ich musste diese Zeile lediglich gegen folgende austauschenjoe2017 hat geschrieben:06.08.2018 16:11:31sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f /tmp/tmp.ldif
ldapmodify -x -c -D cn=admin,dc=domain,dc=net -W -f /ems/tmp.ldif
Wenn ich nach der Anpassung die folgende Prüfung durchführe erhalte ich eine Fehlermeldung
sudo testsaslauthd -u uid@DOMAIN.NET -p userpassword
Code: Alles auswählen
0: NO "authentication failed"
Re: LDAP Kerberos Passwortspeicher
schau bei Gelegenheit mal in deine Privaten Nachrichten oben rechts neben deinem Anmeldenamen.
Re: LDAP Kerberos Passwortspeicher
Ich habe jetzt einige Seiten zu SASL gelesen. Ich habe das Gefühl, dass folgende Seite nicht den vollen Umfang beschreibt
http://labs.opinsys.com/blog/2010/03/16 ... sing-sasl/
Ich muss sagen, dass dieses Thema etwas verwirrend für mich ist.
Die Installation von LDAP und (MIT) Kerberos war eigentlich überschaubar. Hier habe ich aktuell auch keine Probleme. Meine Services funktionieren auch. Jedoch eben nur mit den getrennten Passwörtern. So wie ich das sehe, ist SASL die richtige Vorgehensweise um den LDAP Benutzern mitzuteilen, dass die Passwörter im Kerberos hinterlegt sind. Irgendwie hakt es hierbei noch etwas. Hat jemand eine gute Anleitung für Debian 9.5.0. Hierbei bräuchte ich leider etwas Unterstützung.
http://labs.opinsys.com/blog/2010/03/16 ... sing-sasl/
Ich muss sagen, dass dieses Thema etwas verwirrend für mich ist.
Die Installation von LDAP und (MIT) Kerberos war eigentlich überschaubar. Hier habe ich aktuell auch keine Probleme. Meine Services funktionieren auch. Jedoch eben nur mit den getrennten Passwörtern. So wie ich das sehe, ist SASL die richtige Vorgehensweise um den LDAP Benutzern mitzuteilen, dass die Passwörter im Kerberos hinterlegt sind. Irgendwie hakt es hierbei noch etwas. Hat jemand eine gute Anleitung für Debian 9.5.0. Hierbei bräuchte ich leider etwas Unterstützung.
Re: LDAP Kerberos Passwortspeicher
Anbei meine LDAP Kerberos Installation. Ich hoffe das hilft.
Ich habe natürlich einige Inhalte (Servername, IP, Domain) angepasst. Ich habe hier jetzt auch nur den Primary LDAP/Kerberos aufgelistet. Der Secondary LDAP/Kerberos wird bis auf die Replication identisch installiert. Es wäre prima wenn ich das mit dem Passwortspeicher im Kerberos noch irgendwie hinbekommen könnte. Ich hab jetzt schon dutzende Seiten hierzu durchgelesen und komme nicht wirklich weiter damit. Alles was ich bisher getestet habe funktioniert nicht. Ich habe auf jeden Fall einen Snapshot meiner Virtuellen Maschine.![Wink ;-)](./images/smilies/icon_wink.gif)
LDAP PRIMARY
sudo nano /etc/hostname
sudo reboot
sudo apt -y install slapd ldap-utils
sudo nano /folder/logging.ldif
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f /folder/logging.ldif
sudo cp /etc/rsyslog.conf /etc/rsyslog.conf.1st
sudo nano /etc/rsyslog.conf
sudo systemctl restart syslog.service
REPLICATION - PROVIDER
sudo nano /folder/provider_sync.ldif
sudo -u openldap mkdir /var/lib/ldap/accesslog
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /folder/provider_sync.ldif
KERBEROS SCHEMA IMPORT
sudo apt install -y krb5-kdc krb5-admin-server krb5-kdc-ldap
sudo gzip -d /usr/share/doc/krb5-kdc-ldap/kerberos.schema.gz
sudo cp /usr/share/doc/krb5-kdc-ldap/kerberos.schema /etc/ldap/schema/
sudo nano /folder/schema_convert.conf
mkdir /tmp/ldif_output
sudo slapcat -f /folder/schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={12}kerberos,cn=schema,cn=config" > /tmp/cn=kerberos.ldif
sudo nano /tmp/cn\=kerberos.ldif ### DELETE ###
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /tmp/cn\=kerberos.ldif
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:///
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:///
KERBEROS SETUP
sudo cp /etc/krb5.conf /etc/krb5.conf.1st
sudo nano /etc/krb5.conf
sudo kdb5_ldap_util -D cn=admin,dc=domain,dc=net create -subtrees \ dc=domain,dc=net -r domain.NET -s -H ldap://LDAP-Server-1.domain.net
sudo kdb5_ldap_util -D cn=admin,dc=domain,dc=net stashsrvpw -f /etc/krb5kdc/service.keyfile cn=admin,dc=domain,dc=net
sudo nano /etc/krb5kdc/kadm5.acl
sudo /etc/init.d/krb5-admin-server restart
LDAP SSL/TLS
sudo apt install ssl-cert
sudo chgrp openldap /etc/ssl/private/LDAP-Server-1_ecdsa_re.key.pem
sudo chmod 0640 /etc/ssl/private/LDAP-Server-1_ecdsa_re.key.pem
sudo gpasswd -a openldap ssl-cert
sudo systemctl restart slapd.service
sudo nano /folder/certinfo.ldif
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f /folder/certinfo.ldif
sudo nano /etc/default/slapd
sudo service slapd restart
sudo nano /etc/ldap/ldap.conf
sudo service slapd restart
sudo systemctl start krb5-kdc.service
sudo systemctl start krb5-admin-server.service
Ich habe natürlich einige Inhalte (Servername, IP, Domain) angepasst. Ich habe hier jetzt auch nur den Primary LDAP/Kerberos aufgelistet. Der Secondary LDAP/Kerberos wird bis auf die Replication identisch installiert. Es wäre prima wenn ich das mit dem Passwortspeicher im Kerberos noch irgendwie hinbekommen könnte. Ich hab jetzt schon dutzende Seiten hierzu durchgelesen und komme nicht wirklich weiter damit. Alles was ich bisher getestet habe funktioniert nicht. Ich habe auf jeden Fall einen Snapshot meiner Virtuellen Maschine.
![Wink ;-)](./images/smilies/icon_wink.gif)
LDAP PRIMARY
sudo nano /etc/hostname
Code: Alles auswählen
LDAP-Server-1.domain.net
sudo apt -y install slapd ldap-utils
sudo nano /folder/logging.ldif
Code: Alles auswählen
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats
sudo cp /etc/rsyslog.conf /etc/rsyslog.conf.1st
sudo nano /etc/rsyslog.conf
Code: Alles auswählen
# add to the end....
# Disable rate limiting
# (default is 200 messages in 5 seconds; below we make the 5 become 0)
$SystemLogRateLimitInterval 0
REPLICATION - PROVIDER
sudo nano /folder/provider_sync.ldif
Code: Alles auswählen
# Add indexes to the frontend db.
dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryCSN eq
-
add: olcDbIndex
olcDbIndex: entryUUID eq
#Load the syncprov and accesslog modules.
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov
-
add: olcModuleLoad
olcModuleLoad: accesslog
# Accesslog database definitions
dn: olcDatabase={2}mdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {2}mdb
olcDbDirectory: /var/lib/ldap/accesslog
olcSuffix: cn=accesslog
olcRootDN: cn=admin,dc=domain,dc=net
olcDbIndex: default eq
olcDbIndex: entryCSN,objectClass,reqEnd,reqResult,reqStart
# Accesslog db syncprov.
dn: olcOverlay=syncprov,olcDatabase={2}mdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpNoPresent: TRUE
olcSpReloadHint: TRUE
# syncrepl Provider for primary db
dn: olcOverlay=syncprov,olcDatabase={1}mdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpNoPresent: TRUE
# accesslog overlay definitions for primary db
dn: olcOverlay=accesslog,olcDatabase={1}mdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcAccessLogConfig
olcOverlay: accesslog
olcAccessLogDB: cn=accesslog
olcAccessLogOps: writes
olcAccessLogSuccess: TRUE
# scan the accesslog DB every day, and purge entries older than 7 days
olcAccessLogPurge: 07+00:00 01+00:00
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /folder/provider_sync.ldif
KERBEROS SCHEMA IMPORT
sudo apt install -y krb5-kdc krb5-admin-server krb5-kdc-ldap
sudo gzip -d /usr/share/doc/krb5-kdc-ldap/kerberos.schema.gz
sudo cp /usr/share/doc/krb5-kdc-ldap/kerberos.schema /etc/ldap/schema/
sudo nano /folder/schema_convert.conf
Code: Alles auswählen
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/ppolicy.schema
include /etc/ldap/schema/kerberos.schema
sudo slapcat -f /folder/schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={12}kerberos,cn=schema,cn=config" > /tmp/cn=kerberos.ldif
sudo nano /tmp/cn\=kerberos.ldif ### DELETE ###
Code: Alles auswählen
structuralObjectClass: olcSchemaConfig
entryUUID: 18ccd010-746b-102d-9fbe-3760cca765dc
creatorsName: cn=config
createTimestamp: 20090111203515Z
entryCSN: 20090111203515.326445Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20090111203515Z
sudo ldapmodify -Q -Y EXTERNAL -H ldapi:///
Code: Alles auswählen
dn: olcDatabase={1}mdb,cn=config
add: olcDbIndex
olcDbIndex: krbPrincipalName eq,pres,sub
Code: Alles auswählen
dn: olcDatabase={1}mdb,cn=config
replace: olcAccess
olcAccess: to attrs=userPassword,shadowLastChange,krbPrincipalKey by dn="cn=admin,dc=domain,dc=net" write by anonymous auth by self write by * none
-
add: olcAccess
olcAccess: to dn.base="" by * read
-
add: olcAccess
olcAccess: to * by dn="cn=admin,dc=domain,dc=net" write by * read
sudo cp /etc/krb5.conf /etc/krb5.conf.1st
sudo nano /etc/krb5.conf
Code: Alles auswählen
[libdefaults]
default_realm = DOMAIN.NET
...
[realms]
domain.NET = {
kdc = LDAP-Server-1.domain.net
kdc = LDAP-Server-2.domain.net
admin_server = LDAP-Server-1.domain.net
admin_server = LDAP-Server-2.domain.net
default_domain = domain.net
database_module = openldap_ldapconf
}
...
[domain_realm]
.domain.net = DOMAIN.NET
domain.net = DOMAIN.NET
...
[dbdefaults]
ldap_kerberos_container_dn = cn=krbContainer,dc=domain,dc=net
[dbmodules]
openldap_ldapconf = {
db_library = kldap
ldap_kdc_dn = "cn=admin,dc=domain,dc=net"
# this object needs to have read rights on
# the realm container, principal container and realm sub-trees
ldap_kadmind_dn = "cn=admin,dc=domain,dc=net"
# this object needs to have read and write rights on
# the realm container, principal container and realm sub-trees
ldap_service_password_file = /etc/krb5kdc/service.keyfile
# ldap_servers = ldap://LDAP-Server-1.domain.net ldap://LDAP-Server-2.domain.net
ldap_servers = ldaps://LDAP-Server-1.domain.net ldaps://LDAP-Server-2.domain.net
ldap_conns_per_server = 5
}
sudo kdb5_ldap_util -D cn=admin,dc=domain,dc=net stashsrvpw -f /etc/krb5kdc/service.keyfile cn=admin,dc=domain,dc=net
sudo nano /etc/krb5kdc/kadm5.acl
Code: Alles auswählen
# This file is the access control list for krb5 administration.
# When this file is edited run /etc/init.d/krb5-admin-server restart to activate
# One common way to set up Kerberos administration is to allow any principal
# ending in /admin is given full administrative rights.
# To enable this, uncomment the following line:
*/admin@domain.NET *
LDAP SSL/TLS
sudo apt install ssl-cert
sudo chgrp openldap /etc/ssl/private/LDAP-Server-1_ecdsa_re.key.pem
sudo chmod 0640 /etc/ssl/private/LDAP-Server-1_ecdsa_re.key.pem
sudo gpasswd -a openldap ssl-cert
sudo systemctl restart slapd.service
sudo nano /folder/certinfo.ldif
Code: Alles auswählen
dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/ca.int_ecdsa.crt.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/LDAP-Server-1_ecdsa.crt.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/LDAP-Server-1_ecdsa_re.key.pem
sudo nano /etc/default/slapd
Code: Alles auswählen
# SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"
SLAPD_SERVICES="ldaps:///"
sudo nano /etc/ldap/ldap.conf
Code: Alles auswählen
BASE dc=domain,dc=net
URI ldaps://LDAP-IP-1 ldaps://LDAP-IP-2
TLS_CACERT /etc/ssl/certs/ca.int_ecdsa.crt.pem
TLS_REQCERT never
sudo systemctl start krb5-kdc.service
sudo systemctl start krb5-admin-server.service
Re: LDAP Kerberos Passwortspeicher
Guten Morgen zusammen,
hat hier keiner einen Tipp für mich? Es wäre wirklich toll wenn ich das Problem mit SASL noch lösen könnte. Ich komm hier irgendwie nicht weiter.
Ich habe mir jetzt noch einmal das Thema LDAP Kerberos und Passwortspeicher angeschaut. Auf folgender Seite https://wiki.ubuntuusers.de/Kerberos/LDAP/wird beschrieben, dass LDAP als KDC ungleich einfacher wäre als SASL - Kerberos als Passwordspeicher. Genau so habe ich meinen LDAP/Kerberos auch installiert. Jedoch habe ich immer noch unterschiedliche Passwörter in LDAP und Kerberos. Können diese nicht synchronisiert werden. Bzw. nur in einem Benutzer hinterlegt werden?
hat hier keiner einen Tipp für mich? Es wäre wirklich toll wenn ich das Problem mit SASL noch lösen könnte. Ich komm hier irgendwie nicht weiter.
Ich habe mir jetzt noch einmal das Thema LDAP Kerberos und Passwortspeicher angeschaut. Auf folgender Seite https://wiki.ubuntuusers.de/Kerberos/LDAP/wird beschrieben, dass LDAP als KDC ungleich einfacher wäre als SASL - Kerberos als Passwordspeicher. Genau so habe ich meinen LDAP/Kerberos auch installiert. Jedoch habe ich immer noch unterschiedliche Passwörter in LDAP und Kerberos. Können diese nicht synchronisiert werden. Bzw. nur in einem Benutzer hinterlegt werden?
Re: LDAP Kerberos Passwortspeicher (SASL)
Also ich bin echt amverzweifeln. Hat denn niemand eine Installation von einem LDAP Server mit einem MIT Kerberos Server und SASL durchgeführt? Ich bekomme die Installation des SASL (pass through authentication) nicht hin.
Re: LDAP Kerberos Passwortspeicher (SASL)
So ich bin jetzt schon mal einen kleinen Schritt weiter.
Ich habe nach der Installation von LDAP und Kerberos (auf einem Server) folgendes Setup durchgeführt.
sudo apt install libsasl2-modules-gssapi-mit
sudo kadmin -p admin/admin
addprinc -randkey ldap/LDAP-Server-1.domain.net
ktadd -k /etc/ldap/ldap.keytab ldap/LDAP-Server-1.domain.net
exit
sudo klist -e -k /etc/ldap/ldap.keytab
sudo chown openldap. /etc/ldap/ldap.keytab
sudo nano /etc/default/slapd
sudo /etc/init.d/slapd restart
sudo nano /tmp/sasl.ldif
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/sasl.ldif
Auf meinem Client hab ich zusätzlich zu der Client Installation von LDAP und Kerberos folgendes durchgeführt.
sudo apt install libsasl2-modules-gssapi-mit
sudo kadmin -p admin/admin
addprinc -randkey host/client.domain.net
ktadd host/client.domain.net
sudo nano /etc/ldap/ldap.conf
Das sieht eigentlich alles gut aus. Ich habe auch schon diverse Tests durchgeführt.
ldapwhoami
kdestroy
klist
kinit ldap-username
klist
Das funktioniert schon mal alles.
Womit ich noch Probleme habe, sind die unterschiedlichen Passwörter von LDAP und Kerberos. Eigentlich sollte ich das LDAP Passwort doch jetzt nicht mehr benötigen oder?
Mein user verwendet jetzt doch die SASL/GSSAPI authentication (username@DOMAIN.NET)
Ich habe nach der Installation von LDAP und Kerberos (auf einem Server) folgendes Setup durchgeführt.
sudo apt install libsasl2-modules-gssapi-mit
sudo kadmin -p admin/admin
addprinc -randkey ldap/LDAP-Server-1.domain.net
ktadd -k /etc/ldap/ldap.keytab ldap/LDAP-Server-1.domain.net
exit
sudo klist -e -k /etc/ldap/ldap.keytab
sudo chown openldap. /etc/ldap/ldap.keytab
sudo nano /etc/default/slapd
Code: Alles auswählen
export KRB5_KTNAME=/etc/ldap/ldap.keytab
sudo nano /tmp/sasl.ldif
Code: Alles auswählen
dn: cn=config
changetype: modify
add: olcSaslHost
olcSaslHost: LDAP-Server-1.domain.net
-
add: olcSaslRealm
olcSaslRealm: DOMAIN.NET
-
add: olcAuthzRegexp
olcAuthzRegexp: {0}"uid=([^/]*),cn=GSSAPI,cn=auth" "uid=$1,ou=Users,dc=domain,dc=net"
-
add: olcAuthzRegexp
olcAuthzRegexp: {1}"uid=([^/]*),cn=realm,cn=GSSAPI,cn=auth" "uid=$1,ou=Users,dc=domain,dc=net"
-
add: olcAuthzRegexp
olcAuthzRegexp: {2}"uid=host/([^/]*).realm,cn=realm,cn=gssapi,cn=auth" "cn=$1,ou=Hosts,dc=domain,dc=net"
Auf meinem Client hab ich zusätzlich zu der Client Installation von LDAP und Kerberos folgendes durchgeführt.
sudo apt install libsasl2-modules-gssapi-mit
sudo kadmin -p admin/admin
addprinc -randkey host/client.domain.net
ktadd host/client.domain.net
sudo nano /etc/ldap/ldap.conf
Code: Alles auswählen
SASL_MECH GSSAPI
ldapwhoami
kdestroy
klist
kinit ldap-username
klist
Das funktioniert schon mal alles.
Womit ich noch Probleme habe, sind die unterschiedlichen Passwörter von LDAP und Kerberos. Eigentlich sollte ich das LDAP Passwort doch jetzt nicht mehr benötigen oder?
Mein user verwendet jetzt doch die SASL/GSSAPI authentication (username@DOMAIN.NET)
Re: LDAP Kerberos Passwortspeicher (SASL)
Ich hab jetzt folgende Konfiguration gefunden. Hier wurden die LDAP Benutzer ohne Passwort angelet und die Kerberos Benutzer mit einem Passwort. Dies funktioniert soweit auch.
Folgendes Szenario habe ich in Firefox und Thunderbird getestet.
Wenn ich z.B. einen WebDAV (Apache) Server aufsetzte und diverse Bereiche nur einer bestimmten LDAP Gruppe zugänglich mache, wird immer nach einem Benutzer/Passwort gefragt. Hier sollte einfach der angemeldete Kerberos Benutzer verwendet werden. Ist das eine Einstellung im LDAP/Kerberos, in meinem WebDAV Server oder sogar nur eine Client Einstellung in Firefox/Thunderbird.
Zur Information. Meine LDAP Gruppen-Berechtigungen auf meinem NFS4 Server funktionieren einwandfrei nach der Anmeldung. Hier darf nur der User auf einen Ordner zugreifen wenn er auch in der freigegebenen LDAP Gruppe gelistet ist.
Ich vermute fast, dass dieses Problem bei Firefox/Thunderbird zu suchen ist.
Folgendes Szenario habe ich in Firefox und Thunderbird getestet.
Wenn ich z.B. einen WebDAV (Apache) Server aufsetzte und diverse Bereiche nur einer bestimmten LDAP Gruppe zugänglich mache, wird immer nach einem Benutzer/Passwort gefragt. Hier sollte einfach der angemeldete Kerberos Benutzer verwendet werden. Ist das eine Einstellung im LDAP/Kerberos, in meinem WebDAV Server oder sogar nur eine Client Einstellung in Firefox/Thunderbird.
Zur Information. Meine LDAP Gruppen-Berechtigungen auf meinem NFS4 Server funktionieren einwandfrei nach der Anmeldung. Hier darf nur der User auf einen Ordner zugreifen wenn er auch in der freigegebenen LDAP Gruppe gelistet ist.
Ich vermute fast, dass dieses Problem bei Firefox/Thunderbird zu suchen ist.