Defaults.Exposed

Defaults.Exposed修复 › TLS 证书健康度

如何修复 TLS 证书健康度

你的 SSL/TLS 证书是一张数字身份证,向访客证明他真的在和你的网站对话——而不是冒牌货——并驱动浏览器里那把锁。本项检查关注的是:这张证书是否有效且受信任、是否即将过期,以及是否用强壮、现代的密码学构建。

对您业务的关键影响: 一张损坏或过期的证书会用一个全屏的红色「您的连接不是私密连接」警告替换掉你的网站。多数访客会立刻离开、不再回来——线上销售停摆、注册停摆,而那个本该私密的连接还可能被悄悄拦截。

这会让您付出什么代价

为什么它重要。 证书是你网站安全中最显眼的一块——健康时它隐形,损坏时它会用一个吓人的警告把你整个网站拖垮,把客户直接赶向竞争对手。证书过期是网站意外宕机的头号原因,而它完全可以预防。拿一张有效证书是免费的,而保持它健康,多半只是让它自动续期的事。

这是什么,大白话版

当有人访问你的网站时,要让他放心输入密码或卡号,得发生两件事。第一,连接必须加密,让陌生人读不到它。第二——也是人们容易忘的部分——访客的浏览器必须确信另一端真的是你的网站,而不是一个搭起的、以假乱真的冒牌货。同时完成这两件事的东西,就是你的 TLS 证书(常被叫做「SSL 证书」)。

把它想象成你域名的防伪身份证。一家公认机构颁发它,它盖着你的域名和一个到期日,并携带打乱连接的那把加密密钥。一切核对无误时,浏览器显示那把锁,你的网站正常加载。身份证出了问题时,浏览器会做与安抚访客相反的事——它弹出一个全屏警告,实质上是说,「此网站可能不安全。」

本项检查关注这张身份证的健康度,覆盖四件各自独立、任一都能让它失效的事:

先把好消息说在前头:拿一张健康证书是免费的,而保持它健康,多半只是让它自动续期、不必任何人记着的事。

这会让你付出什么代价

它到底是什么(四个部分)

一张证书能以四种不同方式不健康,本页全部涵盖。每一项在底层都是一项独立检查,但对你而言它们都是「我的证书没问题吧?」

1. 有效且受信任

这是大头——也是证书健康度里唯一一项关键、最高权重的检查。一张证书只有在以下全部成立时才算「有效且受信任」:

只要其中任何一项失败,浏览器就显示那个可怕的「您的连接不是私密连接」页面,本项检查就硬性失败。长这样:一张来自公认机构的证书,覆盖你实际使用的每一个域名和子域名,舒舒服服地处在它的有效期内。

2. 不会马上过期

每张证书都有一个硬性结束日期。免费的通常持续 90 天;付费的常为一年。过了那个日期,信任瞬间蒸发——没有宽限期。本项检查衡量还剩多少天,以及这与谁签发了它如何相互作用:

长这样:一张自动管理、无需任何人触碰就自我续期的证书。永不出现过期宕机的最可靠方式,就是让一台机器、而非一个人,对续期负责。

3. 强签名算法

每张证书都用一个加密算法「签名」,让浏览器能检测篡改。旧算法——MD5SHA-1——已被证明可伪造,意味着攻击者原则上能炮制一张看起来合法地属于你的欺诈证书。本项检查在证书使用强壮、现代的签名时通过:SHA-256 或更强(SHA-384、SHA-512)、现代 ECDSA,或 Ed25519/Ed448。MD5 和 SHA-1 不通过。长这样:SHA-256 或更好——这是每张免费及现代证书的默认,所以对近年签发的任何证书,这都很少成为问题。

4. 强密钥

证书携带一把做实际打乱工作的加密密钥。如果那把密钥太短,现代计算能力——只要资源足够——就能攻破它,让攻击者冒充你的网站或解密流量。公认的最低标准是 2048 位 RSA256 位椭圆曲线(EC)。本项检查在这些尺寸或以上时通过,以下则不通过。长这样:2048 位(或 4096 位)RSA,或一把像 P-256 这样的 256 位 EC 密钥——同样是现代免费证书的默认。

关于后三项的说明:有效且受信任是那个驱动警告页的关键项。签名和密钥强度关乎的是面向未来与审计——一张近期的免费证书几乎总会自动通过它们,但它们是安全审查会查的东西,所以值得做对。

如何修复(免费,约 15 分钟)

把这一节交给运营你网站或主机的人——修复免费。 一张有效、强壮、自动续期的证书通过 Let’s Encrypt 或任何现代主机分文不取。我们只对长期监控它是否保持健康收费,而不对修复收费。如果你没有 IT 人员,下面的平台说明能把多数业主带到位。

第 1 步——用一张免费、受信任的证书取得(或替换)证书。 这一步同时修好有效性、签名和密钥强度,因为现代免费证书默认使用 SHA-256 和强密钥。

第 2 步——让续期自动化,从此不再过期。 这是防住周末宕机情景的那一步。

第 3 步——确保它覆盖正确的名称。 最常见的「有效却报警告」原因是名称不匹配。证书必须覆盖客户实际使用的每一个主机名——光秃秃的域名、www,以及像 shop.app. 这样的任何子域名。生成证书时,把每一个都包含进去(像 *.yourbiz.com 这样的通配符一次覆盖所有子域名)。

第 4 步——如果只标记了签名或密钥强度,重新签发即可。 你不需要买任何东西:生成一张全新的证书(第 1 步),新的那张会自动使用 SHA-256 和一把强密钥。在你自己的服务器上,你可以显式钉一把现代密钥——例如 EC 用 openssl ecparam -genkey -name prime256v1 -out server.key,RSA 用 openssl genrsa -out server.key 4096——然后重新签发。

第 5 步——验证,然后回这里重新检测。 用一条快速命令确认日期、签发者和密钥——echo | openssl s_client -servername yourbiz.com -connect yourbiz.com:443 2>/dev/null | openssl x509 -noout -dates -issuer -subject——然后重新运行本项检查。

常见错误

常见问题

我不懂技术——这个我自己能搞定吗?

你不需要懂密码学。一张有效证书是免费的(通过 Let's Encrypt 及多数现代主机),在托管主机上通常自动完成。把下面的「如何修复」一节交给运营你网站或主机的人——对绝大多数企业来说,这是个快速、免费的活儿,不是一笔采购。

我的网站显示一把锁——这不就说明证书没问题吗?

那把锁只意味着此刻存在一个安全连接。它不告诉你证书是否即将过期、是否建在一把强密钥上,或它到明天还会不会被浏览器信任。本项检查越过那把锁,看让它保持点亮的四件事:证书是否有效且受信任、是否快过期、是否用强算法签名、密钥是否足够强。

我必须为 SSL 证书付费吗?

不必。来自 Let's Encrypt(以及内置于 Cloudflare、cPanel AutoSSL 和多数现代主机)的免费证书被每个浏览器信任,安全性与付费的一模一样。付费证书主要买的是支持合同、保险,或扩展验证徽章——这些都不影响你的网站是否加密、是否受信任。我们从不对修复收费;我们只对监控它是否保持健康收费。

证书怎么会「过期」——而且为什么会让我的网站宕掉?

每张证书都有一个固定的结束日期(免费的常为 90 天)。过了那个日期,浏览器拒绝信任它,显示一个全页警告而不是你的网站。这不是逐渐衰退——它到死线前完美运行,然后彻底崩坏。这正是自动续期为何如此重要:它移除了那个本会忘事的人。

什么是「自签名」证书,它为什么不通过?

自签名证书是你颁发给自己、而非从一家公认机构取得的证书。它加密连接,却没有任何东西担保它真的是你——所以浏览器把它当作不受信任,向访客发警告,就和对待攻击者的假证书一模一样。对一个公开网站,你永远想要一张来自受信任机构的证书,而那是免费的。

「弱密钥」和「弱签名算法」对我的业务到底意味着什么?

两者都是证书在今天技术上有效、密码学上却脆弱的方式。一把弱密钥(低于 2048 位 RSA 或 256 位 EC)原则上可被破解,让攻击者冒充你的网站。一个弱签名(SHA-1 或 MD5)可被伪造,造出一张以假乱真的证书。现代免费证书默认使用强密钥和强签名,所以修复几乎总是重新签发而已——分文不取。