Amazon ec2 AmazonEC2负载均衡器:防御DoS攻击?

Amazon ec2 AmazonEC2负载均衡器:防御DoS攻击?,amazon-ec2,amazon,load-balancing,iptables,ddos,Amazon Ec2,Amazon,Load Balancing,Iptables,Ddos,我们通常使用iptables将IP地址列入黑名单。但在AmazonEC2中,如果连接通过弹性负载平衡器,远程地址将被负载平衡器的地址替换,从而使iptables无效。在HTTP的情况下,找到真正远程地址的唯一方法显然是查看HTTP头HTTP\u X\u FORWARDED\u for。对我来说,在web应用程序级别阻止IP不是一种有效的方法 在这种情况下,防御DoS攻击的最佳做法是什么 ,有人建议我们可以用HAProxy替代弹性负载平衡器。但是,这样做有一定的缺点,我正在尝试看看是否有更好的选择

我们通常使用
iptables
将IP地址列入黑名单。但在AmazonEC2中,如果连接通过弹性负载平衡器,远程地址将被负载平衡器的地址替换,从而使
iptables
无效。在HTTP的情况下,找到真正远程地址的唯一方法显然是查看HTTP头
HTTP\u X\u FORWARDED\u for
。对我来说,在web应用程序级别阻止IP不是一种有效的方法

在这种情况下,防御DoS攻击的最佳做法是什么


,有人建议我们可以用HAProxy替代弹性负载平衡器。但是,这样做有一定的缺点,我正在尝试看看是否有更好的选择。

我想你已经描述了所有当前的选择。您可能想加入AWS论坛的一些帖子,投票选出一个解决方案——亚马逊的工程师和管理层愿意接受ELB改进的建议。

在反向代理后运行应用程序服务器是很常见的。您的反向代理层可用于在流量到达应用服务器之前添加DoS保护。对于Nginx,您可以将其视为有帮助的东西。

您可以设置一个EC2主机,自己在那里运行haproxy(这就是Amazon正在使用的!)。然后,您可以在该系统上应用iptables筛选器。

如果您使用VPC而不是EC2 classic部署ELB和实例,则可以使用安全组和网络ACL来限制对ELB的访问


我为那些希望在aws上与apache、ELB和ACL一起使用Fail2Ban的人制作了一个工具:

aws论坛中的以下线程也可能有助于了解处于类似情况下的人所做的事情:询问他们有关TPROXY支持的信息。:)有没有办法以编程方式添加ACL网络规则?也就是说,一旦fail2ban之类的东西发现了一个麻烦的IP,运行一些脚本将其添加为ACL规则?@Aphire Yes,和的支持创建和修改安全组