Bugünde güzel bir bilgi paylaşalım ;



Nedir bu MTU - MSS gibi değerler

Alıntı
03:13:12.268805 IP 78.185.13.73.63281 > 178.20.231.251.80: Flags [S], seq 2031043696, win 8192, options [mss 1412,nop,wscale 8,nop,nop,sackOK], length 0
03:13:22.905547 IP 88.236.72.250.59544 > 178.20.231.251.80: Flags [S], seq 2457446641, win 65535, options [mss 1452,nop,wscale 5,nop,nop,TS val 388463920 ecr 0,sackOK,eol], length 0
03:13:22.909939 IP 88.236.72.250.59545 > 178.20.231.251.80: Flags [S], seq 571593918, win 65535, options [mss 1452,nop,wscale 5,nop,nop,TS val 388463923 ecr 0,sackOK,eol], length 0
03:13:22.911033 IP 88.236.72.250.59546 > 178.20.231.251.80: Flags [S], seq 2021059192, win 65535, options [mss 1452,nop,wscale 5,nop,nop,TS val 388463923 ecr 0,sackOK,eol], length 0
03:13:22.912086 IP 88.236.72.250.59547 > 178.20.231.251.80: Flags [S], seq 3744139599, win 65535, options [mss 1452,nop,wscale 5,nop,nop,TS val 388463923 ecr 0,sackOK,eol], length 0
03:13:22.913285 IP 88.236.72.250.59548 > 178.20.231.251.80: Flags [S], seq 641073484, win 65535, options [mss 1452,nop,wscale 5,nop,nop,TS val 388463923 ecr 0,sackOK,eol], length 0
03:13:22.914884 IP 88.236.72.250.59549 > 178.20.231.251.80: Flags [S], seq 2483469397, win 65535, options [mss 1452,nop,wscale 5,nop,nop,TS val 388463923 ecr 0,sackOK,eol], length 0
03:13:24.471864 IP 78.185.13.73.63418 > 178.20.231.251.80: Flags [S], seq 2975852757, win 8192, options [mss 1412,nop,wscale 8,nop,nop,sackOK], length 0
03:13:27.455774 IP 69.162.124.230.32893 > 178.20.231.250.80: Flags [SEW], seq 1875093601, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0

Örnek bir syn paketlerinin tcp dump çıktısı var :
tcpdump -i p2p1 -nn "dst port 80 and tcp[tcpflags] & (tcp-syn) != 0"

Peki burada ne sunuyor bize bunlar ,
Atak yapan kişiler genelde SYN paketlerine daha fazla bilgi girebilmek için MSS değerlerini yüksek tutarlar ve MTU yu şişirler. Bu durumda trafik 100.000 SYN ile tam anlamıyla roketlenir.

Ancak ;
-A PREROUTING -i p2p1 -p tcp --syn -m tcpmss ! --mss 536:2000 -j DROP

Gibi bir kural ile standart dışı syn paketleri dökmek size %90 oranında hazır SYN scriptlerden kolayca korunmanızı sağlar .

Bunu dünkü ziyaret set tablosu ile ilk ziyaret syn sinin boyutunu daraltırsanı %99 oranına ulaşacaktır bu korunma

SYN ataklarda SYN proxy ve çift taraflı aynı ethernet kartından trafik yapmak makinelerdeki en büyük problemdir.

Ancak bunun bir adım ötesini blogumuzda yazacağız . C++ ile yazdığımız algoritmalar
Timespan / ECR / MSS / SEQ ....v.s. gibi paket içerisinde ki bir çok kuralı inceleyip oto kurallar oluşturuyor örnek :

1475708151000---->iptables -t raw -I PREROUTING -p tcp -m tcpmss --mss 1452 -m length --length 60 -d 178.20.231.251 -m u32 --u32 '32&0x0000FFFF=0x16B0' -j DROP

1475708212000---->iptables -t raw -D PREROUTING -p tcp -m tcpmss --mss 1452 -m length --length 60 -d 178.20.231.251 -m u32 --u32 '32&0x0000FFFF=0x16B0' -j DROP
Kaldırıldı


1475707582000---->iptables -t raw -I PREROUTING -p tcp -m tcpmss --mss 1452 -m length --length 52 -d 178.20.231.251 -m u32 --u32 '32&0x0000FFFF=0x2000' -j DROP

1475707643000---->iptables -t raw -D PREROUTING -p tcp -m tcpmss --mss 1452 -m length --length 52 -d 178.20.231.251 -m u32 --u32 '32&0x0000FFFF=0x2000' -j DROP
Kaldırıldı



1 er dk sonunda da bunu devre dışı bırakıyor. ve bunu tüm işletim sistemlerinde uyguluyor . Freebsd / Ubuntu / Centos ....v.s.

Bunu layer 2 nasıl yaptığımıza ise bir kaç ay sonra muhtemelen geliriz

Bu yakalanan atakda biz mss ye 16B0 yani 5808 değerini bloklatmışız sanırım SYN de saldıran arkadaş ansiklopedi gönderiyordu


Paket algoritmasına müdahelemi ?



Güzel adresleme ile her işletim sisteminde mümkün

Meslea NTP AMP atakların çoğunun bıraktığı iz :

-p udp --dport 123 -m u32 --u32 "0x1C=0x1700032a && 0x20=0x00000000" -m comment --comment "NTP amplification" -j DROP