SSH անվտանգություն. Կողպել ձախողված մուտքի փորձեր pam_faillock-ով


pam_tally2 մոդուլը, որը ժամանակին օգտագործվում էր օգտատերերի հաշիվները արգելափակելու համար SSH մուտքի որոշակի անհաջող փորձերից հետո, հնացել է և փոխարինվել pam_faillock-ով RHEL-ի վրա հիմնված բաշխումներում և այլ ժամանակակից Linux-ում։ բաշխումներ՝ շնորհիվ ավելի ճկունության և անվտանգության տարբերակների:

Նախկինում pam_tally2 մոդուլը պատասխանատու էր մուտքի անհաջող փորձերի հաշվման և հաշիվների արգելափակման համար: Այնուամենայնիվ, որպես անվտանգության բարելավման մաս, pam_faillock-ը դարձել է Linux-ի նոր տարբերակներում մուտքի անհաջող փորձերը կառավարելու չափանիշ՝ ապահովելով ավելի լավ ինտեգրում և կազմաձևման ավելի շատ տարբերակներ:

Անցում pam_tally2-ից pam_faillock-ին

Թեև pam_tally2 բաղկացած էր երկու մասից՝ pam_tally2.so և pam_tally2 հրամանից, այն աստիճանաբար հանվել է հօգուտ pam_tally2.:, որը նախատեսված է մուտք գործելու փորձերն ավելի ապահով և ճկուն կերպով վարելու համար:

pam_faillock-ն առաջարկում է նմանատիպ գործառույթներ, սակայն բարելավումներ, ինչպիսիք են՝

  • Ընդլայնված գրանցում և անհաջող փորձերի մասին հաշվետվություն:
  • Հաշվի արգելափակման քաղաքականության ավելի լավ վարում:
  • Աջակցություն կարգավորելի սահմանափակումների անհաջող մուտքի փորձերի և հաշվի ավտոմատ ապակողպման համար ժամանակի ավարտից հետո:

Այս հոդվածը ցույց է տալիս, թե ինչպես կարելի է կարգավորել SSH հաշվի արգելափակումները՝ օգտագործելով pam_faillock մոդուլը որոշակի թվով անհաջող մուտքի փորձերից հետո:

Ինչպես կողպել և բացել օգտատերերի հաշիվները pam_faillock-ով

Բացեք PAM-ի կազմաձևման ֆայլերը /etc/pam.d/password-auth և /etc/pam.d/sshd՝ կախված ձեր համակարգից և ծառայությունից: կոնֆիգուրացիա.

sudo vi /etc/pam.d/password-auth
sudo vi /etc/pam.d/sshd

Ավելացրեք հետևյալ տողերը auth բաժնի սկզբում` մուտքի անհաջող փորձի քաղաքականությունը կարգավորելու համար.

auth        required      pam_faillock.so preauth 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=1200

Ավելացրեք հետևյալ տողը account բաժնում` հաշիվների կառավարումը մուտքի ձախողումների համար միացնելու համար.

account     required      pam_faillock.so

Պարամետրերի բացատրություն.

  • մերժել=3. մերժել մուտքը 3 անհաջող փորձից հետո:
  • even_deny_root. Կիրառեք քաղաքականությունը նաև արմատային օգտվողին:
  • unlock_time=1200. ավտոմատ ապակողպեք հաշիվը 20 րոպեից (1200 վայրկյան) հետո: Հեռացրեք այս տարբերակը, եթե ցանկանում եք, որ հաշիվը կողպված մնա մինչև ձեռքով զրոյացնել:
  • աուդիտ. գրանցում է մուտքի անհաջող փորձերը համակարգի աուդիտի մատյան:

Այժմ բացեք /etc/security/faillock.conf ֆայլը և նշեք, թե քանի անհաջող փորձեր կհանգեցնեն արգելափակման և արգելափակման ժամանակահատվածի տևողությունը:

Number of allowed failures before lockout
deny = 5

Lockout duration in minutes
unlock_time = 15

Path to the faillock database
Optional: You can specify where to store faillock information
faillock_path = /var/lib/faillock

Այնուհետև բացեք /etc/ssh/sshd_config ֆայլը և միացրեք հետևյալ կարգավորումը՝ PAM-ն օգտագործելու համար SSH նույնականացման համար:

UsePAM yes

Փոփոխությունները կիրառելու համար վերագործարկեք SSH ծառայությունը.

sudo systemctl restart sshd

Ինչպես ստուգել SSH հաշվի արգելափակման գործառույթը

Վերոնշյալ կոնֆիգուրացիան պահպանելուց հետո կարող եք ստուգել մուտքի արգելափակման մեխանիզմը՝ կատարելով SSH սերվեր մուտք գործելու 3 անհաջող փորձ:

ssh [email 

[email 's password:
Permission denied, please try again.
[email 's password:
Permission denied, please try again.
[email 's password:
Account locked due to 3 failed logins

Ինչպես ստուգել օգտվողի SSH մուտքի ձախողումները

Որոշակի օգտվողի համար մուտքի անհաջող փորձերը ստուգելու համար օգտագործեք հետևյալ հրամանը.

sudo faillock --user username

Ելքի օրինակ.

Login           Failures  Latest failure     From
user                3     10/17/2024 14:15   192.168.0.5

Ինչպես վերականգնել կամ բացել օգտվողի հաշիվը

Անհաջող փորձերը վերականգնելու և օգտվողի հաշիվը բացելու համար օգտագործեք հետևյալ հրամանը.

sudo faillock --user username --reset

Այս հրամանը ջնջում է ձախողված փորձերի քանակը և ապակողպում օգտվողին:

Օգտատիրոջ հաշիվը ստուգելը ապակողպված է

Դուք կարող եք հաստատել, որ հաշիվն ապակողպված է՝ կրկին գործարկելով faillock հրամանը.

sudo faillock --user username

Եթե մուտքի անհաջող փորձեր չլինեն, ելքը դատարկ կլինի, ինչը ցույց է տալիս, որ օգտվողի հաշիվն ապակողպված է:

Եզրակացություն

Եզրափակելով՝ pam_faillock մոդուլն ապահովում է մուտքի անհաջող փորձերը կառավարելու բարելավված և ավելի ապահով եղանակ՝ փոխարինելով այժմ հնացած pam_tally2-ին: Համոզվեք, որ թարմացրել եք ձեր PAM-ի կազմաձևման ֆայլերը՝ օգտագործելու pam_faillock՝ լավագույն փորձին և անվտանգության չափանիշներին արդի մնալու համար:

Լրացուցիչ տեղեկությունների համար կարող եք օգտագործել հրամանի տողից pam_faillock մարդ:

man pam_faillock