CSRF(Cross-Site Request Forgery),即跨站点请求伪造。发起跨站点请求伪造攻击的关键点在于让目标服务器无法分辨众多请求的来源是真实用户还是攻击者。攻击的一般流程为:首先攻击者会诱导用户导航至攻击者提供的网页上。该网页包含一个自动发送到目标服务器的请求。然后该网页正常加载,这个请求就会自动发送至服务器。在服务器看来,这个请求和用户正常发送的请求一模一样,殊不知这是由攻击者发起,而用户却毫不知情。由于该请求携带了用户的一些凭据,攻击者通过解析这些凭据,就可以获取用户信息,进而产生安全风险。
本文介绍了 Apache APISIX 的 CSRF 安全插件 csrf,并详细说明如何在 Apache APISIX 中借助 csrf 插件来保护您的 API 信息安全。
插件介绍
csrf 插件基于 Double Submit Cookie 方案实现。根据 RFC 7231#section-4.2.1 的定义,我们把 GET、HEAD 和 OPTIONS 这三种方法称为安全方法。按照这一约定,csrf 插件会直接放行这三种方法,但会对其他的方法做检查并拦截其中的不安全请求。
为了抵御 CSRF 攻击,我们需要制造一个无法伪造的令牌或标识符,并且保证这个不会与攻击者的请求一起发送。用户需要将 csrf 插件依赖的 token 携带在请求头,token 使用密钥进行签名计算。这样就保证了 token 无法被他人伪造,从而保证了 API 的安全。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yyZwLqQV-1645607360060)(https://tfz

本文详述了 Apache APISIX 中的 CSRF 安全插件,用于防止跨站点请求伪造攻击。插件基于RFC 7231的安全方法,通过创建不可伪造的token进行请求校验,确保API安全。文章介绍了配置插件、开启路由、测试请求以及禁用插件的步骤,帮助开发者理解如何利用此插件增强应用安全性。
最低0.47元/天 解锁文章
5959

被折叠的 条评论
为什么被折叠?



