Jak zablokować konta użytkowników po nieudanych próbach logowania

Jak zablokować konta użytkowników po nieudanych próbach logowania

Ten przewodnik pokaże, jak zablokować konto użytkownika systemu po określonej liczbie nieudanych prób logowania Centos, Rhel i Fedora rozkłady. Tutaj skupia się na egzekwowaniu prostego bezpieczeństwa serwera poprzez zablokowanie konta użytkownika po kolejnej liczbie nieudanych uwierzytelniania.

Przeczytaj także: Użyj PAM_TALLY2, aby zablokować i odblokować nieudane próby logowania

Można to osiągnąć za pomocą pam_faillock Moduł, który pomaga tymczasowego blokowania kont użytkowników w przypadku wielu nieudanych prób uwierzytelnienia i prowadzi zapis tego zdarzenia. Nieudane próby logowania są przechowywane w plikach dla użytkownika w katalogu tally, który jest /var/run/faillock/ domyślnie.

pam_faillock jest częścią Linux Pam (Moduły uwierzytelniania wtyczki), dynamiczny mechanizm wdrażania usług uwierzytelniania w aplikacjach i różnych usługach systemowych, które krótko wyjaśniliśmy w konfiguracji PAM do kontroli aktywności logowania użytkowników.

Jak zablokować konta użytkowników po kolejnych nieudanych uwierzytelnieniach

Możesz skonfigurować powyższą funkcję w /etc/pam.D/System-Auth I /etc/pam.D/Password-Auth pliki, dodając poniższe wpisy do Auth Sekcja.

Wymagane autorytety Pam_Faillock.Tak więc Preauth Silent Audyt Deny = 3 Unlock_Time = 600 Auth [default = Die] Pam_Faillock.Tak więc AuthFail Audyt odmawia = 3 odblokowanie_time = 600 

Gdzie:

  • rewizja - umożliwia audyt użytkowników.
  • zaprzeczyć - używane do zdefiniowania liczby prób (3 w takim przypadku), po czym konto użytkownika powinno zostać zablokowane.
  • odblokowanie_time - ustawia czas (300 sekundy = 5 minuty), dla których konto powinno pozostać zablokowane.

Zauważ, że kolejność tych linii jest bardzo ważna, niewłaściwe konfiguracje mogą powodować zablokowanie wszystkich kont użytkowników.

Auth Sekcja w obu plikach powinna mieć poniższą zawartość w tej kolejności:

Wymagane autoryzm PAM_ENV.Więc Wymagane autorytety Pam_Faillock.Więc preauth Silent Audyt odmowa = 3 odblokowanie_time = 300 Wystarczy Pam_Unix.Więc Nullok try_first_pass Auth [domyślny = die] pam_faillock.Tak więc AuthFail Audyt odmawia = 3 odblokowanie_time = 300 Wymagane autorytet pam_succed_if.więc uid> = 1000 cich_success Auth.Więc 

Teraz otwórz te dwa pliki z wyborem edytora.

# vi /etc /pam.D/System-Auth # VI/ETC/PAM.D/Password-Auth 

Domyślne wpisy w Auth Sekcja oba pliki wyglądają tak.

#%PAM-1.0 # Ten plik jest automatycznie generowany. # Zmiany użytkownika zostaną zniszczone przy następnym uruchomieniu Authconfig. Wymagane autoryzm PAM_ENV.Więc autoryzm wystarczający pam_fprintd.Tak więc autoryzm wystarczający pam_unix.Więc Nullok try_first_pass Auth Wymagane pam_succed_if.więc uid> = 1000 cichy auth Wymagane pam_deny.Więc 

Po dodaniu powyższych ustawień, powinno się pojawiać w następujący sposób.

#%PAM-1.0 # Ten plik jest automatycznie generowany. # Zmiany użytkownika zostaną zniszczone przy następnym uruchomieniu Authconfig. Wymagane autoryzm PAM_ENV.Więc Wymagane autorytety Pam_Faillock.Więc preauth Silent Audyt odmowa = 3 odblokowanie_time = 300 Wystarczający auth PAM_FPRINTD.Tak więc autoryzm wystarczający pam_unix.Więc Nullok try_first_pass Auth [domyślny = die] pam_faillock.Tak więc AuthFail Audyt odmawia = 3 odblokowanie_time = 300 Wymagane autorytet pam_succed_if.więc uid> = 1000 cichy auth Wymagane pam_deny.Więc 

Następnie dodaj następujący podświetlony wpis do konto sekcja w obu powyższych plikach.

Wymagane konto PAM_Unix.Więc rozlicz wystarczającą ilość pam_localuser.Więc rozlicz wystarczającą ilość pam_succed_if.Więc uid < 500 quiet account required pam_permit.so Wymagane konto PAM_FAILLOCK.Więc 

Jak zablokować konto root po nieudanych próbach logowania

Aby zablokować konto root po nieudanych próbach uwierzytelnienia, dodaj Even_deny_root opcja do linii w obu plikach w Auth sekcja w ten sposób.

Wymagane autorytety Pam_Faillock.Więc preauth cichy audyt odmawia = 3 Even_deny_root odblokowanie_time = 300 Auth [default = die] pam_faillock.Tak więc Authfail Audyt odmawia = 3 Even_deny_root odblokowanie_time = 300 

Po skonfigurowaniu wszystkiego. Możesz ponownie uruchomić usługi dostępu zdalnego, takie jak Sshd, Aby powyższe zasady wejść w życie, to znaczy, jeśli użytkownicy będą zatrudniać SSH do połączenia z serwerem.

# systemCtl restartuj sshd [on Systemd] # Service Sshd restart [on Sysvinit] 

Jak przetestować próby logowania użytkownika SSH

Z powyższych ustawień skonfigurowaliśmy system do zablokowania konta użytkownika 3 Nieudane próby uwierzytelnienia.

W tym scenariuszu użytkownik Tecmint Próbuje przejść na użytkownika Aaronkilik, ale potem 3 Nieprawidłowe logowanie z powodu niewłaściwego hasła, wskazane przez „Zezwolenie odrzucone„Wiadomość, użytkownik Aaronkilik Konto jest zablokowane, jak pokazano „błąd autoryzacji„Wiadomość z czwartej próby.

Test testowy nieudany logowanie prób

Użytkownik root jest również powiadomiony o nieudanych próbach logowania w systemie, jak pokazano w zrzucie ekranu poniżej.

Nieudane próba logowania do wiadomości

Jak wyświetlić nieudane próby uwierzytelnienia

Możesz zobaczyć wszystkie nieudane dzienniki uwierzytelniania za pomocą Faillock narzędzie, które służy do wyświetlania i modyfikowania dziennika awarii uwierzytelniania.

Możesz wyświetlić nieudane próby logowania dla konkretnego użytkownika takiego.

# Faillock -User Aaronkilik 
Zobacz próby logowania nieudane użytkownika

Aby wyświetlić wszystkie nieudane próby logowania, uruchom FAILLOCK bez żadnych argumentów:

# Faillock 

Aby wyczyścić dzienniki awarii uwierzytelniania użytkownika, uruchom to polecenie.

# Faillock -User Aaronkilik -Reset lub # Fail -Reset #Cears Wszystkie rekordy awarii uwierzytelnienia 

Wreszcie, aby powiedzieć systemowi, aby nie blokować kont użytkownika lub użytkownika po kilku nieudanych próbach logowania, dodaj wpis oznaczony czerwonym kolorem, tuż nad tym pam_faillock jest najpierw wezwany pod Auth sekcja w obu plikach (/etc/pam.D/System-Auth I /etc/pam.D/Password-Auth) Jak następuje.

Po prostu dodaj pełną okrężnicę oddzieloną Nazwy użytkowników do opcji użytkownik.

Wymagane autoryzm PAM_ENV.Więc Auth [Success = 1 default = ignor] pam_succed_if.Więc użytkownik w Tecmint: Aaronkilik Wymagane autorytety Pam_Faillock.Tak więc Preauth Silent Audyt Deny = 3 Unlock_Time = 600 Auth Wystarczający pam_unix.Więc Nullok try_first_pass Auth [DECAULT = Die] Pam_faillock.Tak więc Authfail Audyt DEY = 3 Unlock_Time = 600 Wymagane autorytety pam_succed_if.więc uid> = 1000 cich_success Auth.Więc 

Aby uzyskać więcej informacji, zobacz pam_faillock I Faillock Strony człowieka.

# man pam_faillock # man faillock 

Możesz także przeczytać następujące przydatne artykuły:

  1. Tmout - automatyczne logout Linux Shell, gdy nie ma żadnej aktywności
  2. Tryb pojedynczego użytkownika: Resetowanie/odzyskiwanie zapomnianego hasła do konta użytkownika root
  3. 5 najlepszych praktyk w celu zabezpieczenia i ochrony serwera SSH
  4. Jak uzyskać powiadomienia e -mail logowania root i użytkowników

To wszystko! W tym artykule pokazaliśmy, jak egzekwować proste zabezpieczenia serwera, blokując konto użytkownika po x liczby niepoprawnych loginów lub nieudanych prób uwierzytelniania. Użyj poniższego formularza komentarza, aby podzielić się z nami swoimi zapytaniami lub przemyśleniami.