5.3. 识别环境中的 TLS 版本
Red Hat OpenStack 平台已弃用 TLS 版本 1.0。另外,对于 NIST 批准,必须至少使用 TLS 1.2。如需更多信息,请参阅 选择、配置和使用传输层安全(TLS)实施的指南。
您可以使用 cipherscan
来决定部署提供的 TLS 版本。Cipherscan 可以从 https://github.com/mozilla/cipherscan 克隆。这个示例输出演示了从 horizon
收到的结果:
从非生产环境系统运行 cipherscan
,因为它可能会在首次运行时安装其他依赖项。
流程
针对 Dashboard 服务的可访问的
URL
运行密码扫描:$ ./cipherscan https://openstack.lab.local .............................. Target: openstack.lab.local:443 prio ciphersuite protocols pfs curves 1 ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 ECDH,P-256,256bits prime256v1 2 ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 ECDH,P-256,256bits prime256v1 3 DHE-RSA-AES128-GCM-SHA256 TLSv1.2 DH,1024bits None 4 DHE-RSA-AES256-GCM-SHA384 TLSv1.2 DH,1024bits None 5 ECDHE-RSA-AES128-SHA256 TLSv1.2 ECDH,P-256,256bits prime256v1 6 ECDHE-RSA-AES256-SHA384 TLSv1.2 ECDH,P-256,256bits prime256v1 7 ECDHE-RSA-AES128-SHA TLSv1.2 ECDH,P-256,256bits prime256v1 8 ECDHE-RSA-AES256-SHA TLSv1.2 ECDH,P-256,256bits prime256v1 9 DHE-RSA-AES128-SHA256 TLSv1.2 DH,1024bits None 10 DHE-RSA-AES128-SHA TLSv1.2 DH,1024bits None 11 DHE-RSA-AES256-SHA256 TLSv1.2 DH,1024bits None 12 DHE-RSA-AES256-SHA TLSv1.2 DH,1024bits None 13 ECDHE-RSA-DES-CBC3-SHA TLSv1.2 ECDH,P-256,256bits prime256v1 14 EDH-RSA-DES-CBC3-SHA TLSv1.2 DH,1024bits None 15 AES128-GCM-SHA256 TLSv1.2 None None 16 AES256-GCM-SHA384 TLSv1.2 None None 17 AES128-SHA256 TLSv1.2 None None 18 AES256-SHA256 TLSv1.2 None None 19 AES128-SHA TLSv1.2 None None 20 AES256-SHA TLSv1.2 None None 21 DES-CBC3-SHA TLSv1.2 None None Certificate: trusted, 2048 bits, sha256WithRSAEncryption signature TLS ticket lifetime hint: None NPN protocols: None OCSP stapling: not supported Cipher ordering: server Curves ordering: server - fallback: no Server supports secure renegotiation Server supported compression methods: NONE TLS Tolerance: yes Intolerance to: SSL 3.254 : absent TLS 1.0 : PRESENT TLS 1.1 : PRESENT TLS 1.2 : absent TLS 1.3 : absent TLS 1.4 : absent
扫描服务器时,Cipherscan 会公告对特定 TLS 版本的支持,这是它将被协商的最高 TLS 版本。如果目标服务器正确遵循 TLS 协议,它将响应相互支持的最高版本,这可能低于 Cipherscan 最初公告的内容。如果服务器使用该特定版本与客户端建立连接,则它不被视为接受该协议版本。如果没有建立连接(使用指定的版本或任何较低版本),则对该版本的协议具有容错被视为存在。例如:
Intolerance to: SSL 3.254 : absent TLS 1.0 : PRESENT TLS 1.1 : PRESENT TLS 1.2 : absent TLS 1.3 : absent TLS 1.4 : absent
在这个输出中,TLS 1.0
和 TLS 1.1
的不容限被报告为 PRESENT
,这意味着无法建立连接,并且 Cipherscan 在广告支持时无法连接。因此,在扫描的服务器上不启用该协议的这些(及任何低)版本是合理的。