In den letzten Tagen bemerkte ich, dass einige Server mit unbekannten Anfragen überhäuft wurden.
Die meisten von ihnen sind wie folgt:
60.246.*.* - - [03/Jan/2015:20:59:16 +0200] "GET /announce.php?info_hash=%80%85%8e%9bu%cfJ.%85%82%e9%25%bf%8e%9e%d7%bf%c5%b0%12&peer_id=-UT3420-v%8bN%aa%60%60%fd%5d%d1%b0Ux&port=15411&uploaded=48588531&downloaded=0&left=0&corrupt=0&key=9E124668&numwant=200&compact=1&no_peer_id=1 HTTP/1.1" 200 -
Nach ein wenig Protokollierung und Suche fand ich heraus, dass einige chinesische ISP (wahrscheinlich CERNET nach den Ergebnissen von whatsmydns.net) und einige türkische ISP (wahrscheinlich TTNET) auf DNS-Abfragen wie a.tracker.thepiratebay.org
mit verschiedenen IPs reagieren , die nichts mit PirateBay zu tun haben oder Torrents. Mit anderen Worten, sie scheinen aus irgendeinem bizarren Grund eine Art DNS-Cache-Vergiftung durchzuführen.
Hunderte (wenn nicht Tausende) von Bittorrent-Kunden in diesen Ländern senden meinen Webservern Unmengen von "Ankündigungen", die so gut wie zu einem DDoS-Angriff führen, der alle Apache-Verbindungen ausfüllt.
Im Moment habe ich China und die Türkei blockiert und es macht den Job, aber ich würde gerne einen besseren Weg finden, um diese Anfragen zu blockieren.
Ich dachte daran, diese Anforderungen mit mod_security basierend auf dem HTTP-Host-Header zu blockieren.
Alle diese Anforderungen enthalten einen HTTP-Host-Header wie a.tracker.thepiratebay.org
(oder viele andere Unterdomänen der Domäne piratebay.org).
Hier ist ein Speicherauszug der Anforderungsheader über die PHP- $_SERVER
Variable.
DOCUMENT_ROOT: /usr/local/apache/htdocs
GATEWAY_INTERFACE: CGI/1.1
HTTP_ACCEPT_ENCODING: gzip
HTTP_CONNECTION: Close
HTTP_HOST: a.tracker.thepiratebay.org
HTTP_USER_AGENT: uTorrent/342(109415286)(35702)
PATH: /bin:/usr/bin
QUERY_STRING: info_hash=%80%85%8e%9bu%cfJ.%85%82%e9%25%bf%8e%9e%d7%bf%c5%b0%12&peer_id=-UT3420-v%8bN%aa%60%60%fd%5d%d1%b0Ux&port=15411&uploaded=48588531&downloaded=0&left=0&corrupt=0&key=9E124668&numwant=200&compact=1&no_peer_id=1
REDIRECT_STATUS: 200
REMOTE_ADDR: 60.246.*.*
REMOTE_PORT: 3445
REQUEST_METHOD: GET
REQUEST_URI: /announce.php?info_hash=%80%85%8e%9bu%cfJ.%85%82%e9%25%bf%8e%9e%d7%bf%c5%b0%12&peer_id=-UT3420-v%8bN%aa%60%60%fd%5d%d1%b0Ux&port=15411&uploaded=48588531&downloaded=0&left=0&corrupt=0&key=9E124668&numwant=200&compact=1&no_peer_id=1
SCRIPT_FILENAME: /usr/local/apache/htdocs/announce.php
SCRIPT_NAME: /announce.php
SERVER_ADDR: *.*.*.*
SERVER_ADMIN: *@*.*
SERVER_NAME: a.tracker.thepiratebay.org
SERVER_PORT: 80
SERVER_PROTOCOL: HTTP/1.1
SERVER_SIGNATURE:
SERVER_SOFTWARE: Apache/2.2.29 (Unix) mod_ssl/2.2.29 OpenSSL/1.0.1e-fips mod_bwlimited/1.4 mod_perl/2.0.8 Perl/v5.10.1
UNIQUE_ID: VKg8BJBMIPQAD01XYzgAAAAD
PHP_SELF: /announce.php
REQUEST_TIME_FLOAT: 1420311556.43
REQUEST_TIME: 1420311556
argv: Array
argc: 1
Meine Frage ist also, wie ich eingehende Anfragen an Apache basierend auf der Anfragedomäne (HTTP-Host-Header) blockieren kann. Beachten Sie, dass sich die Anfragen nicht nur auf /announce.php, sondern auf verschiedenen URLs befinden. Das Blockieren nach URL ist daher nicht sinnvoll.
Ist dieser Ansatz auch realisierbar oder wird er zu viel Last verursachen und ich sollte diese Anforderungen weiterhin löschen, bevor sie überhaupt Apache erreichen?
Aktualisieren:
Es stellt sich heraus, dass dieses Problem viele Menschen in vielen Ländern auf der ganzen Welt betroffen hat.
Es gab zahlreiche Berichte und Blogposts darüber und verschiedene Lösungen, um diesen Verkehr zu blockieren.
Ich habe einige der Berichte zusammengestellt, um allen, die hierher kommen, bei der Suche nach einer Lösung zu helfen, um dies zu blockieren.
Geheimnisvoller fehlgeleiteter chinesischer Verkehr: Wie kann ich herausfinden, welchen DNS-Server eine HTTP-Anfrage verwendet hat?
Merkwürdige Bittorrent-Anmeldung auf meinem Server
http://blog.devops.co.il/post/108740168304/torrent-ddos-attack
https://www.webhostingtalk.com/showthread.php?t=1443734
http: // torrentfreak. de / zombie-pirate-bay-tracker-treibt-chinesische-ddos-angriffe-150124 /
https://isc.sans.edu/forums/diary/Are+You+Piratebay+thepiratebayorg+Resolving+to+Various+Hosts/ 19175 /
http://furbo.org/2015/01/22/fear-china/
http://www.jwz.org/blog/2015/01/chinese-bittorrent-the-gift-that-keeps-on- geben /