核心CKAN代码中的CSRF实现

时间:2018-02-12 14:03:02

标签: fiware ckan

CKAN的

This扩展可以在CKAN中提供安全功能。此扩展为CKAN中的请求提供基于Cookie的CSRF保护。但根据this ,它并未作为核心CKAN的一部分实施,因为此扩展中用于提供CSRF保护的方法与CKAN自己实施CSRF保护的未来计划相冲突。

所以,我的问题是 1.核心CKAN代码中是否有任何CSRF保护实现? 2.我们可以使用哪些不同的方法来实现CSRF保护?在CKAN核心中实现它的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

  1. 目前不是。它确实需要有人这样做。

  2. The PR discussion you linked包含一些如何完成的建议。我想它只需要一些工作就可以把它拉到一起。我建议在做PR之前在提案中创建一个新的GitHub问题。它将使许多项目受益。

  3. CKAN团队和我总是很高兴看到CKAN的PR,并且PR作者努力推广他/她的解决方案并将其作为公关推进。令人遗憾的是,作者和CKAN团队没有就此达成一致意见。它发生在开源中。牧养一个项目有时意味着艰难的选择,并不总是正确的。通常在实施之前进行讨论会有所帮助。很多PR确实合并,然后每个人都受益。

答案 1 :(得分:0)

可悲的是,对 (1) 的答案仍然是“不”。但是,(2) 有几个选项:

  • SameSite 属性应用于所有相关 cookie(尤其是 auth_tkt cookie)应该涵盖支持该属性的浏览器中 90% 以上的情况。这可以通过 Apache 的 mod_headers 之类的东西来实现。
  • 您所看到的讨论已经产生了一个独立的扩展 https://github.com/qld-gov-au/ckanext-csrf-filter,它应该可以在 CKAN 2.8 和 2.9(可能是 2.7,但我没有专门测试过)上提供有效的 CSRF 保护。