Page 1 of 2

Apache flutung angriffe ...

Posted: 2005-02-16 20:12
by demux
Hallo !

Seit ein paar tagen ist mein server-load auf über 50 und der appache ist komplett übrlastet. Ich habe tausende von anfragen, die nicht aufhören. Ich bekomme eine meldung "consider raising the MaxClients setting". Kein user kommt mehr auf die seite, oder mit 3 minuten warten.

Es werden innerhalb weniger sekunden unsinnige abfragen gemacht, auf seiten die es bei mir nicht gibt. Und das von unterschiedlichen ip's und verschiedene browser (siehe unten)

Wie kann ich das verhindern? Hat jeman einen tipp für mich!? Alleine gestern hat der angriff 27GB traffic erzeugt. Ich bin total ratlos.

Hier ein auszug der logdatei

61.19.25.2 - - [16/Feb/2005:19:45:09 +0100] "GET / HTTP/1.0" 200 15339 "http://www.nutzu.com/texas-holdem-poker.html" "Mozilla/4.0 (compatible; MSIE 4.01; AOL 4.0; Windows 98)"
217.86.103.227 - - [16/Feb/2005:19:45:10 +0100] "GET /favicon.ico HTTP/1.1" 200 29926 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.5) Gecko/20041122 Firefox/1.0"
12.172.137.13 - - [16/Feb/2005:19:45:10 +0100] "GET / HTTP/1.1" 200 24119 "http://www.nutzu.com/wsop.html" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; SAFEXPLORER TL)"
82.148.70.171 - - [16/Feb/2005:19:45:10 +0100] "GET / HTTP/1.1" 200 31399 "http://www.nutzu.com/online-texas-holdem.html" "Mozilla/4.0 (compatible; MSIE 5.0; YANDEX)"
62.248.110.2 - - [16/Feb/2005:19:45:10 +0100] "GET / HTTP/1.1" 200 215176 "http://www.9types.com/wwwboard/messages/38950.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Hotbar 3.0)"
64.139.74.204 - - [16/Feb/2005:19:45:11 +0100] "GET / HTTP/1.0" 200 247564 "http://www.nutzu.com/poker-tournament.html" "Mozilla/4.0 (compatible; MSIE 4.01; AOL 4.0; Windows 98)"
195.146.147.42 - - [16/Feb/2005:19:45:11 +0100] "GET / HTTP/1.1" 200 0 "http://commercial.visi.net/ala/wwwboard ... es/23.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon)"
80.58.2.235 - - [16/Feb/2005:19:45:11 +0100] "GET / HTTP/1.0" 200 200619 "http://www.nutzu.com/texas-poker.html" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; N_o_k_i_a)"
65.165.84.11 - - [16/Feb/2005:19:45:11 +0100] "GET / HTTP/1.0" 200 11591 "http://malta.co.uk/wwwboard/messages/197.html" "Mozilla/4.0 (compatible; MSIE 5.0; Windows ME) Opera 5.11 [en]"
207.30.229.130 - - [16/Feb/2005:19:45:11 +0100] "GET / HTTP/1.0" 200 248395 "http://www.nutzu.com/wsop.html" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; SAFEXPLORER TL)"
200.140.131.194 - - [16/Feb/2005:19:45:12 +0100] "GET / HTTP/1.0" 200 15207 "http://www.flagfootball.org/wwwboard/messages/2507.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Hotbar 3.0)"
61.19.25.2 - - [16/Feb/2005:19:45:12 +0100] "GET / HTTP/1.0" 200 15339 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)"
211.46.197.60 - - [16/Feb/2005:19:45:12 +0100] "GET / HTTP/1.1" 200 18316 "http://www.nutzu.com/poker-game.html" "Mozilla/4.0 (compatible; Lotus-Notes/5.0; Windows-NT)"
211.46.197.60 - - [16/Feb/2005:19:45:12 +0100] "GET / HTTP/1.1" 200 18316 "http://www.nutzu.com/wsop.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)"
213.253.212.101 - - [16/Feb/2005:19:45:13 +0100] "GET / HTTP/1.1" 200 249759 "http://www.nutzu.com/texas-holdem-poker.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; iRider 2.21.1108; FDM)"
200.168.30.134 - - [16/Feb/2005:19:45:14 +0100] "GET / HTTP/1.1" 200 12502 "-" "Mozilla/4.0 (compatible; Lotus-Notes/5.0; Windows-NT)"64.62.168.35 - - [16/Feb/2005:19:45:14 +0100] "GET /showthread,s=3a096731ee8d0d6b8e36b38e5f69e1e8&t-20410.htm HTTP/1.0" 200 12342 "-" "Gigabot/2.0"211.46.197.60 - - [16/Feb/2005:19:45:15 +0100] "GET / HTTP/1.1" 200 18316 "http://www.nutzu.com/poker-party.html" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; SAFEXPLORER TL)"
61.19.25.2 - - [16/Feb/2005:19:45:15 +0100] "GET / HTTP/1.0" 200 15339 "http://www.nutzu.com/video-poker.html" "Mozilla/4.0 (compatible; MSIE6.0; Windows NT 5.1; Maxthon)"
65.165.84.11 - - [16/Feb/2005:19:45:17 +0100] "GET / HTTP/1.0" 200 11591 "http://www.faroe-islands.de/wwwboard/messages/1291.html" "Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; KITV4.7 Wanadoo)"
65.165.84.11 - - [16/Feb/2005:19:45:17 +0100] "GET / HTTP/1.0" 200 11591 "http://www.nutzu.com/texas-hold-em-rules.html" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; NetCaptor 6.5.0RC1)"
213.187.69.90 - - [16/Feb/2005:19:45:17 +0100] "GET / HTTP/1.0" 200 30959 "http://www.run-services.com/wwwboard/messages/775.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Hotbar 3.0)"
68.190.16.2 - - [16/Feb/2005:19:45:17 +0100] "GET / HTTP/1.0" 200 18103 "http://www.nutzu.com/poker-games.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Hotbar 3.0)"
65.165.84.11 - - [16/Feb/2005:19:45:18 +0100] "GET / HTTP/1.0" 200 11591 "http://www.nutzu.com/free-online-poker.html" "Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)"
61.19.25.2 - - [16/Feb/2005:19:45:18 +0100] "GET / HTTP/1.0" 200 15339 "http://www.nutzu.com/rules-of-poker.html" "Mozilla/4.0 (compatible; MSIE 4.01; Windows NT)"

Re: Apache flutung angriffe ...

Posted: 2005-02-16 20:42
by Joe User
Der Logauszug zeigt ausschliesslich Zugriffe auf existierende Dateien. Sollten diese Dateien nicht von Dir stammen, so wurde Dein System gecrackt, oder gar gerootet. In diesem Fall hilft nur noch ein Backup der Nutzdaten, welche Du Anhand Deiner lokalen Kopie auf Veränderungen prüfen musst, reinitialisieren und sofortigem updaten des Systems und rückspielen des letzten sauberen Backups...

Re: Apache flutung angriffe ...

Posted: 2005-02-16 20:56
by demux
Guck mal weiter unten. Da wird die hauptseite abgerufen, aber der typ kommt von der selben IP und hat verschiedene browser und betriebsysteme. Für mich sieht das wie der versuch aus das system "stillzulegen". Was hätte das bei einen "hack" für einen sinn?

Es ist auch nur auf EINER domain, in dem log. Alle anderen domains laufen normal, und es ist keiner dieser einträge in den anderen logs.

Selbst auf einen anderen server wo die "bilder " herkommen, sind die anfragen da. Und das nur in dem log von der betreffenden domain.



68.22.118.212 - - [16/Feb/2005:20:42:39 +0100] "GET / HTTP/1.0" 200 17219 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; iOpus-I-M)"
68.22.118.212 - - [16/Feb/2005:20:42:39 +0100] "GET / HTTP/1.0" 200 11699 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; .NET CLR 1.0
68.22.118.212 - - [16/Feb/2005:20:42:39 +0100] "GET / HTTP/1.0" 200 11699 "-" "Mozilla/4.0 (compatible; MSIE 4.01; Windows NT Windows CE)"

Re: Apache flutung angriffe ...

Posted: 2005-02-16 21:56
by oxygen
Die Domains kommen mir bekannt vor, das hatte ich auch schon mal in meinem blog aus referer/comment spam.

Re: Apache flutung angriffe ...

Posted: 2005-02-17 10:39
by demux
Seit gestern 22:00 geht es wieder los. Der appache kommt nicht mehr zur ruhe, der load ist durchgehen auf 77.

Ich versuche die ip's einzeln zu sperren. Leider sind das hunderte unterschiedliche.

Ich mache das so:
$IPTABLES -I OUTPUT
-s $IPADDR
-d 83.136.112.129 -j DROP

Hat jemand eine ahung, wie ich grössere bereiche sperren kann oder z.b. alles sperren und nur t-online durchzulassen?

Was macht man in so einen fall?

Re: Apache flutung angriffe ...

Posted: 2005-02-17 10:54
by tomek
Das ist sicherlich nicht der richtige Weg...

Aber man könnte kurzfrist bis man das Problem wirklich erkannt und gelöst hat, die Anzahl neuer Verbindungen zu Apache limitieren um die Load zu senken. Das Traffic-Aufkommen ändert sich dadurch natürlich nicht.

Code: Select all

iptables -A INPUT -i eth0 -p TCP --sport 1024: --dport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 1024: --dport 80 -m state --state NEW -m limit --limit 100/s --limit-burst 100 -j ACCEPT
iptables -A INPUT -i eth0 -p TCP --sport 1024: --dport 80 -m state --state NEW -j DROP
Das sind allerdings nur Beispielwerte. Du wirst damit vermutlich etwas experimentieren müssen.

Re: Apache flutung angriffe ...

Posted: 2005-02-17 10:57
by tomek
Achja... Eine IP-Blacklist könntest du mit einer Schleife in IPTABLES eintragen:

Code: Select all

IP_LIST="199.199.199.190 193.31.12.39 203.102.122.230"

if ! [ -z "$IP_LIST" ] ; then
   for i in $IP_LIST ; do
      iptables -A INPUT -i eth0 -s $i -j DROP
   done
fi

Re: Apache flutung angriffe ...

Posted: 2005-02-17 12:25
by demux
Tomek wrote:Achja... Eine IP-Blacklist könntest du mit einer Schleife in IPTABLES eintragen:

Code: Select all

IP_LIST="199.199.199.190 193.31.12.39 203.102.122.230"

if ! [ -z "$IP_LIST" ] ; then
   for i in $IP_LIST ; do
      iptables -A INPUT -i eth0 -s $i -j DROP
   done
fi
Super, das hilft mir. Wie machen ich denn ip-bereiche mit deinem script ?

Z.B. 199.199.199.190 193.31.12.1 - 193.31.12.255 203.102.122.230 ??

Re: Apache flutung angriffe ...

Posted: 2005-02-17 14:21
by andreask2
Demux wrote:Guck mal weiter unten. Da wird die hauptseite abgerufen, aber der typ kommt von der selben IP und hat verschiedene browser und betriebsysteme. Für mich sieht das wie der versuch aus das system "stillzulegen". Was hätte das bei einen "hack" für einen sinn?
Ob "der Typ" verschiedene Browser/OS verwendet kann man aus dem gesendeten Referer nicht schließen. Genausowenig muss von einer IP gleichzeitig nur ein User kommen, siehe Proxies, NAT...

Re: Apache flutung angriffe ...

Posted: 2005-02-17 15:22
by demux
So, die tipps in diesem forum haben mir wirklich weitergeholfen.

Eine frage bleibt noch. Ich habe mir eine textdatei gemacht, wodrin ale ip-addresse drinn sind, die geblockt werden sollen (ca. 1000).

Tomek, wie schaffe ich das dein script diese datei benutzt ? Die datei heisst "blacklist.txt". Ich möchte das nicht per hand einfügen, sondern einfach laden, geht das?

Danke für deine hilfe ...

Re: Apache flutung angriffe ...

Posted: 2005-02-18 08:36
by 丨-丨4rp3r
Hallo,

seit heute morgen um ca. 03:00 Uhr wird ebenfalls mein Apache über verschiedene IPs mit diesen Anfragen geflooded.
Hier will einer die alte PHPBB-Sicherheitslücke ausnutzen.

Code: Select all

GET /phpbb/viewtopic.php?p=2744&
highlight=%2527%252Esystem(chr(112)%252Echr(101)%252Echr(114)%252Echr(108)%252Ec
hr(32)%252Echr(45)%252Echr(101)%252Echr(32)%252Echr(34)%252Echr(112)%252Echr(114
)%252Echr(105)%252Echr(110)%252Echr(116)%252Echr(32)%252Echr(113)%252Echr(40)%25
2Echr(106)%252Echr(83)%252Echr(86)%252Echr(111)%252Echr(119)%252Echr(77)%252Echr
(115)%252Echr(100)%252Echr(41)%252Echr(34))%252E%2527
Gleich nach dem starten des Apache bekomme ich hunderte Anfragen rein und der Load steigt ins unermessliche.
Ich werd jetzt mal die MaxClients runtersetzen und alles beobachten.

Re: Apache flutung angriffe ...

Posted: 2005-02-18 10:55
by demux
Den entscheidenen tipp wegen meines problemes hatte ich von einer anderen webseite bekommen. Wenn man sich meine logs oben mal anschaut, sieht man das jemand versucht über mein system webseiten zu kommen. Die haben mein system missbraucht um als public proxy zu benutzen. Ich hatte zwar ein proxy, der war aber nur auf meinen anderen server umgeleitet.

Es waren über 1000 "besucher" mit verschiedenen ip's gleichzeitig (!) auf einen server.

Um das problem im griff zu bekommen, habe mir ein script gebastelt um ip-listen zu generieren um dann per iptables die zugriffe zu sperren. Das hat auch gut funktioniert.

Irgendwie bin ich in eine proxy-liste reingerutscht. Die seitenabrufe hören trotzdem nicht auf obwohl die einen 404 zurückbekommen. Den apache machen die zugriffe aber nicht mehr platt.

Re: Apache flutung angriffe ...

Posted: 2005-02-18 11:04
by k@sperl
Demux wrote:Super, das hilft mir. Wie machen ich denn ip-bereiche mit deinem script ?

Z.B. 199.199.199.190 193.31.12.1 - 193.31.12.255 203.102.122.230 ??

Code: Select all

iptables -A INPUT -m iprange --src-range 1.2.3.4-1.2.3.255 -j DROP

Re: Apache flutung angriffe ...

Posted: 2005-02-18 11:37
by andreask2
Demux wrote:Den entscheidenen tipp wegen meines problemes hatte ich von einer anderen webseite bekommen. Wenn man sich meine logs oben mal anschaut, sieht man das jemand versucht über mein system webseiten zu kommen.
Für mich sah das eher so aus, als würde jemand versuchen Deine Logs, und entsprechend Deine Web-Statistiken zuzuspammen, wo möglicherweise die gesendeten Referer in Links umgewandelt werden und öffentlich zugänglich sind.
Demux wrote:Die haben mein system missbraucht um als public proxy zu benutzen.
Würde mich mal interessieren woraus Du das sicher schließen kannst. Interesant wäre z.B. mal zu sehen wie so ein HTTP-Request tatsächlich aussieht (z.B. mit ntop...).

Ein Request wie "GET / HTTP/1.0" ist AFAIK kein Proxy-Request, sondern sowas wie "GET http://example.com/ HTTP/1.0". Allerdings weiß ich nicht was Apache da loggt. Die URLs die in Deiner Liste auftauchen stehen normalerweise für den vom Client gesendeten Referer.
Demux wrote:Ich hatte zwar ein proxy, der war aber nur auf meinen anderen server umgeleitet.
Du meinst einen Reverse-Proxy? Wenn der ordentlich konfiguriert ist kann man den normalerweise nicht als Forward-Proxy mißbrauchen.
Demux wrote:Es waren über 1000 "besucher" mit verschiedenen ip's gleichzeitig (!) auf einen server.
Es ist Dank Proxies und Referer-Manipulation nicht wirklich schwer vorzutäuschen man sei "1000 Besucher"...
Demux wrote:Um das problem im griff zu bekommen, habe mir ein script gebastelt um ip-listen zu generieren um dann per iptables die zugriffe zu sperren. Das hat auch gut funktioniert.
Weißt Du denn welche IP/welcher Hostname verwendet wird? Wenn Du den/die nicht unbedingt brauchst kannst Du die IP ja vorübergehend abschalten (nicht nur filtern).
Demux wrote:Irgendwie bin ich in eine proxy-liste reingerutscht. Die seitenabrufe hören trotzdem nicht auf obwohl die einen 404 zurückbekommen. Den apache machen die zugriffe aber nicht mehr platt.
Ich dachte Du verwendest iptables? Wie erkennst Du denn die entsprechenden User? Wenn es wirklich Proxy-Anfragen sind, sollte es reichen diesen einfach abzustellen. Ein Forward-Proxy auf einem Root-Server ist IMHO recht sinnfrei.

PS: http://www.iks-jena.de/mitarb/lutz/usen ... .html#Deny

Re: Apache flutung angriffe ...

Posted: 2005-02-18 12:24
by demux
andreask2,

das problem war, das die versuchten mein system bzw. den apache (mod_proxy) als proxy zu benutzen, und 1000x user gleichzeitig die hauptseite (root) zu öffnen. Da die seite per mysql und php erzeugt wurde, war das system schnell überlastet. Meiner meinung hatten die da nichts von, aber die zugriffe waren nunmal da. Der proxy war auch schon länger wieder abgeschaltet. Vieleicht war das nur ein "proxy test" von den leuten?

Da war auch mit der apache-config nichts mehr zu machen. Ich habe im apache-log die "zugriffe" aber sehr gut erkannt, das ich die sofort temporär sperren konnte. Es kamen von jedem system so 30-300 zugriffe, über einen längeren zeitraum.

So lernt man sein system besser kennen :-)

Re: Apache flutung angriffe ...

Posted: 2005-02-18 12:58
by demux

Re: Apache flutung angriffe ...

Posted: 2005-02-18 13:13
by andreask2
Ja, hast Du die Log-Einträge dort mal mit Deinen verglichen? Ein Proxy kann wie gesagt mit einem Request an "/..." nichts anfangen, er braucht die komplette URL um den Request weiterleiten zu können. Ich würde immer noch auf Spambots tippen.

Re: Apache flutung angriffe ...

Posted: 2005-02-22 16:23
by chrystalsky
jo, das wird ein kleines Bot-Net sein.....

Kannst aber leicht dagegen vorgehen:

mod_dosevasive

Blabklisted IP's, die in einem bestimmten Zeitraum eine vordefinierte Anzahl an Requests senden. Das ganze sieht dann so aus:

Feb 22 16:15:55 silver mod_dosevasive[18643]: Blacklisting address 82.42.96.xxx: possible DoS attack.

Wird dann nach eine vordefinierten Zeit wieder aufgehoben.


Grüße

Re: Apache flutung angriffe ...

Posted: 2007-06-26 11:23
by richbone
Hallo

Das gleiche Problem habe ich derzeit leider auch.

Bekomme anfragen auf Dateien die nicht mehr auf dem Server sind. Die Subdomain ist auch bereits gelöscht.

Wie kann ich die Referer blocken?

Mit freundlichen Grüßen

Martin Krüger

Re: Apache flutung angriffe ...

Posted: 2007-06-26 13:23
by daemotron
Am einfachsten dürfte es sein, mit mod_setenvif und mod_access das Problem abzufackeln:

Code: Select all

SetEnvIfNoCase Request_URI "/geloeschter/ordner" keep_out
<Directory /geloeschter>
  Deny from env=keep_out
</Directory>

Re: Apache flutung angriffe ...

Posted: 2007-06-26 13:39
by richbone
Hallo

Danke.

Werden es damit versuchen.

MFG

RichBone

Re: Apache flutung angriffe ...

Posted: 2007-06-26 18:19
by dtdesign
Oder steig auf LightTPD um, das bringt dir erheblich mehr Spielraum nach oben, hatten letztens einen niedlichen Versuch eine Kundenpräsenz lahm zu legen... dank FastCGI + APC kam der zwar bei 70 req/s etwas ins stottern, aber die durchschnittliche Ladezeit der Seite lag bei 3 Sekunden, was unter den Umständen akzeptabel war.

Zudem solltest du in solchen Fällen versuchen, deinen Server so schlank wie möglich zu bekommen, ein mod_security sollte nur mit Minimalkonfiguration laufen, am besten per vorgeschalteter Hardware-Firewall direkt IP-Ranges droppen. Der letzte erfolgreiche Angriff auf unseren Server dauerte 3 1/2 Tage, bis wir die im Griff hatten. Lighty hingegen bohrt nur in der Nase, da ich einfach temporär ganze Subnets aussperre.

Zwar auch nicht die beste Lösung, aber immerhin effektiv. Man sollte sich immer vor Augen führen, wann ein Subnet-Ban sinnvoll ist, etwa ob man 20 von 100 Kunden abblockt oder 100 Kunden vor einem überlasteten Server stehen. Meist dauern Angriffe bei geeigneten Gegenmaßnahmen nur wenige Stunden an, aber gegen richtig große Angriffe sieht so ziemlich jede Gegenmaßnahme alt aus.

Gruß
dtdesign

Re: Apache flutung angriffe ...

Posted: 2007-06-26 18:23
by Joe User
dtdesign wrote:aber gegen richtig große Angriffe sieht so ziemlich jede Gegenmaßnahme alt aus.

Code: Select all

shutdown -h now
SCNR 8) Ansonsten ACK.

Re: Apache flutung angriffe ...

Posted: 2007-06-26 18:29
by dtdesign
Joe User wrote:

Code: Select all

shutdown -h now
So abwegig ist die Idee nicht. Wenn dein System gnadenlos überlastet ist, fahr es einfach runter, hole Rat ein und treffe Gegenmaßnahmen. Mit Kopien der Logauszüge die Hardware-Firewall füttern und System wieder hochfahren. Grund hierfür ist einfach die logische Überlegung, dass das System so oder so nicht da ist, egal wie mans dreht und wendet :P

Lieber 2-3 Stunden vollständige Ausfallzeit in Kauf nehmen, als 3 Tage lang vor sowas zu stehen. Das Ziel solcher Deppen ist es ja, das System lahm zu legen und hey... wenn interessierts ob die sich dadurch besser fühlen, dass das System weg ist. Wenn sie dann aufhören hast du dein Ziel erreicht und du gehst als Gewinner aus der Sache (bzgl. Ausfallzeit etc).

Im worst case nützt selbst das nichts, aber eine letzte Rettungsmaßnahme wäre es schon.

Gruß
dtdesign

Re: Apache flutung angriffe ...

Posted: 2007-06-27 08:32
by globestern