S
Genel

Windows Sunucularda DNS Kaynaklı SYN Flood / SYN_RECEIVED Sorunu ve Çözümü

S
SUNUCU.COM.TR
5 dk okuma


Windows sunucularda zaman zaman web servislerinin cevap vermemesi, port 80 ve 443 üzerinde çok sayıda SYN_RECEIVED birikmesi ve sistemin yavaşlaması gibi problemler yaşanabilir. İlk bakışta dışarıdan gelen bir DDoS saldırısı gibi görünse de, bazı durumlarda sorun aslında sunucunun kendi DNS servisinden kaynaklanır.



Bu yazıda, yaşadığımız gerçek bir olay üzerinden Windows DNS servisinin kendi kendine SYN flood benzeri trafik oluşturması, bunun nedenleri ve kalıcı çözüm adımlarını anlatıyoruz.






🔍 Sorunun Belirtileri



Sunucuda aşağıdaki davranışlar gözlemlendi:




  • Port 80 ve 443 üzerinde yüzlerce SYN_RECEIVED bağlantı


  • Web servislerinin yanıt verememesi


  • CPU düşük, fakat network yoğun


  • Dışarıdan gelen ciddi bir trafik görünmüyor


  • DNS servisi durdurulduğu anda tüm sorunların anında düzelmesi



netstat çıktısı incelendiğinde şunlar dikkat çekti:




  • DNS servisine (PID 1240) ait binlerce UDP portu açılmıştı


  • 53000–54000 arasında on binlerce açık UDP port bulunuyordu


  • Sunucu DNS üzerinden dış adreslere sürekli istek gönderiyor gibi görünüyordu



Bu tablo genellikle DNS servisinin recursive loop’a girmesi durumunda ortaya çıkar.






🧨 Sorunun Kaynağı: DNS Recursive Loop (Kendi Kendine Trafik Üretimi)



Windows DNS, bazı yanlış yapılandırmalarda:




  • recursive query döngüsüne girebilir


  • bozuk bir DNS forwarder'a sürekli istek atabilir


  • cevap alamayınca tekrar deneyerek kendi kendine flood üretir



Bu durum sonunda:



✔ SYN backlog dolar



✔ web servisi cevap vermez



✔ dışarıdan gelen trafik gibi görünür



✔ fakat saldırı tamamen içeriden oluşur



DNS servisinin durdurulmasıyla sistemin anında normale dönmesi, sorunun kaynağını kesin olarak DNS’e işaret eder.






🛠 Çözüm Adımları



### 1) DNS Recursion’ı Kapattık



Recursive DNS sorguları dışarıya açık olduğunda hem güvenlik riski oluşturur, hem de loop’a sebep olabilir.



Komut:



dnscmd localhost /config /NoRecursion 1





### 2) Bozuk Forwarder Ayarlarını Temizledik



Yanlış yapılandırılmış forwarder (Google DNS, Cloudflare, ISP DNS vb.), loop’un ana sebebi olabilir.



Komut:



dnscmd localhost /ResetForwarders





### 3) DNS Cache Sıfırlama



Kuyrukta kalan bozuk DNS sorgularını temizlemek için:



Clear-DnsServerCache
ipconfig /flushdns





### 4) DNS Servisini Yeniden Başlattık



Restart-Service DNS


Bu işlem sonrasında:




  • UDP port fırtınası durdu


  • SYN_RECEIVED bağlantılar kayboldu


  • Web servisleri normal çalışmaya başladı






🛡 Kalıcı Güvenlik Önerileri



Bu tür durumların tekrar yaşanmaması için şu ayarları öneriyoruz:




  • DNS recursion sadece iç ağa açık olsun


  • Public sunucularda DNS servisi kullanılmıyorsa tamamen kapatın


  • Zone transferlerini devre dışı bırakın


  • Firewall’da port 53’ü sadece gerekli IP’lere açın


  • Periodik DNS log kontrolleri yapın






🎯 Sonuç



Bu olay, her SYN flood benzeri görünümün mutlaka dışarıdan gelen bir DDoS saldırısı olmadığını gösteriyor.
Bazen sorun tamamen sunucunun kendi DNS servisinin bozulması sonucunda ortaya çıkabiliyor.



Doğru teşhis ve birkaç yapılandırma ayarıyla, sistem tamamen normale döndü.



Bu tür problemlerle karşılaşırsanız Sunucu.com.tr ekibi olarak her zaman destek olmaktan memnuniyet duyarız.




Sunucu.com.tr - Modern Bulut Sunucu ve Hosting Çözümleri