缓解AWS上的HTTP洪水攻击:Nginx配置与AWS Shield Advanced和Web应用程序防火墙

628mspwn  于 5个月前  发布在  Nginx
关注(0)|答案(2)|浏览(70)

我目前正在研究在AWS上托管基础设施时减轻和避免HTTP洪水攻击的最佳选择。
这里有一篇最近发表在cloudflare.com上的文章讨论了这个问题
https://blog.cloudflare.com/cloudflare-mitigates-record-breaking-71-million-request-per-second-ddos-attack/
根据我的理解,AWS Shield标准可能不包括对Web应用程序的HTTP洪水攻击。使用AWS Shield Advanced对于初创公司来说是一个成本高昂的选择,因为它每年花费36,000美元,需要一年的承诺。使用防火墙和实施速率限制机制是一种选择,但即使通过AWS Web应用程序防火墙阻止IP地址,即使是来自被阻止IP的请求,费用仍然是按请求计算的。
建议在网络级别使用Nginx,可以有效地将已知的恶意IP限制为每分钟零请求。下面是nginx.conf文件中的示例配置:

# Define a rate limiting zone for the IP address.
    limit_req_zone $binary_remote_addr zone=blocked:1m rate=1r/m;

    server {
        listen 80;
        server_name yourdomain.com;

        # Rate limit requests from the specified IP address.
        location / {
            limit_req zone=blocked burst=1 nodelay;
            # Add other Nginx configuration directives here.
        }

        # Block requests from the specific IP address.
        location /block-ip {
            deny all;
            return 403;
        }

        # Add other server configuration here.
    }
}

字符串
有人能确认一下,在HTTP洪水攻击的情况下,这是否真的会使我的账单降到零美元,而不是EC2示例的正常每月成本?
我正在运行一个带有静态IP地址的EC2示例,该示例使用Node.js运行Node.js应用程序。该应用程序充当反向代理,并使用Prisma为每个请求与无服务器数据库通信。可能值得注意的是,Express应用程序被手动配置为在端口443上通过HTTPS运行。
此外,我有兴趣了解这种方法与使用AWS Web应用程序防火墙的权衡。具体来说,我很好奇使用Nginx方法时,在攻击期间服务器性能会受到怎样的影响。是否会增加延迟或其他性能下降?我正在试图找出未知数!是否有更好的选择?
任何建议或见解都非常感谢!提前感谢您的时间。

x8goxv8g

x8goxv8g1#

您说得对,Shield Advanced并不在所有AWS客户的预算范围内,但是运行暴露于互联网的单个示例并不是DDoS弹性。为了获得足够的第7层保护,您必须拥有CloudFront或ALB(推荐后者,因为您对成本敏感),并关联AWS WAF WebACL。如果您的内容可缓存,则通过VPC端点从S3获取。
如果没有ALB(或CF)与WAF,Shield Standard第3/4层的缓解措施最终将启动,这可能会完成攻击者开始的工作。ALB/CF可扩展以满足需求。您的AWS WAF WebACL应(至少):

  • 一个或多个基于速率的规则处于“阻止”模式
  • AWSManagedIPReputation规则组-最好是将IPDdoSList规则移动到“阻止”模式,否则是基于速率的,后续规则使用IPDdoSList标签作为聚合键。
qhhrdooz

qhhrdooz2#

ALB本身提供ddos保护,也有标准的屏蔽,但注意这是针对l3和l4攻击的。对于第7层,你需要waf。

相关问题