Beberapa hari terakhir saya perhatikan beberapa server dipalu dengan permintaan yang tidak diketahui.
Kebanyakan dari mereka adalah sebagai berikut:
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 -
Setelah sedikit login dan pencarian saya menemukan bahwa beberapa ISP Cina (mungkin CERNET menurut hasil whatsmydns.net) dan beberapa ISP Turki (mungkin TTNET) menanggapi pertanyaan dns seperti a.tracker.thepiratebay.org
dengan berbagai IP yang tidak ada hubungannya dengan piratebay atau torrents. Dengan kata lain mereka tampaknya melakukan semacam Keracunan DNS Cache karena alasan yang aneh.
Jadi, ratusan (jika bukan ribuan) klien bittorrent di negara-negara itu membuat banyak 'pengumuman' ke server web saya yang menghasilkan serangan DDoS yang mengisi semua koneksi Apache.
Saat ini saya sama sekali memblokir China dan Turki dan itu berhasil, tetapi saya ingin menemukan cara yang lebih baik untuk memblokir permintaan itu.
Saya berpikir untuk memblokir permintaan itu dengan mod_security berdasarkan header HTTP Host.
Semua permintaan itu mencakup tajuk Host HTTP seperti a.tracker.thepiratebay.org
(atau banyak subdomain lain dari domain thepiratebay.org).
Berikut adalah dump header permintaan melalui $_SERVER
variabel 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
Jadi pertanyaan saya adalah, bagaimana saya bisa memblokir permintaan masuk ke Apache berdasarkan domain permintaan (header Host HTTP)? Perlu diingat bahwa permintaan ada di berbagai URL bukan hanya /announce.php sehingga pemblokiran dengan URL tidak berguna.
Juga apakah pendekatan itu layak atau akankah itu menyebabkan terlalu banyak memuat dan saya harus terus menjatuhkan permintaan itu bahkan sebelum mereka mencapai Apache?
Memperbarui:
Ternyata masalah ini telah memengaruhi banyak orang di banyak negara di seluruh dunia.
Ada banyak laporan dan blogpost tentangnya dan berbagai solusi untuk memblokir traffic ini.
Saya telah mengumpulkan beberapa laporan untuk membantu siapa pun yang datang ke sini mencari solusi untuk memblokir ini.
Lalu lintas China yang salah arah dan misterius: Bagaimana saya bisa mengetahui server DNS apa yang digunakan permintaan HTTP?
Bittorrent Strange Masuk Di Server Saya
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-bahan bakar-chinese-ddos-attacks-150124 /
https://isc.sans.edu/forums/diary/Are+Anda+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- memberi/
sumber
Jawaban:
Masalah yang sama di sini. Saya menggunakan mod_security untuk memblokir agen-pengguna
Saya akan mengubah log ke nolog setelah Anda memverifikasi itu berfungsi untuk menghindari mengisi file log Anda
sumber
SecRule REQUEST_URI "\?info_hash\=" "id:10000002,rev:1,severity:2,nolog,msg:'Torrent Announce Hit Detected'"
dig a.tracker.thepiratebay.org
dari sembarang server DNS dalam daftar ini public-dns.tk/nameserver/cn.html dan pada setiap permintaan ada jawaban yang berbeda. Haltracker.thepiratebay.org
yang sama juga muncul di Host kami: header. Ada posting tentang hal itu di viewdns.info/research/… dengan beberapa situs tambahan. Mencoba membalikkan beberapa alamat yang dikembalikan menggunakan viewdns.info/reverseip menunjukkan bahwa ini cukup acak.Kami mengalami masalah yang persis sama dengan salah satu situs klien kami. Saya menambahkan yang berikut di dekat bagian atas mereka:
RewriteCond yang dikomentari dapat dibatalkan komentar untuk hanya memblokir agen pengguna tertentu. Tetapi mereka tidak memiliki konten di announce atau anno.php jadi kami hanya memblokir semuanya.
sumber
Saya mengalami masalah yang sama saat ini, memiliki titik pelacak torrent di server saya. Saya telah bereksperimen dengan iptables selama beberapa hari terakhir dan memeriksa header dan pola permintaan serta mempersempitnya menjadi beberapa aturan iptables yang menyaring hampir semua lalu lintas yang tampaknya berbahaya baru-baru ini dari Asia (Cina, Malaysia, Jepang, dan Hongkong).
Di bawah ini adalah peraturannya. Semoga ini bisa membantu seseorang.
sumber
REJECT
bukanDROP
karena alasan tertentu? (yaitu: klien dapat berhenti setelah menerimaREJECT
?)--string "GET /announce"
, untuk menutupi permintaan yang sebenarnya .Saya menulis posting blog tentang bagaimana cara memberitahu klien BitTorrent untuk pergi dan tidak pernah kembali, mirip dengan apa yang dilakukan Dan, tetapi menggunakan nginx.
Pelacak torrent (biasanya) memiliki URL standar yang dimulai dengan
/announce
atau/scrape
, jadi saya tidak akan mengabaikan pemfilteran dengan URL dengan cepat. Berhasil.Pos lengkapnya ada di - http://dvps.me/ddos-attack-by-torrent
sumber
DNS Cache Poisoning
karena CERNET di Cina merespons domain TPB dengan IP acak dan non-Cina. AFAIK PEX adalah untuk berbagi teman, bukan pelacak. Bisakah Anda menguraikan lebih lanjut tentang itu atau memberikan dokumentasi?a.tracker.thepiratebay.org
atautracker.thepiratebay.org
yang mungkin atau tidak menjadi target sebenarnya dari klien ini. Ini juga bisa menjadi klien palsu hanya menutupi diri mereka sebagai bittorents Cina :)saya mengambil rentang ip Cina dari: http://www.wizcrafts.net/chinese-blocklist.html dan memblokirnya di firewall csf saya, di sini adalah rentang jika Anda ingin menyalin dan menempel ke daftar ip ditolak Anda dari csf :
sumber
CC_DENY = "CN"
pada/etc/csf/csf.conf
dan secara otomatis akan menemukan prefiks Cina berdasarkan database GeoIP Maxmind ini.