标签: amazon-web-services security aws-lambda aws-api-gateway
我正在使用API网关创建一个公开的API,该网关支持lambda函数以进行一些处理。我已经使用自定义安全头来保护它,该头实现了带时间戳的hmac身份验证,以防止重放攻击。 我了解API网关通过其高可用性防止DDOS攻击,但任何无效请求仍将传递给lambda身份验证功能。所以,我猜攻击者可以提交无效的未经身份验证的请求,从而导致高成本。这将需要相当多的要求造成损害,但它仍然是非常可行的。防止这种情况的最佳方法是什么? 谢谢
答案 0 :(得分:5)
要防止DDoS和更高的访问率,您可以设置WAF。请查看此link,以深入了解如何使用API网关设置WAF。
答案 1 :(得分:3)
API Gateway不会向您收取未经身份验证的请求,但Lambda会对您在授权程序上的调用收取费用。
API Gateway在Authorizer上以“身份验证表达式”的形式提供了对此问题的半有用缓解,它只是与传入标识源标头匹配的正则表达式。
除此之外,您可能希望在Authorizer函数中自己实现某种负缓存或验证,以最小化计费毫秒。