5 başarısız oturum açma denemesinden sonra kullanıcıları nasıl kilitleyebilirim?


12

5 başarısız oturum açma denemesinden sonra kullanıcıları nasıl kilitleyebilirim?

Nasıl yapılacağına dair birkaç dağıtım / sürüm topladım, ancak test edemiyorum.

RHEL4 : aşağıdakileri ekleyerek:

auth        required      /lib/security/$ISA/pam_tally.so no_magic_root
account     required      /lib/security/$ISA/pam_tally.so deny=5 reset no_magic_root

için:

/etc/pam.d/system-auth
/etc/pam.d/login
/etc/pam.d/sshd

RHEL4 : ???

SLES9 : aşağıdakileri ekleyerek:

auth required pam_tally.so no_magic_root
account required pam_tally.so deny=5 reset no_magic_root

için:

/etc/pam.d/login
/etc/pam.d/sshd

SLES11 veya SLES10 : aşağıdakileri ekleyerek:

auth required pam_tally.so deny=5 onerr=fail per_user no_lock_time

için:

/etc/pam.d/common-auth

AND ekleyerek:

account required pam_tally.so

için:

/etc/pam.d/common-account

SORU : Birisi, 5 başarısız oturum açma denemesinden sonra kullanıcıları kilitlemenin işe yarar / iyi bir yolu olduğunu teyit edebilir mi? VEYA NASIL YAPILIR?

ps:

/sbin/pam_tally --user USERNAME --reset

yapmadan önce yapılacak faydalı bir şey nedir? Kök kullanıcıyı bunlarla kilitleyebilir miyim? PAM'ı düzenlemek çok hassas bir şeydir, çünkü insanlar kendilerini sunucudan kilitleyebilirler (yani kök kullanıcı). Bunu yaparken ipucu var mı?


taksitli modül bunu yapmak için bir yol, ama orijinal bir oldukça kırık ve sezgisel olmadığı için pam_tally2 tavsiye ederim. Ayrıca, kök böyle bir şekilde kilitlenmeye açıktır, ancak bunu etkinleştirmeniz gerekirno_magic_root
Bratchley

BTW, kök hesabında herhangi bir kilitleme yapılmasını önermem, bu bir şeylerin yanlış gitmesi durumunda kaçış kapağınız (örneğin, hesap kilitleme ile) ve saldırganların zaten doğrudan vektörleri olmamalıdır.
Bratchley

SLES10 için de no_magic_root gerekir mi?
gasko peter

Tüm GNU / Linux dağıtımları aynı temel yukarı akış projeleri setini temel alır, bu nedenle Novell pam_tally modülünün sürümlerini insanları şaşırtacak şekilde değiştirmek için çaba göstermedikçe, SuSE'de diğer dağıtımlarla aynı olmalıdır.
Bratchley

1
Bunun iyi bir fikir olduğundan emin misin? Bu şekilde her kullanıcı diğer kullanıcıların oturum açmasını kolayca engelleyebilir. Yüksek bir gecikme kullanmak IMO daha pratiktir, ancak kendiniz karar verin.
Marco

Yanıtlar:


17

Fail2ban'a bir göz atmak isteyebilirsiniz. Belirli sayıda başarısız denemeden sonra bir hesabı kilitleyecek ve daha sonra belirli bir süre sonra kilidini açacak şekilde yapılandırılabilir.

http://www.fail2ban.org/wiki/index.php/Downloads

Kullanmak konusunda gerçekten ciddiyseniz pam_tally, muhtemelen kullanmak istersiniz pam_tally2. Güncel olan herhangi bir PAM paketi ile kurulmalıdır. Nasıl kullanılacağını görmek için bir adam pam_tally2 yapabilirsiniz .

İşte başlamanıza bir örnek. Aşağıdaki dosyayı pam dosyasındaki kimlik doğrulama bölümünün başına ekleyin /etc/pam.d/password-auth:

auth        required      pam_tally2.so  file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200

Aynı dosyada bunu hesap bölümüne ekleyin:

account     required      pam_tally2.so

Yukarıdaki parametreler aşağıdaki gibidir:

  • file=/var/log/tallylog - Varsayılan günlük dosyası, giriş sayılarını korumak için kullanılır.
  • deny=3 - 3 denemeden sonra erişimi engelleyin ve kullanıcıyı kilitleyin.
  • even_deny_root - Politika kök kullanıcı için de geçerlidir.
  • unlock_time=1200 - 20 dk. (60 sn. * 20 dk. = 1200 sn.)

Eğer değişiklik dışarı kök kilitlemek için istemiyorsanız even_deny_root için magic_root .

Kök hesabını kilitlemek isteyip istemediğiniz sorulabilir. Bunun yerine, kök hesabın kilitlenebileceği, ancak diğer hesaplardan daha kısa bir süre için böyle bir şey yapmak isteyebilirsiniz:

auth        required      pam_tally2.so  file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200 root_unlock_time=60

Bu, root hesabını sadece bir dakika boyunca kilitler, diğer herkes normal 1200 saniye.

Örnek bir günlük dosyası aşağıdaki gibi görünecektir:

$ ssh me@somemachine
me@somemachine's password:
Permission denied, please try again.
me@somemachine's password:
Permission denied, please try again.
me@somemachine's password:
Account locked due to 4 failed logins
Account locked due to 5 failed logins
Last login: Mon Jun 4 21:21:06 2013 from someothermachine

Kilitli hesaplar hakkında pam_tally2 komutunu kullanarak bilgi alabilirsiniz:

$ pam_tally2 --user=me
Login           Failures  Latest    failure     From
me                   5    06/04/13  21:21:06    someothermachine

Kısıtlamanın kilidini şu şekilde açabilirsiniz:

pam_tally2 --user=me --reset
Login           Failures  Latest    failure     From
me                  5     06/04/13  21:21:06    someothermachine

Şimdi hesap pam_tally2'de şöyle görünüyor:

$ pam_tally2 --user=me
Login           Failures   Latest   failure     From
me                 0

Referanslar


2

pam_tally2Başlangıçta beni karıştırdı, ama takip ettikten sonra anladım man pam_tally2-

  EXAMPLES
   Add the following line to /etc/pam.d/login to lock the account after 4 failed logins.
   Root account will be locked as well. The accounts will be automatically unlocked after
   20 minutes. The module does not have to be called in the account phase because the
   login calls pam_setcred(3) correctly.

   auth     required       pam_securetty.so
   auth     required       pam_tally2.so deny=4 even_deny_root unlock_time=1200
   auth     required       pam_env.so
   auth     required       pam_unix.so

yukarıdaki ifadeler biraz kafa karıştırıcıdır, çünkü aslında sadece pam_tally2.sosatırı eklersiniz .

böylece /etc/pam.d/logindiğer tüm authsatırların altına düzenleyebilir ve ekleyebilirsiniz :

   auth     required       pam_tally2.so deny=4 even_deny_root unlock_time=1200

ya da varsa /etc/pam.d/system-authoraya ekleyebilirsiniz.

herhangi bir hizmetin yeniden başlatılması veya yeniden yüklenmesi gerekmez - yeni yerel girişler için hemen aktif hale gelir.

not: veya diğer uzak servislere de pam_tally2başvurmak istiyorsanız sshd, satırı /etc/pam.d/sshdve / veya/etc/pam.d/password-auth


çalışıp çalışmadığını kontrol etmek için geçerli bir kullanıcıyla başarısız bir giriş denemesi yapın, ardından çalıştırın pam_tally2

örneğin, jacobrun adlı bir kullanıcı için :

  $ sudo pam_tally2 -u jacob

ve şöyle bir çıktı verecektir:

  Login           Failures Latest   failure     From
  jacob           1        01/01/01 11:00:00    tty1

çok fazla giriş denemesi başarısız olursa ve hesap kilitliyse, hesabın kilidini manuel olarak açabilirsiniz:

  $ sudo pam_tally2 -u jacob --reset
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.