我想通过 iptables 限制对路径的访问 - 我尝试了这个,它对整个网站都有效
iptables -I INPUT -p tcp --dport 443 -m string --algo bm --string 'example.com' -j DROP
但我想限制对特定文件夹(如“example.com/test”)的访问,但它没有捕获任何数据包
iptables -I INPUT -p tcp --dport 443 -m string --algo bm --string 'example.com/test' -j DROP
请问有什么建议吗?
答案1
错误的网络层。虽然你可能可以做一些可怕的黑客工作来通过未加密的 http 上的 IPTables 来阻止这种情况,https 是加密的,所以 IPTables 甚至看不到完整的 URL 字符串。有两种解决方案:
- 将你的网站置于反向代理之后,例如HAProxy+ 解密 SSL(HAProxy 1.5 可以做到这一点,或者您可以将 stunnel/nginx 放在它前面来解密 SSL)
- 在你使用的任何目标服务器上阻止它
答案2
只需使用你的网络服务器的权限系统,例如.htaccess
在 Apache 的情况下通过文件。