簡體   English   中英

將redis-rails用作會話存儲是否安全?

[英]Is it secure to use redis-rails as session store?

當用作會話存儲時,我注意到redis-rails將會話ID以未加密的格式保存在cookie中。 不應將會話ID視為安全信息,並且不將其暴露在未經加密的cookie中以阻止會話劫持嘗試嗎?

沒有。

會話標識符cookie是將客戶端鏈接到會話的唯一(不錯的)方法。 客戶必須具有可以隨請求一起傳遞的某種聲明,以便我們可以識別它們。

無論您使用CookieStore,Redis,ActiveRecord還是memcached,這都適用。

使用固定鹽或不加鹽對會話標識符進行加密絕對不會浪費時間,因為攻擊者無論如何在中間人攻擊或XSS攻擊中都可以訪問cookie。

如果您使用了鹽,則還必須將其鏈接到用戶。 現在您有兩個問題,而不是一個。

盡管您可以使用一堆新穎的方法,例如對用戶代理,ip或其他您認為對客戶端了解的方法加鹽,但安全性益處很少。

正如@pvg所說:

會話ID僅必須是隨機的,不可預測的並且足夠大。

保護會話的有意義的方法是:

  • 使用https阻止中間人攻擊。
  • 登錄和注銷用戶時,請調用reset_session以避免會話固定。
  • 清理用戶輸入以避免XSS。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM