3.3. 사용자 환경에서 TLS 버전 확인
Red Hat OpenStack 플랫폼에서는 TLS 버전 1.0이 더 이상 사용되지 않습니다. 또한 NIST-Approval에는 최소 TLS 1.2를 사용해야 합니다. 자세한 내용은 TLS(Transport Layer Security) 구현 선택, 구성 및 사용을 참조하십시오.
ciphers can을 사용하여 배포에서 제공하는 TLS 버전을 확인할 수 있습니다. https://github.com/mozilla/cipherscan 에서 Cipherscan을 복제할 수 있습니다. 이 예제 출력은 Horizon 에서 수신한 결과를 보여줍니다.
처음 실행할 때 추가 종속성을 설치할 수 있으므로 비 프로덕션 시스템에서 ciphers can 을 실행합니다.
$ ./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 로 보고됩니다. 즉, 연결을 설정할 수 없고 해당 TLS 버전에 대한 지원을 광고하는 동안 Cipherscan이 연결할 수 없었습니다. 따라서 스캔한 서버에서 해당(및 하위) 프로토콜 버전이 활성화되지 않았음을 구현하는 것이 타당합니다.