我目前正在研究在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方法时,在攻击期间服务器性能会受到怎样的影响。是否会增加延迟或其他性能下降?我正在试图找出未知数!是否有更好的选择?
任何建议或见解都非常感谢!提前感谢您的时间。
2条答案
按热度按时间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应(至少):
qhhrdooz2#
ALB本身提供ddos保护,也有标准的屏蔽,但注意这是针对l3和l4攻击的。对于第7层,你需要waf。