【问题标题】:Block HEAD requests to AWS Elastic Beanstalk and Elastic Load Balancer阻止对 AWS Elastic Beanstalk 和 Elastic Load Balancer 的 HEAD 请求
【发布时间】:2017-05-18 09:58:54
【问题描述】:

我在 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.

这是由于在 99% 的情况下使用 HEAD 方法对不同的 PHP hackz 和 phpmyadmin、dbadmin 等进行了拖网。 由于我们有一个外部 AIM 服务,它们会在这些警报上触发,并为每个警报创建一个问题(我们现在当然会更改)但是你知道的叫“狼”...

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

【问题讨论】:

  • 今晚我们开始收到相同的通知 - 我考虑研究新的 AWS WAF (aws.amazon.com/waf) 以集中管理阻止规则 - 或者可能只是通过 .ebextensions 在 Apache 配置中添加一些自定义指令(例如使用 mod_security,另见stackoverflow.com/questions/27569366/…)。
  • *.php >> HTTP/1.1 302 Found Location: http://127.0.0.1/... (呵呵)
  • Web 应用程序防火墙 (WAF) 是解决此问题的正确方法。
  • 我也刚刚开始将这些请求发送到我的 Elastic Beanstalk 和 Elastic Load Balancer,所以也许@MarkB 可以将其添加为解决方案,并更深入地了解我们如何' d 使用这些工具来阻止 HEAD 请求?

标签: http amazon-web-services amazon-ec2 http-headers http-request


【解决方案1】:

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

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

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

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

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

【讨论】:

  • "最后将新的 wACL 与负载均衡器关联起来,就大功告成了!"我是否需要 AWS Shield Advanced 才能做到这一点?
猜你喜欢
  • 2020-08-13
  • 2018-11-16
  • 2015-06-14
  • 2017-07-25
  • 2016-03-29
  • 1970-01-01
  • 2016-12-26
  • 2021-05-25
  • 2014-09-28
相关资源
最近更新 更多