首页/安全/加密与证书速查/关闭通知(close_notify)与截断防护
本包目录(305 条)
加密算法基础95 条
TLS 与 HTTPS60 条
证书与 PKI30 条OpenSSL 实战30 条证书运维排查49 条密钥管理41 条

关闭通知(close_notify)与截断防护

TLS 规范要求正常结束会话前发送 close_notify 警报;对端未收到就断开时,应用可能把被截断的数据当成完整数据,HTTP 层靠长度校验与分块编码共同兜底。

加密与证书速查安全更新于 2026-10-12
警报编号close_notify = 0(RFC 5246 附录 A)
作用明确告知对端不再发送数据;连接直接断开可能意味着数据被截断
应用表现下载与流式响应可能少一段而不报错
防护Content-Length 校验、分块编码、应用层哈希或签名校验

观察会话结束行为

观察会话结束行为
printf 'GET / HTTP/1.1\r\nHost: example.com\r\nConnection: close\r\n\r\n' | openssl s_client -connect example.com:443 -servername example.com -quiet 2>&1 | tail -3
部分中间设备或旧代理不发关闭通知;自研协议栈应显式区分正常 EOF 与异常截断。

易错点

  • 把 TCP 断开一律当成正常结束,下载类业务需额外做长度或哈希校验
  • 抓包看到 RST 就判定为攻击:也可能只是中间设备或服务端超时回收

数据来源与参考

  • RFC 5246 附录 A(Alert Protocol)
  • RFC 8446 §6(Alerts)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌