Page 1 of 1

syn-flood - was tun?

Posted: 2007-09-28 19:56
by globestern
hi...

also ich leide momentan unter ziemlich starkem syn-flood:

netstat -apn|grep :80 |awk '{print $5}'|sort

zeigt ca. 100-200 ips an ( apache läuft nicht mehr..)

kleiner auszug von dem syn-flood
netstat -n
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 85.12.15.68:80 84.176.174.206:64243 SYN_RECV
tcp 0 0 85.12.15.68:80 84.61.123.230:21976 SYN_RECV
tcp 0 0 85.12.15.68:80 84.72.178.216:49376 SYN_RECV
tcp 0 0 85.12.15.68:80 64.125.154.42:60715 SYN_RECV
tcp 0 0 85.12.15.68:80 84.59.34.10:15074 SYN_RECV
tcp 0 0 85.12.15.68:80 66.192.3.52:52960 SYN_RECV
tcp 0 0 85.12.15.68:80 84.114.5.182:4137 SYN_RECV
tcp 0 0 85.12.15.68:80 64.125.152.130:42027 SYN_RECV
tcp 0 0 85.12.15.68:80 89.53.55.47:3443 SYN_RECV
tcp 0 0 85.12.15.68:80 85.177.237.147:60250 SYN_RECV
tcp 0 0 85.12.15.68:80 38.100.134.143:59856 SYN_RECV
tcp 0 0 85.12.15.68:80 84.189.72.100:1892 SYN_RECV
tcp 0 0 85.12.15.68:80 87.172.209.107:62498 SYN_RECV
tcp 0 0 85.12.15.68:80 190.73.223.208:1290 SYN_RECV
tcp 0 0 85.12.15.68:80 217.227.185.158:4710 SYN_RECV
tcp 0 0 85.12.15.68:80 82.82.180.94:1452 SYN_RECV
tcp 0 0 85.12.15.68:80 77.177.99.178:1803 SYN_RECV
tcp 0 0 85.12.15.68:80 78.48.111.79:22087 SYN_RECV
tcp 0 0 85.12.15.68:80 38.103.50.149:52657 SYN_RECV
tcp 0 0 85.12.15.68:80 84.186.221.3:3999 SYN_RECV
tcp 0 0 85.12.15.68:80 90.194.150.99:2011 SYN_RECV
tcp 0 0 85.12.15.68:80 209.66.117.252:44900 SYN_RECV
tcp 0 0 85.12.15.68:80 77.177.99.178:1887 SYN_RECV
tcp 0 0 85.12.15.68:80 88.65.213.173:62588 SYN_RECV
tcp 0 0 85.12.15.68:80 91.10.57.63:63619 SYN_RECV
tcp 0 0 85.12.15.68:80 195.4.46.225:3715 SYN_RECV
tcp 0 0 85.12.15.68:80 212.254.146.86:52099 SYN_RECV
tcp 0 0 85.12.15.68:80 24.68.134.245:65013 SYN_RECV
tcp 0 0 85.12.15.68:80 89.55.184.62:36858 SYN_RECV
tcp 0 0 85.12.15.68:80 91.153.185.79:4304 SYN_RECV
tcp 0 0 85.12.15.68:80 85.179.237.126:60845 SYN_RECV
tcp 0 0 85.12.15.68:80 84.141.117.235:1187 SYN_RECV
tcp 0 0 85.12.15.68:80 195.4.46.225:3714 SYN_RECV
tcp 0 0 85.12.15.68:80 84.170.35.137:50718 SYN_RECV
tcp 0 0 85.12.15.68:80 84.114.5.182:4155 SYN_RECV
tcp 0 0 85.12.15.68:80 64.125.152.162:51741 SYN_RECV
die cookie's hab ich wie auf http://www.heise.de/security/artikel/43066/2 gesetzt etc. leider hilft dies praktisch überhaupt nicht...

ich habe schon versucht, die ips "von netstat -apn|grep :80 |awk '{print $5}'|sort" zu blacklisten über:

./iptables -A INPUT -s 87.187.211.232 -j DROP

leider bringt dies relativ wenig, da immer neue ips dazu kommen..

jetzt frage ich mich, was die beste möglihckeit ist?

ein script, dass alle 10sek den netstat befehl ausführt und die ips dann automatisch per iptables dropt oder was würdet ihr in meinem fall machen?

ddos über's web konnte ich übrigens erfolgreich via mod_evasive / modsec2iptables blocken...

mfg

Re: syn-flood - was tun?

Posted: 2007-09-28 23:50
by dtdesign
Anfragen die einmal an deiner Kiste angelangt sind zu droppen bringt nur wenig Linderung. Entweder hast du eine dedizierte Firewall, mit der du einfach die IP-Ranges droppst oder du fährst den Server einfach für 2-3 Stunden runter. Ob der Server nun läuft und nicht erreichbar ist oder ob er aus ist, spielt keine Rolle. Du gibts den Kiddies auf der anderen Seite das Gefühl den Server gehackt zu haben und du hast erstmal deine Ruhe.

Re: syn-flood - was tun?

Posted: 2007-09-29 02:08
by aquajo
Falls genügend CPU zur Verfügung steht: Schau dir Syn-Cookies an.

Re: syn-flood - was tun?

Posted: 2007-09-29 09:19
by daemotron
Globestern wrote:die cookie's hab ich wie auf http://www.heise.de/security/artikel/43066/2 gesetzt etc. leider hilft dies praktisch überhaupt nicht...
Sollten sie aber... ist Dein Kernel überhaupt mit SynCookie-Unterstützung gebaut?

Code: Select all

sysctl -a | grep tcp_syncookies
zgrep "CONFIG_SYN_COOKIES" /proc/config.gz
Falls letzteres eine Zeile auswirft, die zeigt, dass Dein Kernel SynCookies unterstützt, kannst Du sie (normalerweise) über sysctl aktivieren:

Code: Select all

sysctl -w net.ipv4.tcp_syncookies=1