Sisteminizi SYN DoS Saldırılarına Karşı Korumak

LiL_CaT
28-04-2006, 22:37   |  #1  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
385 mesaj
Kayıt Tarihi:Kayıt: Ağu 2005

SYN Saldırılar Hakkında:

SYN (TCP bağlantı isteği), aşağıdaki karakteristiklere sahip çok yaygın bir DoS saldırısıdır:

1-) Saldırgan Internette kullanılmayan IP adreslerini aldatma ile kullanarak (kaynak adresi olarak kullanarak - spoof) birçok SYN paketini hedef makinaya yollar

2-) Alının her SYN pakedi için, hedef makina kaynak ayırır ve onay paketini (SYN-ACK) (SYN pakedinin yollandığı) kaynak ip adresine yollar

3-) Hedef makina, saldırı yapılan makinadan yanıt alamayacağından dolayı, SYN-ACK paketini 5 kez tekrar edecektir. Bunun tekrar süreleri, 3, 6, 12, 24 ve 48 saniyedir. Ayırdığı kaynağı boşa çıkartmadan evvel, 96 saniye sonra son bir kez SYN-ACK denemesi yapacaktır. Hepsini topladığınızda, görüldüğü gibi hedef makina ayırdığı kaynakları 3 dakika gibi bir süre tutacaktır. Bu sadece her bir SYN atağı için gerçekleşecek süredir.

Saldırgan bu tekniği tekrarlanan bir şekilde gerçekleştirdiği zaman, hedef makina ayırdığı kaynaklardan dolayı kaynak yetersizliğine kadar ulaşır ve artık yeni bir bağlantı karşılayamayacak duruma gelir. Ve bu durumda yetkili kullanıcılar bile makinaya bağlanamaz.

Sisteminizde böyle bir atakla karşı karşıya olup olmadığınızı anlamak için, komut satırında :

netstat -n -p tcp yazmanız yeterli olacaktır.

Çıkan sonuca bakıp, SYN_RECEIVED durumunda olan çıkışları kontrol edebilirsiniz. Eğer bu tip duruma sahip birçok bağlantı varsa, sisteminiz bu saldrıya maruz kalmıştır.

Sisteminizi korumak için:
Ateş duvarları tabii ki sisteminizi bu tip saldırılardan koruyacaktır, ve eğer mümkünse ateş duvarı kullanmanız gerekmektedir. Fakat, windows da hali hazırda zaten bu saldırılara karşı korunmanın bir yolu mevcuttur ve SYN isteklerini daha çabuk zaman aşımına uğratabilirsiniz. Bu özelliği çalışır duruma getirebilmek için izlenmesi gereken adımlar şunlardır:

1-) Registry editörünüzü çalıştırın ve HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters değerini bulun

2-) Edit menüsünden Yeni bir DWORD değeri oluşturmayı seçin ve

3-) Adını "SynAttackProtect" verin.

4-) Yarattığınız anahtarın üzerinde çift tıklayın ve değerini "2" verin

5-) Registry editörünü kapatın ve makinanızı tekrar başlatın

Burada "SynAttackProtect" değişkeninin kabul edilen başlangıç değeri 0 (sıfır) dır. Ve koruma kapalıdır.
Verilecek "1" değeri ise en yüksek TCP bağlantı değerine ulaşıldığında (Örneğin; bağlantının SYN_RECEIVED durumu TcpMaxHalfOpen olarak bilinir) ve tekrar ile karşılaşıldığında (Örneğin; TcpMaxHalfOpenRetried) SYN tekrarını ve yönlendirme bellek değerinin bekleme süresini limitler.

Eğer "SynAttackProtect" değeri "2" olursa, sonuç 1 verildiğindekine benzer olacaktır fakat SYN işlemindeki 3-yollu el sıkışma bitene kadar bekleyen bir geciktirilmiş Winsock notification içerir.

Çünki Windows "SynAttackProtect" değerini, "TcpMaxHalfOpen" ve "TcpMaxHalfOpenRetried" da tanımlanan değerlere ulaştığında çağırıp kullanacaktır. Size tavsiyemiz bu iki değeride aynı registry konumunda (HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters) oluşturmanız ve değerlerini aşağıdaki gibi girmenizdir.

TcpMaxHalfOpen=100
TcpMaxHalfOpenRetried=80