问题描述
主机名验证(Hostname Verification) 是 SSL/TLS 连接中的关键安全机制,用于验证服务器证书中的域名(Subject Alternative Name 或 Common Name)是否与客户端请求的目标主机名一致。禁用此功能会导致以下风险:
-
中间人攻击(MITM):攻击者可伪造证书,冒充合法服务器窃取数据。
-
身份伪造:恶意服务器可通过无效证书欺骗客户端。
-
合规性违规:违反 PCI-DSS、GDPR 等安全标准。
禁用主机名验证的常见场景
-
开发/测试环境:为方便测试自签名证书,临时关闭验证。
-
老旧代码库:使用过时的 HTTP 客户端库(如早期 Apache HttpClient)。
-
错误配置:自定义
TrustManager或HostnameVerifier时未严格校验。 -
忽略警告:开发者忽略证书错误(如
SSLPeerUnverifiedException)。
修复方案:启用主机名验证
通用原则
-
永远不在生产环境禁用主机名验证。
-
测试环境使用有效证书(如 Let's Encrypt)或配置受信任的本地 CA。

最低0.47元/天 解锁文章
2226

被折叠的 条评论
为什么被折叠?



