我在网络服务器上托管了一堆 PHP 网站。虽然我已采取所有预防措施来保护所有端口,但特定于端口 80 的攻击仍在继续。我想禁止任何对任何网页产生积极兴趣的 IP 地址,例如在一小时内超过 200 个,或在一分钟内超过 15 个。我假设人类用户不能在一分钟内浏览 15 个页面,除非他有确实值得怀疑的原因。
理想情况下,我希望将 IP 地址登录到被禁止的数据库中,并且对于属于我的客户的那些 IP 地址也有一个白名单 IP 地址。
是否有任何现成的工具可以完成所有这些工作。我看到了fail2ban,它没有达到目的......
如何在 Ubuntu 11.10 客户端的局域网中阻止除一个网站之外的所有网站?
问题 1:如何设置 websense 以防止工作人员在 SO(和所有相关网站)上发帖,而不阻止他们查看答案?
问题2:如何让SO(及所有相关网站)每次从办公室内网访问时弹出验证码?是否可以通过附加到 URL 来实现?
我使用以下 iptables 规则:
iptables -A INPUT -p tcp -m tcp --tcp-flags PSH,ACK PSH,ACK -m length --length 52 -m state --state ESTABLISHED -j DROP
Run Code Online (Sandbox Code Playgroud)
它可以阻止来自我的服务器的不需要的数据包,但它也会阻止不应该发生的事情。
以下是用wireshark捕获的数据包:
unwanted packet:source=192.168.0.100 destination=192.168.0.111 TCP lenght=66 [TCP Retransmission] 62401?38111 [PSH, ACK] Seq=15 Ack=19 Win=65536 Len=12
needed packet:source=192.168.0.100 destination=192.168.0.111 TCP lenght=66 [TCP Retransmission] 62433?38111 [PSH, ACK] Seq=344 Ack=37855 Win=62825 Len=12
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何修改规则以允许所需的数据包并阻止不需要的数据包。
除非我验证它,否则我如何阻止机器中的所有可执行文件。我有多个客户端,我想以编程方式进行(我使用的是 Visual-Studio-2010)。可以使用 DisallowRun 通过注册表完成,但如果我将 exe 的名称更改为 notepad1.exe,则注册表将无法工作。我想控制所有 exe 的存在,就像防病毒软件一样。