![阻止负载均衡器后面的 IP](https://linux22.com/image/588763/%E9%98%BB%E6%AD%A2%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E5%99%A8%E5%90%8E%E9%9D%A2%E7%9A%84%20IP.png)
当我们的服务器位于负载均衡器后面时,是否有任何方法可以阻止入侵者的 IP 地址(或任何 IP)。例如,如果我的服务器位于 ELB(Amazon ELB)或 Rackspace 负载均衡器后面,我就会受到攻击,并且我知道实际攻击者的 IP。我该如何阻止这些 IP 地址?
问候,
答案1
ELB 不允许您在 ELB 级别阻止 IP。您的服务器本身需要拒绝流量。ELB 传递一个X-Forwarded-For
带有请求者 IP 的标头,您可以使用它来执行此操作。
答案2
取决于你所说的阻塞是什么意思;你当然可以使用mod_access拒绝某些 IP 的访问(您也需要 mod_rpaf)。另一方面,我不明白为什么您不能阻止负载均衡器上的访问,但我对 ELB 细节并不熟悉;也许他们不允许对 LB 进行太多篡改。
答案3
截至 2017 年 9 月,AWS 发布了具有许多新功能的网络负载均衡器。
其中之一是源地址保存 – 使用网络负载均衡器,传入连接的原始源 IP 地址和源端口保持不变,因此应用程序软件无需支持 X-Forwarded-For、代理协议或其他解决方法。这也意味着可以在目标上使用常规防火墙规则,包括 VPC 安全组。
这将允许在操作系统级别或任何其他 TCP/IP 防火墙上使用 iptables、ipchains。
答案4
请参阅 AWS 论坛上关于如何处理 ELB 后面阻止恶意 IP 的问题的良好讨论
底线是:
1)AWS ELB 不允许通过 IP 过滤流量。
2)来自经典或应用程序 ELB 的流量无法在 TCP 级别进行过滤(新网络 LB 除外,请参见上文),因为就网络防火墙而言,它们全部来自 ELB。
3)ELB 在 http 标头中添加 X-Forwarded-For,以便可以在应用程序级别过滤流量,例如 Apache、Nginx、Varnish。