DDoS Attack Nedir? Nasıl Çalışır ve Nasıl Korunulur?
Siber güvenlik dünyasında sıkça karşılaşılan saldırı türlerinden biri DDoS (Distributed Denial of Service) saldırılarıdır.DDoS saldırılarının temel amacı bir sistemin, sunucunun veya internet hizmetinin normal kullanıcılar tarafından erişilemez hale gelmesine neden olmaktır.
Basitçe:
Bu saldırılar sonucunda web sitesi yavaşlayabilir, bağlantılar kesilebilir veya hizmet tamamen erişilemez hale gelebilir.DDoS, bir hizmete çok büyük miktarda trafik veya istek göndererek hizmetin kapasitesini zorlamaya yönelik dağıtık bir saldırıdır.
DoS ile DDoS Arasındaki Fark Nedir?
Öncelikle DoS ve DDoS kavramlarını ayırmak gerekiyor.DoS — Denial of Service
Tek bir kaynak tarafından hedef hizmetin kullanılabilirliğini bozmayı amaçlayan saldırıdır.Saldırgan<br> │<br> │ Çok sayıda istek<br> ▼<br>Sunucu<br>
DDoS — Distributed Denial of Service
DDoS'ta ise saldırı birden fazla kaynaktan gerçekleştirilebilir.Cihaz<br> │<br>Cihaz ──────┼──────►<br> │<br>Cihaz ──────┼──────► SUNUCU<br> │<br>Cihaz ──────┼──────►<br> │<br> Cihaz<br>
Buradaki Distributed (dağıtık) kelimesi saldırı trafiğinin birden fazla kaynaktan gelmesini ifade eder.
Botnet Nedir?
DDoS saldırılarında sıkça botnet kavramıyla karşılaşılır.Botnet, saldırganın kontrolü altına girmiş çok sayıda cihazdan oluşan ağdır.
Örneğin:
Saldırgan<br> │<br> ┌───────┴───────┐<br> │ Botnet │<br> └───────┬───────┘<br> / | \<br> / | \<br> PC Sunucu IoT<br> \ | /<br> \ | /<br> Hedef<br> Sunucu<br>
Botnet içerisinde bilgisayarlar, sunucular, IoT cihazları ve güvenliği zayıf bırakılmış başka cihazlar bulunabilir.
Cihaz sahipleri çoğu zaman cihazlarının kötüye kullanıldığının farkında olmayabilir.
DDoS Saldırılarının Temel Amaçları
DDoS saldırılarının temel amacı erişilebilirliği bozmaktır.Örneğin saldırı sonucunda:
- Web sitesi yavaşlayabilir.
- Sunucu kaynakları tükenebilir.
- Ağ bağlantısı yoğunlaşabilir.
- Kullanıcılar hizmete erişemeyebilir.
- Online oyun sunucularında bağlantı problemleri yaşanabilir.
- API servisleri cevap veremeyebilir.
DDoS Saldırı Türleri
DDoS saldırılarını tek bir yöntem olarak düşünmemek gerekir.Farklı saldırı kategorileri vardır.
Volumetric Attacks
Bu saldırıların amacı hedefin ağ bağlantısını çok büyük miktarda trafikle doldurmaktır.Basitleştirilmiş şekilde:
Normal:<br><br>Kullanıcı ─────► Sunucu<br><br><br>DDoS:<br><br>Cihaz ────────►<br>Cihaz ────────►<br>Cihaz ────────► Sunucu<br>Cihaz ────────►<br>Cihaz ────────►<br>
Burada amaç ağ kapasitesini tüketerek normal kullanıcıların trafiğine yeterli kaynak bırakmamaktır.
Protocol Attacks
Bu saldırılar ağ protokollerinin çalışma biçimlerinden yararlanarak ağ cihazlarını veya sunucu altyapısını zorlamayı amaçlayabilir.Örneğin:
İstemciler<br> ↓<br>Ağ cihazları / Firewall / Load Balancer<br> ↓<br>Sunucu<br>
Bu tür saldırılarda hedef yalnızca web sunucusu olmayabilir.
Ağ altyapısındaki cihazlar da etkilenebilir.
Application Layer Attacks
Bu saldırılar uygulama katmanını hedefler.Örneğin HTTP üzerinden çalışan bir web uygulaması düşünelim.
Normal kullanıcı:
Tarayıcı<br> ↓<br>Web sitesi<br> ↓<br>Sayfa<br>
Saldırı sırasında çok sayıda kaynak uygulamaya yoğun istek gönderebilir.
Bu tür saldırılar özellikle kaynak tüketimi yüksek uygulamalarda ciddi problemlere neden olabilir.
DDoS Neden Tehlikelidir?
DDoS saldırısının tehlikesi yalnızca "çok trafik gelmesi" değildir.Örneğin bir web uygulamasının bazı işlemleri diğerlerinden çok daha fazla CPU veya veritabanı kaynağı tüketebilir.
Bu durumda saldırı trafiği:
İstek<br> ↓<br>Web uygulaması<br> ↓<br>İşlem<br> ↓<br>CPU / RAM / Database<br> ↓<br>Kaynak tüketimi<br>
şeklinde zincirleme etki oluşturabilir.
Sonuç olarak sunucu tamamen çökmese bile hizmet ciddi şekilde yavaşlayabilir.
DDoS Saldırılarına Karşı Nasıl Korunulur?
DDoS saldırılarına karşı tek bir "sihirli çözüm" yoktur.Koruma genellikle birden fazla katmanda uygulanır.
1. CDN Kullanımı
CDN sistemleri trafiği dağıtarak ve filtreleme mekanizmaları kullanarak web servislerinin korunmasına yardımcı olabilir.Özellikle büyük ölçekli DDoS saldırılarında CDN ve edge network altyapıları önemli rol oynar.
2. Rate Limiting
Bir kullanıcının veya IP adresinin belirli bir süre içerisinde gönderebileceği istek sayısını sınırlandırmak mümkündür.Örneğin:
Kullanıcı<br> ↓<br>Rate Limiter<br> ↓<br>İstek sayısı kontrolü<br> ↓<br>Web uygulaması<br>
Aşırı istek gönderen kaynaklar sınırlandırılabilir.
3. Web Application Firewall
WAF, web uygulamasına gelen HTTP/HTTPS trafiğini inceleyerek belirli kötü amaçlı trafik türlerini filtrelemeye yardımcı olabilir.Internet<br> ↓<br>WAF<br> ↓<br>Web Sunucusu<br>
Bu yapı özellikle uygulama katmanındaki saldırılara karşı faydalıdır.
4. Sunucu Kaynaklarını İzlemek
Bir sistem yöneticisinin aşağıdaki metrikleri takip etmesi önemlidir:CPU<br>RAM<br>Network Traffic<br>Requests/sec<br>Connection Count<br>Database Load<br>
Örneğin normal trafik:
100 istek/sn<br>
iken aniden:
20.000 istek/sn<br>
seviyesine çıkıyorsa bunun nedeninin araştırılması gerekir.
5. Trafik Analizi
DDoS tespitinde yalnızca trafik miktarına bakmak yeterli değildir.Şunlar da incelenebilir:
- Kaynak IP dağılımı
- İstek oranları
- HTTP durum kodları
- İstek yolları
- User-Agent dağılımı
- ASN / ağ sağlayıcısı bilgileri
- Coğrafi dağılım
- Normal trafik ile anormal trafik arasındaki fark
Normal kullanıcı davranışı ile anormal trafik davranışını ayırt etmek.
DDoS Saldırısı Olduğunda Ne Yapılabilir?
Bir saldırıdan şüpheleniliyorsa öncelikle panik yapmak yerine sistemin normal çalışma değerleriyle mevcut durum karşılaştırılmalıdır.Örnek kontrol listesi:
1. Trafik artışı gerçekten var mı?<br>2. Hangi servis etkileniyor?<br>3. Ağ mı doluyor?<br>4. CPU/RAM mi tükeniyor?<br>5. İstek sayısı mı aşırı arttı?<br>6. Trafiğin kaynağı nedir?<br>7. CDN/WAF koruması aktif mi?<br>8. Hosting sağlayıcısına bildirildi mi?<br>
Büyük saldırılarda hosting veya internet servis sağlayıcısının DDoS koruma altyapısından yararlanmak gerekebilir.
Güvenli DDoS Lab Nasıl Yapılır?
DDoS öğrenirken gerçek sistemlere saldırı yapmak yerine kontrollü bir laboratuvar oluşturmak çok daha güvenlidir.Örneğin:
┌──────────────────┐<br>│ Test Makinesi │<br>└────────┬─────────┘<br> │<br> ▼<br>┌──────────────────┐<br>│ Test Sunucusu │<br>└────────┬─────────┘<br> │<br> ▼<br> Log + Monitoring<br>
Lab içerisinde amaç saldırı gerçekleştirmekten ziyade:
- Trafik artışını gözlemlemek
- CPU kullanımını izlemek
- RAM kullanımını izlemek
- Ağ trafiğini incelemek
- Rate limiting uygulamak
- WAF/CDN davranışını öğrenmek
- Normal ve anormal trafik arasındaki farkı görmek
DDoS Tespit Mantığı
Basit bir izleme sistemi şöyle düşünülebilir:Gelen Trafik<br> │<br> ▼<br> Trafik Analizi<br> │<br> ┌────────┴────────┐<br> │ │<br> Normal Anormal<br> │ │<br> ▼ ▼<br> İzin Ver Filtrele<br> │<br> ▼<br> Uyarı<br>
Gerçek sistemlerde bu süreç çok daha gelişmiş olabilir.
DDoS ile Veri Hırsızlığı Aynı Şey Değildir
Bu konu da sıkça karıştırılır.DDoS'un temel hedefi:
iken veri ihlallerinde amaç:Hizmetin erişilebilirliğini bozmak
olabilir.Yetkisiz şekilde veri elde etmek
Yani:
DDoS<br>↓<br>Availability<br>↓<br>Hizmet kesintisi<br>
ile
Data Breach<br>↓<br>Confidentiality<br>↓<br>Veri gizliliği ihlali<br>
aynı saldırı kategorisi değildir.
Önemli Güvenlik Notu
DDoS saldırıları gerçek sistemlere ciddi zarar verebilir.Bu nedenle internet üzerindeki rastgele:
IP adresleri<br>Web siteleri<br>Oyun sunucuları<br>Şirket sistemleri<br>
üzerinde trafik saldırısı denemeleri yapılmamalıdır.
Öğrenmek için:
kendi sunucun + kendi sanal makinelerin + kontrollü lab ortamı
kullanılmalıdır.
Bölüm Özeti
Bu bölümde:
Sonraki Bölüm
DDoS Eğitim Serisi #2 — DDoS Saldırısı Nasıl Tespit Edilir?Bir sonraki bölümde savunma tarafına daha fazla odaklanarak:
- Sunucu logları nasıl incelenir?
- Normal trafik nasıl belirlenir?
- Ani trafik artışı nasıl analiz edilir?
- HTTP istekleri nasıl değerlendirilir?
- CPU/RAM/network kullanımının ilişkisi nedir?
- Rate limiting nasıl tasarlanır?
- WAF kuralları hangi mantıkla oluşturulur?
- DDoS saldırısı sonrasında olay analizi nasıl yapılır?
Not: DDoS konusunda en önemli hedef saldırı yapmayı öğrenmek değil, saldırıyı tespit etmek, etkisini azaltmak ve sistemi dayanıklı hale getirmektir.