【问题标题】:How to protect Serverless Framework endpoints from abuse / DoS?如何保护无服务器框架端点免受滥用/DoS?
【发布时间】:2016-01-05 05:59:38
【问题描述】:
我计划进行以下设置:
- 完全静态的前端 Web 界面(使用 AngularJS 等构建)
- 无服务器框架后端 API
我想将前端存储在 S3 中,将后端存储在 Lambda 中。
由于每次执行 lambda 函数时都会向我收费,因此我不希望每个人都能够直接向它发出请求。另一方面,我想将前端简单地存储在 S3 中,而不是服务器中。
如何保护我的后端 API 免受滥用或 DoS 攻击?
【问题讨论】:
标签:
amazon-web-services
serverless-framework
【解决方案1】:
我不确定您是否可以保护您的前端免受人们过度调用它的影响,因为这很难确定。
但是,对于真正的 DDoS 或 DoS 保护,您可能希望使用 features of API Gateway(查看有关威胁或滥用的问题)或 AWS 的新 WAF。我知道 WAF 能够阻止 IP 地址范围等。
【解决方案3】:
实际上,Amazon API Gateway 会自动保护您的后端系统免受分布式拒绝服务 (DDoS) 攻击,无论是受到伪造请求(第 7 层)还是 SYN 洪水(第 3 层)的攻击。
【解决方案4】:
假设您使用的是 AWS,您现在可以在 serverless.yml 中提供 provider.usagePlan 属性。
provider:
...
usagePlan: # limit expenditures
quota:
limit: 5000
period: DAY
throttle:
burstLimit: 200
rateLimit: 100
虽然这并不意味着您不能被 DDoSed(正如 @mrBorna 提到的,AWS 会默认尝试阻止这种情况),但这应该意味着,如果您被 DDoSed,从财务角度来看,您不会受到重大影响。