6.6. Benutzerkonto-Sperrung nach fehlgeschlagenen Anmeldeversuchen#

Standardmäßig gibt es keine Begrenzung für fehlgeschlagene Passwortversuche. Um Brute-Force-Angriffe zu verhindern, können Sie eine automatische Kontosperrung für Benutzerkonten nach einer festgelegten Anzahl von fehlgeschlagenen Anmeldeversuchen konfigurieren.

Nubus für UCS unterstützt mehrere Authentifizierungsmethoden. Jede Methode hat ihre eigene Art, fehlgeschlagene Anmeldeversuche zu konfigurieren und zu zählen.

6.6.1. Kontosperrung für Samba und Active Directory konfigurieren#

Samba stellt Dienste in Active Directory Umgebungen bereit, beispielsweise Kerberos. Um Benutzer nach zu vielen fehlgeschlagenen Anmeldeversuchen zu sperren, verwenden Sie samba-tool.

  1. Zeigen Sie die aktuell konfigurierten Werte an:

    Listing 6.7 Einstellungen für die Sperrung des Samba-Passworts anzeigen#
    $ samba-tool domain passwordsettings show
    
  2. Legen Sie die Anzahl der fehlgeschlagenen Anmeldeversuche vor der Kontosperrung fest:

    Listing 6.8 Anmeldeversuchslimit vor der Sperrung festlegen#
    $ samba-tool domain passwordsettings set --account-lockout-threshold=5
    
  3. Legen Sie die Anzahl der Minuten fest, für die das Konto gesperrt wird, nachdem ein Benutzer zu viele falsche Passwörter eingegeben hat:

    Listing 6.9 Sperrdauer des Kontos in Minuten festlegen#
    $ samba-tool domain passwordsettings set --account-lockout-duration=3
    
  4. Legen Sie die Anzahl der Minuten fest, nach denen der Zähler zurückgesetzt wird:

    Listing 6.10 Intervall zum Zurücksetzen des Sperrzählers in Minuten festlegen#
    $ samba-tool domain passwordsettings set --reset-account-lockout-after=5
    

Informationen zum Entsperren eines gesperrten Kontos finden Sie unter Gesperrtes Benutzerkonto entsperren.

Wichtig

Nach Ablauf der Sperrdauer entsperrt Nubus für UCS das Konto, setzt den Zähler jedoch nicht sofort zurück. Bis der Zähler zurückgesetzt wird, führt ein einziger fehlgeschlagener Anmeldeversuch erneut zur Sperrung des Kontos.

6.6.2. Kontosperrung für den PAM-Stack konfigurieren#

Um Benutzer im PAM-Stack nach fehlgeschlagenen Anmeldeversuchen automatisch zu sperren, setzen Sie die UCR-Variable auth/faillog auf yes. Legen Sie die Anzahl fehlgeschlagener Anmeldeversuche, die eine Sperrung auslöst, in auth/faillog/limit fest. Der Zähler wird zurückgesetzt, sobald der Benutzer das Passwort korrekt eingibt.

Standardmäßig gilt die Sperrung pro System. Ein auf einem System gesperrter Benutzer kann sich weiterhin auf einem anderen System anmelden. Setzen Sie auth/faillog/lock_global auf yes, um die Sperrung global anzuwenden und im LDAP-Verzeichnis zu registrieren. Die globale Sperrung kann nur auf Primary Directory Node- oder Backup Directory Node-Systemen gesetzt werden, da andere Systemrollen keine Schreibrechte im LDAP-Verzeichnis besitzen. Auf diesen Systemen aktiviert oder deaktiviert das Listener-Modul die lokale Sperrung automatisch, abhängig vom Sperrstatus im LDAP-Verzeichnis.

Standardmäßig ist die Sperrung zeitlich unbegrenzt und muss manuell zurückgesetzt werden. Nubus für UCS kann die Sperrung jedoch auch automatisch nach einem konfigurierten Zeitraum aufheben. Geben Sie den Zeitraum in Sekunden in auth/faillog/unlock_time an. Ist der Wert 0, setzt Nubus für UCS den Sperrzähler sofort zurück.

Standardmäßig ist der Benutzer root von der Sperrung ausgenommen. Sie können die Sperrung auf root anwenden, indem Sie auth/faillog/root auf yes setzen.

Gilt die Sperrung nur lokal, können Sie ein Benutzerkonto entsperren, indem Sie den Befehl in Listing 6.11 ausführen.

Listing 6.11 Lokal gesperrtes Benutzerkonto zurücksetzen#
$ faillock --reset --user USERNAME

Wenn Nubus für UCS das Konto global im LDAP-Verzeichnis sperrt, lesen Sie Gesperrtes Benutzerkonto entsperren.

6.6.3. Kontosperrung für OpenLDAP konfigurieren#

Diese Funktion ist auf Primary Directory Node- und Backup Directory Node-Systemen verfügbar. Um sie zu aktivieren, setzen Sie ldap/ppolicy/enabled auf yes und starten Sie den OpenLDAP-Server neu, wie in Listing 6.12 gezeigt.

Listing 6.12 OpenLDAP-Passwortrichtlinie aktivieren und Server neu starten#
$ ucr set ldap/ppolicy/enabled=yes
$ systemctl restart slapd

Standardmäßig lösen fünf fehlgeschlagene LDAP-Anmeldeversuche innerhalb von fünf Minuten die Sperrung aus. Informationen zum Entsperren eines gesperrten Kontos finden Sie unter Gesperrtes Benutzerkonto entsperren.

Im Konfigurationsobjekt mit der objectClass pwdPolicy können Sie die Anzahl fehlgeschlagener LDAP-Anmeldeversuche anpassen, die eine Sperrung auslösen.

Das pwdPolicy-Objekt hat folgende Attribute:

pwdMaxFailure

Die Anzahl fehlgeschlagener LDAP-Anmeldeversuche, bevor das Konto gesperrt wird.

pwdMaxFailureCountInterval

Das Zeitintervall in Sekunden, in dem Nubus für UCS fehlgeschlagene Anmeldeversuche zählt. Fehlgeschlagene Anmeldeversuche außerhalb dieses Zeitintervalls werden von Nubus für UCS nicht berücksichtigt.

Um die aktuellen Werte aufzulisten, führen Sie den folgenden Befehl aus:

Listing 6.13 Das pwdPolicy Konfigurationsobjekt auflisten#
$ univention-ldapsearch objectclass=pwdPolicy

Um pwdMaxFailure auf 10 zu setzen, führen Sie den folgenden Befehl aus:

Listing 6.14 Die maximale Anzahl fehlgeschlagener Anmeldeversuche auf 10 setzen#
$ LB="$(ucr get ldap/base)"
$ ldapmodify -x -D "cn=admin,$LB" -y /etc/ldap.secret <<__EOT__
dn: cn=default,cn=ppolicy,cn=univention,$LB
changetype: modify
replace: pwdMaxFailure
pwdMaxFailure: 10
__EOT__

6.6.4. Gesperrtes Benutzerkonto entsperren#

Die Methode zum Entsperren hängt davon ab, welcher Sperrmechanismus das Konto gesperrt hat.

Wenn Samba oder OpenLDAP das Konto gesperrt hat:

  1. Öffnen Sie das Verwaltungsmodul Benutzer.

  2. Öffnen Sie den Reiter Konto.

  3. Wählen Sie Konto entsperren.

  4. Speichern Sie die Änderungen.

Wenn der PAM-Stack das Konto global gesperrt hat, deaktiviert Nubus für UCS auch das Benutzerkonto:

  1. Öffnen Sie das Verwaltungsmodul Benutzer.

  2. Öffnen Sie den Reiter Konto.

  3. Deaktivieren Sie das Kontrollkästchen Konto ist deaktiviert.

  4. Speichern Sie die Änderungen.