Güvenlik
DDoS Koruması Nedir? Saldırı Türleri ve Korunma Yöntemleri
DDoS saldırısı nedir, hacimsel, protokol ve uygulama katmanı saldırıları nasıl çalışır? Web siteniz ve sunucunuz için katmanlı DDoS koruma yöntemleri.
Netzena Ekibi Güncellendi: 5 dk okuma
Bir sabah sitenizin açılmadığını, sunucunun yanıt vermediğini ve ağ trafiğinin olağan seviyenin çok üzerine çıktığını görüyorsunuz. Sebep her zaman donanım arızası ya da hatalı bir güncelleme değildir; bazen bilinçli olarak sisteminize gönderilen ve onu hizmet veremez hale getirmeyi amaçlayan trafik söz konusudur. Bu yazıda DDoS saldırılarının nasıl çalıştığını, türlerini ve web siteniz ile sunucunuz için hangi katmanda nasıl önlem alabileceğinizi anlatıyoruz.
DoS ve DDoS nedir?
DoS (Denial of Service, hizmet engelleme) saldırısı, bir sistemi meşru kullanıcılara hizmet veremez hale getirmeyi amaçlar. Bunu genellikle sistemin bant genişliğini, işlemci veya bellek kapasitesini ya da bağlantı tablolarını tüketerek yapar.
DDoS (Distributed Denial of Service, dağıtık hizmet engelleme) ise aynı saldırının çok sayıda kaynaktan eş zamanlı olarak yapılmasıdır. Bu kaynaklar çoğunlukla zararlı yazılım bulaşmış bilgisayarlar, sunucular ve güvenliği zayıf IoT cihazlarından (kameralar, modemler, kayıt cihazları) oluşan botnet'lerdir. Trafik binlerce farklı IP adresinden geldiği için tek bir adresi engellemek işe yaramaz; saldırıyı meşru trafikten ayırmak da zorlaşır.
Saldırı türleri
DDoS saldırıları hedef aldıkları katmana göre üç ana grupta incelenir.
1. Hacimsel (volumetric) saldırılar
Amaç, hedefin internet bağlantısını trafikle doldurmaktır. Sunucunuz ne kadar güçlü olursa olsun, ağ bağlantısı dolduğunda meşru trafik ulaşamaz. Saldırı büyüklüğü bit/saniye (bps) ile ölçülür.
- UDP flood: Hedefe rastgele portlara yoğun UDP paketleri gönderilir.
- Yansıtma ve yükseltme (reflection/amplification): Saldırgan, kaynak adresi hedefinki olarak sahte gösterilmiş küçük sorguları açık DNS, NTP, Memcached veya CLDAP sunucularına gönderir. Bu sunucular, sorgudan kat kat büyük yanıtları hedefe yollar. Böylece saldırgan, kendi gönderdiğinden çok daha büyük bir trafiği hedefe yönlendirmiş olur.
Bu tür saldırılar, hedef sunucunun bulunduğu ağa ulaşmadan, yani sağlayıcının veya üst seviye ağların sınırında karşılanmalıdır. Sunucunun kendisinde alınacak önlemler hacimsel saldırıya karşı yetersiz kalır.
2. Protokol saldırıları
Ağ protokollerindeki durum yönetimini hedef alır ve sunucunun, güvenlik duvarının veya yük dengeleyicinin kaynaklarını tüketir. Büyüklüğü genellikle paket/saniye (pps) ile ölçülür.
- SYN flood: TCP bağlantısını başlatan SYN paketleri yoğun şekilde gönderilir, ancak bağlantı hiç tamamlanmaz. Sunucu, yarım açık bağlantılar için kaynak ayırmaya devam eder ve bağlantı tablosu dolar.
- ACK ve RST flood: Durum takibi yapan güvenlik duvarlarını yoran sahte paketler.
- Parçalanmış paket saldırıları: Birleştirilmesi işlem gücü gerektiren bozuk veya eksik paket parçaları.
3. Uygulama katmanı (L7) saldırıları
Web uygulamasının kendisini hedef alır. Görünüşte meşru HTTP istekleri gönderilir; ancak bu istekler sayfa üretimi, veritabanı sorgusu veya arama gibi maliyetli işlemleri tetikler. Büyüklüğü istek/saniye (rps) ile ölçülür.
- HTTP flood: Ana sayfaya, arama sayfasına veya sepete yoğun istek gönderilmesi.
- Önbelleği atlatma: URL'ye rastgele parametreler eklenerek her isteğin önbellek yerine uygulama tarafından işlenmesinin sağlanması.
- Slowloris benzeri yavaş saldırılar: Bağlantıları çok yavaş veri göndererek uzun süre açık tutmak ve web sunucusunun bağlantı kapasitesini tüketmek.
Uygulama katmanı saldırıları az bant genişliğiyle ciddi etki yaratabilir. Örneğin önbelleklenmemiş, ağır bir arama sayfası saniyede birkaç yüz istekle bile bir sunucuyu zorlayabilir.
Saldırı belirtileri
- Ağ trafiğinde veya istek sayısında ani ve açıklanamayan artış
- Sunucu işlemci ve bellek kullanımının normal trafik varken tavan yapması
- Web sunucusu günlüklerinde aynı URL'ye, alışılmadık kullanıcı ajanlarından veya ülkelerden gelen yoğun istekler
- Bağlantı zaman aşımları, 502 ve 503 hataları
Linux'ta anlık bağlantı durumunu incelemek için:
# Durumlara göre TCP bağlantı sayıları
ss -tan | awk 'NR>1 {print $1}' | sort | uniq -c
Web sunucusu günlüklerinde en çok istek yapan IP adreslerini görmek için:
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20
Korunma yöntemleri
DDoS'a karşı tek bir çözüm yoktur. Etkili koruma, farklı katmanlarda alınan önlemlerin birleşimidir.
Ağ seviyesinde koruma
Hacimsel saldırılar ancak yeterli kapasiteye sahip bir ağda karşılanabilir. Bu nedenle bu katmandaki koruma, hosting veya veri merkezi sağlayıcısı ya da özel DDoS koruma servisleri tarafından sağlanır. Yaygın yöntemler:
- Trafik temizleme (scrubbing): Trafik, saldırı paketlerini ayıklayan temizleme merkezlerinden geçirilip yalnızca temiz trafik sunucuya iletilir.
- Anycast ağlar: Aynı IP adresinin dünyanın farklı noktalarından duyurulmasıyla saldırı trafiği birçok konuma dağıtılır.
- Blackholing (RTBH): Son çare olarak hedef IP'ye gelen tüm trafik üst ağda düşürülür. Saldırı durur, ancak site de erişilemez olur.
Bir sağlayıcı seçerken hangi saldırı türlerine karşı koruma sunulduğunu, kapasitenin ne olduğunu ve saldırı anında hangi prosedürün işletildiğini sormak önemlidir.
CDN ve ters vekil sunucu
Siteyi bir CDN veya ters vekil (reverse proxy) arkasına almak, gerçek sunucu IP adresinizi gizler ve saldırı trafiğinin büyük kısmının dağıtık bir ağda karşılanmasını sağlar. Bu yapıda dikkat edilmesi gerekenler:
- Sunucunuzun gerçek IP adresi eski DNS kayıtları, e-posta başlıkları veya alt alan adları üzerinden sızmamalıdır.
- Sunucu güvenlik duvarında web portlarına yalnızca CDN'in IP aralıklarından erişime izin verilmelidir.
Web uygulama güvenlik duvarı (WAF)
WAF, HTTP isteklerini inceleyerek bilinen saldırı kalıplarını, kötü amaçlı botları ve şüpheli trafiği engeller. Uygulama katmanı saldırılarında; tarayıcı doğrulaması (JavaScript veya CAPTCHA tabanlı), ülke veya ASN bazlı kurallar ve bot yönetimi gibi özellikler etkilidir.
Hız sınırlama (rate limiting)
Belirli bir IP'den gelen istek sayısını sınırlamak, özellikle giriş, arama, form ve API uç noktalarını korumak için temel bir önlemdir. Nginx örneği:
limit_req_zone $binary_remote_addr zone=istek:10m rate=10r/s;
server {
location /arama {
limit_req zone=istek burst=20 nodelay;
}
}
Limitleri belirlerken meşru kullanıcıların davranışını ve aynı IP'yi paylaşan kurumsal ağları göz önünde bulundurun.
Sunucu ve uygulama sıkılaştırma
- Önbellekleme: Sayfaların önbellekten sunulması, uygulama katmanı saldırılarının etkisini büyük ölçüde azaltır.
- SYN cookie: Linux çekirdeğinde SYN flood etkisini azaltır (
net.ipv4.tcp_syncookies = 1). - Zaman aşımı ayarları: Web sunucusunda istek gövdesi ve başlık zaman aşımlarını makul seviyelerde tutmak yavaş saldırıların etkisini düşürür.
- Gereksiz servisleri kapatmak: Dışarıya açık DNS çözümleyici, NTP veya Memcached servisleri, sunucunuzun başkalarına yönelik yükseltme saldırılarında kullanılmasına yol açabilir.
Saldırı anında yapılacaklar
- Sorunun gerçekten saldırı olduğunu doğrulayın; trafik grafiklerini ve günlükleri inceleyin.
- Hosting veya ağ sağlayıcınızla hemen iletişime geçin; hacimsel saldırılar onların müdahalesini gerektirir.
- CDN veya WAF kullanıyorsanız daha sıkı koruma moduna geçin, saldırı kalıbına özel kurallar ekleyin.
- Saldırının hedef aldığı URL'leri belirleyip bu uç noktalara özel hız sınırları uygulayın.
- Saldırı sona erdikten sonra olayın kaydını tutun ve önlemlerinizi gözden geçirin.
Özet: DDoS hazırlık kontrol listesi
- Hosting sağlayıcınızın ağ seviyesinde hangi korumayı sunduğunu öğrenin.
- Sitenizi mümkünse bir CDN veya ters vekil arkasına alın ve gerçek IP adresini gizleyin.
- WAF ve bot yönetimi özelliklerini değerlendirin.
- Kritik uç noktalara hız sınırı uygulayın.
- Sayfa önbelleğini etkinleştirin.
- Sunucuda gereksiz açık servisleri kapatın, çekirdek ve web sunucusu ayarlarını sıkılaştırın.
- Trafik ve kaynak kullanımı için izleme ve uyarı kurun.
- Saldırı anında kimin ne yapacağını ve kime ulaşılacağını önceden belirleyin.
Altyapınızın güvenlik gereksinimlerini değerlendirmek için VPS, VDS ve Web Hosting sayfalarımıza göz atabilir, sorularınızı iletişim sayfamızdan iletebilirsiniz.
- #DDoS
- #güvenlik
- #WAF
- #rate limiting
- #CDN
- #ağ güvenliği