处理来自 AWS Lambda 的 CSRF 攻击



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

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

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

虽然我自己还没有做过(甚至没有尝试过(,但 2 种可能的解决方案可能是:

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

最新更新