Jinsi ya Kufunga Akaunti za Mtumiaji Baada ya Kushindwa Kujaribu Kuingia


Mwongozo huu utaonyesha jinsi ya kufunga akaunti ya mtumiaji wa mfumo baada ya idadi iliyobainishwa ya majaribio yasiyofanikiwa ya kuingia katika usambazaji wa CentOS, RHEL na Fedora. Hapa, lengo ni kutekeleza usalama rahisi wa seva kwa kufunga akaunti ya mtumiaji baada ya idadi mfululizo ya uthibitishaji usiofanikiwa.

Hili linaweza kufanikishwa kwa kutumia sehemu ya pam_faillock ambayo husaidia kufunga akaunti za mtumiaji kwa muda iwapo majaribio mengi ya uthibitishaji yameshindikana na kuweka rekodi ya tukio hili. Majaribio ya kuingia ambayo hayakufaulu yanahifadhiwa katika faili za kila mtumiaji katika saraka ya jumla ambayo ni /var/run/faillock/ kwa chaguo-msingi.

pam_faillock ni sehemu ya Linux PAM (Moduli za Uthibitishaji Zinazoweza Kuchomekwa), utaratibu unaobadilika wa kutekeleza huduma za uthibitishaji katika programu na huduma mbalimbali za mfumo ambazo tulizieleza kwa ufupi chini ya kusanidi PAM ili kukagua shughuli ya ganda la kuingia kwa mtumiaji.

Jinsi ya Kufunga Akaunti za Mtumiaji Baada ya Uthibitishaji Kushindwa Mfululizo

Unaweza kusanidi utendakazi ulio hapo juu katika faili za /etc/pam.d/system-auth na /etc/pam.d/password-auth, kwa kuongeza maingizo yaliyo hapa chini kwenye sehemu ya 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

Wapi:

  • ukaguzi - huwezesha ukaguzi wa mtumiaji.
  • kataa - hutumika kufafanua idadi ya majaribio (3 katika kesi hii), baada ya hapo akaunti ya mtumiaji inapaswa kufungwa.
  • unlock_time - huweka muda (sekunde 300 = dakika 5) ambapo akaunti inapaswa kubaki imefungwa.

Kumbuka kuwa mpangilio wa mistari hii ni muhimu sana, usanidi usio sahihi unaweza kusababisha akaunti zote za watumiaji kufungwa.

Sehemu ya auth katika faili zote mbili inapaswa kuwa na maudhui yaliyo hapa chini yaliyopangwa kwa mpangilio huu:

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

Sasa fungua faili hizi mbili na chaguo lako la kihariri.

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

Maingizo chaguomsingi katika sehemu ya auth faili zote mbili inaonekana kama hii.

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

Baada ya kuongeza mipangilio hapo juu, inapaswa kuonekana kama ifuatavyo.

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

Kisha ongeza ingizo lifuatalo lililoangaziwa kwenye sehemu ya akaunti katika faili zote mbili zilizo hapo juu.

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

Jinsi ya Kufunga Akaunti ya Mizizi Baada ya Kushindwa Kujaribu Kuingia

Ili kufunga akaunti ya msingi baada ya majaribio yasiyofanikiwa ya uthibitishaji, ongeza chaguo la even_deny_root kwenye mistari katika faili zote mbili katika sehemu ya auth kama hii.

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

Mara baada ya kusanidi kila kitu. Unaweza kuanzisha upya huduma za ufikiaji wa mbali kama sshd, ili sera iliyo hapo juu ianze kutekelezwa yaani ikiwa watumiaji watatumia ssh kuunganisha kwenye seva.

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

Jinsi ya Kujaribu Majaribio ya Kuingia ya Mtumiaji wa SSH

Kutoka kwa mipangilio iliyo hapo juu, tulisanidi mfumo ili kufunga akaunti ya mtumiaji baada ya majaribio 3 ya uthibitishaji kushindwa.

Katika hali hii, mtumiaji tecmint anajaribu kubadili hadi mtumiaji aaronkilik, lakini baada ya kuingia mara 3 vibaya kwa sababu ya nenosiri lisilo sahihi, lililoonyeshwa na ujumbe wa \Ruhusa imekataliwa, akaunti ya mtumiaji aaronkilik imefungwa kama inavyoonyeshwa na ujumbe wa \uthibitishaji umeshindwa kutoka kwa jaribio la nne.

Mtumiaji wa mizizi pia anaarifiwa kuhusu majaribio yasiyofanikiwa ya kuingia kwenye mfumo, kama inavyoonyeshwa kwenye picha ya skrini iliyo hapa chini.

Jinsi ya Kuangalia Majaribio ya Uthibitishaji Yaliyoshindwa

Unaweza kuona kumbukumbu zote za uthibitishaji zilizoshindwa kwa kutumia matumizi ya kushindwa, ambayo hutumiwa kuonyesha na kurekebisha kumbukumbu ya kushindwa kwa uthibitishaji.

Unaweza kuona majaribio ya kuingia ambayo hayakufaulu kwa mtumiaji fulani kama huyu.

# faillock --user aaronkilik

Ili kutazama majaribio yote ya kuingia ambayo hayajafaulu, endesha kutofaulu bila hoja yoyote kama hivyo:

# faillock 

Ili kufuta kumbukumbu za kushindwa kwa uthibitishaji wa mtumiaji, endesha amri hii.

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

Mwishowe, ili kuuambia mfumo usifunge akaunti za mtumiaji au za mtumiaji baada ya majaribio kadhaa ya kuingia bila kufaulu, ongeza ingizo lililowekwa alama nyekundu, juu tu ambapo pam_faillock inaitwa kwa mara ya kwanza chini ya sehemu ya uthibitishaji katika faili zote mbili (/etc/pam.d/ system-auth na /etc/pam.d/password-auth) kama ifuatavyo.

Ongeza tu majina ya watumiaji yaliyotenganishwa ya koloni kamili kwa chaguo la mtumiaji.

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

Kwa maelezo zaidi, angalia pam_faillock na kurasa za mtu zisizofanikiwa.

# man pam_faillock
# man faillock 

Unaweza pia kupenda kusoma makala zifuatazo muhimu:

  1. TMOUT - Ondoka Kiotomatiki Shell ya Linux Wakati Hakuna Shughuli Yoyote
  2. Hali ya Mtumiaji Mmoja: Kuweka upya/Kurejesha Nenosiri la Akaunti ya Mtumiaji Lililosahaulika
  3. Mbinu 5 Bora za Kulinda na Kulinda Seva ya SSH
  4. Jinsi ya Kupata Arifa za Barua Pepe za Kuingia na Mtumiaji SSH

Ni hayo tu! Katika makala haya, tulionyesha jinsi ya kutekeleza usalama rahisi wa seva kwa kufunga akaunti ya mtumiaji baada ya x nambari ya kuingia isiyo sahihi au majaribio yasiyofanikiwa ya uthibitishaji. Tumia fomu ya maoni hapa chini kushiriki maswali au mawazo yako nasi.