Form tabanlı kimlik doğrulaması için kesin rehber sitesi
Form tabanlı web siteleri için kimlik doğrulaması
Yığın Taşması Sadece ortak sorunlar üzerine varyasyonlar nasıl çözüleceğine ilişkin genel kurallar için çok özel bir teknik sorular için, ama aynı zamanda bir kaynak olmaması gerektiğini düşünüyoruz. "Web tabanlı kimlik doğrulama formu" böyle bir deneme için iyi bir konu olmalı.
Gibi konuları içermelidir:
- Nasıl oturum açmak için
- Nasıl giriş kalır
- Nasıl şifrelerinizi saklamak için
- Gizli soruları kullanarak
- Unutulmuş/parola işlevselliği kullanıcı adı
- OpenID
- "Bana" onay kutusu
- Kullanıcı adı ve şifre tarayıcı otomatik tamamlama
- Gizli URL (kamu URLs digest tarafından korunan)
- Şifre gücü kontrol
- E-posta doğrulama
- ve çok daha fazlası form based authentication. yaklaşık
Gibi şeyler içermemelidir:
- roller ve yetkilendirme
- HTTP temel kimlik doğrulaması
Bize yardım edin lütfen
- Alt konular düşündüren
- Bu konu hakkında iyi bir yazı göndererek
- Resmi cevap düzenleme
CEVAP
MevcutKAPTANsonra N girişimleri başarısız oldu (cehennem ve sık sık -- ama burada kendimi tekrarlayıp duruyorum etkisiz sinir bozucu)
Hesap kilitlemeve N sonra e-posta doğrulama gerektiren girişimleri (DoS bir saldırı olmasını bekliyor) başarısız oldu
Ve son olarakgiriş azaltma: bu ayar, bir zaman gecikmesi arasında çalışır sonra N başarısız girişim (Evet, DoS saldırıları hala mümkün, ama en azından onlar çok daha az ve çok daha karmaşık çekip).
En iyi #1 Uygulama:Kısa bir zaman başarısız denemelerin sayısı ile artar gecikmesi:
- 1 girişimi başarısız oldu = gecikme
- Çalışır 2 = 2 sn gecikme başarısız oldu
- 3 denemeden = 4 sn gecikme başarısız oldu
- Çalışır 4 = 8 saniye gecikme başarısız oldu
- 5 denemeden = 16 sn gecikme başarısız oldu
- vb.
DoS bu düzeni saldırıyorgecikme katlanarak artar bu yana, ancak diğer taraftan, potansiyel olarak yıkıcı, çok kullanışsız. Bir DoS saldırısı birkaç gün süren hafta için Kullanıcı askıya olabilir.
Netleştirmek için: gecikmedeğiltarayıcı yanıt dönmeden önce bir gecikme. Hangi sırasında belirli bir IP adresinden belirli bir hesap veya oturum açma girişimleri kabul edilmeyecektir ya da hiç değerlendirilmesi zaman aşımı veya inatçı bir süre daha. Yani, doğru kimlik bilgilerini başarılı bir giriş dönecek ve yanlış kimlik bilgileri gecikme bir artış tetikler.
En iyi #2 Uygulama:N girişimleri başarısız sonra yürürlüğe girer orta uzunlukta bir süre gibi
- 1-4 = gecikme girişimleri başarısız oldu
- 5 = 15-30 dakika gecikme girişimleri başarısız oldu
DoS bu düzeni saldıran oldukça pratik, ama kesinlikle yapılabilir. Ayrıca, bu kadar uzun bir gecikme meşru bir kullanıcı için çok can sıkıcı olabilir ilgili olabilir. Unutkan kullanıcılar sevmediğim.
En iyi #3 uygulama:İki yaklaşımı birleştirmek ya da N sonra yürürlüğe girer sabit, kısa bir süre başarısız girişim, gibi:
- 1-4 = gecikme girişimleri başarısız oldu
- 5 denemeden = 20 sn gecikme başarısız oldu
Ya da, sabit bir üst sınır ile artan bir gecikme, gibi:
- 1 girişimi başarısız oldu = 5 sn gecikme
- Çalışır 2 = 15 sn gecikme başarısız oldu
- 3 denemeden = 45 saniye gecikme başarısız oldu
Bu nihai düzeni OWASP en iyi uygulamalar, öneriler (mutlaka okunması GEREKEN listeden bağlantı 1) alındı, ve eğer kuşkusuz kısıtlayıcı tarafta ise bile en iyi uygulamaları dikkate alınmalıdır.
Genel bir kural olarak, ancak söyleyebilirim: güçlü parola ilkesi, daha az gecikme ile kullanıcıların hata var. Eğer güçlü (büyük küçük harf duyarlı alfanümerik gerekli sayılar ve simgeler) 9 karakter şifre gerektiriyorsa, azaltma etkinleştirmeden önce kullanıcılar 2-4 olmayan gecikmeli şifre girişi verebilirsin.
DoS bu son oturum açma azaltma düzeni saldıran olacaktırçokpratik. Ve son bir dokunuş olarak, her zaman (cookie) kalıcı oturumları (ve/veya KAPTAN doğrulanmış bir oturum açma formu) geçmesine izin vermek, meşru kullanıcılar bile oyalanmayacaksaldırı devam ederken. Bu şekilde, çok pratik DoS saldırı olurson derecepratik saldırı.
Ayrıca, bu en çekici giriş noktaları olduğundan mantıklı yönetici hesapları hakkında daha fazla agresif bir azaltma yapmak için yapar
BÖLÜM: Dağıtılmış Kaba Kuvvet Saldırıları
Sadece bir kenara, daha gelişmiş saldırganların giriş azaltma ile atlatmak için çalışacağız 'faaliyetlerini yaymak':
IP engellemek için bir botnet üzerinde çalışır dağıtma işaretleme adresi
Bir kullanıcı çekme ve en yaygın 50.000 şifreleri onlar değil, bizim kısıtlama nedeniyle () çalışmak yerine, en çok kullanılan şifre almak ve 50.000 kullanıcılara karşı yerine çalışacağız. Bu şekilde, sadece onlar etrafımda maksimum çalışır önlemleri gibi Captcha'lar ve giriş azaltmayı, onların başarı şansını artırır gibi madem 1 numara en yaygın şifre çok daha fazla sayıda 49.995
Her kullanıcı hesabı için oturum açma istekleri aralığı, ki 30 saniye arayla, radar altında gizlice
Burada en iyi yöntem olurdubaşarısız oturum açma sayısı günlüğü, sistem genelindeve sonra tüm kullanıcılar empoze eden bir üst sınır olarak sitenizin kötü-giriş frekans çalışan bir ortalama kullanarak.
Soyut mu? İzin vermek beni
Sitenizi son 3 ay içinde her gün 120 kötü oturumları ortalama olmuştur söylüyorlar. (Ortalama çalışan) kullanarak, sistem 3 katı-yani küresel sınır belirlemiş olabilir. 24 saatlik bir süre içinde 360 başarısız girişim. O zaman, eğer toplam başarısız girişim karşısında tüm hesaplarını aşan bir sayı içinde bir gün (veya daha iyisi monitör hızının ivmesi ve tetik hesaplanan bir eşiği), aktive sistem-geniş giriş daraltmayı anlamı kısa gecikmeler için TÜM kullanıcılar (yine de, dışında kurabiye oturumları ve/veya yedek KAPTAN oturumları).
Ben de dağıtılmış kaba kuvvet saldırılarına defediyor more details and a really good discussion of how to avoid tricky pitfals ile ilgili bir soru gönderildi
BÖLÜM VIII: İki Faktörlü kimlik Doğrulama ve Kimlik Doğrulama Sağlayıcıları
Kimlik, ister açıkları, şifreler yazılmış ve kaybolmuş, çalınmış anahtarlar ile dizüstü bilgisayarlar, ya da kullanıcıların kimlik avı siteleri oturumları içine girerek tehlikeye girebilir. Oturumları daha iki faktörlü tek kullanımlık kodlar telefon görüşmesi, SMS mesajı alınan, uygulama veya donanım kilidi gibi bant dışı faktörler kullanan kimlik doğrulaması ile korunan olabilir. Birkaç sağlayıcıları iki faktörlü kimlik doğrulama hizmetleri sunuyoruz.
Kimlik doğrulama tamamen başka bir sağlayıcı kimlik bilgileri toplama kolları tek-Çoklu Oturum Açma hizmeti için yetki verilebilir. Bu güvenilir bir üçüncü taraf için sorun iter. Google, Facebook ve Twitter benzer özel bir çözüm sağlarken standart tabanlı SSO hizmetleri sağlamak, hem de.
Uygulama *için OAuth2 ile kimlik doğru...
Ayrıca güvenli bir web hizmetine erişi...
node.js kimlik doğrulaması için Kullan...
numarasını: ÖNEMLİ: kullanıcı "is...
Ne belirteç tabanlı kimlik doğrulaması...