Tüm sistemler çalışıyor · %99,98 uptime

DDoS Nedir? Belirtileri ve Etkili DDoS Koruması Rehberi

DDoS saldırısının hacimsel ve L7 türleri arasındaki fark, belirtileri tespit etmeye yarayan komut örnekleri ve sunucu ile hat seviyesinde alınacak önlemleri anlatan pratik rehber.

8 dakika okuma Güvenlik

Sunucunuza gelen trafiğin bir anda yüzlerce katına çıkması her zaman iyi haber değildir. Kampanya dönemi olmayan bir salı gecesi site yanıt vermemeye başladıysa, karşınızdaki şey muhtemelen organik yoğunluk değil bir DDoS saldırısıdır. Bu rehberde DDoS’un ne olduğunu, saldırı türlerini birbirinden nasıl ayıracağınızı ve hangi önlemin gerçekte nerede işe yaradığını adım adım ele alıyoruz.

DDoS Nedir?

DDoS (Distributed Denial of Service), yani dağıtık hizmet engelleme saldırısı; bir sunucuyu, ağı veya uygulamayı çok sayıda kaynaktan gelen sahte trafikle boğarak gerçek kullanıcılara hizmet veremez hâle getirme girişimidir. Buradaki kritik kelime “dağıtık”: trafik tek bir bilgisayardan değil, ele geçirilmiş binlerce cihazdan oluşan botnet’lerden gelir. Bu yüzden tek bir IP adresini engellemek sorunu çözmez.

Doğru savunmayı seçmenin ilk adımı, saldırıları iki ana gruba ayırmaktır: bant genişliğini hedefleyen hacimsel saldırılar ve uygulamanın kendisini hedefleyen L7 saldırıları.

Hacimsel (Volümetrik) Saldırılar

Amaç basittir: hattınızı doldurmak. UDP flood, SYN flood, DNS ve NTP amplifikasyon gibi teknikler saniyede gigabitlerce çöp trafik üreterek bağlantınızı tıkar. Sunucunuz ne kadar güçlü olursa olsun fark etmez; paketler daha işletim sistemine ulaşmadan boru dolmuştur.

Bu saldırılar Gbps (bant genişliği) veya PPS (saniyedeki paket sayısı) ile ölçülür. Hattınızın kapasitesini aşan bir hacimsel saldırıyı sunucunun içinden durdurmak fiziksel olarak mümkün değildir; bu nokta, aşağıda değineceğimiz hat seviyesi korumanın devreye girdiği yerdir.

Uygulama Katmanı (L7) Saldırıları

L7 saldırıları daha sinsidir. Bant genişliğini doldurmak yerine, meşru görünen HTTP istekleriyle uygulamanızın işlemci, bellek ve veritabanı kaynaklarını tüketir. Saniyede birkaç bin istek, veritabanı sorgusu tetikleyen bir arama sayfasına yönlendirildiğinde güçlü bir sunucuyu bile dize getirebilir.

Slowloris gibi teknikler ise bağlantıları kasıtlı olarak yavaş tutarak web sunucusunun bağlantı havuzunu işgal eder. Trafik grafiğinde dev bir tepe oluşmadığı için L7 saldırılarını fark etmek daha zordur; tespit çoğu zaman davranış analizine dayanır.

DDoS Belirtileri Nasıl Anlaşılır?

İlk işaretler genellikle şunlardır: sayfa açılış süresi aniden 10-15 saniyeye çıkar, SSH bağlantısı kopar veya çok yavaşlar, web sunucusu 502/503 hataları döndürmeye başlar, trafik grafiği açıklanamayan bir sıçrama gösterir. Tek başına hiçbiri kanıt değildir; birkaçının aynı anda görülmesi alarm sebebidir.

Sunucuya hâlâ erişebiliyorsanız birkaç komutla tabloyu netleştirebilirsiniz:

# Bağlantı durumlarının özeti
ss -s

# SYN_RECV durumundaki yarım bağlantılar (SYN flood işareti)
ss -nt state syn-recv | wc -l

# En çok bağlantı açan IP'ler
ss -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -20

L7 şüphesinde web sunucusu logları en iyi tanıktır. Aynı URL’ye saniyede onlarca kez istek gönderen, User-Agent bilgisi boş ya da tuhaf olan IP kümeleri tipik bot davranışıdır:

# Son 10.000 istekte en yoğun IP'ler (Nginx)
tail -n 10000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head

Sunucu Tarafında Alınacak Önlemler

Sunucu içi önlemler L7 ve küçük ölçekli L4 saldırılarına karşı etkilidir. Aşağıdaki ayarların çoğu root erişimi gerektirir; paylaşımlı hosting kullanıyorsanız bu katman sağlayıcınızın sorumluluğundadır. Kuralları kendiniz yönetmek istiyorsanız root erişimli bir VDS bu esnekliği sağlar.

Çekirdek ve Ağ Yığını Ayarları

SYN flood’a karşı ilk savunma hattı işletim sisteminin kendisidir. /etc/sysctl.conf dosyasına şu satırları ekleyip sysctl -p ile uygulayın:

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_synack_retries = 2

SYN cookies, yarım kalan bağlantıların belleği tüketmesini engeller. Modern dağıtımların çoğunda varsayılan olarak açıktır ama kontrol etmek saniyeler sürer.

Web Sunucusunda Hız Sınırlama

Nginx’in limit_req modülü, IP başına istek hızını sınırlayarak HTTP flood’un etkisini ciddi biçimde azaltır. Özellikle arama, giriş ve form sayfaları gibi pahalı uç noktaları koruyun:

limit_req_zone $binary_remote_addr zone=genel:10m rate=10r/s;

server {
    location /arama {
        limit_req zone=genel burst=20 nodelay;
    }
}

Slowloris’e karşı ise client_header_timeout ve client_body_timeout değerlerini düşürmek (örneğin 10 saniye) bağlantı havuzunun işgalini zorlaştırır.

Otomatik Engelleme: Fail2ban ve Güvenlik Duvarı

Fail2ban, logları izleyerek eşiği aşan IP’leri iptables ya da nftables üzerinden otomatik engeller. Nginx için hazır gelen nginx-limit-req ve nginx-botsearch filtreleri iyi bir başlangıçtır.

Kalıcı kural yazarken ölçülü olun: CGNAT arkasındaki mobil kullanıcılar aynı IP’yi paylaşabilir, agresif engelleme gerçek ziyaretçileri de kapı dışarı eder. Engelleme sürelerini kısa tutup tekrar eden ihlallerde artırmak daha güvenli bir dengedir.

Hat Seviyesi Korumanın Rolü

Buraya kadar anlatılan her şeyin bir sınırı var: sunucu içi önlemler ancak sunucuya ulaşan trafiği yönetebilir. 1 Gbit/s’lik bir porta onlarca Gbit/s’lik hacimsel saldırı geldiğinde iptables kuralınızın hükmü kalmaz; hat zaten dolmuştur. Hacimsel saldırılara karşı asıl savunma bu yüzden veri merkezi ve ağ seviyesinde yapılır.

Hat seviyesi koruma; trafiğin daha sunucuya ulaşmadan ağ omurgasında analiz edilmesi, saldırı imzası taşıyan paketlerin filtrelenmesi ve şüpheli trafiğin ayrıştırılması anlamına gelir. Ağ kapasitesi burada belirleyicidir: omurga ne kadar genişse saldırıyı emme ve yönetme payı o kadar büyüktür. SunucuCenter’ın İstanbul Equinix veri merkezinde kurulu altyapısı toplam 80 Gbit/s ağ kapasitesiyle çalışır; saldırı şüphesinde 7/24 destek ekibine anında ulaşabilirsiniz.

Oyun sunucuları, e-ticaret siteleri ve API servisleri gibi saldırıya açık projelerde kaynakları tamamen izole eden bir dedicated sunucu, hem performans hem de ağ yönetimi esnekliği açısından daha sağlam bir zemindir.

Hangi Saldırıya Hangi Önlem?

Saldırı türü Katman Sunucu içi önlemin etkisi Asıl çözüm
SYN flood L4 SYN cookies ile kısmen yönetilir Hat seviyesi filtreleme
UDP / amplifikasyon flood L3-L4 Etkisiz; hat sunucudan önce dolar Ağ omurgasında filtreleme
HTTP GET/POST flood L7 Yüksek; hız sınırlama + otomatik engelleme Rate limit ve davranış analizi
Slowloris L7 Yüksek; zaman aşımı ayarları Web sunucusu yapılandırması

Tablo net bir kural veriyor: L7 saldırılarında sunucu içi önlemler oyunun büyük kısmını çözer, hacimsel saldırılarda ise top tamamen ağ tarafındadır. İkisini birleştiren katmanlı yaklaşım en dayanıklı olanıdır.

Sık Sorulanlar

Küçük bir web sitesi de DDoS hedefi olur mu?

Evet. Botnet’ler interneti otomatik tarar; hedef seçiminde sitenin büyüklüğü değil savunmasızlığı belirleyicidir. Fidye talepli saldırılar ve rakip sabotajı küçük e-ticaret sitelerini de vurabilir. Paylaşımlı Linux hosting kullanıyorsanız bu katmanın yönetimi sağlayıcınızdadır; yine de hangi korumaların sunulduğunu sormaktan çekinmeyin.

CDN kullanmak DDoS koruması için yeterli mi?

Kısmen. CDN, statik içeriği dağıtarak L7 saldırılarının bir bölümünü hafifletir. Ancak origin sunucunun IP adresi sızmışsa saldırgan CDN’i atlayıp doğrudan sunucuya yönelebilir. CDN’i tek başına bir çözüm değil; hat seviyesi koruma ve sunucu içi önlemlerle birlikte çalışan katmanlardan biri olarak düşünün.

Saldırı anında sunucuyu yeniden başlatmak işe yarar mı?

Hayır. Yeniden başlatma yalnızca birikmiş bağlantıları temizler; saldırı trafiği sürdüğü müddetçe sorun dakikalar içinde geri döner. Doğru sıralama şudur: saldırı türünü komutlarla tespit edin, hız sınırlama ve engelleme kurallarını devreye alın, hacimsel saldırı şüphesinde vakit kaybetmeden sağlayıcınızın destek ekibiyle iletişime geçin.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir