Wie aktiviere ich die Kontosperrung mit pam_tally?

Wie aktiviere ich die Kontosperrung mit pam_tally?

Ich versuche, eine Kontosperrung in Ubuntu mit pam_tally zu implementieren. Ich habe versucht, die folgenden Zeilen hinzuzufügen /etc/pam.d/common-auth

auth required pam_tally.so deny=3
account     required  pam_tally.so

Die Fehler werden protokolliert, aber das Konto wird nicht gesperrt, selbst wenn die maximale Anzahl an Fehlern erreicht wird. Ich versuche dies, indem ich mich direkt anmelde (GNOME-Anmeldebildschirm).

Irgendwelche Ratschläge? Muss ich auch pam.d/gdm oder die Anmeldedatei hinzufügen?

Antwort1

Erklärung hinter common-auth

Wenn Sie nur nach einer schnellen Lösung suchen, gehen Sie weiter unten zuSo konfigurieren Sie Common-Auth zum Sperren.


Hoffentlich wird dies dazu beitragen, die Konfiguration der Sperre etwas verständlicher zu machen /etc/pam.d/common-auth.

Wenn Sie alle Kommentare in entfernen /etc/pam.d/common-auth, bleibt Folgendes übrig:

auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

Sehen wir uns jede Zeile dieser Datei und ihre Verwendung an.


auth    [success=1 default=ignore]      pam_unix.so nullok_secure

Liest die Passworteingabe.Wenn das Passwort richtig ist, wird die nächste Zeile der Datei übersprungen (die mit pam_deny.so). Sie können ändern, wie viele Zeilen übersprungen werden, indem Sie den Wert in festlegen success=1.

auth    requisite                       pam_deny.so

Der Anmeldeversuch schlägt sofort fehl.Das Wort requisitehier weist die Authentifizierung an, bei einem Fehler sofort abzubrechen. Die anderen Zeilen verwenden requiredstattdessen, wobei bis zum Ende des Moduls gewartet wird, um einen Fehler zu melden.

auth    required                        pam_permit.so

Ermöglicht den Anmeldeversuch.Dies geschieht mithilfe von pam_permit.so.


Sobald dies geklärt ist, ist die Konfiguration des Moduls zum Aussperren des Benutzers leichter verständlich.

So konfigurieren Sie Common-Auth zum Sperren

Für Ubuntu:

Fügen Sie die folgende Zeile hinzunach pam_deny.so und vor pam_permit.so:

auth    required    pam_tally2.so    onerr=fail deny=3 unlock_time=1800

Ändern Sie die Zeile pam_deny.so wie folgt:

auth    required                        pam_deny.so

Die gesamte Datei würde folgendermaßen aussehen:

auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth    required                        pam_deny.so
auth    required    pam_tally2.so    onerr=fail deny=3 unlock_time=1800
auth    required                        pam_permit.so

Sie können die folgenden Optionen Ihren Anforderungen entsprechend konfigurieren:

  • deny=3- Die Anzahl der zulässigen Versuche, bevor Sie gesperrt werden.
  • unlock_time=1800- Die Anzahl der Sekunden, bevor Sie einen erneuten Anmeldeversuch unternehmen dürfen.(Zusätzlicher Hinweis: Wenn das System nach einer Reihe von Fehlschlägen entsperrt wird und Sie sich erneut nicht authentifizieren können, haben Sie keine weiteren 2 Versuche zur Authentifizierung. Das System lässt Sie warten, bis unlock-time wieder.)

Die meisten Ressourcen empfehlen, diese Zeile am Anfang der Datei hinzuzufügen, um die Wichtigkeit der Reihenfolge hervorzuheben. Auf Ubuntu-Desktopsystemen kann diese Konfiguration Sie jedoch vom GUI-Anmeldebildschirm aussperren.

Warum passiert das? Es scheint, dass, wenn Sie auf dem Anmeldebildschirm von Ubuntu einen Benutzer auswählen, das PAM-Modul sofort startet und an der pam_unix.soZeile (der Kennworteingabezeile) wartet, bevor es fortfährt. Wenn Sie die pam_tally2.soZeile vor diesem „Haltepunkt“ platzieren, wird die Sperre sofort aktiv, und wenn Sie durch Drücken der Pfeiltasten vom Benutzer weg navigieren, meldet das Modul einen Anmeldefehler und pam_tally2erhöht die Zahl. Ohne auch nur ein Kennwort einzugeben, stecken Sie bald in einer ähnlichen Situation wie der folgenden fest:

Ein typischer Ubuntu-Anmeldebildschirm mit einer falsch konfigurierten Common-Auth-Datei.

Das Platzieren der pam_tally2.soZeile am Ende der Datei behebt dieses Problem. Bei dieser Konfiguration wird die richtige Reihenfolge beibehalten; die erste Zeile springt zu pam_deny.sooder pam_permit.sobasierend auf der Gültigkeit des Passworts, und bis sie pam_tally2.soerreicht ist, wurden alle falschen Passworteingaben bereits angezeigt.

Auch wenn pam_permit.soerreicht wird, unabhängig vom eingegebenen Passwort, schlägt das Modul immer fehl, wenn pam_deny.soauch erreicht wurde. Dies liegt daran, dass die pam_deny.soZeile enthält required; dadurch können die restlichen Zeilen ausgeführt werden, aber das Modul selbst schlägt am Ende fehl.

Weitere Informationen zur Funktionsweise von PAM erhalten Sie bei Google unter „So funktioniert PAM“ oder hier:http://www.tuxradar.com/content/how-pam-works


Das sollte es tun!

Antwort2

Es ist schon eine Weile her, seit ich das gesehen habe, aber

Ich denke, Sie müssen bearbeiten/etc/pam.d/common-auth

Fügen Sie dies bei derSpitzeder Datei (die Reihenfolge der Regeln ist wichtig).

auth required pam_tally.so per_user magic_root onerr=fail

Anschließend legen Sie die Anzahl der erlaubten Versuche fest

sudo faillog -m 3

So entsperren Sie ein Konto

faillog -u login_name -r

für weitere Einzelheiten siehe

Mein Bloghttp://blog.bohizazen.com/linux/ubuntu-how-to-faillog/

oderMann pam_tally

Antwort3

Sie können auch Faillock versuchen, um die Benutzerkonten nach n fehlgeschlagenen Anmeldeversuchen zu sperren.

Ich konnte es zum Laufen bringen, indem ich den Anweisungen unter dem folgenden Link folgte. Dieser verwendet pam_faillock.so, was vermutlich sowohl unter Ubuntu als auch unter CentOS funktioniert.

Unter CentOS und ähnlichen Derivaten:

/etc/pam.d/system-auth

/etc/pam.d/password-auth

Unter Ubuntu/Debian und ähnlichen Derivaten:

/etc/pam.d/common-auth

/etc/pam.d/common-account

Sperren Sie das Linux-Benutzerkonto nach mehreren fehlgeschlagenen Anmeldeversuchen

hoffe, das hilft auch jemand anderem.

verwandte Informationen