![13 cele mai bune site-uri de vreme pentru prognoză precisă în 2023](/f/c04dba53a9121859d2abacc179c30aa8.jpg?width=100&height=100)
Securitate SSH este o prioritate maximă atunci când vă configurați serverul. The setările implicite SSH de obicei, nu sunt suficient de robuste pentru a vă proteja serverul de atacurile externe.
Prin urmare, sunt necesare ajustări suplimentare pentru a oferi o cantitate decentă de securitate atacuri cu forță brută. Una dintre acestea este implementarea fail2ban pentru a împiedica utilizatorii neautorizați după un anumit număr de încercări de înregistrare incorecte. În mod similar, puteți profita de pam_faillock modul pentru a implementa o politică de blocare a contului.
Acest ghid va arăta cum să blocați contul unui utilizator de sistem după un număr specificat de încercări eșuate de conectare SSH în Distribuții bazate pe RedHat. Pe Distribuții bazate pe Debian, trebuie să utilizați modulul pam_tally2 pentru a bloca conectările SSH eșuate.
Aici, accentul este să impună securitatea simplă a serverului prin blocarea contului unui utilizator după un număr consecutiv de autentificări SSH nereușite.
Cuprins
The pam_faillock modulul face parte din Linux PAM (Module de autentificare conectabile), un utilitar format din biblioteci partajate care separă aplicațiile de metodele standard de autentificare.
Acceptă verificări de autentificare de la programe precum sshd, gdm, login și multe altele și autentifică utilizatorul la acele servicii sau aplicații în sistemele Linux. Am explicat pe scurt configurarea PAM pentru a audita autentificarea utilizatorului activitatea cochiliei.
Modulul înregistrează încercările eșuate de autentificare per utilizator și blochează temporar contul de utilizator dacă încercările eșuate de autentificare depășesc o anumită limită. Încercările eșuate de conectare sunt stocate în fișiere per utilizator în directorul de contorizare care este /var/run/faillock/
în mod implicit.
The pam_faillock modul înlocuiește pam_tally și pam_tally2 module care au fost depreciate în RHEL 7 și RHEL 8. Oferă mai multă flexibilitate și opțiuni decât cele două module.
Puteți configura funcționalitatea de mai sus în /etc/pam.d/system-auth și /etc/pam.d/password-auth fișiere, adăugând intrările de mai jos la fișierul auth
secțiune.
$ sudo vim /etc/pam.d/system-auth. $ sudo vim /etc/pam.d/password-auth.
Pentru a bloca sau a interzice accesul utilizatorilor la sistem după 3 încercări nereușite de SSH și pentru a debloca contul de utilizator după 1200 de secunde, adăugați următoarele rânduri în auth
secțiune.
auth required pam_faillock.so preaauth silent audit deny=3 unlock_time=1200. auth [default=die] pam_faillock.so authfail audit deny=3 unlock_time=600.
Unde:
audit
– permite auditarea utilizatorului.nega
– folosit pentru a defini numărul de încercări (3 în acest caz), după care contul de utilizator ar trebui să fie blocat.timp_deblocare
– setează ora (600 secunde = 10 minute) pentru care contul ar trebui să rămână blocat.Rețineți că ordinea acestor linii este foarte importantă, configurațiile greșite pot cauza blocarea tuturor conturilor de utilizator.
The auth
secțiunea din ambele fișiere ar trebui să aibă conținutul de mai jos aranjat în această ordine:
#%PAM-1.0. # Acest fișier este generat automat. # Modificările utilizatorului vor fi distruse data viitoare când se rulează authselect. auth required pam_env.so. auth suficient pam_unix.so try_first_pass nullok. auth required pam_deny.so. auth required pam_faillock.so preaauth silent audit deny=3 unlock_time=1200. auth [default=die] pam_faillock.so authfail audit deny=3 unlock_time=600
Apoi, navigați la cont
secțiunea și adăugați următoarea linie în ambele fișiere de mai sus.
cont este necesar pam_faillock.so.
După adăugarea setărilor de mai sus, ar trebui să apară după cum urmează.
Puteți adăuga even_deny_root
parametru la auth
secțiune pentru a bloca atât utilizatorul, cât și utilizatorul normal. În acest exemplu, timpul de deblocare pentru utilizatorii obișnuiți este 1200 secunde (20 de minute) și 3600 secunde (60 min sau 1 oră) pentru utilizatorul root după 3 încercări eșuate de conectare SSH.
auth required pam_faillock.so preaauth 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=3600.
Odată ce ați configurat totul. Puteți reporni servicii de acces la distanță, cum ar fi sshd, pentru ca politica de mai sus să intre în vigoare, adică dacă utilizatorii vor folosi ssh pentru a se conecta la server.
$ sudo systemctl restart sshd.
În continuare, vom rula un test și vom verifica dacă configurația funcționează.
Din setările de mai sus, am configurat sistemul pentru a bloca contul unui utilizator după 3 încercări eșuate de autentificare.
În acest scenariu, utilizatorul tecmint
încearcă să treacă la utilizator aaronkilik
, dar după 3 autentificări incorecte din cauza unei parole greșite, indicată de „Acces refuzat”, mesajul utilizatorului aaronkilik’s contul este blocat așa cum se arată în „autentificare eșuată” mesaj din a patra încercare.
Utilizatorul root este, de asemenea, notificat cu privire la încercările eșuate de conectare la sistem, așa cum se arată în captura de ecran de mai jos.
Puteți vedea toate autentificarea SSH eșuată jurnalele folosind faillock utilitar, care este utilizat pentru a afișa și modifica jurnalul de erori de autentificare.
Puteți vedea încercările eșuate de conectare pentru un anumit utilizator, astfel.
# faillock --user aaronkilik.
Pentru a vedea toate încercările de conectare nereușite, rulați faillock fără niciun argument ca acesta:
# faillock
Pentru a șterge jurnalele de erori de autentificare ale unui utilizator, rulați această comandă.
# faillock --user aaronkilik --reset SAU. # fail --reset #șterge toate înregistrările de eșec de autentificare.
În cele din urmă, pentru a spune sistemului să nu blocheze un utilizator sau conturile utilizatorului după mai multe încercări de conectare nereușite, adăugați intrarea evidențiată cu aldine, chiar deasupra locului pam_faillock este mai întâi numit sub auth
secțiune în ambele fișiere (/etc/pam.d/system-auth și /etc/pam.d/password-auth) după cum urmează.
#%PAM-1.0. # Acest fișier este generat automat. # Modificările utilizatorului vor fi distruse data viitoare când se rulează authselect. auth required pam_env.so. auth suficient pam_unix.so try_first_pass nullok. auth required pam_deny.so. auth [success=1 default=ignore] pam_succeed_if.so utilizator în tecmint: aaronkilik auth required pam_faillock.so preaauth silent audit deny=3 unlock_time=1200. auth [default=die] pam_faillock.so authfail audit deny=3 unlock_time=600.
Pentru a dezactiva pam_failock modul, executați următoarea comandă:
# authconfig --disablefaillock --update.
Pentru mai multe informații, consultați pam_faillock și faillock pagini de manual.
# man pam_faillock. # Man faillock
S-ar putea sa-ti placa si:
Asta e tot! În acest articol, am arătat cum să impunem securitatea simplă a serverului prin blocarea contului unui utilizator după numărul x de autentificări incorecte sau încercări eșuate de autentificare.
Este o modalitate utilă de a vă consolida securitatea SSH împotriva atacurilor cu forță brută. Folosește formularul de comentarii de mai jos pentru a ne împărtăși întrebările sau gândurile tale.