Bir yanlış şifre girdikten sonra oluşan gecikmeyi nasıl değiştirir?


32

Giriş isteminde yanlış bir şifre girdikten sonra yaklaşık 3 saniyelik bir gecikme olur. Bunu Linux sisteminde PAM ile nasıl değiştirebilirim?


1
Bir güvenlik açısından bir gecikme ihtiyacını olsun, ancak varsayılan gecikme olduğunu oldukça rahatsız edici
Mike Pennington

3
Bu ilginçti; belki N'nin gecikme olmadan denemesine izin veren bir modül yazacağım, ardından uzun gecikmeli herhangi bir sayıda denemeden sonra gelebilir.
Shawn J. Goff

1
Bunun yerine (benim önceki yorum önerildiği) Yeni bir modülün, kullandığım pam_unixile nodelayseçeneği ve pam_tally2ile deny=5 unlock_time=15; bu, 5 anında yeniden denemeye izin verir, ancak 15 saniye boyunca (başarılı bir parola olsa bile) erişimi reddeder. Tanımlanan modeli yazmaya çalışmayı düşünüyorum, ama şimdi bu bir geri yakıcı projesi, çünkü sisteme birincil erişiminiz ağ tabanlıysa, bu bir DOS saldırısı önemsiz hale getirdiği için uygun olmaz.
Shawn J. Goff,

1
Eğer zaman aşımına uğrayan bir DoS ağı hakkında endişeleniyorsanız, fail2ban kullanın ... aslında güvende olduğunuzu düşünüyor olsanız bile kullanın :-). iki günlük yasaklama sürelerini kullanıyorum
Mike Pennington

Yanıtlar:


21

Linux ve Pam'i kullandığınızı varsayıyorum. Gecikme muhtemelen kaynaklanmaktadır pam_faildelay.so. Pam yapılandırmanızı /etc/pam.dkullanarak aşağıdakileri kontrol edin pam_faildelay, örneğin:

# Enforce a minimal delay in case of failure (in microseconds).
# (Replaces the `FAIL_DELAY' setting from login.defs)
# Note that other modules may require another minimal delay. (for example,
# to disable any delay, you should add the nodelay option to pam_unix)
auth       optional   pam_faildelay.so  delay=3000000

Süreyi değiştirmek için gecikme parametresini ayarlayın. Gecikmeden kurtulmak istiyorsanız tüm satırı silebilir / yorum yapabilirsiniz.

Gecikme için başka bir kaynak olabilir pam_unix.so. Parametrenin pam_unix.soeklenmesinden kaynaklanan gecikmeyi devre dışı bırakmak nodelayve isteğe bağlı olarak pam_faildelay.sobunun yerine (değişken) bir gecikme eklemek için bir çağrı ekleyin, örneğin:

auth       optional   pam_faildelay.so  delay=100000

2
Hiçbir yerde gecikme söz değil /etc/pam.d/*. Gördüğüm en yakın şey, pam_tally.sobirkaç denemeden sonra kilitlenmeyi sağlayan şey . Ama /etc/login.defsihtiyacım olan şey n olabilir.
Shawn J. Goff

@ ShawnJ.Goff pam_tally.sobildiğim kadarıyla gecikmeye neden olmaz. Dealy için başka bir kaynak olabilir pam_unix.so- nodelayseçeneği ile devre dışı bırakabilirsiniz - daha fazla ayrıntı için linux.die.net/man/8/pam_unix'e bakın
Ulrich Dangel

1
Ekleme nodelayseçeneği pam_unix.soile yeni bir giriş ekleyerek pam_faildelay.so delay=$some_numberbana ne istersem belirlemenize olanak tanır. Teşekkürler!
Shawn J. Goff,

2
23 numaralı fötrü pam_unix.soçalıştırırken , gecikmeyi devre dışı bırakmak ve pam_faildelay.sobirisini @ ShawnJ.Goff'un dediği gibi kullanmaya başlamak zorunda kaldım . Ancak, çoğu pam.d"yapılandırmaları var Bu dosya otomatik olarak oluşturulur. Kullanıcı değişiklikleri AuthConfig çalıştırılan bir dahaki sefere yok edilecektir. " Bu yüzden nerede kalıcı gecikme yapılandırabilirsiniz?
jozxyqk

11

nodelayParametreyi 'e iletmeniz gerekir auth pam_unix.so.

Kimliğinizi nasıl doğruladığınıza bağlı olarak, parametreyi nereye ayarlamanız gerektiği değişir. ancak çoğu linux dağıtımı, /etc/pam.d/system-authtüm farklı dosyaların içerdiği bir şeye sahiptir.

Yani örneğin /etc/pam.d/system-auth sizde şöyle görünen bir çizginiz olabilir:

auth            sufficient      pam_unix.so try_first_pass nullok

Bu şununla değiştirilmelidir:

auth            sufficient      pam_unix.so try_first_pass nullok nodelay

pam_unix.soModül karşı kimlik doğrulaması gerçekleştirir şeydir /etc/passwdve /etc/shadow. Sen LDAP veya başka şifre arka uç kullanarak, büyük olasılıkla hala ayar edilmelidir nodelayüzerinde pam_unix.soki (ne zaman istemi kontrolleri ne kadar pam_unix.soauth edememesi durumunda, bu genellikle sadece bir sonraki modüle edilen şifresini geçer).

Sen hakkında daha fazla bilgi edinebilirsiniz pam_unix.soyaparakman pam_unix


Benim sistemimde system-authyoktu; öyleydi /etc/common-auth. Teşekkürler!
Luc,
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.