Amazon web services AWS Cloudfront防止拒绝钱包?

Amazon web services AWS Cloudfront防止拒绝钱包?,amazon-web-services,aws-lambda,amazon-cloudfront,ddos,Amazon Web Services,Aws Lambda,Amazon Cloudfront,Ddos,如何防止针对AWS Cloudfront的拒绝钱包攻击 以下是我的具体情况:我有一个Cloudfront发行版Lambda@Edge函数为我的应用程序提供网页和API请求。我需要根据用户的IP地址对向Cloudfront发出的请求进行评级。在没有任何速率限制的情况下,恶意用户有可能向发行版发出数百万次慢速请求,而这些请求不会被AWS的DDOS保护所阻止,并且会导致大量费用。这在这里尤其重要,因为Lambda@Edge函数的成本是普通Lambda函数的3倍,并且不附带免费层 为了实现这一点,使用A

如何防止针对AWS Cloudfront的拒绝钱包攻击

以下是我的具体情况:我有一个Cloudfront发行版Lambda@Edge函数为我的应用程序提供网页和API请求。我需要根据用户的IP地址对向Cloudfront发出的请求进行评级。在没有任何速率限制的情况下,恶意用户有可能向发行版发出数百万次慢速请求,而这些请求不会被AWS的DDOS保护所阻止,并且会导致大量费用。这在这里尤其重要,因为Lambda@Edge函数的成本是普通Lambda函数的3倍,并且不附带免费层

为了实现这一点,使用AWS WAF似乎是可行的。但是,我认为WAF会对所有传入请求收取费用,无论它们是否被阻止。因此,拒绝钱包攻击在这里仍然是可能的

是否有一种方法或一般策略可以在这里实现,而不涉及AWS WAF


限制必须非常严格。即使每月为恶意请求支付50美元也会被视为过高。

AWS Shield Advanced
包括DDoS成本保护,防止DDoS攻击导致受保护的Amazon EC2、弹性负载平衡(ELB)、Amazon CloudFront、AWS Global Accelerator上的使用率出现峰值,从而降低费用,或者亚马逊53号公路如果任何AWS Shield Advanced protected resources因DDoS攻击而扩展,您可以通过常规AWS支持频道请求积分


请注意,在撰写本文时,每个帐户3000美元,加上每GB 0.050美元的数据传输费。

AWS Shield Standard
在您使用Cloudfront时是免费的,它可以自动防止常见的DDoS攻击

如果您想使用WAF将请求收紧到Lambda,可以在Cloudfront中为HTTP 403响应设置缓存,这样攻击者就不会让其请求通过Cloudfront缓存

你必须决定哪一个对你来说是优先的,你的服务下降了还是你的账单超出了你的预算?如果是第一个,您可以使用WAF和AWS Shield Advanced

如果是第二种方法,则可以实现请求限制方法。例如,您可以利用传入的请求免费访问EC2实例。因此,您可以在空闲层EC2实例中实现一个队列,该队列将请求转发到Lambda,但在速率高于定义的阈值时丢弃请求。请记住,从EC2到Lambda Edge的传出请求将收取费用

或者,您可以在Lambda边缘之前实现另一个Lambda函数,以跟踪哪个IP地址发送了多少请求。如果超过阈值,则使用HTTP403进行响应,并将其缓存在Cloudfront中。那么来自该IP地址的下一个请求将不会到达您的Lambda。但是,请记住,您将为此额外的Lambda收取费用

最后一种方法是创建一个账单警报,当月费达到50美元时通知您,这样您就可以在成本上升之前停止成本