我正在开发一个最近通过安全审核的Rails应用程序,他们提出的一个问题是,如果用户从另一个用户cookie获取“session_id”,他就能够以此身份登录用户。有可能阻止这种情况吗?我如何使用当前的设置进行操作?
Rails 3.2.12
设计(2.1.2)
我的config/initializers/session_store.rb
是
MyApp::Application.config.tap do |config|
config.session_store :active_record_store, config.session_options
end
在生产中启用强制SSL
config.force_ssl = true
我看了Rails 4 Encrypted Cookie Replay Attack,但由于我的会话正在使用活动记录,因此不确定我是否可以这样做。
我尝试从Devise security extension添加:session_limitable
,但它似乎完全在做其他事情。
引用安全测试结果
通过确保一次只有1个登录处于活动状态来缓解会话重播。 - 只需更改“_session_id”cookie即可以另一个用户身份登录