Nginx 中的會話恢復快取

Nginx 中的會話恢復快取

幾天前,我讀了一篇關於 nginx 中會話恢復的部落格文章。

在那篇文章中,作者聲稱 nginx 不提供定期清除會話快取的功能。在「ssl_session_timeout」過期後,會話不再使用,但檔案仍然在硬碟上並且可以被攻擊者讀取,因此「前向保密」此時將毫無用處。

他建議停用會話快取並使用會話票證,而不是使用會話 ID。為此,必須每天至少創建一次具有 80 位元組隨機性的“ticket_key”。

我在互聯網上搜索了更多信息,但找不到任何有用的信息。

Q1:nginx 會話快取的位置在哪裡?

Q2:建議使用Session Tickets嗎?

答案1

我無法回答第一個問題,但可以談談第二個問題。

這篇部落格文章提供了有關 TLSv1.2 上的會話票證缺陷的一些有用資訊:https://blog.filippo.io/we-need-to-talk-about-session-tickets/

就像 Michael 所說的那樣,他們都有自己的問題,而且只有當您使用 TLSv1.3 時(字面上剛剛簽字因此,在撰寫本文時剛剛在實作中可用)您可以完全安全地使用 TLS 復原。

然而,不使用 TLS 會話恢復的效能成本是巨大的,而且恕我直言,風險相對較低(如果有人可以存取您的伺服器,那麼就我而言,遊戲就結束了)。所以現在我建議同時使用會話 ID 和會話票證。特別是某些客戶端(Windows 7 及更早版本上的 Safari 和 IE)不支援會話票證。特別是 Safari 在行動裝置和平板電腦上仍然擁有大量用戶 - 您真的想大幅降低所有 iOS 用戶的速度嗎?

相關內容