reputation
Goto Top

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:

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

Content-ID: 93265

Url: https://administrator.de/contentid/93265

Ausgedruckt am: 13.11.2024 um 06:11 Uhr

filippg
filippg 30.07.2008 um 22:52:08 Uhr
Goto Top
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
16568
16568 30.07.2008 um 23:40:31 Uhr
Goto Top
Und Du solltest evtl. mod_security in Betracht ziehen.
Das aktuelle bietet ein paar nette Konfigurations-Möglichkeiten...


Lonesome Walker
Reputation
Reputation 30.07.2008 um 23:44:06 Uhr
Goto Top
Hallo Filipp,

stimmt eigentlich. Es ist eigentlich klar, dass man im GET bzw. POST Befehl des HTTP-Protokols ja wirklich alles schreiben kann. Ich habe als Test GET http://www.test.de über telnet ausgeführt und bekam dann auch die Seite zurückgeliefert. (Zunächst musste ich den Apachen auf die lokale IP binden damit er überhaupt mal eine Anfrage von mir beantworten konnte...traurig) In den Log-Dateien finde ich übrigens jede Menge verschiedene Statuscodes. Die 200er sind eigentlich die Ausnahme, ich glaube daher nicht dass der (oder die) Angreifer sonderlich Geld damit verdienen.

Kurz noch zu b): Gibt es vielleicht ein Apache-Modul, was genau diese sinnlosen GET und POST Anfragen blocken oder das nur der lokalen IP erlauben kann? Das wäre ja eigentlich schon eine Lösung.

MfG Reputation
Reputation
Reputation 30.07.2008 um 23:51:36 Uhr
Goto Top
Oh, noch während ich nach einem Modul frage, bekomme ich schon die passende Antwort. Ich habe mir mod_security gerade mal grob angeschaut und werde das morgen mal direkt ausprobieren. Danke für den Tip Lonesome Walker. Ich werde mich morgen melden, ob ich damit die Angriffe abwehren konnte.

Bis dann, Reputation
hanskre
hanskre 31.07.2008 um 00:22:55 Uhr
Goto Top
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?