Ces derniers jours, j'ai remarqué que certains serveurs étaient soumis à des requêtes inconnues.
La plupart d'entre eux sont les suivants:
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 -
Après un peu de journalisation et de recherche, j'ai découvert que certains FAI chinois (probablement CERNET selon les résultats de whatsmydns.net) et certains FAI turcs (probablement TTNET) répondent aux requêtes DNS telles que a.tracker.thepiratebay.org
diverses IP qui n'ont rien à voir avec piratebay ou des torrents. En d'autres termes, ils semblent faire une sorte d'empoisonnement du cache DNS pour une raison bizarre.
Ainsi, des centaines (sinon des milliers) de clients bittorrent sur ces pays font des tonnes d '«annonces» à mes serveurs Web, ce qui entraîne à peu près une attaque DDoS remplissant toutes les connexions d'Apache.
Pour le moment, j'ai complètement bloqué la Chine et la Turquie et cela fait l'affaire, mais je voudrais trouver un meilleur moyen de bloquer ces demandes.
Je pensais à bloquer ces demandes avec mod_security basé sur l'en-tête de l'hôte HTTP.
Toutes ces demandes incluent un en-tête d'hôte HTTP comme a.tracker.thepiratebay.org
(ou de nombreux autres sous-domaines du domaine piratebay.org).
Voici un vidage des en-têtes de demande via la $_SERVER
variable PHP .
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
Donc, ma question est, comment puis-je bloquer les demandes entrantes vers Apache en fonction du domaine de demande (en-tête de l'hôte HTTP)? Gardez à l'esprit que les requêtes se trouvent sur différentes URL et pas seulement sur /announce.php, donc le blocage par URL n'est pas utile.
Cette approche est-elle également viable ou causera-t-elle trop de charge et je devrais continuer à supprimer ces demandes avant même qu'elles n'atteignent Apache?
Mise à jour:
Il s'avère que ce problème a touché de nombreuses personnes dans de nombreux pays du monde.
Il y a eu de nombreux rapports et articles de blog à ce sujet et diverses solutions pour bloquer ce trafic.
J'ai rassemblé certains des rapports pour aider ceux qui viennent ici à chercher une solution pour bloquer cela.
Mystérieux trafic chinois mal dirigé: comment savoir quel serveur DNS une requête HTTP a utilisé?
Strange Bittorrent Log On My Server
http://blog.devops.co.il/post/108740168304/torrent-ddos-attack
https://www.webhostingtalk.com/showthread.php?t=1443734
http: // torrentfreak. com / zombie-pirate-bay-tracker-fuels-chinese-ddos-attaques-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- donnant/