文档

中继严格验证

默认情况下,共享服务器对到中继的上游连接加密,但不验证另一端是谁——与浏览器接受自签名证书一样属于「首次使用即信任」。中继 Strict TLS 改变了这一点:共享服务器用它提供的 Root CA 检查中继证书,只有证书链、有效期和主机名全部通过才允许连接。这使得针对中继链路的中间人攻击实际上无从下手,代价只是多一步手工操作:把中继的 Root CA 交给共享服务器。它与上一页「客户端严格验证」思路相同,作用于共享服务器到中继的上游链路。

在哪里设置

严格验证在共享服务器——即 中继地址 指向中继的那台机器——上配置。在它的 Web 界面打开 服务器 设置页:中继密钥 下方有一行 中继 Strict TLS,显示当前的 On / Off 状态。展开后可以看到:

  1. 上游中继 Root CA — 填写中继 Root CA 公钥证书(PEM)的多行输入框;
  2. Off / On 切换 — 只有 PEM 能解析为有效证书时才可选择 On。
Web 界面 —— 服务器设置中展开的中继 Strict TLS 区块:上游中继 Root CA 输入框、Off/On 切换与应用按钮

中继相关设置不会在编辑中途保存:确认无误后点击 应用。保存会立即以新设置重连上游中继。

把 Root CA 交给共享服务器

两种方式,来源相同(中继自身的 Web 界面):

  • 粘贴分享串 — 在中继服务器的 Web 界面点击 二维码。分享串会在地址和密钥之外一并内嵌中继的 Root CA,粘贴到共享服务器的 中继地址 输入框时 CA 字段也会自动填充(见「中继」下的「配置指南」)。严格模式仍保持关闭,直到你确认 CA 并自行开启;
  • 复制粘贴 — 在中继的 证书与 TLS 页面点击 复制 Root CA,把 PEM 粘贴到 上游中继 Root CA 字段。

CA 对每台共享服务器都相同,且证书续签不会改变它——每个中继设置一次即可。

信任 CA 之前,先确认拿到的是真的:中继的 证书与 TLS 页面显示 Root CA 的 SHA-256 指纹。把它与即将粘贴的 PEM 比对。如果不一致,不要启用严格验证——改用可信渠道重新获取 CA。

严格模式检查什么

切换到 On 后,上游 RelayPrimary 连接必须出示满足以下条件的证书:

  1. 证书链能追溯到所配置的 Root CA——由其他任何 CA(包括公共系统根)签发的证书都会被拒绝;
  2. 在有效期内——已过期或尚未生效的证书会被拒绝;
  3. SAN 与 中继地址 的主机名匹配——为其他名称签发的证书会被拒绝。

一点限制:只有上游中继连接会被验证。Terminal 与请求回连保持原有证书策略。

任何一项检查失败,连接都会被拒绝,并在后台以递增间隔重试;在检查通过或你关掉严格模式之前,共享服务器始终无法经由中继访问。

常见失败原因

  • 严格 TLS 验证需要 Root CA PEM — 开关已开启但 CA 字段为空。请先粘贴 PEM;
  • SAN 不匹配 — 你拨号所用的名称或 IP 不在中继证书里。在中继的 证书与 TLS 页面添加该名称(见「域名与 SAN 管理」页面)并重新签发;
  • 证书过期或尚未生效 — 中继的时钟不准,或其叶子证书续签失败。在中继上查看证书状态;
  • 不是所配置 CA 签发的 — 字段中的 CA 属于另一个中继,或连接正被拦截。先比对指纹再继续。