ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

6.3.3 远端提议设备不支持的低版本 TLS

6.3.3 远端提议设备不支持的低版本 TLS 这是整个系列里第一条真正要动手的强制测例也是最简单的一条拿它来验证环境通不通很合适。场景初始握手对端提出一个低于 1.2 且设备没实现的版本。设备要做两件事报Alarm: Unsecure communication然后关掉 TCP 连接。注意这里的措辞是不支持不是不安全。设备根本没法跟这个版本谈与其降级迁就不如直接拒掉。这个处理和 6.3.1、6.3.2 正好相反那两条是设备支持的低版本只警告。环境准备客户端用正常的 client 证书就行这条测的是版本协商跟证书没关系。服务器照 PIXIT 配置锁死 TLS 1.2SSL_CTX_set_options(ctx,SSL_OP_NO_SSLv3|SSL_OP_NO_TLSv1|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_3);跑测试先跑个基线确认 TLS 1.2 是通的不然下面测出来的失败分不清是设备拒绝了版本还是环境本来就坏openssl s_client-connect127.0.0.1:19998-tls1_2\-certclient.crt-keyclient.key-CAfileca.crt基线通了再分别用 1.1、1.0 去撞openssl s_client-connect127.0.0.1:19998\-tls1_1-cipherDEFAULT:SECLEVEL0\-certclient.crt-keyclient.key-CAfileca.crt openssl s_client-connect127.0.0.1:19998\-tls1-cipherDEFAULT:SECLEVEL0\-certclient.crt-keyclient.key-CAfileca.crtSSLv3 现在基本没工具支持了跑不起来就不用勉强。判定检查项通过标准基线 TLS 1.2握手成功TLS 1.1 / 1.0握手失败安全事件Alarm: Unsecure communication连接设备主动关闭没有应用数据交换客户端会看到sslv3 alert handshake failure之类的报错但这只是客户端的视角。真正的判据在服务器日志里那条 Alarm。如果服务器只是握手失败却没有记事件说明它的 TLS 库把连接拒了但应用层没接住这个失败、没生成安全事件这同样算不通过因为标准要的是设备主动识别并上报。
返回列表