Kako zakleniti uporabniške račune po neuspešnih poskusih prijave


Ta priročnik bo pokazal, kako zaklenete sistemski uporabniški račun po določenem številu neuspešnih poskusov prijave v distribucijah CentOS, RHEL in Fedora. Tu je poudarek na uveljavljanju preproste varnosti strežnika z zaklepanjem uporabniškega računa po zaporednem številu neuspešnih preverjanj pristnosti.

To lahko dosežete z uporabo modula pam_faillock , ki pomaga pri začasnem zaklepanju uporabniških računov v primeru več neuspešnih poskusov preverjanja pristnosti in vodi zapis o tem dogodku. Neuspešni poskusi prijave so shranjeni v datoteke za vsakega uporabnika v imeniku, ki je privzeto /var/run/faillock/.

pam_faillock je del LAM -a PAM (Pluggable Authentication Modules), dinamičnega mehanizma za izvajanje storitev preverjanja pristnosti v aplikacijah in različnih sistemskih storitvah, ki smo jih na kratko razložili pri konfiguriranju PAM za revizijo dejavnosti uporabniške lupine.

Kako zakleniti uporabniške račune po zaporednih neuspešnih overitvah

Zgornjo funkcionalnost lahko konfigurirate v datotekah /etc/pam.d/system-auth in /etc/pam.d/password-auth tako, da spodnje vnose dodate v razdelek 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

Kje:

  • audit - omogoča revizijo uporabnikov.
  • deny - uporablja se za določitev števila poskusov (v tem primeru 3), nato pa je treba uporabniški račun zakleniti.
  • čas odklepanja - nastavi čas (300 sekund = 5 minut), v katerem mora račun ostati zaklenjen.

Upoštevajte, da je vrstni red teh vrstic zelo pomemben, napačne konfiguracije lahko povzročijo zaklepanje vseh uporabniških računov.

Spodnja vsebina razdelka auth v obeh datotekah mora biti urejena v tem vrstnem redu:

auth        required      pam_env.so
auth        required      pam_faillock.so preauth silent audit deny=3 unlock_time=300
auth        sufficient    pam_unix.so  nullok  try_first_pass
auth        [default=die]  pam_faillock.so  authfail  audit  deny=3  unlock_time=300
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.so

Zdaj odprite ti dve datoteki z izbiro urejevalnika.

# vi /etc/pam.d/system-auth
# vi /etc/pam.d/password-auth 

Privzeti vnosi v auth razdelku obeh datotek izgledajo tako.

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 1000 quiet
auth        required      pam_deny.so

Po dodajanju zgornjih nastavitev bi se moralo prikazati na naslednji način.

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        required      pam_faillock.so preauth silent audit deny=3 unlock_time=300
auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        [default=die]  pam_faillock.so  authfail  audit  deny=3  unlock_time=300
auth        requisite     pam_succeed_if.so uid >= 1000 quiet
auth        required      pam_deny.so

Nato v razdelek o računu v obeh zgornjih datotekah dodajte naslednji označeni vnos.

account     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     required      pam_permit.so
account     required      pam_faillock.so

Kako zakleniti korenski račun po neuspelih poskusih prijave

Če želite zakleniti korenski račun po neuspelih poskusih preverjanja pristnosti, dodajte možnost even_deny_root v vrstice v obeh datotekah v razdelku auth , kot je ta.

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

Ko ste vse konfigurirali. Storitve oddaljenega dostopa, kot je sshd, lahko znova zaženete, da bo zgornji pravilnik začel veljati, če uporabniki uporabijo ssh za povezavo s strežnikom.

# systemctl restart sshd  [On SystemD]
# service sshd restart    [On SysVInit]

Kako preizkusiti neuspešne prijave uporabnika SSH

Iz zgornjih nastavitev smo sistem konfigurirali tako, da po treh neuspelih poskusih preverjanja pristnosti zaklene uporabniški račun.

V tem scenariju uporabnik tecmint poskuša preiti na uporabnika aaronkilik , vendar po treh napačnih prijavah zaradi napačnega gesla, ki ga označuje sporočilo\"Dovoljenje zavrnjeno", račun uporabnika aaronkilika je zaklenjen, kot kaže sporočilo\"napaka pri preverjanju pristnosti" iz četrtega poskusa.

Korenski uporabnik je obveščen tudi o neuspelih poskusih prijave v sistem, kot je prikazano na spodnjem posnetku zaslona.

Kako si ogledate neuspele poskuse preverjanja pristnosti

Vse neuspele dnevnike preverjanja pristnosti si lahko ogledate s pripomočkom faillock, ki se uporablja za prikaz in spreminjanje dnevnika napak preverjanja pristnosti.

Ogledate si lahko neuspele poskuse prijave za določenega uporabnika, kot je ta.

# faillock --user aaronkilik

Če si želite ogledati vse neuspešne poskuse prijave, zaženite faillock brez kakršnega koli argumenta:

# faillock 

Če želite počistiti dnevnike napak pri preverjanju pristnosti uporabnika, zaženite ta ukaz.

# faillock --user aaronkilik --reset 
OR
# fail --reset	#clears all authentication failure records

Nazadnje, če želite sistemu povedati, da po več neuspešnih poskusih prijave ne zaklene uporabnika ali njegovih uporabniških računov, dodajte vnos, označen z rdečo barvo, tik nad tem, kjer se v razdelku za preverjanje pristnosti obeh datotek najprej pokliče pam_faillock (/etc/pam.d/ system-auth in /etc/pam.d/password-auth), kot sledi.

Preprosto dodajte uporabniška imena, ločena z dvopičjem, možnosti uporabnika v.

auth  required      pam_env.so
auth   [success=1 default=ignore] pam_succeed_if.so user in tecmint:aaronkilik 
auth   required      pam_faillock.so preauth silent audit deny=3 unlock_time=600
auth   sufficient    pam_unix.so  nullok  try_first_pass
auth   [default=die]  pam_faillock.so  authfail  audit  deny=3  unlock_time=600
auth   requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth   required      pam_deny.so

Za več informacij si oglejte strani pam_faillock in faillock man.

# man pam_faillock
# man faillock 

Morda bi radi prebrali tudi te koristne članke:

  1. TMOUT - Samodejna odjava lupine Linuxa, ko ni dejavnosti
  2. Način za enega uporabnika: ponastavitev/obnovitev pozabljenega gesla uporabniškega računa root
  3. 5 najboljših praks za zaščito in zaščito strežnika SSH
  4. Kako pridobiti korenska in uporabniška e -poštna opozorila za prijavo na SSH

To je vse! V tem članku smo pokazali, kako uveljaviti preprosto varnost strežnika z zaklepanjem uporabniškega računa po x številu napačnih prijav ali neuspelih poskusih preverjanja pristnosti. Uporabite spodnji obrazec za komentarje, če z nami delite svoja vprašanja ali razmišljanja.