Kuidas lukustada kasutajakontosid pärast ebaõnnestunud sisselogimiskatseid


See juhend näitab, kuidas lukustada süsteemi kasutaja konto pärast täpsustatud arvu nurjunud sisselogimiskatseid CentOS, RHEL ja Fedora jaotustes. Siin keskendutakse lihtsa serveri turvalisuse tagamisele, lukustades kasutaja konto pärast järjestikust arvu ebaõnnestunud autentimisi.

Seda saab saavutada mooduli pam_faillock abil, mis aitab kasutajakontosid ajutiselt lukustada mitme ebaõnnestunud autentimiskatse korral ja hoiab selle sündmuse kohta arvestust. Ebaõnnestunud sisselogimiskatsed salvestatakse kasutajakataloogide arvudesse kataloogis, mis on vaikimisi /var/run/faillock/.

pam_faillock on osa Linuxi PAM-ist (Pluggable Authentication Modules), dünaamilisest mehhanismist autentimisteenuste juurutamiseks rakendustes ja erinevates süsteemiteenustes, mida me lühidalt selgitasime PAM-i konfigureerimise all kasutaja sisselogimiskesta tegevuse kontrollimiseks.

Kuidas lukustada kasutajakontosid pärast järjestikust ebaõnnestunud autentimist

Ülaltoodud funktsioone saate konfigureerida failides /etc/pam.d/system-auth ja /etc/pam.d/password-auth, lisades allolevad kirjed jaotisse 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

Kus:

  • audit - võimaldab kasutajaauditit.
  • deny - kasutatakse katsete arvu (antud juhul 3) määratlemiseks, pärast mida tuleks kasutajakonto lukustada.
  • unlock_time - määrab aja (300 sekundit = 5 minutit), mille jooksul konto peaks jääma lukustatuks.

Pange tähele, et nende ridade järjekord on väga oluline, valed konfiguratsioonid võivad kõik kasutajakontod lukustada.

Mõlema faili jaotises auth peaks allpool olev sisu olema järjestatud järgmises järjekorras:

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

Nüüd avage need kaks faili valitud redaktoriga.

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

Mõlemad failid vaikekirjed jaotises auth näevad välja sellised.

#%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

Pärast ülaltoodud sätete lisamist peaks see ilmuma järgmiselt.

#%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

Seejärel lisage mõlema ülaltoodud faili konto jaotisse järgmine esiletõstetud kirje.

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

Kuidas lukustada juurkonto pärast ebaõnnestunud sisselogimiskatseid

Juurekonto lukustamiseks pärast ebaõnnestunud autentimiskatseid lisage even_deny_root suvand auth niimoodi mõlema faili ridadele.

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

Kui olete kõik seadistanud. Eespool nimetatud poliitika jõustumiseks võite taaskäivitada kaugjuurdepääsuteenused, näiteks sshd, st kui kasutajad kasutavad serveriga ühenduse loomiseks ssh-d.

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

SSH-kasutaja ebaõnnestunud sisselogimiskatsete testimine

Ülaltoodud seadetest konfigureerisime süsteemi kasutaja konto lukustamiseks pärast kolme ebaõnnestunud autentimiskatset.

Selle stsenaariumi korral proovib kasutaja tecmint lülituda kasutajale aaronkilik , kuid pärast kolme valet sisselogimist vale parooli tõttu, millele viitab sõnum\"Permissions denied", kasutaja aaronkiliku konto on lukustatud, nagu näitab\"autentimisviga" sõnum alates neljandast katsest.

Juurkasutajat teavitatakse ka ebaõnnestunud sisselogimiskatsetest süsteemis, nagu on näidatud alloleval ekraanipildil.

Kuidas vaadata nurjunud autentimiskatseid

Kõiki nurjunud autentimislogisid näete faillocki utiliidi abil, mida kasutatakse autentimise tõrke logi kuvamiseks ja muutmiseks.

Selliseid konkreetse kasutaja nurjunud sisselogimiskatseid saate vaadata.

# faillock --user aaronkilik

Kõigi ebaõnnestunud sisselogimiskatsete kuvamiseks käivitage faillock ilma igasuguste argumentideta:

# faillock 

Kasutaja autentimisvea logide kustutamiseks käivitage see käsk.

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

Lõpuks, et öelda süsteemile, et pärast mitut ebaõnnestunud sisselogimiskatset ei tohi kasutaja või kasutaja kontosid lukustada, lisage punase värviga märgitud kirje, mis asub mõlema faili (/etc/pam.d/ system-auth ja /etc/pam.d/password-auth) järgmiselt.

Lihtsalt lisage täieliku kooloniga eraldatud kasutajanimed.

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

Lisateabe saamiseks vaadake pam_faillock ja faillock man-lehti.

# man pam_faillock
# man faillock 

Samuti võiksite lugeda järgmisi kasulikke artikleid:

  1. TMOUT - automaatne väljalogimine Linuxi kest, kui tegevust ei toimu
  2. Ühe kasutaja režiim: unustatud juurkasutaja konto parooli lähtestamine/taastamine
  3. 5 parimat tava SSH-serveri turvamiseks ja kaitsmiseks
  4. Kuidas saada juur- ja kasutaja SSH-i sisselogimise e-posti märguandeid

See on kõik! Selles artiklis näitasime, kuidas tagada lihtsa serveri turvalisus, lukustades kasutaja konto pärast x arvu valesid sisselogimisi või ebaõnnestunud autentimiskatseid. Kasutage meiega oma päringute või mõtete jagamiseks allolevat kommentaarivormi.