Wie sperre ich Benutzer nach 5 erfolglosen Anmeldeversuchen?
Ich habe ein paar Distributionen / Versionen zusammengestellt, aber ich kann es nicht testen.
RHEL4 : durch Hinzufügen von:
auth required /lib/security/$ISA/pam_tally.so no_magic_root
account required /lib/security/$ISA/pam_tally.so deny=5 reset no_magic_root
zu:
/etc/pam.d/system-auth
/etc/pam.d/login
/etc/pam.d/sshd
RHEL4 : ???
SLES9 : durch Hinzufügen von:
auth required pam_tally.so no_magic_root
account required pam_tally.so deny=5 reset no_magic_root
zu:
/etc/pam.d/login
/etc/pam.d/sshd
SLES11 oder SLES10 : durch Hinzufügen von:
auth required pam_tally.so deny=5 onerr=fail per_user no_lock_time
zu:
/etc/pam.d/common-auth
UND durch Hinzufügen der:
account required pam_tally.so
zu:
/etc/pam.d/common-account
FRAGE : Kann jemand bitte bestätigen, dass dies der funktionierende / gute Weg ist, Benutzer nach 5 erfolglosen Anmeldeversuchen zu sperren? ODER WIE IST DAS ZU TUN?
ps:
/sbin/pam_tally --user USERNAME --reset
ist eine nützliche Sache, bevor Sie dies tun? Kann ich den Root-Benutzer damit sperren? Das Bearbeiten von PAM ist eine sehr heikle Sache, da sich die Leute vom Server aussperren könnten (ich meine zB den Root-Benutzer). Irgendwelche Hinweise dabei?
no_magic_root
Antworten:
Vielleicht möchten Sie einen Blick auf fail2ban werfen. Es kann so konfiguriert werden, dass ein Konto nach einer festgelegten Anzahl fehlgeschlagener Versuche gesperrt und nach einem festgelegten Zeitraum entsperrt wird.
http://www.fail2ban.org/wiki/index.php/Downloads
Wenn Sie es wirklich ernst meinen
pam_tally
, möchten Sie wahrscheinlichpam_tally2
stattdessen verwenden. Sollte mit jedem aktuellen PAM-Paket installiert werden. Sie können eine tun Mann pam_tally2 machen, um zu sehen, wie man es benutzt.Hier ist ein Beispiel, um Ihnen den Einstieg zu erleichtern. Fügen Sie am Anfang des Auth- Abschnitts in der Pam-Datei Folgendes hinzu
/etc/pam.d/password-auth
:Fügen Sie dies in derselben Datei zum Kontoabschnitt hinzu:
Die obigen Parameter sind wie folgt:
file=/var/log/tallylog
- Die Standardprotokolldatei wird verwendet, um die Anzahl der Anmeldungen aufrechtzuerhalten.deny=3
- Verweigern Sie den Zugriff nach 3 Versuchen und sperren Sie den Benutzer.even_deny_root
- Die Richtlinie gilt auch für Root-Benutzer.unlock_time=1200
- 20 Minuten (60 Sekunden * 20 Minuten = 1200 Sekunden)Wenn Sie root nicht sperren möchten, ändern Sie even_deny_root in magic_root .
Es ist fraglich, ob Sie das Root-Konto sperren möchten. Möglicherweise möchten Sie stattdessen so etwas tun, bei dem das Root-Konto gesperrt werden kann, jedoch nur für eine kürzere Dauer als bei anderen Konten:
Dadurch wird das Root-Konto nur für eine Minute gesperrt, für alle anderen die normalen 1200 Sekunden.
Eine Beispielprotokolldatei würde wie folgt aussehen:
Mit dem Befehl pam_tally2 können Sie nach gesperrten Konten fragen:
Sie können die Einschränkung folgendermaßen entsperren:
Jetzt wird der Account in pam_tally2 wie folgt angezeigt:
Verweise
quelle
pam_tally2
anfangs verwirrte mich, aber ich fand es heraus, nachdem ich gefolgt warman pam_tally2
-Der obige Wortlaut ist etwas verwirrend, da Sie eigentlich nur die
pam_tally2.so
Zeile hinzufügen .Sie können es also entweder bearbeiten
/etc/pam.d/login
und unter allen anderenauth
Zeilen hinzufügen :oder wenn du hast
/etc/pam.d/system-auth
, können Sie es dort hinzufügen.Es ist kein Neustart oder Neuladen eines Dienstes erforderlich - er wird sofort für neue lokale Anmeldungen aktiv.
Hinweis: Wenn Sie
pam_tally2
sich auch fürsshd
andere Remote-Dienste bewerben möchten, müssen Sie die Leitung auch zu/etc/pam.d/sshd
und / oder hinzufügen/etc/pam.d/password-auth
Um zu überprüfen, ob es funktioniert, führen Sie einen fehlgeschlagenen Anmeldeversuch mit einem gültigen Benutzer durch und führen Sie ihn aus
pam_tally2
Beispiel: Für einen Benutzer mit dem Namen
jacob
run:und es wird etwas ausgeben wie:
Wenn zu viele Anmeldeversuche fehlschlagen und das Konto gesperrt ist, können Sie das Konto manuell entsperren:
quelle