![nginx:如何通过 fcgi 取消“无响应”的请求,例如“返回 444”?](https://linux22.com/image/1403255/nginx%EF%BC%9A%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%20fcgi%20%E5%8F%96%E6%B6%88%E2%80%9C%E6%97%A0%E5%93%8D%E5%BA%94%E2%80%9D%E7%9A%84%E8%AF%B7%E6%B1%82%EF%BC%8C%E4%BE%8B%E5%A6%82%E2%80%9C%E8%BF%94%E5%9B%9E%20444%E2%80%9D%EF%BC%9F.png)
我喜欢阻止一些机器人试图对我的 web 应用程序进行恶意攻击。每日的 cronjobs 会扩展我的 block.conf,包含很多deny a.b.c.d
行。在凌晨 4 点运行 cronjob 之前以及在一些主机被识别为恶意主机之后,我会在数据库中查找它们并停止处理并使用空的 http-body 进行响应,但我也希望能够在这里使用空响应进行响应,就像我对与 block.conf 中的规则匹配的响应一样。
有什么办法吗?比如发送标题之类的?谢谢
答案1
我建议你看看纳克西它是 nginx 的 Web 应用程序防火墙模块,您可以使用自己的规则进行配置以准确捕获某些机器人扫描模式。
另外你可以安装失败2ban并将其配置为与 naxsi 一起工作并自动禁止某些模式。https://code.google.com/p/naxsi/wiki/NaxsiFail2ban
好处是 fail2ban 会在网络/iptabels 级别阻止主机,而不仅仅是拒绝 Web 服务器的请求。因此,它更加严格,最终更加安全,因为坏 IP 根本无法再访问您的 Web 服务器。