处理AWS Lambda的CSRF攻击?

时间:2017-06-20 05:06:21

标签: amazon-web-services aws-lambda aws-api-gateway csrf-protection

通常,服务器会生成csrf令牌,然后将其发送到客户端。当客户端提交表单时,令牌将传递回服务器,然后验证。

如果我只使用API​​网关和Lambda,我如何确保所有POST / PUT请求都有效,并防止csrf攻击?关于我能找到的主题并没有太多的文字,而且我不确定如何持久化生成的csrf标记,以便所有lambda函数都可以访问它。

这是AWS已经为我处理的东西,还是我需要以特殊方式专门配置它?

1 个答案:

答案 0 :(得分:2)

虽然我自己没有(甚至尝试过),但可能有两种解决方案:

  • 显而易见的一个:将数据保留在AWS提供的其中一个存储中
  • 不太明显的一个:使用不需要持久性的令牌。例如,JWT(JSON Web令牌)可以无状态地使用,因为所有服务器(在您的情况下:lambda函数)只需要知道共享秘密即可验证客户端令牌。为了防止重复使用先前生成和使用的令牌(换句话说:确保令牌仅使用一次),您可以将数据添加到描述表单的令牌有效负载中,例如使用实体标识符加版本号,或者简单地为令牌有效负载添加到期时间戳 - 适合您的用例。