FreeIPA
Siehe auch
Samba Active Directory
FreeIPA (Free Identity Policy Audit) ist eine web- und kommandozeilenbasierte Security Information Management-Lösung für Linux / UNIX-Netzwerkumgebungen. Es kombiniert bekannte Open Source-Komponenten und Standardprotokolle wie Linux (Fedora), 389 Directory Server, MIT Kerberos, NTP, DNS und Dogtag (Zertifikatssystem).
Ein FreeIPA-Server bietet zentralisierte Authentifizierungs-, Autorisierungs- und Kontoinformationen. In einer FreeIPA-Domäne können problemlos mehrere FreeIPA-Server parallel betrieben werden, um Redundanz und Skalierbarkeit zu gewährleisten.
Der 389 Directory Server speichert Daten zu Benutzern, Gruppen, Hosts und anderen Objekten und bietet eine vollständige Multi-Master-LDAPv3-Verzeichnisinfrastruktur. Die Single-Sign-On-Authentifizierung erfolgt über das MIT Kerberos KDC. Die Authentifizierungsfunktionen werden durch eine integrierte Zertifizierungsstelle erweitert, die auf dem Dogtag-Projekt basiert. Optional können Domänennamen über den integrierten ISC-Bindungsserver verwaltet werden.
Zugriffskontrolle, die Delegierung von Verwaltungsaufgaben etc. können vollständig zentralisiert und über die Web-Benutzeroberfläche oder das ipa-Befehlszeilentool verwaltet werden.
Kommerzielles Produkt von Red Hat: IdM (or IPA).
Password-Expiration ändern
Im Standard laufen Passwörter nach 90 Tagen ab. Um das zu ändern, muss man die Password-Policy anpassen. Im FreeIPA Web-GUI:
Policy > Password Policies > global_policy > Max lifetime (days): 10000 (maximal sind 20000 Tage erlaubt)
IPA Server > Configuration > Default shell: /bin/bash
IPA Server > Configuration > Password Expiration Notification (days): 10
Durch Benutzer anpassbare Felder
Welche Felder dürfen User selbst administrieren? Es ist sinnvoll, folgende Felder hinzuzufügen:
IPA Server > Role-Based Access Control > Self Service Permissions > User Self service
mail
Rebuild Host/User Membership
Identity > Users or Hosts > Actions > Rebuild auto membership.
Read-Only LDAP User anlegen (Service-Account)
Wer für eine Applikation einen Read-only Benutzer benötigt (z.B. um in Nextcloud eine LDAP-Anbindung zu konfigurieren), erstellt diesen so:
ldapmodify -H ldap://freeipa.example.com:389 -x -D 'cn=Directory Manager' -W
Enter LDAP Password: *** - und dann wartet das Kommando auf folgende Eingabe:
dn: uid=freeipa-reader,cn=sysaccounts,cn=etc,dc=example,dc=com
changetype: add
objectclass: account
objectclass: simplesecurityobject
uid: freeipa-reader
userPassword: password
passwordExpirationTime: 20380119031407Z
nsIdleTimeout: 0
<blank line>
adding new entry "uid=freeipa-reader,cn=sysaccounts,cn=etc,dc=example,dc=com"
^D
CLI
Tool: ipa
kinit admin
ipa group-add
ipa group-add-member
ipa group-remove-member
ipa group-show
ipa hbacrule-find
ipa user-add
ipa user-mod
ipa user-show --all admin
Ohne Interaktion: ipa --no-prompt
Troubleshooting
- Der Client nimmt neue Einstellungen nicht an
Es dauert etwas, bis die Regeln greifen. Hier hilft auch ein
systemctl restart sssd; sss_cache --everything
auf dem Client.- LDAP-Logging
tail -f /var/log/dirsrv/slapd-*/access
Could not chdir to home directory $HOME: No such file or directory
# as root: authselect current authselect select sssd with-sudo with-mkhomedir authselect current
Built on 2023-03-17