DDoS via iptables blockieren

Rund um die Sicherheit des Systems und die Applikationen
inchez
Posts: 65
Joined: 2007-10-01 20:17

DDoS via iptables blockieren

Post by inchez » 2010-11-30 05:54

Guten Morgen,

ich habe folgends Problem, auf einige unserer Gbit / 10 Gbit Server wird ein schwerer DDoS gefahren.

Diese Server sind nur Loadbalancer und hinter ihnen stehen via 100Mbit angebundene Appserver.

Wie kann ich bei den massiven und gut angebundenen Maschinen die "bad packets" filtern? Also die Gbit Server laufen ohne Probleme, sind nur 400Mbit vollgemüllt, das Problem ist sie geben diese 400Mbit weiter an die Appserver und die sind dann voll...

Habe im iptables mal eingestellt "Alles blockieren außer limit 1s, limit burst 2s." - Habe aber den Eindruck das die Regel nicht greift? Gibt zumindest keine Verbesserung der Situation.

Scripts wie DDoS Deflate bringen offenbar nichts da die Bots nur mit 1-3 Connections angreifen und ich dann mit DDoS Delfate auch normale User wegsperren würde...

Gruß

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: DDoS via iptables blockieren

Post by daemotron » 2010-11-30 11:17

Wie sieht der DDoS denn genau aus? TCP oder UDP? Falls TCP (wie von mir vermutet): Regulärer Verbindungsaufbau mit anschließendem regulärem Request, oder irgendwas kaputtes (SYN/FIN o. ä.)?

Worauf ich raus will: woran erkennst Du ein Paket, das zu einem am DDoS beteiligten Client gehört? Auf Layer 3 bist Du da ziemlich eingeschränkt. Vielleicht hilft es, das ein oder andere Netz temporär auszusperren, Clients mit mehr als n TCP-Verbindungen pro Minute/Sekunde (die Rate hängt von der Applikation ab) für eine Minute auszusperren oder per Traffic Shaping runterzupriorisieren (wie das mit Linux geht, kann ich Dir aber nicht genau beschreiben).

Der eigentliche Knackpunkt wäre aber wohl der Application Layer - wenn Du dort ein zuverlässiges Merkmal findest (irgendein Request Header z. B.), könnte der Loadbalancer die Anfragen verwerfen, statt sie an die App-Server durchzureichen.
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time

inchez
Posts: 65
Joined: 2007-10-01 20:17

Re: DDoS via iptables blockieren

Post by inchez » 2010-11-30 15:33

Es ist ein Synflood der rein kommt.

Wie könnte ich denn z.B. den Useragent herausfinden und dann blockierenß

Gruß

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: DDoS via iptables blockieren

Post by Joe User » 2010-11-30 15:39

SynCookies sind bereits aktiviert?
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings 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.

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: DDoS via iptables blockieren

Post by daemotron » 2010-11-30 19:12

inchez wrote:Wie könnte ich denn z.B. den Useragent herausfinden und dann blockieren

Hängt vom eingesetzten Loadbalancer ab - bei einem reverse proxy-enden Apachen ginge das z. B. mit mod_authz_host und mod_setenvif. Bei anderen Loadbalancern (Pound, Varnish, HAProxy & Co) gibt es ähnliche Möglichkeiten.
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time

inchez
Posts: 65
Joined: 2007-10-01 20:17

Re: DDoS via iptables blockieren

Post by inchez » 2010-12-01 04:39

SynCoockes sind aktiviert, ja.

Ich benutze Nginx.

Gruß

inchez
Posts: 65
Joined: 2007-10-01 20:17

Re: DDoS via iptables blockieren

Post by inchez » 2010-12-02 18:22

Ich hätte da mal eine Frage zum Aufbau von iptables rules.

Ich verwalte mein iptables per Webmin.

Wenn ich nun input rules aufstelle ist die Reinfolge relevant?

Habs aktuell wie folgt:

Accept 1.2.3.4 <- Eine IP die unbeschränkten Zugriff haben soll
Accept ssh port
Accept if limit 1 burst 2s
Accept www port
Block All

Nun sollte er ja 1.2.3.4 und ssh grundsätzlich rein lassen, und alles andere checken nach limit?

Oder hab ich da nen Denkfehler?

Gruß

P.s: Oder einfach http://www.configserver.com/cp/csf.html nutzen?

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: DDoS via iptables blockieren

Post by daemotron » 2010-12-04 09:33

inchez wrote:Ich benutze Nginx.

Da geht das mit dem HttpBrowserModule.
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time