ไม่กี่วันที่ผ่านมาฉันสังเกตเห็นว่ามีบางเซิร์ฟเวอร์ที่ถูกร้องขอโดยไม่ทราบสาเหตุ
ส่วนใหญ่เป็นดังต่อไปนี้:
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 -
หลังจากการบันทึกและค้นหาเล็กน้อยฉันพบว่า ISP ของจีนบางตัว (อาจ CERNET ตามผลลัพธ์ของ whatsmydns.net) และ ISP ของตุรกีบางตัว (อาจเป็น TTNET) ตอบสนองต่อการค้นหา DNS เช่นa.tracker.thepiratebay.org
กับ IP ต่างๆที่ไม่มีส่วนเกี่ยวข้องกับ piratebay หรือ torrents กล่าวอีกนัยหนึ่งพวกเขาดูเหมือนจะทำ DNS Cache Poisoning บางชนิดด้วยเหตุผลที่แปลกประหลาด
ดังนั้นลูกค้า bittorrent หลายร้อยคน (ถ้าไม่นับพันคน) ในประเทศเหล่านั้นทำ 'ประกาศ' จำนวนมากให้กับเว็บเซิร์ฟเวอร์ของฉัน
ในขณะนี้ฉันบล็อกจีนและตุรกีโดยสิ้นเชิงและทำงานได้ แต่ฉันต้องการค้นหาวิธีที่ดีกว่าในการบล็อกคำขอเหล่านั้น
ฉันคิดว่าจะบล็อกคำขอเหล่านั้นด้วย mod_security ตามส่วนหัวของโฮสต์ HTTP
คำขอทั้งหมดนั้นรวมถึงส่วนหัวโฮสต์ HTTP เช่นa.tracker.thepiratebay.org
(หรือโดเมนย่อยอื่น ๆ ของโดเมน thepiratebay.org)
นี่คือการถ่ายโอนข้อมูลของส่วนหัวคำขอผ่าน$_SERVER
ตัวแปรของ 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
ดังนั้นคำถามของฉันคือฉันจะบล็อกการร้องขอขาเข้าไปยัง Apache ตามโดเมนคำขอ (ส่วนหัวโฮสต์ HTTP) ได้อย่างไร โปรดทราบว่าคำขออยู่ใน URL ที่หลากหลายไม่ใช่แค่ /announce.php ดังนั้นการบล็อกโดย URL จะไม่มีประโยชน์
วิธีการนี้ยังใช้งานได้หรือจะทำให้เกิดภาระมากเกินไปและฉันควรทิ้งการร้องขอเหล่านั้นก่อนที่พวกเขาจะไปถึง Apache?
ปรับปรุง:
ปรากฎว่าปัญหานี้ส่งผลกระทบต่อคนจำนวนมากในหลายประเทศทั่วโลก
มีรายงานจำนวนมากและโพสต์บล็อกเกี่ยวกับมันและวิธีแก้ปัญหาต่าง ๆ เพื่อบล็อกปริมาณการใช้งานนี้
ฉันได้รวบรวมรายงานบางส่วนเพื่อช่วยให้ทุกคนที่มาที่นี่ค้นหาวิธีแก้ปัญหาเพื่อบล็อกสิ่งนี้
การรับส่งข้อมูลภาษาจีนที่ผิดทิศทางลึกลับ: ฉันจะทราบได้อย่างไรว่าเซิร์ฟเวอร์ DNS ใดที่ใช้คำขอ HTTP
แปลก Bittorrent เข้าสู่ระบบเซิร์ฟเวอร์ของฉัน
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-attacks-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- ให้ /