夏期劇*_*期劇場 9 firewall nginx amazon-elb x-forwarded-for ip-blocking
本主题适用于HTTP流量(在Linux平台上).对于下面的问题,可能有一个很好的解决方案与ELB(每个人的价格合理).但到目前为止我找不到任何东西.这就是我需要专家意见的原因.
我多年来一直在使用AWS Elastic Load Balancing(ELB).突然意识到ELB有一个巨大的(对我来说很关键)的缺点,即阻止IP的入站连接.
因为一旦你落后于ELB,你的服务器内部防火墙(如iptables:)就已经没用了,因为ELB的所有转发流量都标记为ELB IP(不是真正的客户端IP).ELB仅像X-Forwarded-Forhttp头一样转发真实客户端IP ,这对于无用iptables.(除非你可以建议有一个Linux防火墙iptables,它也可以处理带有XFF(X-Forwarded-For)标头的HTTP流量.)
我理解这是反向代理的正常行为,但我需要放一个防火墙!我在AWS上知道,建议使用VPC和网络ACL规则通过IP阻止入站连接.但是NACL有规则限制!(AWS仅允许NACL中最多40条规则)
想象一下,你正在运行一个高流量的公共网站,然后需要阻止每天检测到很多坏的IP.这40条规则有何帮助?
我开始考虑使用NginxLoad-balancer(在单独的Instance上).我以前用过Nginx,这是一个很有前途的.当然,可以取代ELB.然后:
iptables上Nginx的实例!(那么,那个VM将成为LB +防火墙)但在我采取行动之前,
谢谢大家的建议.
使用 ELB 仍然很有价值,因为冗余是服务的一部分。
使用 Nginx 作为负载平衡器会出现单点故障,除非您还设置了备用服务器以及heartbeat自动故障转移到备用 Nginx 服务器的功能。
考虑使用 ELB 和 Nginx 的分层方法。ELB 可以将流量转发到不同可用区中的两个或多个 Web 主机,每个主机都运行 Nginx。使用Nginx和fail2ban,您仍然可以通过IP地址阻止主机。一般方法的工作原理如下:
您还可以排除fail2ban并手动维护要阻止的IP列表。
有关该方法的详细说明,请参阅“Nginx + Fail2ban Blocking IP Behind AWS Load Balancer”。
| 归档时间: |
|
| 查看次数: |
6147 次 |
| 最近记录: |