【问题标题】:Amazon EC2 Load Balancer: Defending against DoS attack?Amazon EC2 负载均衡器:防御 DoS 攻击?
【发布时间】:2011-01-24 13:47:22
【问题描述】:

我们通常使用iptables 将 IP 地址列入黑名单。但是在 Amazon EC2 中,如果连接通过 Elastic Load Balancer,远程地址将被负载均衡器的地址替换,从而使iptables 无用。对于 HTTP,显然找出真正远程地址的唯一方法是查看 HTTP 标头HTTP_X_FORWARDED_FOR。对我来说,在 Web 应用程序级别阻止 IP 并不是一种有效的方法。

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

In this article,有人建议我们可以用 HAProxy 替换 Elastic Load Balancer。但是,这样做有一定的缺点,我正在尝试看看是否有更好的选择。

【问题讨论】:

标签: amazon-ec2 amazon load-balancing iptables ddos


【解决方案1】:

我想你已经描述了所有当前的选项。您可能想加入一些 AWS 论坛主题以投票支持解决方案 - Amazon 工程师和管理层愿意接受有关 ELB 改进的建议。

【讨论】:

  • 向他们询问 TPROXY 支持。 :)
【解决方案2】:

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

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/USVPC_ApplySG.html

【讨论】:

  • 有没有办法以编程方式添加 ACL 网络规则?即,一旦类似fail2ban 之类的东西获取了一个麻烦的IP,运行一些脚本将其添加为ACL 规则?
  • @Aphire 是的,cliAPI 支持创建和修改安全组
【解决方案3】:

在反向代理之后运行应用服务器是很常见的。您的反向代理是可用于在流量到达您的应用程序服务器之前添加 DoS 保护的层。对于 Nginx,您可以查看 the rate limiting module 以提供帮助。

【讨论】:

    【解决方案4】:

    您可以设置一个 EC2 主机并自己在那里运行 haproxy(这就是亚马逊正在使用的东西!)。然后您可以在该系统上应用您的 iptables-filters。

    【讨论】:

      【解决方案5】:

      这是我为那些希望在带有 apache、ELB 和 ACL 的 AWS 上使用 Fail2Ban 的人制作的工具:https://github.com/anthonymartin/aws-acl-fail2ban

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-22
        • 1970-01-01
        • 2013-08-26
        • 1970-01-01
        • 2021-12-07
        • 2018-08-14
        • 1970-01-01
        • 2021-05-26
        相关资源
        最近更新 更多