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