DDoS saldırısı altında mıyım? Nasıl anlaşılır, ne yapılır
Sunucu yavaşladığında ilk akla gelen açıklama saldırı oluyor. Gerçekte vakaların büyük kısmı saldırı değil: kaynak darboğazı, bir yapılandırma hatası veya uygulamanın kendisi. Bu yüzden teşhisin ilk yarısı saldırı olmayanı elemektir; ikinci yarısı da gerçekten saldırı varsa ne yapılacağını bilmektir.
Saldırı türlerinin ve koruma katmanlarının kavramsal anlatımı ayrı yazıda: DDoS koruması nedir. Burada tek soru var: şu anda bir saldırı altında mısınız?
1. Önce olağan sebepleri eleyin
Saldırı, en pahalı açıklamadır; en ucuzlarından başlayın. Sunucu içinden bakıldığında CPU, bellek ve disk ölçümlerinden biri sınırdaysa açıklama orada bitmiş olabilir: sunucum neden yavaşladı
Ayırt edici işaret şudur: saldırıda sunucu içi kaynaklar rahat görünürken dışarıdan erişim bozulur. Kaynak darboğazında ise tam tersi olur — sunucuya girebilirsiniz ama içerideki her şey yavaştır.
2. Belirti hangi katmanda?
Üç tipik desen var ve üçü farklı yere işaret eder.
| Belirti | Muhtemel katman |
|---|---|
| Sunucu içi ölçümler temiz, dışarıdan hiç erişilemiyor | Hat doluluğu, hacimsel saldırı |
| CPU yüksek ve yükün büyük kısmı çekirdek/softirq tarafında | Paket işleme yükü, paket bazlı saldırı |
| Yalnızca web yanıt vermiyor, SSH normal açılıyor | Uygulama katmanı (L7) veya uygulama hatası |
| Her şey yavaş, kaynaklar da dolu | Saldırı değil, kaynak darboğazı |
3. Trafik grafiğine bakın
Müşteri panelindeki bant genişliği ve paket grafiği en hızlı kanıttır. Saldırının imzası, gelen trafikte ani, dik ve sürekli bir artıştır; normal yoğunluk kademeli artar ve giden trafikle orantılı ilerler. Gelen tarafın giden tarafa göre orantısız şişmesi tek başına güçlü bir işarettir.
Grafiğe bakarken aynı anda durum sayfasını da kontrol edin: genel bir olay varsa teşhis orada biter.
4. Sunucu içinden iki ölçüm
ss -s
ss -tn state syn-recv | wc -lBirincisi açık bağlantıların özetini verir. İkincisi yarım açık TCP bağlantılarını sayar: bu sayının binlere çıkması SYN flood'un klasik imzasıdır.
Trafiğin nasıl göründüğüne bakmak isterseniz kısa bir örnek yeterlidir:
tcpdump -n -i any -c 200Burada aradığınız şey desendir: aynı porta giden, çok sayıda farklı kaynak adresten gelen ve birbirine benzeyen küçük paketler. Tek bir kaynaktan gelen yoğun istek DDoS değildir ve zaten engellenebilir.
5. UDP oyun sunucusunda tablo neden farklı
TCP'de bağlantı üç adımlı el sıkışmayla kurulur, yani kaynak adresi doğrulanabilir. UDP'de böyle bir adım yoktur: kaynak adresi rahatlıkla sahte olabilir. Bunun iki pratik sonucu var.
Birincisi, gördüğünüz kaynak adresleri büyük ihtimalle gerçek değildir; iptables ile IP engellemek masum üçüncü tarafları engellemekten başka işe yaramaz. İkincisi, paket zaten hattınıza ulaştığı için sunucu içinde alınan hiçbir önlem hattı boşaltmaz. Oyun ve ses trafiğinde filtreleme ağ katmanında olmak zorundadır; oyun sunucusu paketlerinde koruma bu yüzden sunucu içinde değil ağ tarafında yapılandırılır.
Aynı sebeple HTTP önündeki bir proxy oyun sunucusunu korumaz: o katman UDP paketlerini hiç görmez.
6. Datafex'te saldırı anında ne oluyor
Trafik size ulaşmadan önce sırayla katmanlardan geçer. İlk temizlik trafiğin geldiği yerde yapılır: Türk operatörlerinden gelen trafik Türkiye'deki dağıtık node'larda, yurt dışından gelen trafik yurt dışındaki filtrelerde ayıklanır. Kalan trafik DPDK + VPP tabanlı router'a gelir; yansıtma ve yükseltme saldırıları (DNS, NTP ve TCP amplifikasyonu gibi) burada da filtrelenir. Son katman Fexwall'dur; L4–L7 arasında sahte kaynak adresli trafiği eler, bağlantı durumunu takip eder ve projenize tanımlanmış kuralları uygular.
Bunun teşhis açısından önemli bir sonucu var: hacimsel bir saldırının büyük kısmı sunucunuza hiç ulaşmaz. Yani sunucu içinde saldırıyı "görememeniz" normaldir; doğru yer panelin Fexwall bölümüdür — orada düşürülen trafik, engellenen kaynaklar ve aktif kurallar görünür. Koruma sanal sunucu ve fiziksel sunucu paketlerinin tamamında ücretsiz dahildir; taşıma kapasitesi yurt içinde 100 Gbps, yurt dışında 10 Tbps'dir.
Kendi IP bloğunuz ve ASN'iniz varsa, sunucularınız başka bir yerde olsa bile aynı filtreleme uygulanabilir: BGP koruma
Kendi tarafınızda ne yapmalı
Saldırı sırasında yapılması gerekenler kısadır. Servis yüzeyini daraltın: dışarıya açık olması gerekmeyen her portu kapatın, yönetim panellerini kendi adresinizle sınırlayın, veritabanı portunu internete açmayın. Bunların tamamı sunucu güvenliği temel adımları yazısında.
Yapılmaması gerekenler daha önemli: sahte kaynaklı UDP trafiğini sunucu içinde engellemeye çalışmayın, panik hâlinde güvenlik duvarına geniş kurallar yazıp kendi oyuncularınızı dışarıda bırakmayın ve IP adresinizi değiştirmenin kalıcı çözüm olduğunu varsaymayın — saldırgan yeni adresi de bulur.
Ne zaman destek talebi açmalı
Bu yazıdaki diğer teşhislerden farklı olarak burada beklemeye gerek yok: hat doluluğu belirtisi varsa hemen talep açın. Saldırı profilinize özel filtre kuralı tanımlanması sunucu içinden yapılabilecek her şeyden hızlı sonuç verir.
Talebe şunları yazın: hedef IP ve port, protokol (TCP/UDP), saldırının başladığı saat, belirtinin tam hâli ve varsa panelde gördüğünüz trafik sıçramasının zaman aralığı. Henüz müşteri değilseniz ve mevcut sağlayıcınızda saldırı altındaysanız iletişim sayfası üzerinden yazın; taşıma sırasında koruma tarafının nasıl kurulacağı ayrı planlanır.