我正在寻找一种方法来让 iptables 只接受对我的域名的请求并拒绝其他请求。
最近我错误地配置了我的 Apache 代理,现在已经修复,但我仍然收到大量如下所示的请求:
xxxx.xx:80 142.54.184.226 - - [12/Sep/2012:15:25:14 +0200] "GET http://ad.bharatstudent.com/st?ad_type=iframe&ad_size=700x300§ion=3011105&pub_url=${PUB_URL} HTTP/1.0" 200 4985 "http://www.gethealthbank.com/category/medicine/" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)"
xxxx.xx:80 199.116.113.149 - - [12/Sep/2012:15:25:14 +0200] "GET http://mobile1.login.vip.ird.yahoo.com/config/pwtoken_get?login=heaven_12_&src=ntverifyint&passwd=7698ca276acaf6070487899ad2ee2cb9&challenge=wTBYIo2AEdMFr6LtdyQZPqYw9FS9&md5=1 HTTP/1.0" 200 425 "-" "MobileRunner-J2ME"
我想要阻止它。
我该如何处理这个问题?
答案1
iptables(网络层防火墙)并不是阻止这些请求的正确地方。在第 3 层做出应用程序级过滤决策非常困难,即使您设法做到了,通常也只能算是一种不可靠的黑客行为。查找“分层违规”。
我从 Web 服务器日志中看到,这两个请求都得到了 200 状态代码的答复,这意味着它们已被接受和处理。您应该将 HTTP 代理服务器配置为拒绝它们。我看到你已经问过如何做到这一点。