Zabezpečenie SSH: Pokusy o prihlásenie sa nepodarilo uzamknúť pomocou pam_faillock
Modul pam_tally2
, ktorý sa kedysi používal na uzamknutie používateľských účtov po určitom počte neúspešných pokusov o prihlásenie cez SSH, bol v distribúciách založených na RHEL a iných moderných Linuxoch zastaraný a nahradený modulom pam_faillock
distribúcie, vďaka väčšej flexibilite a možnostiam zabezpečenia.
Predtým bol modul pam_tally2
zodpovedný za počítanie neúspešných pokusov o prihlásenie a zamykanie účtov. V rámci vylepšení zabezpečenia sa však pam_faillock
stal štandardom na správu neúspešných pokusov o prihlásenie v novších verziách Linuxu tým, že poskytuje lepšiu integráciu a viac možností konfigurácie.
Prechod z pam_tally2 na pam_faillock
Zatiaľ čo príkaz pam_tally2
pozostával z dvoch častí – pam_tally2.so
a príkazu pam_tally2
, bol postupne zrušený v prospech pam_faillock
, ktorý je navrhnutý tak, aby spracovával pokusy o prihlásenie bezpečnejším a flexibilnejším spôsobom.
pam_faillock
ponúka podobnú funkciu, ale s vylepšeniami, ako sú:
- Vylepšené protokolovanie a hlásenie neúspešných pokusov.
- Lepšie spracovanie pravidiel blokovania účtu.
- Podpora konfigurovateľných limitov neúspešných pokusov o prihlásenie a automatické odomknutie účtu po uplynutí časového limitu.
Tento článok ukazuje, ako nakonfigurovať uzamknutie účtu SSH pomocou modulu pam_faillock
po určitom počte neúspešných pokusov o prihlásenie.
Ako uzamknúť a odomknúť používateľské účty pomocou pam_faillock
Otvorte oba konfiguračné súbory PAM /etc/pam.d/password-auth
a /etc/pam.d/sshd
v závislosti od vášho systému a služby, ktorú používate konfigurácia.
sudo vi /etc/pam.d/password-auth
sudo vi /etc/pam.d/sshd
Pridajte nasledujúce riadky na začiatok sekcie auth
na konfiguráciu pravidiel neúspešných pokusov o prihlásenie:
auth required pam_faillock.so preauth silent audit deny=3 even_deny_root unlock_time=1200
auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=1200
Ak chcete povoliť správu účtu v prípade zlyhania prihlásenia, pridajte nasledujúci riadok do sekcie account
:
account required pam_faillock.so
Vysvetlenie parametrov:
deny=3
: Zamietne prístup po 3 neúspešných pokusoch.even_deny_root
: Aplikujte politiku aj na používateľa root.unlock_time=1200
: Automaticky odomkne účet po 20 minútach (1200 sekundách). Odstráňte túto možnosť, ak chcete, aby účet zostal uzamknutý až do manuálneho resetovania.audit
: Zaznamenáva neúspešné pokusy o prihlásenie do denníka auditu systému.
Teraz otvorte súbor /etc/security/faillock.conf
a zadajte, koľko neúspešných pokusov spustí uzamknutie a trvanie doby blokovania.
Number of allowed failures before lockout
deny = 5
Lockout duration in minutes
unlock_time = 15
Path to the faillock database
Optional: You can specify where to store faillock information
faillock_path = /var/lib/faillock
Potom otvorte súbor /etc/ssh/sshd_config
a povoľte nasledujúce nastavenie na používanie PAM na overenie SSH.
UsePAM yes
Ak chcete použiť zmeny, reštartujte službu SSH:
sudo systemctl restart sshd
Ako otestovať funkčnosť uzamknutia účtu SSH
Po uložení vyššie uvedenej konfigurácie môžete otestovať mechanizmus blokovania prihlásenia vykonaním 3 neúspešných pokusov o prihlásenie na server SSH.
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 3 failed logins
Ako skontrolovať zlyhania prihlásenia používateľa SSH
Ak chcete skontrolovať neúspešné pokusy o prihlásenie pre konkrétneho používateľa, použite nasledujúci príkaz:
sudo faillock --user username
Príklad výstupu:
Login Failures Latest failure From
user 3 10/17/2024 14:15 192.168.0.5
Ako obnoviť alebo odomknúť používateľský účet
Ak chcete obnoviť neúspešné pokusy a odomknúť používateľský účet, použite nasledujúci príkaz:
sudo faillock --user username --reset
Tento príkaz vymaže počet neúspešných pokusov a odomkne používateľa.
Overenie používateľského účtu je odomknuté
Odomknutie účtu môžete potvrdiť opätovným spustením príkazu faillock:
sudo faillock --user username
Ak nedôjde k žiadnym neúspešným pokusom o prihlásenie, výstup bude prázdny, čo znamená, že používateľský účet je odomknutý.
Záver
Na záver, modul pam_faillock
poskytuje vylepšený a bezpečnejší spôsob správy neúspešných pokusov o prihlásenie, ktorý nahrádza už zastaraný pam_tally2
. Nezabudnite aktualizovať svoje konfiguračné súbory PAM tak, aby používali pam_faillock
, aby ste zostali aktuálne s osvedčenými postupmi a bezpečnostnými štandardmi.
Pre viac informácií môžete použiť man pam_faillock
z príkazového riadku.
man pam_faillock