我正在使用Amazon的ELB在服务器之间进行负载平衡,
当我的网站受到机器人攻击时,一切都已经耗尽,所以问题就在这里
我不能阻止与亚马逊的安全组的IP地址,因为他们不明确允许“拒绝”,所以拒绝一个IP,你必须允许每个其他的IP地址,这是乏味的。
我不能使用iptables来阻塞IP地址,因为ELB会混淆公有IP地址并用自己的IP地址replace它们。
访问者的实际IP地址只能在X-FORWARDED-IP中看到
我不相信这是可以用你在ELB级别上描述的那种方式来实现的。
您可以在每个实例(例如iptables)上使用防火墙来阻止某些IP地址,甚至可以为IP地址设置每分钟/每秒的连接限制。
这样你可以自动阻止攻击者。
你也可以使用像Chef / Puppet这样的工具来传播你的防火墙configuration给每个实例。
这也发生在我身上。 我一直在想,虽然我还没有试图实现它,但我认为对于我们来说,答案就是在应用程序服务器之前启动一个运行专用防火墙的实例。 这样真实的IP地址对防火墙是可见的。 我尝试在遇到任何问题时尝试更新。
你是正确的,你不能使用安全组来阻止stream量。
如果您使用的是VPC,那么您可以使用Amazon的networkingACL作为防火墙。 他们允许拒绝规则,所以你可以阻止IP或CIDR块上的stream量。
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Security.html#VPC_Security_Comparison
不是一个很好的解决scheme
您可以使用apache或iis阻止IP地址访问EC2实例。 对于数百个实例来说,这显然是不实际的。
这个问题也是高度相关的: 在负载平衡器后面阻塞IP