Defaults.Exposed

Defaults.Exposed修復 › 現代加密(TLS 版本與密碼套件)

如何修復 現代加密(TLS 版本與密碼套件)

TLS 是那把鎖,它打亂在你訪客和你網站之間流動的資料。有兩件事讓這把鎖可信:使用現代版本的 TLS(不是那些老舊、已被攻破的版本),以及使用強壯的密碼套件(實際的打亂配方)。本頁兩者都講——外加幾個不影響你評分、卻值得了解的相關設定。

對您業務的關鍵影響: 如果你的網站跑在過時的加密或孱弱的密碼套件上,你客戶輸入的隱私資訊——登入、卡號、聯絡方式——可能在共享網路上被悄悄攔截讀取,而且你會通不過銀行、支付處理商和大客戶如今在合作前要求的那些安全檢查。

這會讓您付出什麼代價

為什麼它重要。 安全的加密是隱形的;過時或孱弱的加密是一個隱患,安靜地待著,直到它害你失去一個客戶、一份合約或一次合規通過的那天。TLS 版本和密碼套件檢查是真正撬動你評分的那兩部分,而兩者通常都是一個免費設定——把老舊、已被攻破的選項繼續開著,沒有任何好處。

大白話版

當有人訪問你的網站時,他輸入的一切——登入、卡號、姓名、電話、訊息——都在傳輸途中被打亂,讓陌生人讀不到。做這個打亂工作的技術叫 TLS(你也可能聽到它的舊名 SSL)。要讓這個打亂真正安全,兩件事必須對:

  1. TLS 版本——你用的是哪一代技術。早期版本(TLS 1.0 和 1.1)多年來已被公開攻破;安全的是 TLS 1.2 和 TLS 1.3
  2. 密碼套件——TLS 用來做打亂的具體配方。有些密碼套件(比如 RC4、DES 和 3DES)已被破解、如今被禁;現代密碼套件仍然強壯。

本頁兩者都講,因為一個網站可能一個做對、另一個做錯。你可以有一把現代鎖卻仍開著一個舊的、可破解的配方——或者一個強配方被一把過時的鎖保護著。任一缺口都是一扇敞開的門。兩者通常都由對你伺服器或主機設定的同一個免費改動關上。

這會讓你付出什麼代價

它到底是什麼

TLS 版本

一個網站並不只支援一個 TLS 版本——它能同時提供好幾個,讓每個訪客的瀏覽器各自挑選。一個現代訪客會用可用的最新版本,看到一把正常的鎖。危險在於老舊、已被攻破的版本可以作為一扇敞開的後門,待在好版本旁邊:攻擊者能把訪客的連線「降級」到 TLS 1.0 或 1.1,再利用那些版本裡已知的弱點(BEAST 和 POODLE 攻擊是著名的例子)來解密流量。

所以我們的檢查連上你的網站,逐一測試每個版本——TLS 1.0、1.1、1.2 和 1.3——看你的伺服器仍接受哪些。下面是「好」長什麼樣、以及它如何評分:

密碼套件

版本一旦選定,TLS 就挑一個密碼套件——實際打亂資料的演算法。多數現代密碼套件都強壯。少數已被攻破、絕不能用:RC4(它的打亂有偏、會洩露明文)、DES(金鑰太短、可被暴力破解)、3DES(易受「Sweet32」攻擊),外加 NULL(根本不加密)、EXPORT 級密碼套件(被刻意削弱——FREAK 和 Logjam 攻擊)、以及匿名密碼套件(不做身份核查,於是冒牌貨能坐到中間)。

我們的密碼套件檢查做兩件事。首先它看你的伺服器實際與我們協商出的密碼套件。然後——這是重要的部分——它主動嘗試用幾個已知被攻破的密碼套件握手(RC4、3DES、EXPORT、NULL 和匿名變體)。一台伺服器在和現代用戶端對話時可能挑一個強密碼套件,卻仍在攻擊者堅持時接受一個弱的——而那是一個真實的降級風險。如果你的伺服器接受任何被禁的密碼套件,檢查就標記它;接受一個關鍵的(比如 RC4 或 NULL)則是失敗。(在 TLS 1.3 上這裡沒什麼可擔心的——那個版本從設計上移除了每一個弱密碼套件,所以探測被略過。)

三個參考性的附加項

有三個相關項目被回報但不影響你的評分——它們被標為參考性,因為它們無法從外部可靠驗證,而在任何現代伺服器或 CDN 上它們已被正確處理:

我們呈現這些,是為了讓你的 IT 人員掌握全貌,但對絕大多數業主而言沒什麼要做的——你的分數由上面的版本和密碼套件檢查驅動。

如何修復(免費,約 30 分鐘)

把這個交給你的 IT 人員——修復免費。 這一節是給管理你網域、網站或主機的人看的。修復是一個設定改動,不是一筆採購;我們只對長期監控你的加密是否保持正確設定收費。下面這個單一的現代設定一次修好版本和密碼套件兩項發現。

最簡單可靠的辦法是產生一份已知良好的設定,而不是手寫一份:把你的伺服器類型貼進 Mozilla 的 SSL 設定產生器https://ssl-config.mozilla.org/),選 **「Intermediate」**設定檔(廣泛相容)或 「Modern」(僅 TLS 1.3,若你不需要支援任何老舊東西)。它會為你輸出正確的 ssl_protocolsssl_ciphers 行。

按平台分:

  1. Cloudflare 或託管主機——通常一兩下點選。 在 Cloudflare 裡:SSL/TLS → Edge Certificates → Minimum TLS Version → TLS 1.2,那裡的密碼套件由它替你管理(平台不會提供被禁的密碼套件)。多數託管主機和建站工具(Squarespace、Wix、Shopify、現代 WordPress 主機)已強制 TLS 1.2+ 加強密碼套件——只要確認沒有任何「legacy TLS」或「老瀏覽器相容」選項還開著。
  2. Nginx。 設定僅限現代的版本和一份明確的強密碼套件清單,然後重載:
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers on;
    
    (TLS 1.3 需要機器上有 OpenSSL 1.1.1+。)
  3. Apache。 停用舊版本並釘一份強密碼套件清單,然後重啟:
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
    SSLHonorCipherOrder on
    
  4. Windows / IIS。 用免費的 IIS Crypto 工具(或等效的登錄設定)停用 TLS 1.0 和 1.1、停用 RC4/DES/3DES/NULL/EXPORT 密碼套件,並保留 TLS 1.2 和 1.3 及強密碼套件啟用。該工具的「Best Practices」範本一鍵完成所有這些。
  5. 參考性附加項(可選,免費)。 如果你想來個乾淨徹底:在 Nginx 上加 ssl_stapling on; ssl_stapling_verify on;(帶一行 resolver)做 OCSP stapling;在 Apache 上加 SSLUseStapling On。TLS 壓縮和安全重協商在現代伺服器上已預設安全——無需動作。在 Cloudflare 上這三項都自動處理。
  6. 驗證,然後回這裡重新檢測。 確認只剩安全的版本和密碼套件——例如用 nmap --script ssl-enum-ciphers -p 443 yourdomain.com,或在 https://ssl-config.mozilla.org/ 連結的工具裡測試——然後重新執行本項檢查。在可能的地方,把 TLS 1.3 與 1.2 一起啟用:它既更快也更安全。

常見錯誤

要記住什麼

TLS 版本密碼套件是你加密中真正撬動評分的那兩部分,而兩者歸根結柢都是關掉那些公開已被攻破多年的選項。修復免費,通常每台伺服器一行現代設定,而對一個普通訪客而言,它除了讓連線真正安全之外什麼都不改變。相關項目——壓縮、OCSP stapling、安全重協商——值得了解,但不會影響你的分數,而在任何現代設定上它們已被替你處理好。

常見問題

我不懂技術——這個我自己能搞定嗎?

你不需要懂技術細節。在多數現代主機上這是一兩個設定,而且免費。把下面的「如何修復」一節交給運營你網站或主機的人(或你的 IT 服務商)——通常是個五到十分鐘的改動,對你的訪客而言除了連線更安全之外沒有任何可見變化。

切換到現代加密會不會讓老客戶的瀏覽器用不了?

實際上不會。大約近十年的每一個現代瀏覽器和手機都已預設使用新加密和強密碼套件——它們多年來都如此。唯一依賴舊版本或弱密碼套件的東西,本身就是過時且不安全的,這恰恰是為什麼每個主流瀏覽器早已拒絕它們。對幾乎所有企業來說,這個改動對客戶是隱形的。

我的網站帶鎖、載入正常——為什麼這還在標記?

那把鎖只意味著存在一個安全連線;它不告訴你背後是哪個版本的 TLS、哪個密碼套件。你的網站可以顯示一把完全正常的鎖,卻在好選項旁邊悄悄仍接受一個舊的、已被攻破的版本或一個被禁的密碼套件——這扇敞開的後門正是這些檢查抓的。關上它不會移除那把鎖;它只是確保只有安全的選項被允許。

TLS 版本和密碼套件有什麼區別?

把 TLS 版本想成你用的是哪一代鎖,把密碼套件想成它用來打亂資料的具體配方。你可以有一把現代鎖(TLS 1.2 或 1.3),卻仍開著一個舊的、可破解的配方(比如 RC4 或 3DES)——或者反過來。兩者都得對,所以我們分開檢查它們。好消息是,同一行現代設定通常一次就把兩者修好。

OCSP stapling 和 TLS 壓縮呢——它們影響我的評分嗎?

不影響。那些(連同安全重協商)只是參考性的——我們回報它們,因為它們對效能和縱深防禦有意義,但它們不撬動你的分數。在現代 Web 伺服器和任何像 Cloudflare 的 CDN 上,它們預設就被正確處理,所以對多數業主而言沒什麼要做的。細節在下面那一節,留給你的 IT 人員。

修這個真的免費嗎?

是的。停用舊 TLS 版本和弱密碼套件、並啟用這些防護,都是在你現有伺服器或主機上的設定改動——沒什麼要買的。我們只對長期監控你的加密是否保持正確設定收費,而不對修復收費。