当我们的服务器位于负载均衡器后面时,有没有办法阻止入侵者(或任何IP)的IP地址? 例如,如果我的服务器在ELB(Amazon ELB)或Rackspace Load Balancer后面,我正在接受攻击,而且我知道实际的攻击者IP。 我怎样才能阻止这些IP地址?
问候,
ELB不允许您在ELB级别阻止IP。 您的服务器本身需要拒绝stream量。 ELB将X-Forwarded-For头与请求者的IP一起传递,您可以使用它来执行此操作。
取决于你的意思是封锁; 你当然可以使用mod_access来拒绝某些IP的访问(你也需要mod_rpaf)。 另一方面,我不明白为什么你不能阻止负载平衡器的访问,但是我又不熟悉ELB的细节; 也许他们不允许对LB进行大量的篡改。
截至2017年9月,AWS发布了具有许多新function的networking负载平衡器。
其中之一是源地址保留 – 使用networking负载平衡器,传入连接的原始源IP地址和源端口保持不变,因此应用程序软件不需要支持X-Forwarded-For,代理协议或其他解决方法。 这也意味着可以在目标上使用正常的防火墙规则,包括VPC安全组。
从新的networking负载平衡器
这将允许在操作系统级别使用iptables,ipchains或任何其他TCP / IP防火墙。
在这里看到关于如何处理在ELB背后阻止stream氓IP的问题的AWS论坛的一个很好的讨论
底线是:
1) AWS ELB不允许通过IP过滤stream量。
2)来自Classic或Application ELB的stream量不能在TCP级别进行过滤(除了新的Network LB,见上),因为它们全部来自ELB,就networking防火墙而言。
3) ELB在http标头中添加X-Forwarded-For,这样stream量就可以在应用程序级别被过滤,比如Apache,Nginx,Varnish。