Konfiguruję system, w którym wszystkie zasoby IT są dostępne za pośrednictwem pojedynczej pary hasła użytkownika, czy to dostępu do powłoki na serwerach, logowania do domeny Samby, WiFi, OpenVPN, Mantis itp. (Z dostępem do określonych usług zarządzanych według członkostwa w grupie lub pól obiektu użytkownika). Ponieważ mamy dane osobowe w naszej sieci, musimy wdrożyć starzenie się hasła, zgodnie z unijną dyrektywą o ochronie danych (a raczej jej polską wersją).
Problem polega na tym, że konta Samba i POSIX w LDAP używają różnych danych mieszania i starzenia się haseł. Podczas synchronizacji haseł sami łatwo (the ldap password sync = Yes
w smb.conf
), dodając hasło starzenia do przerwy mix rzeczy: Samba nie aktualizuje shadowLastChange. Razem z obey pam restrictions = Yes
tworzy system, w którym użytkownik systemu Windows nie może zmienić wieku hasła, ale jeśli go nie użyję, katalogi domowe nie zostaną utworzone automatycznie. Alternatywą jest użycie rozszerzonej operacji LDAP do zmiany hasła, ale smbk5pwd
moduł też tego nie ustawia. Co gorsza, opiekun OpenLDAP nie zaktualizuje go / nie zaakceptuje poprawek, ponieważ to pole jest uważane za przestarzałe.
Moje pytanie brzmi: jakie jest najlepsze rozwiązanie? Jakie są ich zalety i wady?
Używać
ppolicy
starzenia się LDAP i wewnętrznego hasła LDAP?- Jak dobrze działa z modułami NSS, PAM, samba, innymi systemami?
- Czy moduły NSS i PAM muszą być skonfigurowane w specjalny sposób, aby używać ppolicy, a nie cienia?
- Czy GOsa² działa z ppolicy?
- Czy istnieją inne narzędzia administracyjne, które mogą współpracować z
ppolicy
włączonym LDAP?
Zhakuj razem skrypt zmiany hasła, który aktualizuje pole w LDAP. (pozostawiając możliwość, że sam użytkownik zaktualizuje pole bez zmiany hasła)
Odpowiedzi:
Napisałem własną nakładkę OpenLDAP,
shadowlastchange
aby zaktualizowaćshadowLastChange
atrybut za każdym razem, gdy nastąpi zmiana hasła EXOP. Jest aktywowany wslapd.conf
:Skonfigurowałem
smb.conf
zmianę hasła przez EXOP:Następnie dla każdego konta ustaw
shadowMax
liczbę dni ważności hasła. Moduły OpenLDAP zajmują się resztą!źródło
ppolicy
czysmbk5pwd
nakładek w Debianie squeeze OpenLDAP zrobić aktualizacjęshadowLastChange
. Tak dla Debiana!Jako stop-gap stworzyłem skrypt dla Samby, który zaktualizuje
shadowLastChange
zmianę hasła:W konfiguracji Samby należy
unix password sync
ustawić nayes
,passwd chat
ustawić na*OK*
ipasswd program
powyżej skryptu za pomocą"%u"
parametru param.Konto określone w
LDAP_USER
musi zostać utworzone w LDAP i mieć uprawnienia do odczytuuid
wszystkich użytkowników Samby oraz prawo do zapisushadowLastChange
.źródło
(praca w toku, szczegóły dodam później)
Dobre wieści wszyscy! Wszystko to działa mniej więcej ... w środowisku testowym ...:
ppolicy
,not24get
ipasswdqc
)smbk5pwd
). Uwaga: Sprawdzanie jakości za pomocą Samby i ppolicy nie jest oczywiste:password check script
(pwqcheck -1
zpasswdqc
) musi wykonać te same kontrole, które wykonuje LDAP, w przeciwnym razie użytkownik otrzyma Odmowę dostępu zamiast „Zbyt łatwe hasło, spróbuj innego”.pam_mkhomedir
uid
do wpisów grup, więc aplikacje oczekujące albo NIS (większość rzeczy „UNIXy”), albo RFC2307bis (większość aplikacji „zaprojektowanych dla AD”) działają dobrze.Jedynym problemem jest to, że wyłączenie konta wymaga użycia narzędzi CLI (lub napisania skryptu postmodify GOsa), w przeciwnym razie konto nie zostanie zablokowane na poziomie LDAP, tylko dla PAM i Samby. Wygaśnięcie hasła będzie nadal egzekwowane, więc nie jest to duży problem.
źródło
Mam odpowiedź od jednego z programistów GOsa. W tej chwili GOsa w żaden sposób nie obsługuje nakładki ppolicy.
źródło