【问题标题】:Prevent fingerprinting on NGINX/nodejs AWS Elastic beanstalk防止对 NGINX/nodejs AWS Elastic beanstalk 进行指纹识别
【发布时间】:2018-03-11 13:51:05
【问题描述】:

我的网站在与我的弹性负载均衡器关联的 IP 地址上收到大量指纹流量。我想禁止 IP 地址上的流量,类似于 IIS 进行站点绑定的方式。

这可能吗?

【问题讨论】:

  • 您是否考虑过将 AWS Web 应用程序防火墙附加到您的负载均衡器? aws.amazon.com/waf
  • 是的,如果我今天必须实施它,我会这样做。我希望有一个免费、不增加复杂性的解决方案。
  • 所以今天不需要实现?我不明白。我相信您可以将 Nginx 配置为拒绝流量,但这仍然会在您的服务器上产生一些负载。 WAF 会阻止流量到达您的服务器。
  • 亚马逊 WAF 很便宜。 Web ACL 5.00 美元,每条规则 1.00 美元加上流量费用。实例上 CPU 功率的节省可能意味着您可以减少实例大小并使用 AWS WAF 实际节省资金。添加 ALB + WAF 后,我们能够将多个 WordPress 实例从 T2.large 转移到 T2.small。所有的垃圾流量都消失了。
  • 您说 “我想禁止 IP 地址上的流量” 但您真正要问的是如何配置 nginx 以根据它发现的内容及早拒绝流量(IP 地址或无意义的值)或在传入的 http Host: 标头中找不到(您网站的正确主机名)...这当然可以完成,并且会减轻您的应用程序的一些不必要的处理负载。跨度>

标签: node.js amazon-web-services nginx amazon-elastic-beanstalk


【解决方案1】:

创建一个新的目标组。将其称为明显的东西,例如“黑洞”。不要为其分配任何实例。

使ALB的默认规则指向这个目标组。

然后,添加一个匹配您正确/预期的 Host 标头的规则,指向真正的目标组(带有实例)。

Host 标头中没有该主机名的请求会达到默认规则并被路由到没有实例的目标组(黑洞)。平衡器拒绝请求:

HTTP/1.1 503 Service Unavailable

您的实例看不到流量,除非提供了正确的 Host 标头。

【讨论】:

    猜你喜欢
    • 2021-02-23
    • 2020-08-27
    • 2017-07-24
    • 2015-01-14
    • 2019-03-25
    • 2020-09-08
    • 1970-01-01
    • 2020-09-29
    • 2011-09-07
    相关资源
    最近更新 更多