sambaNTPassword ändern, wenn userPassword geändert wird

german

#1

Hi,

unsere Benutzer sollen ihre Passwörter ändern bzw. neu generieren können (Password Self Service). Dazu habe ich PWM (github.com/pwm-project/pwm) aufgesetzt.

Desweiteren sollen sich unsere Benutzer mit ihren LDAP Zugangsdaten in unserem Wi-Fi Netzwerk anmelden können. Dazu habe ich auf den UCS Slaves FreeRADIUS installiert.

Beides für sich genommen funktioniert.

Wenn ein Benutzer sein Passwort im PWM ändert, kann er sich allerdings nicht mit seinem neuen Passwort im Wi-Fi Netzwerk anmelden.

Das Problem ist, dass das Passwort nur im LDAP Attribut ‘userPasswort’ geändert wird:

directory-logger.log bei Passwortänderung in PWM

START
Old Hash: b77327f93f77759af224c44fde37d7de
DN: uid=radiustestuser,cn=users,dc=numberfour,dc=eu
ID: 969
Modifier: uid=radiustestuser,cn=users,dc=numberfour,dc=eu
Timestamp: 16.03.2016 16:23:28
Action: modify

Old values:
modifyTimestamp: 20160316162241Z
...
userPassword: {SSHA}w0ajxCC30GSE...

New values:
modifyTimestamp: 20160316162328Z
...
userPassword: {SSHA}wtziiqnBbJpLB...
END

Wenn ein Benutzer versucht sich im Wi-Fi Netzwerk anzumelden, wird aber das LDAP Attribut ‘sambaNTPassword’ für die Authentifizierung benutzt. Er kann sich also noch mit dem alten Passwort anmelden.

Wenn das Passwort in der UMC geändert wird, werden sowohl ‘userPassword’ als auch ‘sambaNTPassword’ geändert und der Benutzer kann sich mit dem neuen Passwort anmelden:

directory-logger.log bei Passwortänderung in UCS

START
Old Hash: 8e74d625d4dae4a691e1c4d9f521573c
DN: uid=radiustestuser,cn=users,dc=numberfour,dc=eu
ID: 972
Modifier: uid=csanders,cn=users,dc=numberfour,dc=eu
Timestamp: 16.03.2016 16:27:05
Action: modify

Old values:
krb5Key: MFWhKzApoAM...
...
sambaPwdLastSet: 1458141235 (Wed Mar 16 16:13:55 CET 2016)
sambaPasswordHistory: 1B9DEB3B752CEF2...
sambaNTPassword: 296EB55601...
modifyTimestamp: 20160316162328Z
...
userPassword: {SSHA}wtziiqnBbJ...

New values:
krb5Key: MFWhKzApoAM...
...
sambaPwdLastSet: 1458145625 (Wed Mar 16 17:27:05 CET 2016)
sambaPasswordHistory: 1B9DEB3B752CEF2...
sambaNTPassword: 77B659345CAF...
modifyTimestamp: 20160316162705Z
...
userPassword: {crypt}$6$XdRP5W9vFBVdAE...
END

Es existiert ein OpenLDAP Overlay (github.com/opinsys/smbkrb5pwd), welches ‘sambaNTPassword’ mit ‘userPassword’ synchronisiert.

In [bug]7162[/bug] wurde vor einiger Zeit angeregt, dieses Overlay zu benutzten. Daraus ist scheinbar nichts geworden.

Gibt es eine einfache Möglichkeit (z.B. wie beim Overlay ‘univention-ldap-overlay-memberof’) dieses zu installieren?
Kann es zu Problemen mit dem Mechanismus in der UMC geben?

Vielen Dank

Clifford Sanders


#2

Hallo,

[quote=“clsa”]unsere Benutzer sollen ihre Passwörter ändern bzw. neu generieren können (Password Self Service). Dazu habe ich PWM (github.com/pwm-project/pwm) aufgesetzt.
[/quote]

ich habe es nicht im Detail verglichen, aber was spricht gegen den Einsatz des Self-Service Modules?

Viele Grüße,
Dirk Ahrnke


#3

Hallo,

der Hauptgrund dieses Modul nicht zu nutzen ist, dass wir aus Sicherheitsgründen den direkten Zugriff auf die UCS Instanzen über das Web Interface möglichst vermeiden wollen.
Nur die Services, an denen die Benutzer sich anmelden wollen ( z.B. Jira, Jenkins, GitHub Enterprise, Wi-Fi, VPN, …) sollen Zugriff auf die UCS Slaves über einen Loadbalancer haben.

Die Benutzer sollen ihre Passwörter auch von zu Hause/unterwegs ändern können. Daher muss der Password Self Service von ausserhalb unseres Netzwerkes (Internet) erreichbar sein. Wenn ich das richtig verstanden habe, wird der UCS Self-Service aber auf dem Master und/oder Backup installiert. Diese Instanzen wollen wir aber auf keinen Fall aus dem Internet erreichbar machen.

Schön wäre es, wenn es einen UCS Instanz Typ “Domänencontroller PSS” gäbe, den man dann getrennt von den anderen UCS Instanzen aufsetzen könnte, wie ich das mit dem PWM gemacht habe.

Desweiteren fehlt mir noch eine Captcha Funktionalität für solch eine exponierte Instanz.

Die Password Policies lassen sich in PWM meiner Meinung nach einfacher konfigurieren.


#4

Versuche gerade nach dieser Anleitung smbkrb5passwd zu installieren:

raerek.blogspot.de/2012/06/sync- … using.html

univention-install slapd-smbk5pwd installiert das Overlay.

Leider schlägt das importieren der LDIF Datei mit folgendem Inhalt fehl:

@adm-01:/tmp$ cat ./smbkrb5pwd_load.ldif
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: smbkrb5pwd
@adm-01:/tmp$ sudo ldapmodify -H ldapi:/// -Y EXTERNAL -f smbkrb5pwd_load.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=module{0},cn=config"
ldap_modify: Insufficient access (50)

Hat jemand eine Idee?


#5

Gibt es eine Möglichkeit PWM so zu konfigurieren, dass das Passwort via Kerberos geändert wird?

Sofern Samba 4 zum Einsatz kommt, wäre vielleicht eine Alternative das Passwort via Samba 4 LDAP zu ändern, also Port 389 anstatt 7389.


#6

Samba 4 ist nicht im Einsatz.

Eine Konfigurationsmöglichkeit zum Ändern des Passwortes mit Kerberos habe ich nicht gefunden.


#7

[quote=“clsa”]

@adm-01:/tmp$ sudo ldapmodify -H ldapi:/// -Y EXTERNAL -f smbkrb5pwd_load.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=module{0},cn=config"
ldap_modify: Insufficient access (50)

Hat jemand eine Idee?[/quote]

Es wird kein cn=config aktuell verwendet. So sollte es gehen:

univention-install slapd-smbk5pwd

echo "moduleload smbk5pwd" >/etc/univention/templates/files/etc/ldap/slapd.conf.d/41smbkrb5pwd

cat <<__EOF__>/etc/univention/templates/info/smbkrb5pwd.info
Type: multifile
Multifile: etc/ldap/slapd.conf

Type: subfile
Multifile: etc/ldap/slapd.conf
Subfile: etc/ldap/slapd.conf.d/41smbkrb5pwd
__EOF__

rm /var/cache/univention-config/cache

ucr commit /etc/ldap/slapd.conf 

/etc/init.d/slapd restart

Das Modul selbst habe ich jetzt nicht getestet.


#8

Mit einer kleinen Änderung in /etc/univention/templates/files/etc/ldap/slapd.conf.d/41smbkrb5pwd funktioniert es jetzt:

moduleload smbk5pwd
overlay smbk5pwd
smbk5pwd-enable samba

Vielen Dank