Kā bloķēt lietotāju kontus pēc neveiksmīgiem pieteikšanās mēģinājumiem
Šajā rokasgrāmatā tiks parādīts, kā bloķēt sistēmas lietotāja kontu pēc noteikta daudzuma neveiksmīgiem pieteikšanās mēģinājumiem CentOS, RHEL un Fedora izplatījumos. Šeit galvenā uzmanība tiek pievērsta vienkāršas servera drošības nodrošināšanai, bloķējot lietotāja kontu pēc neveiksmīgas autentifikācijas pēc kārtas.
To var panākt, izmantojot moduli pam_faillock
, kas palīdz īslaicīgi bloķēt lietotāju kontus vairāku neveiksmīgu autentifikācijas mēģinājumu gadījumā un veic šī notikuma reģistrēšanu. Neveiksmīgi pieteikšanās mēģinājumi tiek saglabāti katram lietotājam paredzētajos failos kopsummas direktorijā, kas pēc noklusējuma ir /var/run/faillock/
.
pam_faillock ir daļa no Linux PAM (Pluggable Authentication Modules), dinamiska mehānisma autentifikācijas pakalpojumu ieviešanai lietojumprogrammās un dažādos sistēmas pakalpojumos, ko mēs īsi izskaidrojām sadaļā PAM konfigurēšana, lai pārbaudītu lietotāja pieteikšanās čaulas darbību.
Kā bloķēt lietotāju kontus pēc secīgas neveiksmīgas autentifikācijas
Iepriekšminēto funkcionalitāti varat konfigurēt failos /etc/pam.d/system-auth un /etc/pam.d/password-auth, pievienojot zemāk esošos ierakstus sadaļā 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
Kur:
-
audit
- ļauj veikt lietotāju auditēšanu. -
deny
- tiek izmantots, lai noteiktu mēģinājumu skaitu (šajā gadījumā 3), pēc kuriem lietotāja konts ir jāaizver. -
unlock_time
- nosaka laiku (300 sekundes = 5 minūtes), kuram kontam vajadzētu būt bloķētam.
Ņemiet vērā, ka šo rindu secība ir ļoti svarīga, nepareizas konfigurācijas var izraisīt visu lietotāju kontu bloķēšanu.
Abu failu sadaļā auth
zemāk esošajam saturam jābūt sakārtotam šādā secībā:
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
Tagad atveriet šos divus failus, izvēloties redaktoru.
# vi /etc/pam.d/system-auth # vi /etc/pam.d/password-auth
Noklusējuma ieraksti sadaļā auth
abi faili izskatās šādi.
#%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ēc iepriekš minēto iestatījumu pievienošanas tam vajadzētu parādīties šādi.
#%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
Pēc tam abos iepriekš minētajos failos konta sadaļā pievienojiet šo iezīmēto ierakstu.
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
Kā bloķēt saknes kontu pēc neveiksmīgiem pieteikšanās mēģinājumiem
Lai bloķētu saknes kontu pēc neveiksmīgiem autentifikācijas mēģinājumiem, pievienojiet opciju even_deny_root
abās rindiņās auth
šādā veidā.
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
Kad esat visu konfigurējis. Varat restartēt attālinātas piekļuves pakalpojumus, piemēram, sshd, lai stātos spēkā iepriekš minētā politika, tas ir, ja lietotāji izmantos ssh, lai izveidotu savienojumu ar serveri.
# systemctl restart sshd [On SystemD] # service sshd restart [On SysVInit]
Kā pārbaudīt SSH lietotāja neizdevušos pieteikšanās mēģinājumus
No iepriekš minētajiem iestatījumiem mēs konfigurējām sistēmu bloķēt lietotāja kontu pēc 3 neveiksmīgiem autentifikācijas mēģinājumiem.
Šajā scenārijā lietotājs tecmint
mēģina pārslēgties uz lietotāja aaronkilik
, taču pēc 3 nepareiziem pieteikšanās gadījumiem nepareizas paroles dēļ, ko norāda ziņojums “Atļauja liegta”, lietotāja aaronkilik konts ir bloķēts, kā parādīts ziņojumā “Autentifikācijas kļūme” no ceturtā mēģinājuma.
Saknes lietotājam tiek paziņots arī par neveiksmīgiem pieteikšanās mēģinājumiem sistēmā, kā parādīts zemāk redzamajā ekrānuzņēmumā.
Kā apskatīt neizdevušos autentifikācijas mēģinājumus
Visus neizdevušos autentifikācijas žurnālus var redzēt, izmantojot utilītu faillock, kuru izmanto, lai parādītu un modificētu autentifikācijas kļūmju žurnālu.
Šādi var apskatīt neveiksmīgus pieteikšanās mēģinājumus konkrētam lietotājam.
# faillock --user aaronkilik
Lai skatītu visus neveiksmīgos pieteikšanās mēģinājumus, palaidiet faillock bez jebkādiem argumentiem:
# faillock
Lai notīrītu lietotāja autentifikācijas kļūmju žurnālus, palaidiet šo komandu.
# faillock --user aaronkilik --reset OR # fail --reset #clears all authentication failure records
Visbeidzot, lai liktu sistēmai pēc vairākiem neveiksmīgiem pieteikšanās mēģinājumiem neaizslēgt lietotāja vai lietotāja kontus, pievienojiet ar sarkanu krāsu atzīmētu ierakstu tieši virs tā, kur pam_faillock vispirms tiek izsaukts autorizācijas sadaļā abos failos (/etc/pam.d/ system-auth un /etc/pam.d/password-auth) šādi.
Vienkārši pievienojiet pilnu kolu atdalītus lietotājvārdus opcijas lietotājam.
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
Plašāku informāciju skatiet pam_faillock un faillock cilvēka lapās.
# man pam_faillock # man faillock
Varat arī izlasīt šos noderīgos rakstus:
- TMOUT - automātiska atteikšanās no Linux čaulas, ja nav nekādu darbību
- Viena lietotāja režīms: aizmirstas root lietotāja konta paroles atiestatīšana/atjaunošana
- 5 labākās prakses SSH servera drošībai un aizsardzībai
- Kā iegūt root un lietotāju SSH pieteikšanās e-pasta brīdinājumus
Tas ir viss! Šajā rakstā mēs parādījām, kā nodrošināt vienkāršu servera drošību, bloķējot lietotāja kontu pēc x nepareizas pieteikšanās vai neveiksmīgiem autentifikācijas mēģinājumiem. Izmantojiet zemāk esošo komentāru veidlapu, lai dalītos ar mums savos jautājumos vai domās.