Kann man sich vor DoS Attacken schützen?
Kann man sich vor DoS Attacken schützen?
Hallo,
ich habe seit einigen Tagen dass Problem, dass irgenteiner mein Forum mit DoS Attacken floodet. Gesten um 23.35 Uhr eine DoS Attacke (Server muss neugestartet werden, da wichtige Prozesse in PhpMyAdmin durch die Überlastung abgestützt sind) und dann eben um 13.35 wieder ein Angriff.
Diese Angriffe kommen von der gleichen IP und deswegen war in der index.php und portal.php jeweils über 500 Datenbankabfragen.
Kann man sich vor DoS Attacken schützen? Wenn ja, wie? Ich hoffe, man kann mir wieterhelfen. Danke schonmal im vorraus.
Viele Grüße,
Twins
ich habe seit einigen Tagen dass Problem, dass irgenteiner mein Forum mit DoS Attacken floodet. Gesten um 23.35 Uhr eine DoS Attacke (Server muss neugestartet werden, da wichtige Prozesse in PhpMyAdmin durch die Überlastung abgestützt sind) und dann eben um 13.35 wieder ein Angriff.
Diese Angriffe kommen von der gleichen IP und deswegen war in der index.php und portal.php jeweils über 500 Datenbankabfragen.
Kann man sich vor DoS Attacken schützen? Wenn ja, wie? Ich hoffe, man kann mir wieterhelfen. Danke schonmal im vorraus.
Viele Grüße,
Twins
-
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Kann man sich vor DoS Attacken schützen?
Hi!
Gegen DoS kann man sich nur OS-seitig schützen, indem man TCP-Limits und Firewalls demenstprechend konfiguriert, dass IP-Adressen nicht flodden können, und man kann bei erreichen einer gewissen Paketzahl automatisch eine IP Adresse z.B. blocken.
Wenn das nicht dein Root-Server ist, hast Du da jedoch keine effektiven Eingriffsmöglichkeiten. Du könntest in einem global prepend PHP file die IP-Adressen prüfen, aber das würde einen DoS immer noch bis zu PHP vordringen lassen.
Viele Grüße,
Garvin
Gegen DoS kann man sich nur OS-seitig schützen, indem man TCP-Limits und Firewalls demenstprechend konfiguriert, dass IP-Adressen nicht flodden können, und man kann bei erreichen einer gewissen Paketzahl automatisch eine IP Adresse z.B. blocken.
Wenn das nicht dein Root-Server ist, hast Du da jedoch keine effektiven Eingriffsmöglichkeiten. Du könntest in einem global prepend PHP file die IP-Adressen prüfen, aber das würde einen DoS immer noch bis zu PHP vordringen lassen.
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Also, es gibt für den Apachen ein Modul, was solche Leute raussperrt. Das fängt mit c an. Wie es genau heißt, kann ich dir leider heute nicht sagen, aber der Name steht zu Hause auf einem Zettel und eine googlesuche war erfolglos. Ich poste den Namen morgen.
Die Frage ist nur: Hast du Zugriff auf auf einen Apachen und das Recht, Module einzubinden?
Die Frage ist nur: Hast du Zugriff auf auf einen Apachen und das Recht, Module einzubinden?
Re: Kann man sich vor DoS Attacken schützen?
Wo bekommt man sowas her und wie installiert man dass? Ich möchte mich über DoS Attacken und seine Schutzmittel gerne etwas informieren.garvinhicking wrote:Gegen DoS kann man sich nur OS-seitig schützen, indem man TCP-Limits und Firewalls demenstprechend konfiguriert, dass IP-Adressen nicht flodden können, und man kann bei erreichen einer gewissen Paketzahl automatisch eine IP Adresse z.B. blocken.
@falk:
danke!
Ich weiß nicht, ich habe volle Serverrechte und kann also alles machen (PhpMyAdmin, PHP, Apache usw.).
-
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Kann man sich vor DoS Attacken schützen?
Hi!
Das Zauberwort für die von mir erwähnten Dinge heißt "iptables". Damit dürftest Du alles googlen können was es gibt. Das Thema ist sehr komplex, und Du solltest Dich generell erst mit TCP/IP und Firewalls beschäftigen.
Viele Grüße,
Garvin
Das Zauberwort für die von mir erwähnten Dinge heißt "iptables". Damit dürftest Du alles googlen können was es gibt. Das Thema ist sehr komplex, und Du solltest Dich generell erst mit TCP/IP und Firewalls beschäftigen.
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Vielen dank!
Wikipedia und Google sind für solche Sachen gut, dann mache ich mich mal schlau. Auf einer Seite habe ich gelesen, dass man DoS Attacken auch so blocken kann:
Wikipedia und Google sind für solche Sachen gut, dann mache ich mich mal schlau. Auf einer Seite habe ich gelesen, dass man DoS Attacken auch so blocken kann:
Code: Select all
<?php
if ('192.168.1.100' == $_SERVER['REMOTE_ADDR']) exit('DoS Attacke geblockt!');
?>
So, nun noch der Webserver-Beitrag von mir:
Wenn man aus dem c ein e macht kommt man sehr schnell auf mod_evasive. Das Modul soll den Apachen vor DOS-Angriffen schützen. Da das mod noch auf meiner "Ausprobieren"-Liste steht, kann ich leider nichts weiter dazu sagen. Nur dass es im Linuxmagazin vorgestellt wurde und demzufolge nicht grottenschlecht sein kann .
http://www.nuclearelephant.com/projects/mod_evasive/
Wenn man aus dem c ein e macht kommt man sehr schnell auf mod_evasive. Das Modul soll den Apachen vor DOS-Angriffen schützen. Da das mod noch auf meiner "Ausprobieren"-Liste steht, kann ich leider nichts weiter dazu sagen. Nur dass es im Linuxmagazin vorgestellt wurde und demzufolge nicht grottenschlecht sein kann .
http://www.nuclearelephant.com/projects/mod_evasive/
-
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Twins:
Wie erwähnt, der PHP Code den Du zeigst, nützt recht wenig. Bis dieser Code ausgeführt werden kann, hat Apache schon 60% der Anfrage abgearbeitet und deine Maschine wurde schon durch den kompletten PHP-Parser belästigt...
Viele Grüße,
Garvin
Wie erwähnt, der PHP Code den Du zeigst, nützt recht wenig. Bis dieser Code ausgeführt werden kann, hat Apache schon 60% der Anfrage abgearbeitet und deine Maschine wurde schon durch den kompletten PHP-Parser belästigt...
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Also zu der Zeit als ich noch PHP5 auf meinem Rechner hatte, hatte ich keine Probleme damit. Aber ich glaube Garvin ist über jedes Problem was mit PHP5 auftritt dankbar. Ach, da fällt mir gerade ein PHP 5.0.1(?) zickte mit Anweisungen nach Art "$a = $b = array();". In s9y kam das ein- oder zweimal vor und wurde von Garvin gefixt.
-
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Serendipity läuft problemlos mit PHP5. Mir ist kein Plugin bekannt was nicht läuft.
Grüße,
Garvin
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Irgentwie habe ich was falsch gemacht... Beim Aufruf des Forums erscheint diese Meldung:
Wo liegt bei mir der Fehler und wass habe ich falsch gemacht? Wie kann ich dass korregieren?
Und S9Y ist nur noch eine weiße Seite, auf der sich sonst nichts anderes mehr tut.message_die() was called multiple times. This isn't supposed to happen. Was message_die() used in page_tail.php?
Wo liegt bei mir der Fehler und wass habe ich falsch gemacht? Wie kann ich dass korregieren?