Seltsamer Angriff auf Apache Webserver
Hallo beisammen,
ich habe einen kleinen V-Server bei Strato gehostet. Seit kurzem (ca 3 Tage) gibt es jedoch seltsame Angriffe auf meinen Apache Webserver, die dafür sorgen dass der Server die meiste Zeit nicht zu erreichen ist. Bei den Angriffen handelt es sich um DDoS-Angriffe, das eigentlich seltsame daran sind jedoch die Log-Einträge. Ich habe hier mal einen kleinen Ausschnitt hinterlegt:
Wie Ihr sehen könnt beziehen sich die Anfragen an Domains, die absolut nichts mit meinen Domains zu tun haben. Ich weiß nicht, wie das überhaupt sein kann, dass der Server solche Requests annimmt (Versuchte Zugriffe auf nicht vorhandene Verzeichnisse waren mir bekannt). In dem Beispiel sieht man jetzt natürlich nicht alle angreifenden IPs, auch die angefragten Seiten variieren. Ich dachte schon, dass es vielleicht einen Bug in mod_proxy geben könnte, habe aber im Apache bugtrack noch nichts gefunden.
Serverdaten:
Linux SuSE 10.1
Apache 2.2.6 mit mod_proxy, ssl und rewrite
Hat jemand von Euch eine Idee a) Warum überhaupt solche Anfragen vom Apachen bearbeitet werden, b) Was ich dagegen machen könnte?
MfG Reputation
ich habe einen kleinen V-Server bei Strato gehostet. Seit kurzem (ca 3 Tage) gibt es jedoch seltsame Angriffe auf meinen Apache Webserver, die dafür sorgen dass der Server die meiste Zeit nicht zu erreichen ist. Bei den Angriffen handelt es sich um DDoS-Angriffe, das eigentlich seltsame daran sind jedoch die Log-Einträge. Ich habe hier mal einen kleinen Ausschnitt hinterlegt:
61.139.105.166 - - [30/Jul/2008:21:52:59 +0200] "GET http://banner.adtrgt.com/cpv_inline.js?p=112842&cb=3207578658 HTTP/1.0" 200 3294
194.110.162.20 - - [30/Jul/2008:21:52:58 +0200] "POST http://madam-limited.net/cgi/yybbs/yybbs.cgi HTTP/1.1" 200 6744
61.139.105.166 - - [30/Jul/2008:21:53:00 +0200] "GET http://ad.yieldmanager.com/imp?z=0&Z=0x0&s=286807&y=30 HTTP/1.1" 302 -
61.139.105.166 - - [30/Jul/2008:21:53:00 +0200] "GET http://ad.yieldmanager.com/imp?z=0&Z=0x0&s=286807&y=30&B=1 HTTP/1.1" 200 6666
194.110.162.20 - - [30/Jul/2008:21:52:59 +0200] "POST http://fuka.harukaze.net/~youta/majyo/bbs/yybbs.cgi HTTP/1.1" 200 6653
61.139.105.166 - - [30/Jul/2008:21:53:01 +0200] "GET http://ad.yieldmanager.com/imp?z=0&Z=0x0&s=345040&y=30 HTTP/1.1" 302 -
194.110.162.20 - - [30/Jul/2008:21:53:00 +0200] "POST http://www.sunggyulusa.org/bbs/comment_ok.php HTTP/1.1" 200 10700
61.139.105.166 - - [30/Jul/2008:21:53:01 +0200] "GET http://ad.yieldmanager.com/imp?z=0&Z=0x0&s=345040&y=30&B=1 HTTP/1.1" 200 6638
61.139.105.166 - - [30/Jul/2008:21:53:01 +0200] "GET http://ad.globalinteractive.com/rw?title=New%20offer%21&qs=iframe3%3FAAAAAFdgBAD9mwkASmcCAAIAAAAAAP8AAAAEFgIBAAP7gQUAPVICAJDJAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACACIzLMD8AAAAAAAAAAAAAgAiMy0A%2EAAAAAAAAAAAAAIAIjMtQPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYVvCDByr2QRuf7B%2EOY0ekbx61wOs3vwpRgIX3wAAAAA%3D%2C%2Chttp%253a%252f%252fwww%2Emyflashhome%2Ecom%252findex%2Ehtml HTTP/1.1" 200 567
Wie Ihr sehen könnt beziehen sich die Anfragen an Domains, die absolut nichts mit meinen Domains zu tun haben. Ich weiß nicht, wie das überhaupt sein kann, dass der Server solche Requests annimmt (Versuchte Zugriffe auf nicht vorhandene Verzeichnisse waren mir bekannt). In dem Beispiel sieht man jetzt natürlich nicht alle angreifenden IPs, auch die angefragten Seiten variieren. Ich dachte schon, dass es vielleicht einen Bug in mod_proxy geben könnte, habe aber im Apache bugtrack noch nichts gefunden.
Serverdaten:
Linux SuSE 10.1
Apache 2.2.6 mit mod_proxy, ssl und rewrite
Hat jemand von Euch eine Idee a) Warum überhaupt solche Anfragen vom Apachen bearbeitet werden, b) Was ich dagegen machen könnte?
MfG Reputation
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 93265
Url: https://administrator.de/contentid/93265
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo,
zu a): Was heißt "vom Apachen bearbeitet werden"? Ich weiß nicht, ob er sie tatsächlich bearbeitet. Warum sie in den Logs auftauchen ist allerdings klar. Die Logs schreiben alle Requests mit, die bei ihm reingehen (zumindest den HTTP-Befehl, nicht unbedingt alle parameter). Warum solche bei ihm reingehen können ist klar. Es wird ja eine TCP-Verbindung aufgebaut, über die werden dann die HTTP-Befehle (GET, POST, PUT...) übertragen. Dabei ist der HTTP-Befehl unabhängig davon, zu wem die TCP-Verbindung aufgebaut wurde.
Es kann sein, dass manche Webserver eine solche Anfrage einfach stumpf ausführen. Also sich bei "GET http://ad.yieldmanager.com/imp?z=0&Z=0x0&s=345040&y=30& ... HTTP/1.1" einfach zu ad.yieldmanager.com verbinden, dort das Banner runterladen und damit den Click-Counter eins erhöhen (mit einer neuen IP, also so, dass der Angreifer damit vielleicht wirklich Geld bekommt).
Ach ja: die beiden Zahlen hinter dem Befehl sind wahrscheinlich der Statuscode für die Antwort für die Anfrage und die Anzahl der zurückgelieferten Bytes. Solltest du nochmal prüfen. 200 würde bedeuten, dass die Anfrage tatsächlich erfolgreich war. Du kannst das auch mit telnet testen. Einfach per Telnet zu deinem Apache verbinden und mal so eine Anfrage ausführen...
Gruß
Filipp
zu a): Was heißt "vom Apachen bearbeitet werden"? Ich weiß nicht, ob er sie tatsächlich bearbeitet. Warum sie in den Logs auftauchen ist allerdings klar. Die Logs schreiben alle Requests mit, die bei ihm reingehen (zumindest den HTTP-Befehl, nicht unbedingt alle parameter). Warum solche bei ihm reingehen können ist klar. Es wird ja eine TCP-Verbindung aufgebaut, über die werden dann die HTTP-Befehle (GET, POST, PUT...) übertragen. Dabei ist der HTTP-Befehl unabhängig davon, zu wem die TCP-Verbindung aufgebaut wurde.
Es kann sein, dass manche Webserver eine solche Anfrage einfach stumpf ausführen. Also sich bei "GET http://ad.yieldmanager.com/imp?z=0&Z=0x0&s=345040&y=30& ... HTTP/1.1" einfach zu ad.yieldmanager.com verbinden, dort das Banner runterladen und damit den Click-Counter eins erhöhen (mit einer neuen IP, also so, dass der Angreifer damit vielleicht wirklich Geld bekommt).
Ach ja: die beiden Zahlen hinter dem Befehl sind wahrscheinlich der Statuscode für die Antwort für die Anfrage und die Anzahl der zurückgelieferten Bytes. Solltest du nochmal prüfen. 200 würde bedeuten, dass die Anfrage tatsächlich erfolgreich war. Du kannst das auch mit telnet testen. Einfach per Telnet zu deinem Apache verbinden und mal so eine Anfrage ausführen...
Gruß
Filipp
Und Du solltest evtl. mod_security in Betracht ziehen.
Das aktuelle bietet ein paar nette Konfigurations-Möglichkeiten...
Lonesome Walker
Das aktuelle bietet ein paar nette Konfigurations-Möglichkeiten...
Lonesome Walker
Der Domainname wird zur IP auf dem Client aufgelösst und in der gesamten Anfrage dann nochmal im Request mitgesendet. Es handelt sich also eine Eingabe vom Client (Browser) and den Server, die sie sodann auch brav mitlogged. Die Domainnamen sollten also genausoviel verwirren wie auch der rest der URIs, sprich Pfad, Dateiname und Query-Info-Part (das nach dem Fragezeichen).
Dein Server wird einfach mit Anfragen zugespammt.
Die Aussage oben:
"Es kann sein, dass manche Webserver eine solche Anfrage einfach stumpf ausführen. Also sich bei "GET http://ad.yieldmanager.com/imp?z=0&Z= ... HTTP/1.1" einfach zu ad.yieldmanager.com verbinden, dort das Banner runterladen und damit den Click-Counter eins erhöhen (mit einer neuen IP, also so, dass der Angreifer damit vielleicht wirklich Geld bekommt)."
Ist einfach totaler Blödsinn der wohl nur in den Raum geraten wurde. Damit der Apache Webserver sowas machen würde bedarf es einer etwas weitergehenden Konfiguration und dann taucht das ganze auch nicht so im Log auf wie du berichtet hast. filippg scheint da weniger aus eigener Erfahrung zu berichten als eine kleine Inspirationsquelle geben zu wollen.
mod_security kann dir in der tat helfen, es macht vielelicht aber auch sinn sich darüber gedanken zu machen warum dein server angegriffen wird. ist es eher zufall da allgemeines ziel oder geht es um mehr?
Wenn ich ganz übel drüber Nachdenke könnte es vielleicht sein, das manche DNS Einträge mit der IP von deinem VServer gepoisened wurden und dein VSErver als Drohne im Netz unterwegs ist? SChonmal drüber nachgedacht den VServer per Klick im Admin Panel in den Grundzustand zu versetzten? Halten dann die Attacken noch an?
Dein Server wird einfach mit Anfragen zugespammt.
Die Aussage oben:
"Es kann sein, dass manche Webserver eine solche Anfrage einfach stumpf ausführen. Also sich bei "GET http://ad.yieldmanager.com/imp?z=0&Z= ... HTTP/1.1" einfach zu ad.yieldmanager.com verbinden, dort das Banner runterladen und damit den Click-Counter eins erhöhen (mit einer neuen IP, also so, dass der Angreifer damit vielleicht wirklich Geld bekommt)."
Ist einfach totaler Blödsinn der wohl nur in den Raum geraten wurde. Damit der Apache Webserver sowas machen würde bedarf es einer etwas weitergehenden Konfiguration und dann taucht das ganze auch nicht so im Log auf wie du berichtet hast. filippg scheint da weniger aus eigener Erfahrung zu berichten als eine kleine Inspirationsquelle geben zu wollen.
mod_security kann dir in der tat helfen, es macht vielelicht aber auch sinn sich darüber gedanken zu machen warum dein server angegriffen wird. ist es eher zufall da allgemeines ziel oder geht es um mehr?
Wenn ich ganz übel drüber Nachdenke könnte es vielleicht sein, das manche DNS Einträge mit der IP von deinem VServer gepoisened wurden und dein VSErver als Drohne im Netz unterwegs ist? SChonmal drüber nachgedacht den VServer per Klick im Admin Panel in den Grundzustand zu versetzten? Halten dann die Attacken noch an?