Siber Güvenlik kod örnekli
Rate Limiting Yeterli Değil: Kaba Kuvvet Saldırılarına Katmanlı Savunma
IP bazlı hız sınırlama tek başına yeterli değil. Hesap kilitleme, CAPTCHA tetikleme eşiği ve dağıtık saldırı tespiti bir arada gerekir.
İçindekiler
Bu yazıyı dinle
Yapay zekâ sesiyle yaklaşık 2 dakikalık özet
Kaba Kuvvet Saldırısı Savunma, bu yazıda ele aldığımız konunun tam merkezinde yer alıyor; aşağıdaki başlıklarda konuyu uygulanabilir adımlarla ele alıyoruz.
"IP başına dakikada 5 deneme" kuralı, tek bir bilgisayardan yapılan basit saldırıları durdurur ama binlerce farklı IP'den (botnet) yapılan dağıtık kaba kuvvet saldırılarında işe yaramaz — her IP zaten limit altında kalır.

IP bazlı hız sınırlama: gerekli ama yetersiz ilk katman
Yine de bu katmanı kaldırmayın; tek kaynaklı saldırıların büyük çoğunluğunu ucuza filtreler. Sadece "bu yeterli" varsayımına düşmeyin.
$attempts = $cache->get("login_attempts:{$ip}") ?? 0;
if ($attempts > 5) {
return $response->setStatusCode(429);
}
$cache->save("login_attempts:{$ip}", $attempts + 1, 300);
Hesap bazlı kilitleme: hedeflenen kullanıcıyı korur
Saldırgan farklı IP'ler kullansa da hedef aldığı kullanıcı adı sabittir. Belirli bir hesaba kısa sürede çok sayıda başarısız deneme yapılırsa, IP'den bağımsız olarak o hesabı geçici süreyle kilitleyin ve kullanıcıyı bilgilendirin.
Hesap kilitleme özelliğinin kendisi bir DoS aracına dönüşebilir — saldırgan bilerek yanlış şifre deneyerek meşru kullanıcıyı hesabından kilitleyebilir. Kilitleme yerine artan gecikme (progressive delay) veya ek doğrulama daha dengeli bir seçenektir.
Davranışsal analiz: dağıtık saldırıları yakalama
Aynı anda farklı hesaplara farklı IP'lerden ama aynı user-agent, aynı zamanlama deseniyle yapılan girişler, "credential stuffing" (çalıntı şifre listesiyle deneme) saldırısının imzasıdır. Bu deseni yakalamak için giriş isteklerinin toplu istatistiklerini izlemek gerekir.
Bilinen çalıntı e-posta/şifre listeleriyle (haveibeenpwned API gibi) kullanıcı girişlerini karşılaştırıp eşleşen kayıtlarda ek doğrulama (MFA) zorunlu kılmak, credential stuffing'in etkisini büyük ölçüde azaltır.
Konuyu daha derinlemesine incelemek isteyenler için: OWASP Top Ten.
İlgili Yazılar
- Açık Kaynak Bir Bağımlılığı Güvenle Değerlendirmenin Kontrol Listesi
- Kurum İçi Eğitim Programı Tasarlarken Yapılan En Büyük Hata
- İki Faktörlü Doğrulama: SMS, TOTP ve Passkey Farkı
Pratik Uygulama Kontrol Listesi
Bu yazıdaki önerileri kendi ekibinize uyarlarken aşağıdaki adımları sırasıyla uygulamanız, teoriden pratiğe geçişi kolaylaştırır:
- Mevcut durumu ölçün. Değişiklik yapmadan önce bugünkü performansı/süreyi/hata oranını kaydedin; aksi halde iyileşmeyi kanıtlayamazsınız.
- Küçük bir pilot seçin. Tüm sisteme veya tüm ekibe birden uygulamak yerine tek bir modülde veya tek bir sprintte deneyin.
- Sonuçları ekiple paylaşın. Elde ettiğiniz veriyi (olumlu ya da olumsuz) kısa bir notla ekibe aktarın; kararın gerekçesi belgelenmemişse aynı tartışma birkaç ay sonra tekrar açılır.
- Süreci tekrarlanabilir hale getirin. İşe yarayan pratiği bir kontrol listesine veya şablona dönüştürün ki yeni katılan ekip üyeleri de aynı standardı hızlıca öğrensin.
Kaba Kuvvet Saldırısı Savunma konusunda attığınız her küçük adım ölçülebilir olduğu sürece değerlidir; büyük ve tek seferlik dönüşümler yerine sürekli, küçük iyileştirmeler uzun vadede daha kalıcı sonuç verir.
Sık Yapılan Yanlışlar
Bu konuda ekiplerin en çok düştüğü tuzak, çözümü tek bir kişiye ya da tek bir araca yüklemektir. Oysa kalıcı iyileşme, sürecin ekibin günlük rutinine (code review kontrol listesi, sprint planlama, onboarding dokümanı gibi) gömülmesiyle mümkün olur. İkinci yaygın hata ise "en iyi pratiği" olduğu gibi kopyalamaktır — başka bir ekipte işe yarayan bir yaklaşım, farklı bir ölçekte veya farklı bir teknoloji yığınında aynı sonucu vermeyebilir; önce kendi bağlamınızda küçük ölçekte test edin, sonra genişletin. Üçüncü tuzak ise ölçmeden karar vermektir: "daha iyi hissettiriyor" öznel bir gerekçedir, ekip içi tartışmalarda nesnel veriyle desteklenmeyen kararlar er ya da geç sorgulanır ve geri alınır. Son olarak, dokümantasyonu atlamak da sık görülen bir hatadır: bir kararın "neden" alındığı yazılı değilse, ekip altı ay sonra aynı tartışmayı sıfırdan yeniden yapmak zorunda kalır ve önceki deneyimden öğrenilenler kaybolur.
Sonuç
Rate Limiting Yeterli Değil: Kaba Kuvvet Saldırılarına Katmanlı Savunma konusunda burada değindiğimiz noktalar, konuyu ilk kez ele alan ekipler için de deneyimli geliştiriciler için de pratik bir kontrol listesi görevi görür. kaba kuvvet saldırısı savunma üzerine çalışırken en çok fayda sağlayan yaklaşım, tek seferde her şeyi mükemmelleştirmeye çalışmak yerine küçük, ölçülebilir adımlarla ilerlemektir. Ekibinizde bu konuyu bir sonraki sprint retrospektifinde veya teknik tartışma toplantısında gündeme getirmenizi, burada anlatılan pratiklerden hangilerinin sizin bağlamınıza uyduğunu birlikte değerlendirmenizi öneririz. Sonuç olarak, doğru araçları seçmek kadar bunları ekip kültürüne oturtmak da başarıyı belirleyen asıl etkendir.
Sık sorulan sorular
CAPTCHA her giriş denemesinde gösterilmeli mi?
Hayır, kullanıcı deneyimini bozar; adaptif olarak sadece şüpheli desen tespit edildiğinde gösterilmesi daha dengelidir.
MFA kaba kuvvet saldırısını tamamen engeller mi?
Şifre kırılsa bile ikinci faktör olmadan girişi engeller, bu yüzden en etkili tek önlemlerden biridir.
Rate Limiting Yeterli Değil: Kaba Kuvvet Saldırılarına Katmanlı Savunma konusuna nereden başlamalıyım?
Önce mevcut sürecinizdeki en büyük sürtünme noktasını tespit edin, ardından bu yazıdaki adımlardan sizin ölçeğinize uygun olanları küçük bir pilot uygulamayla test edin.
kaba kuvvet saldırısı savunma ile ilgili en sık yapılan hata nedir?
En yaygın hata, konuyu tek seferlik bir görev gibi ele alıp süreç haline getirmemektir; sürekli gözden geçirme olmadan elde edilen kazanımlar zamanla geri kaybedilir.
Yazan
Çılgın Yazılım
Ben Evren Çılgın; yazılım geliştirme, web teknolojileri ve sistem tasarımı alanlarında uzmanlaşmış bir geliştiriciyim. Uzun yıllardır hem frontend hem de backend tarafında üretken, ölçeklenebilir ve kullanıcı dostu çözümler üretiyorum.
Bu konuda bir projeniz mi var?
İhtiyacınızı birkaç cümleyle anlatın; uygun yaklaşımı birlikte belirleyelim.
İlgili yazılar
Yorumlar
Henüz yorum yok. Sorunuzu ya da deneyiminizi ilk siz yazın.
Yorum yazın
Yorumunuz onaylandıktan sonra yayınlanır. Ekibimiz gerekirse konuyla ilgili bir yanıt da paylaşır.

