SSL 評級
不只是「憑證有效嗎?」,而是「整套 TLS 設定跟得上時代嗎?」本頁逐個單獨探測每個協定版本,讀取憑證的金鑰和簽章,檢查前向保密和 HSTS,並把結果彙總成一個字母評級——每一處扣分都給出解釋,所以拿到 B 或 C 時你能確切知道要修什麼。
想持續監控它嗎?用 myeventwatch 免費監控——到期和停機提醒,無需信用卡。
評級衡量什麼
憑證檢查回答的是一份文件是否有效。一套設定可以通過這項檢查卻依然脆弱:對任何來問的人都回應 TLS 1.0 的伺服器、能讓未來的金鑰外洩解密今天錄下的流量的密碼套件、缺失的 HSTS 標頭讓首次造訪可被降級。因此評級衡量四件事,每件在結果中都有自己的小節。協定矩陣分別以固定在 TLS 1.0、1.1、1.2 和 1.3 的方式各做一次交握——只有固定在某個版本的交握真正完成,該版本才算受支援,所以「受支援」是測出來的,而不是從碰巧協商成功的版本推斷的。憑證小節報告伺服器出示的內容,哪怕它未通過驗證:簽發者、涵蓋的名稱、有效期窗口、金鑰類型與長度,以及簽章演算法。前向保密從協商出的密碼套件讀出:TLS 1.3 套件在設計上就是前向保密的,舊套件只有使用臨時金鑰交換時才算。還有 HSTS,從網域根路徑的回應中讀取,連同它的 max-age 和旗標。
一個刻意的省略:不檢查 OCSP 裝訂。本服務使用的 TLS 程式庫不暴露裝訂回應,所以評級工具無法觀察它們,並如實說明,而不是猜測。裝訂對評級既不加分也不扣分;如果你在意它,用 openssl 從你自己的機器上檢查。評級標準本身完整地寫在下面,因為一個無法稽核的評級只是一枚徽章。
評分標準,用通俗語言寫明
每個網站從 A+ 開始,扣分會給評級封頂——取適用的最嚴封頂,每一條都會作為一項發現出現在結果中。F 表示瀏覽器拒絕該網站,或根本沒有可用的 TLS:憑證過期、自簽憑證、憑證不涵蓋該主機名、MD5 簽章,或 443 連接埠上根本沒有成功的交握。C 表示過時或不受信任:憑證鏈驗證不通過(通常是缺中繼憑證)、弱金鑰(RSA 低於 2048 位元,或橢圓曲線過小)、SHA-1 簽章,或最高受支援協定為 TLS 1.1 或更低。B 表示真實但可以承受的弱點:新協定之外還開著一個舊協定,或協商出的密碼套件沒有前向保密。A 表示一個小問題:沒有 HSTS 標頭、HSTS max-age 不足六個月,或憑證已進入 30 天續期窗口。按順序修復這些發現——先 F 和 C,再 B,最後 A——每次變更後重新評級;一小時的快取意味著你可能要等快取過期再複查修復結果。幕後,本頁呼叫 sysosx 伺服器上的 GET /api/check/ssl-grade,由它執行探測並把評級快取一小時。
相關工具:SSL 檢查器用於快速查看憑證和到期倒數,網站健康檢查把可達性、憑證、到期和記錄放在一起,HTTP 狀態鏈適用於 TLS 設定沒問題但重導路徑有問題的情況,連接埠掃描器查看該主機上除 443 之外還在監聽什麼。想看這個網域歷史上簽發過什麼、而不是它今天出示什麼,請用憑證透明度搜尋。
延伸閱讀:TLS 評級是怎樣贏得和丟掉的——每個封頂背後的常見故障及其修復方法,按值得動手的順序排列。
常見問題
這和 SSL 檢查器有什麼不同?
SSL 檢查器只回答一個問題:這台伺服器出示什麼憑證,它有效嗎?評級工具稽核整套 TLS 設定:伺服器還提供哪些協定版本(TLS 1.0 到 1.3,各自單獨探測)、協商出的密碼套件是否提供前向保密、憑證的金鑰長度和簽章演算法,以及是否設定了 HSTS。要快速看到期倒數時用檢查器;想知道設定本身是否跟得上時代時用評級工具。
每個評級是什麼意思?
A+ 是乾淨的結果:只有目前協定、前向保密、涵蓋該主機名的有效憑證鏈,以及長效 HSTS。A 表示一個小問題,通常是 HSTS 缺失或太短,或憑證已進入 30 天續期窗口。B 表示真實但可以承受的弱點:還開著一個舊協定,或密碼套件沒有前向保密。C 表示有東西過時或不受信任:憑證鏈驗證不通過、弱金鑰或 SHA-1 簽章,或最高協定為 TLS 1.1 或更低。F 表示瀏覽器拒絕該網站,或根本沒有可用的 TLS:憑證過期、自簽或不符,或 MD5 簽章。
為什麼伺服器僅僅因為支援 TLS 1.0 就被封頂到 B?
因為「受支援」是關於伺服器的事實,而不是關於你的訪客的。如今沒有任何現行軟體會協商 TLS 1.0,所以開著它換不來任何相容性,只會讓最弱的密碼套件繼續掛在那裡。這個封頂是評級工具在拒絕把一套設定稱作與時俱進——只要一個 1999 年的協定還在回應。關掉它通常只是一行設定,評級會立即恢復。
為什麼評級工具不檢查 OCSP 裝訂?
誠實的侷限,頁面上寫明了:本服務使用的 TLS 程式庫不暴露裝訂的 OCSP 回應,所以評級工具無法觀察它們。它不猜測,而是把裝訂報告為「未檢查」,讓它對評級既不幫忙也不添亂。如果你需要裝訂,從你自己的機器執行 openssl s_client -connect host:443 -status 來檢查。
為什麼結果要快取一小時?
評級只在伺服器的 TLS 設定改變時才改變,而這種改變很少見且都是有意為之的——不像 DNS 傳播,那裡答案本身才是重點。和本站其他伺服器端檢查一樣,新檢查按訪客限量(每小時約二十次,另有短時突發額度),快取的結果會如實標註。如果你剛修完某樣東西,等這一小時過去,或在快取過期後重新檢查。