所有 SSL 文章 SSL 與憑證

證書透明度:如何監控你域名的證書籤發情況

證書透明度(CT)是一個將每張公開簽發的 SSL 證書記錄到公開、只可追加的日誌中的系統。這意味著任何人都可以檢視為任何域名簽發了哪些證書——並發現未授權或欺詐性的證書。

CT 由 Google 於 2013 年建立,起因是 CA 為不應簽發的域名簽發了證書(特別是 2011 年 DigiNotar 事件,該事件導致了偽造的 Google 證書)。自 2018 年起,所有受公開信任的 CA 必須將每張證書提交到 CT 日誌。

為什麼 CT 很重要

沒有 CT 的時代(2018 年之前)

CA 可以為不屬於你的域名(如 google.com)簽發證書,沒人會知道,直到該證書被積極用於攻擊。CA 完全基於信任運作。

有了 CT 之後

每張證書都被公開記錄。如果 CA 為 google.com 簽發了證書,它會在數小時內出現在 CT 日誌中。Google(或任何監控方)可以立即發現。

如何查詢你域名的 CT 日誌

crt.sh —— 最流行的 CT 搜尋工具

訪問 crt.sh 並輸入你的域名。你將看到該域名的所有已簽發證書:

  • Issuer —— 哪個 CA 簽發的
  • Not Before / Not After —— 有效期
  • SAN —— 證書覆蓋的域名
Example results for example.com:
  2026-05-08  Let's Encrypt R10       example.com, www.example.com
  2026-02-15  Let's Encrypt R10       example.com
  2025-11-20  Let's Encrypt R3        example.com, www.example.com
  ...

命令列搜尋

curl -s "https://crt.sh/?q=yourdomain.com&output=json" | jq '.[] | {issuer_name, not_before, not_after, common_name}'

需要關注的異常

  • 你沒有申請過的證書 —— 可能有人在冒充你的域名
  • 意外的 CA —— 如果你只使用 Let’s Encrypt 但看到 DigiCert 的證書,需要調查
  • 你沒有建立的萬用字元證書 —— 來自未知來源的 *.yourdomain.com
  • 你不認識的子域名 —— 你未申請的證書中出現了 secret.yourdomain.com

CT 的技術原理

  1. CA 簽發證書並將其提交到一個或多個 CT 日誌
  2. CT 日誌返回 SCT(簽名證書時間戳)—— 證明證書已被記錄
  3. SCT 被嵌入證書中(或在 TLS 握手時提供)
  4. 瀏覽器驗證 SCT —— Chrome 要求證書具有來自至少 2-3 個 CT 日誌的有效 SCT
  5. 任何人都可以監控日誌中為其域名簽發的證書

CT 日誌是隻可追加的——證書只能新增,不能刪除或修改。這建立了一個可審計的歷史記錄。

設定 CT 監控

要進行自動化監控,使用在你的域名有新證書籤發時發出警報的服務:

工具方式費用
crt.sh(手動)定期搜尋免費
Cert Spotter(SSLMate)新證書郵件提醒免費套餐
Facebook CT Monitor透過 Facebook 工具發出警報免費
Google Certificate Transparency搜尋 Google 的 CT 日誌免費

CT 與 GetHTTPS

當你透過 GetHTTPS 獲取證書時,Let’s Encrypt 會自動將其提交到多個 CT 日誌。你可以在簽發後到 crt.sh 搜尋你的域名進行驗證——你的證書會在幾分鐘內出現。

這是設計使然——所有證書的公開記錄是一項安全特性,而非隱私問題。證書本身(域名、公鑰、CA)在 TLS 握手時已經會傳送給每個訪問者。

常見問題

我能選擇不加入證書透明度嗎?

對於公開信任的證書,不能。自 2018 年起,所有 CA 必須將證書提交到 CT 日誌。瀏覽器(Chrome、Safari)會拒絕沒有有效 SCT 的證書。私有/內部 CA 不受此限制——它們不提交到公開 CT 日誌。

CT 會洩露我伺服器的 IP 地址嗎?

不會。CT 日誌包含證書資訊(域名、公鑰、CA、有效期),但不包含伺服器的 IP 地址。DNS 記錄會暴露 IP——CT 日誌不會增加新的資訊。

我發現了一張我沒有申請的域名證書,該怎麼辦?

  1. 檢查簽發者——可能是你的主機商的 AutoSSL?
  2. 檢查 SAN——是否包含你認識的域名?
  3. 如果確實是未授權的,聯絡簽發 CA 請求吊銷
  4. 檢查你的 DNS 是否有未授權的更改——有人可能將你的域名指向了他們的伺服器

存在多少個 CT 日誌?

數十個。主要運營商包括 Google(Argon、Xenon)、Cloudflare(Nimbus)、DigiCert、Sectigo 和 Let’s Encrypt。瀏覽器要求 SCT 來自多個獨立日誌,以防止單個被入侵的日誌隱藏欺詐證書。

相關文章

SSL 與憑證 2026-05-07
什麼是憑證授權機構(CA)?
憑證授權機構簽發 SSL 證書以證明網站身份。瞭解 CA 的工作原理、信任模型、主要 CA,以及 Let's Encrypt 如何改變了行業。
SSL 與憑證 2026-05-07
證書信任鏈詳解
瀏覽器如何透過從根 CA 到中間 CA 再到你的證書的鏈條來驗證 SSL 證書。瞭解為什麼鏈順序很重要,以及如何修復'證書不受信任'錯誤。
SSL 與憑證 2026-05-08
什麼是 SSL 證書?
SSL 證書是一個數字檔案,用於驗證網站身份並啟用加密 HTTPS 連線。瞭解證書包含什麼、如何工作、如何免費獲取,以及為什麼每個站點都需要。
在瀏覽器中取得免費 SSL 憑證
無需安裝,無需帳號。私鑰始終留在你的裝置上。
取得憑證