处理来自AWS Lambda的CSRF攻击?

wat*_*deo 6 amazon-web-services csrf-protection aws-lambda aws-api-gateway

通常,服务器会生成一个csrf令牌,然后将其发送给客户端。当客户端提交表单时,令牌将被传递回服务器,服务器随后将对其进行验证。

如果我仅使用API​​ Gateway和Lambda,我将如何确保所有POST / PUT请求均有效,并防止csrf攻击?关于该主题,我找不到很多文章,而且我不确定如何持久保存生成的csrf令牌,以便所有lambda函数都可以访问它。

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

Blu*_*ueM 5

虽然我自己还没有\xe2\x80\x99t做过(甚至尝试过),但两种可能的解决方案可能是:

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