SYN-Flooding
-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
SYN-Flooding
Ein netter Artikel bei Heise-Security:
http://www.heise.de/security/artikel/43066/0
Es geht dabei um Maßnahmen gegen SYN-Flooding, von dem auch Die Rooties betroffen sein könnten. Die aufgezeigten Mittel gegen solche Angriffe sind vermutlich hilfreich für einige, die einem solchen Angriff ausgesetzt sind, 100%igen Schutz erreicht man dadurch aber auch nicht.
http://www.heise.de/security/artikel/43066/0
Es geht dabei um Maßnahmen gegen SYN-Flooding, von dem auch Die Rooties betroffen sein könnten. Die aufgezeigten Mittel gegen solche Angriffe sind vermutlich hilfreich für einige, die einem solchen Angriff ausgesetzt sind, 100%igen Schutz erreicht man dadurch aber auch nicht.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: SYN-Flooding
schon ausprobiert?
-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: SYN-Flooding
Syncookies setze ich ohnehin schon recht lange ein, die anderen Maßnahmen (noch) nicht, ich wollte das ganze aber im Laufe der nächsten Woche mal austesten.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: SYN-Flooding
Syncookies werden u.a. in de.comp.security.firewall zwiespältig gesehen, weil sie wohl nicht wirklich RFC-konform sind. Deshalb sollte man das vielleicht doch nur "unter Beschuss" aktivieren und nicht ständig. Was da jedoch genau verletzt wird und welche Auswirkungen das hat oder haben kann... so genau habe ich mich dann doch noch nicht damit beschäftigt. IMHO sollte man sich darüber aber Gedanken machen, bevor man Syncookies standardmäßig aktiviert. Kommt halt immer drauf an, wie standardkonform man sein möchte und wie schwer die Verstöße jetzt sind...
Re: SYN-Flooding
für manche hier wäre es aber auch interessant wie man sie wieder deaktiviert und wie man es so macht sie nur bei bedarf zu aktivieren.
Hast du da Ideen dodolin?
Ciao Christian
Hast du da Ideen dodolin?
Ciao Christian
Re: SYN-Flooding
Das ist ja wohl nicht das Problem:chris76 wrote:für manche hier wäre es aber auch interessant wie man sie wieder deaktiviert und wie man es so macht sie nur bei bedarf zu aktivieren.
Hast du da Ideen dodolin?
Ciao Christian
Aktivieren:
Code: Select all
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
Deaktivieren:
Code: Select all
echo 0 > /proc/sys/net/ipv4/tcp_syncookies
Nach bedarf akivieren ist da schon schwieriger... man könnte z.B. per Cron die Anzahl der netstat Zeilen mit SYN_RECV zählen und bei über 25 tcp_syncookies aktivieren und ansonsten deaktivieren. So im Stile:
Code: Select all
if [ 'netstat -nt | grep SYN_RECV | wc -l' >25 ]; then
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
else
echo 0 > /proc/sys/net/ipv4/tcp_syncookies
fi
Re: SYN-Flooding
man bash ;)øxygen wrote:Das funktioniert wohl so nicht, es weiß nicht zufällig jemand wie man in einen Shellscript den Wert eines Integers vergleicht?
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Re: SYN-Flooding
Danke aber auf die Idee wäre ich ohne dich nicht gekommen :evil:
ich weiß jetzt zumindest das der Operator -gt ist, aber ich bin noch nicht dahintergekommen wie ich der Ausgabe von 'netstat -nt | grep ESTABLISHED | wc -l' als Typ Integer zuweisen kann... naja bleib ich halt bei tcsh. Müsst ihr euch selbst mit vergnügen ;)
ich weiß jetzt zumindest das der Operator -gt ist, aber ich bin noch nicht dahintergekommen wie ich der Ausgabe von 'netstat -nt | grep ESTABLISHED | wc -l' als Typ Integer zuweisen kann... naja bleib ich halt bei tcsh. Müsst ihr euch selbst mit vergnügen ;)
-
alexander newald
- Posts: 1117
- Joined: 2002-09-27 00:54
- Location: Hannover
- Contact:
Re: SYN-Flooding
Man kann auch vorher SynCookies aktivieren, da diese Funktion nur zum tragen kommt, wenn der BackLog Puffer voll ist.dodolin wrote:Syncookies werden u.a. in de.comp.security.firewall zwiespältig gesehen, weil sie wohl nicht wirklich RFC-konform sind. Deshalb sollte man das vielleicht doch nur "unter Beschuss" aktivieren und nicht ständig. Was da jedoch genau verletzt wird und welche Auswirkungen das hat oder haben kann... so genau habe ich mich dann doch noch nicht damit beschäftigt. IMHO sollte man sich darüber aber Gedanken machen, bevor man Syncookies standardmäßig aktiviert. Kommt halt immer drauf an, wie standardkonform man sein möchte und wie schwer die Verstöße jetzt sind...
Re: SYN-Flooding
Bash, genau wie auch Perl, kennt und braucht keine typisierten Variablen. Die sind so intelligent, dass sie das selbst erkennen, was es sein soll. ;)aber ich bin noch nicht dahintergekommen wie ich der Ausgabe von 'netstat -nt | grep ESTABLISHED | wc -l' als Typ Integer zuweisen kann..
*Nachguck*Man kann auch vorher SynCookies aktivieren, da diese Funktion nur zum tragen kommt, wenn der BackLog Puffer voll ist.
Ok, haste auch wieder Recht. Hier nochmal die Doku aus kernel-doc:
Code: Select all
tcp_syncookies - BOOLEAN
Only valid when the kernel was compiled with CONFIG_SYNCOOKIES
Send out syncookies when the syn backlog queue of a socket
overflows. This is to prevent against the common 'syn flood attack'
Default: FALSE
Note, that syncookies is fallback facility.
It MUST NOT be used to help highly loaded servers to stand
against legal connection rate. If you see synflood warnings
in your logs, but investigation shows that they occur
because of overload with legal connections, you should tune
another parameters until this warning disappear.
See: tcp_max_syn_backlog, tcp_synack_retries, tcp_abort_on_overflow.
syncookies seriously violate TCP protocol, do not allow
to use TCP extensions, can result in serious degradation
of some services (f.e. SMTP relaying), visible not by you,
but your clients and relays, contacting you. While you see
synflood warnings in logs not being really flooded, your server
is seriously misconfigured.
Re: SYN-Flooding
sieht so aus ;) der Fehler lag in der Verwechslung von ` mit ' ... folgendes funktioniert, wobei man es ja dann wohl eh nicht braucht:dodolin wrote:Bash, genau wie auch Perl, kennt und braucht keine typisierten Variablen. Die sind so intelligent, dass sie das selbst erkennen, was es sein soll. ;)aber ich bin noch nicht dahintergekommen wie ich der Ausgabe von 'netstat -nt | grep ESTABLISHED | wc -l' als Typ Integer zuweisen kann..
Code: Select all
if [ `netstat -nt | grep ESTABLISHED | wc -l` -gt 20 ]; then
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
else
echo 0 > /proc/sys/net/ipv4/tcp_syncookies
fi
