İçeriğe geç
Siber Kale by Labris Networks

Rehber · DDoS koruması

Windows Server Üzerinde DDoS Sıkılaştırma

Labris Networks Mühendislik Ekibi · Son güncelleme 13 Ağustos 2026 · 14 dk

Kısa cevap

Modern Windows sürümlerinde SYN saldırı koruması zaten açıktır ve eski rehberlerin önerdiği registry anahtarı yok sayılır. Gerçekten ayarlanabilir olanlar başkadır: dinamik port aralığı, HTTP.sys kuyrukları, zaman aşımları ve yeniden iletim sayıları.

Windows tarafında sıkılaştırma yazılarının çoğu on beş yıl önceki tavsiyeleri tekrarlar. İşe yarar bir rehberin ilk işi, hangilerinin bugün karşılığı olmadığını söylemektir.

Genel sınır Linux tarafındakiyle aynıdır: işletim sistemi ayarları hacimsel saldırıyı durdurmaz. Erişim hattını dolduran trafik sunucuya ulaşmadan sorunu yaratmıştır. Buradaki sıkılaştırma durum tükenmesi ve kaynak yönetimi içindir.

Artık İşe Yaramayan Öneriler

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters altındaki SynAttackProtect anahtarı, bugün hâlâ pek çok sıkılaştırma listesinde yer alır. Windows Vista ve Windows Server 2008 ile birlikte SYN saldırı koruması işletim sisteminin kendi davranışına alınmıştır; anahtar yok sayılır.

Aynı durum TcpMaxHalfOpen ve TcpMaxHalfOpenRetried için de geçerlidir. Bunları ayarlamak bir şeyi değiştirmez, ama sıkılaştırma raporunda “yapıldı” olarak işaretlenir ve gerçekte korunmadığınız bir alanı korunuyor sanırsınız. Bu, hiç ayar yapmamaktan daha tehlikelidir.

Ayarlamadan Önce Kaydet

netsh int ipv4 show dynamicport tcp   > tcp-before.txt
netsh int ipv4 show dynamicport udp  >> tcp-before.txt
netsh int tcp show global            >> tcp-before.txt
reg export "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" tcpip-before.reg

Bu dört satır geri dönüş yolunuzdur. Değiştirdiğiniz bir değerin varsayılanını sonradan aramak, elinizde kaydı yokken tahmine dönüşür.

Dinamik Port Aralığı

Giden bağlantı kuran her sunucu — bir ters vekil, bir uygulama sunucusu, bir toplayıcı — geçici port kullanır. Bu havuz tükendiğinde yeni bağlantı kurulamaz ve belirti aldatıcıdır: sunucu ayakta, CPU boş, ama bağlantı açılmıyor.

netsh int ipv4 show dynamicport tcp
# Start Port : 49152
# Number of Ports : 16384

netsh int ipv4 set dynamicport tcp start=10000 num=55000

Aralığı genişletmeden önce o aralıkta dinleyen bir hizmet olmadığını doğrulayın. Genişletmek tek başına yetmez; portların ne kadar sürede geri döndüğü de önemlidir ve onu bir sonraki başlık belirler.

Zaman Aşımı ve Yeniden İletim

# HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
TcpTimedWaitDelay   (REG_DWORD)   # TIME_WAIT bekleme süresi, saniye
TcpMaxDataRetransmissions (REG_DWORD)

TcpTimedWaitDelay, kapanan bir bağlantının portunun ne kadar süre bekletileceğini belirler. Varsayılanı Windows sürümüne göre değişir, bu yüzden kendi sunucunuzdaki değeri okumadan bir hedef belirlemeyin. Düşürmek portları daha hızlı geri kazandırır; çok düşürmek, geç gelen paketlerin yeni bir bağlantıya karışması riskini artırır.

TcpMaxDataRetransmissions cevap alınamayan bir segmentin kaç kez yeniden gönderileceğini söyler. Düşürmek, ölü bağlantıların kaynak tutma süresini kısaltır.

Her iki değişiklik de yeniden başlatma gerektirir ve ikisi de tek başına değil, ölçümle birlikte yapılmalıdır.

HTTP.sys

Web trafiği alan bir Windows sunucusunda istekler önce çekirdek modundaki HTTP.sys sürücüsüne düşer, oradan uygulama havuzuna aktarılır. Yük altında ilk dolan yer genellikle burasıdır ve IIS’in kendi ayarlarına bakan biri sorunu göremez.

Kuyruk uzunluğu uygulama havuzu düzeyinde tanımlanır ve varsayılanı çoğu kurulumda 1000’dir:

%windir%\system32\inetsrv\appcmd set apppool "DefaultAppPool" ^
  /queueLength:5000

HTTP.sys’in kendi bağlantı zaman aşımları da ayrıdır ve yavaş istemci saldırılarında belirleyicidir; ayrıntısı IIS sıkılaştırma rehberindedir.

Windows Güvenlik Duvarı ve Sınırı

Gelişmiş Güvenlik özellikli Windows Defender Güvenlik Duvarı, kural tabanlı bir filtredir. Kaynak başına oran sınırlama yeteneği yoktur. Bir adresi engelleyebilirsiniz; “saniyede yirmi beşten fazla yeni bağlantı kuran adresi kıs” diyemezsiniz.

Bu, ürünün eksiği değil kapsamının dışıdır. Oran tabanlı savunma ya ağ katmanında, ya ters vekilde, ya da uygulama önündeki bir katmanda kurulur. Windows tarafında bunu yapmaya çalışmak, olmayan bir yeteneği aramaktır.

Yönetim Yüzeyi

Uzak masaüstü portunu internete açık bırakmak iki ayrı soruna yol açar. Birincisi kimlik denemesi gürültüsüdür ve loglarınızı doldurur. İkincisi daha sinsidir: bağlantı kurulum maliyeti yüksek bir hizmettir ve düşük hacimli bir istek seliyle tüketilebilir.

Yönetim erişimi VPN arkasına alınmalı, alınamıyorsa kaynak adresle sınırlanmalıdır. Saldırı anında yönetim erişiminizin ayrı bir yoldan çalışıyor olması, sunucuya müdahale edebilmenizin ön koşuludur.

Ne İzlenmeli

Windows performans sayaçları bu iş için yeterlidir; ek araç gerekmez.

Sayaç Ne söyler
TCPv4 \ Connection Failures Kurulmaya çalışılıp kurulamayan bağlantı
TCPv4 \ Connections Reset Yarıda kesilen bağlantı sayısı
TCPv4 \ Segments Retransmitted/sec Ağ ya da karşı taraf sorunu
TCPv4 \ Connections Established Eşzamanlı oturum, tepe değerle karşılaştırılır
Web Service \ Current Connections IIS tarafındaki eşzamanlı bağlantı

Hızlı bir bakış için:

netstat -an | find /c "SYN_RECEIVED"
netstat -an | find /c "TIME_WAIT"

Birincisi yarım açık bağlantı sayısını, ikincisi geri dönmeyi bekleyen port sayısını verir. İkisi de normal işletimde bir temel ölçüsüne sahiptir; asıl bilgi mutlak sayıda değil, o çizgiden sapmadadır.

Sıralama

Bu rehberdeki hiçbir ayar, önündeki katmanın yerini tutmaz. Sunucu sıkılaştırması en içteki halkadır ve ancak dışarıdaki katmanlar kendi işini yaptıktan sonra anlamlıdır: hacim yukarı yönde, oran ters vekilde, ince ayrım uygulama önünde, kaynak yönetimi burada.