如何使用Amazon EC2负载均衡器来防御DoS攻击?

11

通常我们使用iptables来黑名单IP地址。但在亚马逊EC2中,如果连接经过弹性负载均衡器,则远程地址将被负载均衡器的地址替代,使iptables无用。对于HTTP来说,似乎找出真正的远程地址的唯一方法是查看HTTP头HTTP_X_FORWARDED_FOR。对我而言,在Web应用程序级别阻止IP并不是一种有效的方式。

在这种情况下,如何最好地防御DoS攻击?

在这篇文章中,有人建议我们可以用HAProxy替换Elastic Load Balancer。然而,这样做存在某些缺点,我正在尝试看是否有更好的替代方案。


这里在AWS论坛上的以下帖子也可能对于查看处于类似情况的人们所做的事情有用:https://forums.aws.amazon.com/message.jspa?messageID=212411#212411 - jm3
5个回答

3

我认为你已经描述了所有当前的选项。您可能需要在一些AWS论坛线程上发表意见,以投票支持解决方案-亚马逊的工程师和管理层乐于接受有关ELB改进的建议。


请问他们是否支持TPROXY? :) - Craig

2

1
有没有一种编程方式可以添加ACL网络规则?例如,一旦类似于fail2ban的程序捕获到一个有问题的IP地址,运行一些脚本将其添加为ACL规则? - Aphire
@Aphire 是的,cliAPI都支持创建和修改安全组。 - Matt

1

在反向代理后面运行应用服务器是很常见的。您的反向代理是一层,可以在流量到达应用服务器之前添加DoS保护。对于Nginx,您可以查看速率限制模块,这可能会有所帮助。


0

0

你可以自己设置一个EC2主机并在上面运行haproxy(这就是亚马逊正在使用的方式!)。然后,您可以在该系统上应用您的iptables过滤器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接