Linux

無法在 nginx 上禁用 TLSv1.0 和 TLSv1.1

  • February 14, 2022

儘管遵循通過快速Google搜尋找到的眾多指南之一,但我在我的 nginx 伺服器上禁用 TLSv1 和 TLSv1.1 時遇到了麻煩。

具體來說,建議是通過更改 nginx 配置文件中的這一行來完成的:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

對於這樣的事情:

ssl_protocols TLSv1.2;

儘管將配置更改為僅支持 TLSv1.2,但我的 nginx 伺服器似乎保持啟用 TLSv1 和 TLSv1.1,正如Qualsys SSL 實驗室測試所證明的那樣,從而將我們的總體得分限制為“B”。看起來如此簡單的修復 - 超級令人沮喪。

經過多次迭代和實驗,我發現我指定的密碼列表似乎與這個問題有關。一旦我得到了正確的列表,TLSv1 和 TLSv1.1 實際上被正確禁用(再次根據Qualsys SSL 實驗室測試,我們再次為我們的站點顯示 A+ 級。以下是讓我們到達那裡的設置:

ssl_protocols TLSv1.2;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

我在這個實驗中發現的一個似乎值得保留的資源是Mozilla SSL Configuration Generator。這使我能夠確認我的伺服器配置的健全性並獲得更多受支持的安全密碼列表。

我遇到的其他任何地方都沒有提到這一點 - 所以也許這與我使用的 nginx 版本稍舊有關?無論如何 - 我希望這可以幫助某人節省大量時間。

引用自:https://serverfault.com/questions/1062318