Wyszukiwanie w witrynie

Użyj Pam_Tally2, aby zablokować i odblokować nieudane próby logowania SSH


Moduł pam_tally2 służy do blokowania kont użytkowników po określonej liczbie nieudanych prób logowania ssh do systemu. Moduł ten rejestruje liczbę prób dostępu oraz zbyt wielu nieudanych prób.

Moduł pam_tally2 składa się z dwóch części, jedna to pam_tally2.so, a druga to pam_tally2. Opiera się na module PAM i może być używany do sprawdzania i manipulowania plikiem licznika. Może wyświetlać liczbę prób logowania użytkowników, ustawiać liczniki indywidualnie, odblokowywać wszystkie liczniki użytkowników.

Moduł pam_faillock zastępuje moduły pam_tally i pam_tally2, które są przestarzałe w RHEL 7 i RHEL 8. Oferuje większą elastyczność i opcje niż te dwa moduły.

Domyślnie moduł pam_tally2 jest już zainstalowany w większości dystrybucji Linuksa i jest kontrolowany przez sam pakiet PAM. W tym artykule pokazano, jak blokować i odblokowywać konta SSH po osiągnięciu określonej liczby nieudanych prób logowania.

Jak blokować i odblokowywać konta użytkowników

Użyj pliku konfiguracyjnego „/etc/pam.d/password-auth”, aby skonfigurować dostęp do prób logowania. Otwórz ten plik i dodaj do niego następującą linię konfiguracyjną AUTH na początku sekcji „auth”.

auth        required      pam_tally2.so  file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200

Następnie dodaj następujący wiersz do sekcji „konto”.

account     required      pam_tally2.so
Parametry
  1. file=/var/log/tallylog – domyślny plik log służy do zapisywania liczby logowań.
  2. deny=3 – Odmów dostępu po 3 próbach i zablokuj użytkownika.
  3. even_deny_root – zasady dotyczą także użytkownika root.
  4. unlock_time=1200 – Konto zostanie zablokowane do 20 Min. (usuń te parametry, jeśli chcesz trwale zablokować, aż do ręcznego odblokowania.)

Po zakończeniu powyższej konfiguracji spróbuj teraz podjąć 3 nieudane próby logowania do serwera przy użyciu dowolnej „nazwy użytkownika”. Po wykonaniu więcej niż 3 prób pojawi się następujący komunikat.

[root@tecmint ~]# ssh [email 
[email 's password:
Permission denied, please try again.
[email 's password:
Permission denied, please try again.
[email 's password:
Account locked due to 4 failed logins
Account locked due to 5 failed logins
Last login: Mon Apr 22 21:21:06 2013 from 172.16.16.52

Teraz zweryfikuj lub sprawdź licznik, który użytkownik próbuje wykonać za pomocą następującego polecenia.

[root@tecmint ~]# pam_tally2 --user=tecmint
Login           Failures  Latest    failure     From
tecmint              5    04/22/13  21:22:37    172.16.16.52

Jak zresetować lub odblokować konto użytkownika, aby ponownie umożliwić dostęp.

[root@tecmint pam.d]# pam_tally2 --user=tecmint --reset
Login           Failures  Latest    failure     From
tecmint             5     04/22/13  17:10:42    172.16.16.52

Sprawdź, czy próba logowania została zresetowana lub odblokowana

[root@tecmint pam.d]# pam_tally2 --user=tecmint
Login           Failures   Latest   failure     From
tecmint            0

Moduł PAM jest częścią całej dystrybucji Linuksa, a podana konfiguracja powinna działać we wszystkich dystrybucjach Linuksa. Wykonaj polecenie „man pam_tally2” z wiersza poleceń, aby dowiedzieć się więcej na ten temat.

Przeczytaj także:

  1. 5 wskazówek, jak zabezpieczyć i chronić serwer SSH
  2. Blokuj ataki SSH Brute Force przy użyciu DenyHosts