GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Benutzerkonto nach n fehlgeschlagenen Anmeldeversuchen unter Linux sperren

Die Härtung von Linux-Servern ist eine der wichtigsten Aufgaben für Systemadministratoren, wenn es um Produktionsserver geht. Es wird empfohlen, die Richtlinie für Anmelde- oder SSH-Versuche zu aktivieren, was bedeutet, dass das Benutzerkonto nach n fehlgeschlagenen (oder falschen) Anmelde- oder SSH-Versuchen automatisch gesperrt werden sollte.

In Linux-Distributionen wie CentOS, RHEL und Fedora wird dies durch die Verwendung des Pam-Moduls „pam_faillock erreicht “ und für Debian-ähnliche Distributionen kann dies mit „pam_tally2 erreicht werden ” pam-Modul.

In diesem Tutorial lernen wir, wie man Benutzerkonten nach n fehlgeschlagenen Anmeldeversuchen in CentOS, RHEL, Fedora, Debian &Ubuntu

sperrt

Für CentOS / RHEL / Fedora

Fügen Sie die folgenden Zeilen in zwei Dateien hinzu /etc/pam.d/password-auth &/etc/pam.d/system-auth,

auth     required       pam_faillock.so preauth silent audit deny=3 unlock_time=600
auth     [default=die]  pam_faillock.so authfail audit deny=3 unlock_time=600
account  required       pam_faillock.so

Wo,

  • Audit –> aktiviert Audit-Protokolle für Benutzeranmeldeversuche in einer sicheren Protokolldatei
  • Deny=3 –> es wird den Benutzer nach 3 erfolglosen Anmeldeversuchen sperren, Sie können diese Zahl nach Ihren Anforderungen ändern
  • unlock_time=600 –> bedeutet, dass das Benutzerkonto für 10 Minuten (600 Sekunden) gesperrt bleibt, wenn Sie möchten, dass das Benutzerkonto für immer gesperrt wird, setzen Sie diesen Parameter auf „unlock_time=never“

Hinweis :Um auch das Root-Konto nach n falschen Anmeldungen zu sperren, fügen Sie „even_deny_root hinzu ”-Parameter in Auth-Abschnittszeilen, Beispiel ist unten gezeigt

auth    required       pam_faillock.so preauth silent audit even_deny_root deny=3 unlock_time=600
auth    [default=die]  pam_faillock.so authfail audit even_deny_root deny=3 unlock_time=600

Wie wir oben sehen können, haben wir zwei Zeilen für den Authentifizierungsabschnitt und eine Zeile für den Kontoabschnitt. Die Reihenfolge ist sehr wichtig, wenn diese Zeilen zu den Dateien hinzugefügt werden. Das Beispiel wird unten gezeigt, wo diese Zeilen hinzugefügt werden müssen,

[[email protected] ~]# vi /etc/pam.d/password-auth

[[email protected] ~]# vi /etc/pam.d/system-auth

Nachdem Sie Änderungen in beiden Dateien vorgenommen haben, starten Sie den ssh-Dienst mit dem folgenden systemctl-Befehl neu,

[[email protected] ~]# systemctl restart sshd

Lassen Sie uns testen, ob das Benutzerkonto nach drei erfolglosen Anmeldeversuchen gesperrt wird oder nicht.

Nehmen wir an, wir haben ein lokales Konto mit dem Namen „pkumar“, wir werden versuchen, unser Linux-System mit diesem Konto mit falschen Passwörtern zu sshen,

$ ssh [email protected]
[email protected]'s password:
[email protected]'s password:
[email protected]'s password:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

Sehen Sie sich jetzt sichere Protokolle mit dem Befehl tail an,

[[email protected] ~]# tail /var/log/secure

Die obigen Protokolle bestätigen, dass das Konto nach drei falschen Anmeldeversuchen gesperrt wurde. Lassen Sie uns dies auch anhand des Faillock-Befehls überprüfen,

[[email protected] ~]# faillock --user pkumar
pkumar:
When                Type  Source                     Valid
2019-12-15 01:50:39 RHOST 192.168.29.157             V
2019-12-15 01:50:43 RHOST 192.168.29.157             V
2019-12-15 01:50:47 RHOST 192.168.29.157             V
[[email protected] ~]#

Um diese erfolglosen Anmeldeversuche zu leeren oder zu löschen, führen Sie den folgenden Faillock-Befehl aus,

[[email protected] ~]# faillock --user pkumar --reset
[[email protected] ~]# faillock --user pkumar
pkumar:
When         Type  Source         Valid
[[email protected] ~]#

Wechseln wir zu einer Debian-ähnlichen Distribution (Ubuntu, Linux Mint und Debian)

Für Debian, Ubuntu und Linux Mint

Fügen Sie die folgende Zeile in die Datei „/etc/pam.d/common-auth“,

ein
auth    required           pam_tally2.so onerr=fail deny=3 unlock_time=600 audit

Wenn Sie nach drei falschen Anmeldungen auch das Root-Konto sperren möchten, fügen Sie die folgende Zeile hinzu ,

auth    required           pam_tally2.so onerr=fail deny=3 unlock_time=600 audit even_deny_root root_unlock_time=600

Wo:

  • Onerr=fail –> Im Fehlerfall ein Fail ausgeben
  • deny=3 –> Nach drei erfolglosen Anmeldeversuchen wird das Konto gesperrt
  • unlock_time=600 –> Dies bedeutet, dass das Konto für 10 Minuten oder 600 Sekunden gesperrt bleibt
  • audit –> Es bedeutet, die Protokolle in der audit.log-Datei zu prüfen
  • even_deny_root –> Sperren Sie das Root-Konto nach drei falschen Anmeldungen
  • root_unlock_time=600 –> Das Root-Konto bleibt nach 3 erfolglosen Anmeldeversuchen für 10 Minuten oder 600 Sekunden gesperrt

Lassen Sie uns die obige Diskussionszeile in der Datei „/etc/pam.d/common-auth hinzufügen ” mit dem vi-Editor,

[email protected]:~$ sudo vi /etc/pam.d/common-auth

Nachdem Sie die obigen Änderungen vorgenommen haben, speichern und beenden Sie die Datei und starten Sie den ssh-Dienst mit dem folgenden Befehl neu:

[email protected]:~$ sudo systemctl restart sshd

Lassen Sie uns testen, ob Konten nach 3 falschen SSH-Anmeldungen gesperrt werden,

Nehmen wir an, wir haben einen lokalen „devops“-Benutzer, wir werden versuchen, das Ubuntu-System mit falschen Passwörtern zu sshen

$ ssh [email protected] 
[email protected]'s password: 
[email protected]'s password: d
[email protected]'s password: 
Permission denied (publickey,password).

Sehen Sie sich jetzt die Authentifizierungsprotokolldatei an, um zu sehen, ob falsche Anmeldeversuche erfasst werden oder nicht,

[email protected]:~$ tail /var/log/auth.log

Die obigen Protokolle bestätigen, dass das Konto gesperrt wurde, lassen Sie uns dies anhand des Befehls pam_tally2 überprüfen,

[email protected]:~$ sudo pam_tally2 -u devops
Login       Failures Latest failure     From
devops      6    12/15/19 07:45:02  192.168.29.157
[email protected]:~$

Um diese erfolglosen Anmeldeversuche zu löschen, verwenden Sie den folgenden pam_tally2-Befehl,

[email protected]:~$ sudo pam_tally2 -u devops --reset
Login        Failures Latest failure     From
devops       6    12/15/19 07:45:02  192.168.29.157
[email protected]:~$
[email protected]:~$ sudo pam_tally2 -u devops
Login        Failures Latest failure     From
devops       0
[email protected]:~$

Damit ist der Artikel abgeschlossen. Bitte zögern Sie nicht, Feedback und Kommentare zu teilen.


Linux
  1. Aktivieren Sie die automatische Gastanmeldung in Linux Mint 12 „Lisa“

  2. Benutzernamen auf dem Anmeldebildschirm in Linux Mint 12 ausblenden

  3. CentOS / RHEL 7:Benutzerkonto nach N Anzahl falscher Anmeldeversuche sperren

  4. UNIX / Linux :So sperren oder deaktivieren Sie ein Benutzerkonto

  5. UNIX/Linux:So zwingen Sie den Benutzer, sein Passwort bei der nächsten Anmeldung zu ändern, nachdem das Passwort zurückgesetzt wurde

So zwingen Sie den Benutzer, das Passwort bei der nächsten Anmeldung in Linux zu ändern

userdel-Befehl - Benutzerkonto aus dem Linux-System löschen

So deaktivieren Sie die SSH-Anmeldung für einen bestimmten Benutzer in Linux

pam_tally2-Befehl – ​​Sperren und Entsperren von fehlgeschlagenen SSH-Anmeldungen unter Linux

Login-Befehlsbeispiele in Linux

Das Linux-Benutzerkonto kann nicht entsperrt werden