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