4.13.2. TLS 구현 사용
Red Hat Enterprise Linux 7은 다양한 완전한 기능을 갖춘
TLS
구현과 함께 배포됩니다. 이 섹션에서는 OpenSSL 및 GnuTLS 의 구성에 대해 설명합니다. 개별 애플리케이션에서 TLS
지원을 구성하는 방법에 대한 지침은 4.13.3절. “특정 애플리케이션 구성” 을 참조하십시오.
사용 가능한
TLS
구현에서는 TLS
-secured 통신을 설정하고 사용할 때 함께 제공되는 모든 요소를 정의하는 다양한 암호화 제품군에 대한 지원을 제공합니다.
다양한 구현에 포함된 툴을 사용하여 4.13.1절. “사용할 알고리즘 선택” 에 설명된 권장 사항을 고려하는 동안 사용 사례에 가장 적합한 보안을 제공하는 암호화 제품군을 나열하고 지정합니다. 그런 다음 결과 암호화 제품군을 사용하여 개별 애플리케이션의 협상 및 보안 연결을 구성할 수 있습니다.
중요
사용하는
TLS
구현 또는 해당 구현을 사용하는 애플리케이션을 업그레이드할 때마다 설정을 확인하십시오. 새로운 버전에서는 활성화할 필요가 없고 현재 구성이 비활성화되지 않는 새로운 암호화 제품군을 도입할 수 있습니다.
4.13.2.1. OpenSSL에서 Cipher Suite 작업
OpenSSL 은
SSL
및 TLS
프로토콜을 지원하는 툴킷 및 암호화 라이브러리입니다. Red Hat Enterprise Linux 7에서 구성 파일은 /etc/pki/tls/openssl.cnf
에 제공됩니다. 이 구성 파일의 형식은 config(1) 에 설명되어 있습니다. 4.7.9절. “OpenSSL 구성” 도 참조하십시오.
OpenSSL 설치에서 지원하는 모든 암호화 제품군 목록을 가져오려면 다음과 같이 openssl 명령을 ciphers 하위 명령과 함께 사용하십시오.
~]$ openssl ciphers -v 'ALL:COMPLEMENTOFALL'
기타 매개 변수( OpenSSL 문서의 암호화 문자열 및 키워드 로 참조)를 ciphers 하위 명령에 전달하여 출력을 좁힙니다. 특수 키워드를 사용하여 특정 조건을 충족하는 모음만 나열할 수 있습니다. 예를 들어
HIGH
그룹에 속하는 것으로 정의된 제품군만 나열하려면 다음 명령을 사용합니다.
~]$ openssl ciphers -v 'HIGH'
사용 가능한 키워드 및 암호 문자열 목록은 ciphers(1) 매뉴얼 페이지를 참조하십시오.
4.13.1절. “사용할 알고리즘 선택” 에 설명된 권장 사항을 충족하는 암호화 제품군 목록을 가져오려면 다음과 유사한 명령을 사용합니다.
~]$ openssl ciphers -v 'kEECDH+aECDSA+AES:kEECDH+AES+aRSA:kEDH+aRSA+AES' | column -t
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA384
ECDHE-ECDSA-AES256-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA1
ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(128) Mac=AEAD
ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA256
ECDHE-ECDSA-AES128-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA1
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA384
ECDHE-RSA-AES256-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA1
ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD
ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256
ECDHE-RSA-AES128-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA1
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(256) Mac=SHA256
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(128) Mac=SHA256
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
위의 명령은 모든 비보안 암호를 생략하고
임시 elliptic 곡선 Diffie-Hellman
키 교환 및 ECDSA
암호를 우선적으로 제공하며 RSA
키 교환(전자 보안을 완벽하게보장)을 생략합니다.
이는 다소 엄격한 구성이며 광범위한 클라이언트와의 호환성을 허용하기 위해 실제 시나리오에서 조건을 완화해야 할 수 있습니다.