证书透明度查询
CA 签发的每一张公信证书都必须记进公开的 CT 日志,任何人都能查。这意味着两件事:你能第一时间发现有人给你的域名签了证书;同时你申请过的所有子域名也都是公开的——内部系统别指望靠域名保密。数据来自 crt.sh,由你的浏览器直接请求。
这份数据能用来做什么
- 发现没印象的签发记录
- 如果列表里出现了你没申请过的证书,要么是同事在别处申请的,要么是域名被劫持后有人拿去签了证书。后者相当严重,应立即检查域名解析和注册商账号。
- 盘点自己的资产
- 公司历年申请的子域名会全部暴露在这里。运维交接、安全自查时,这是最省事的资产发现手段之一——同时也提醒你:攻击方同样能看到这份清单。
- 配 CAA 记录防误签发
- 在域名的 DNS 上加一条 CAA,声明只允许指定 CA 签发:
example.com. IN CAA 0 issue "letsencrypt.org"
example.com. IN CAA 0 issuewild ";"(禁止通配符)
example.com. IN CAA 0 iodef "mailto:admin@example.com"(违规时通知你)
CA 在签发前必须查 CAA,配了之后别家就签不出来了。 - 提前知道证书快过期
- 列表按签发时间倒序,最上面那张通常就是线上正在用的。要确认线上实际装的是哪张,用 在线证书检测 直接看服务器返回的证书。
- 内部系统怎么办
- 不想让内网域名进公开日志,有两个办法:用自己的私有 CA 签(不进 CT),或者给内部系统签通配符证书(日志里只会出现
*.corp.example.com,不暴露具体主机名)。