阻止对 AWS Elastic Beanstalk 和 Elastic Load Balancer 的 HEAD 请求

Block HEAD requests to AWS Elastic Beanstalk and Elastic Load Balancer

我在 Elastic Load Balancer 后面设置了 AWS Elastic Beanstalk (Node.js) 并为负载均衡器设置了警报。 每天晚上我都会收到大量警报:

Environment health has transitioned from Ok to Severe. 100.0 % of the requests are erroring with HTTP 4xx.

这是由于不同的 PHP hackz 和 phpmyadmin、dbadmin 等在 99% 的情况下都使用 HEAD 方法。 由于我们有一个外部 AIM 服务,它们会触发这些警报,并为每个警报创建一个问题(我们现在当然会改变)但哭泣 "wolf" 你知道...

问题是,是否可以阻止 HEAD 或某些我们知道我们不需要以某种方式摆脱 "false" HTTP 4xx 的 URI?

正如 Mark B 在上面的评论中指出的那样,使用 Web 应用程序防火墙(WAF 和屏蔽)解决了我们的问题。

我们有一个普通的 EC2 ELB(弹性负载均衡器)并将其换成新的应用程序负载均衡器 (ALB),这是 WAF 的要求。

设置 WAF 相当简单,首先创建一个用于阻止 HTTP HEAD 的 Web ACL(您还可以添加大量其他保护,SQL 注入等),然后添加一个规则来阻止任何匹配的 wACL 但允许任何其他流量。

最后将新的 wACL 与负载均衡器相关联,大功告成!

测试 HTTP HEAD 现在给出“403 Forbidden”并且没有进入我们的 Elastic Beanstalk。