Red Hat Training

A Red Hat training course is available for RHEL 8

3장. 시스템 전체 암호화 정책 사용

시스템 전체의 암호화 정책은 TLS, IPsec, SSH, DNSSec 및 Kerberos 프로토콜을 다루는 코어 암호화 하위 시스템을 구성하는 시스템 구성 요소입니다. 관리자가 선택할 수 있는 몇 가지 정책 세트를 제공합니다.

3.1. 시스템 전체 암호화 정책

시스템 전체 정책이 설정되면 RHEL의 애플리케이션은 이를 따르며 애플리케이션을 명시적으로 요청하지 않는 한, 정책을 준수하지 않는 알고리즘과 프로토콜을 사용하지 않습니다. 즉, 이 정책은 시스템 제공 구성으로 실행할 때 애플리케이션의 기본 동작에 적용되지만 필요한 경우 이를 재정의할 수 있습니다.

RHEL 8에는 다음과 같은 사전 정의된 정책이 포함되어 있습니다.

DEFAULT
기본 시스템 전체 암호화 정책 수준은 현재 위협 모델에 대한 보안 설정을 제공합니다. 이 보안 설정은 TLS 1.2 및 1.3 프로토콜과 IKEv2 및 SSH2 프로토콜을 허용합니다. RSA 키와 Diffie-Hellman 매개변수는 2048비트 이상인 경우 허용됩니다.
LEGACY
Red Hat Enterprise Linux 5 및 이전 버전과의 호환성을 극대화하며 공격 면적이 증가하여 보안이 떨어집니다. DEFAULT 수준 알고리즘 및 프로토콜 외에도 TLS 1.0 및 1.1 프로토콜 지원이 포함됩니다. 알고리즘 DSA, 3DES, RC4는 사용할 수 있지만 RSA 키와 Diffie-Hellman 매개변수는 최소 1023비트인 경우 허용됩니다.
FUTURE
가능한 향후 정책을 테스트하기 위한 보다 엄격한 미래 지향 보안 수준입니다. 이 정책은 서명 알고리즘에서 SHA-1을 사용할 수 없습니다. 이 보안 설정은 TLS 1.2 및 1.3 프로토콜과 IKEv2 및 SSH2 프로토콜을 허용합니다. RSA 키와 Diffie-Hellman 매개변수는 최소 3072비트인 경우 허용됩니다. 시스템이 공용 인터넷에서 통신할 경우 상호 운용성 문제에 직면할 수 있습니다.
FIPS
FIPS 140 요구 사항을 준수합니다. RHEL 시스템을 FIPS 모드로 전환하는 fips-mode-setup 툴은 내부적으로 이 정책을 사용합니다. FIPS 정책으로 전환해도 FIPS 140 표준을 준수하지 않습니다. 또한 시스템을 FIPS 모드로 설정한 후 모든 암호화 키를 다시 생성해야 합니다. 많은 경우에서는 이 작업을 수행할 수 없습니다.

Red Hat은 LEGACY 정책을 사용하는 경우를 제외하고 모든 라이브러리가 보안 기본값을 제공하도록 모든 정책 수준을 지속적으로 조정합니다. LEGACY 프로필은 보안 기본값을 제공하지 않지만 쉽게 사용할 수 있는 알고리즘은 포함되지 않습니다. 따라서 Red Hat Enterprise Linux의 라이프 사이클 기간 동안 제공되는 정책에서 활성화된 알고리즘이나 사용 가능한 주요 크기 세트가 변경될 수 있습니다.

이러한 변경 사항은 새로운 보안 표준과 새로운 보안 연구를 반영합니다. Red Hat Enterprise Linux의 전체 수명 동안 특정 시스템과의 상호 운용성을 보장해야 하는 경우 시스템과 상호 작용하는 구성 요소에 대한 시스템 전체 암호화 정책을 비활성화하거나 사용자 지정 암호화 정책을 사용하여 특정 알고리즘을 다시 활성화해야 합니다.

중요

고객 포털 API의 인증서에서 사용하는 암호화 키가 FUTURE 시스템 전체 암호화 정책의 요구 사항을 충족하지 않으므로 redhat-support-tool 유틸리티는 현재 이 정책 수준에서 작동하지 않습니다.

이 문제를 해결하려면 고객 포털 API에 연결하는 동안 DEFAULT 암호화 정책을 사용합니다.

참고

정책 수준에서 허용되는 대로 설명된 특정 알고리즘 및 암호는 애플리케이션에서 지원하는 경우에만 사용할 수 있습니다.

암호화 정책을 관리하는 툴

현재 시스템 전체 암호화 정책을 보거나 변경하려면 update-crypto-policies 도구를 사용합니다. 예를 들면 다음과 같습니다.

$ update-crypto-policies --show
DEFAULT
# update-crypto-policies --set FUTURE
Setting system policy to FUTURE

암호화 정책 변경이 적용되었는지 확인하려면 시스템을 다시 시작합니다.

안전하지 않은 암호화 제품군 및 프로토콜을 제거하여 강력한 암호화 기본값

다음 목록에는 RHEL의 코어 암호화 라이브러리에서 제거된 암호화 제품군 및 프로토콜이 포함되어 있습니다. 소스에는 존재하지 않거나 빌드 중에 지원이 비활성화되므로 애플리케이션에서 사용할 수 없습니다.

  • DES (RHEL 7 이후)
  • 모든 내보내기 등급 암호화 제품군 (RHEL 7 이후)
  • 서명된 MD5 (RHEL 7 이후)
  • SSLv2 (RHEL 7 이후)
  • SSLv3 (RHEL 8 이후)
  • 모든 ECC 곡선 < 224bit (RHEL 6 이후)
  • 모든 바이너리 필드 ECC 곡선 (RHEL 6 이후)

모든 정책 수준에서 비활성화된 암호화 제품군 및 프로토콜

다음 암호화 제품군 및 프로토콜은 모든 암호화 정책에서 비활성화되어 있습니다. 개별 애플리케이션의 명시적 구성에서만 활성화할 수 있습니다.

  • 매개 변수 < 1024bit인 DH
  • 키 크기< 1024bit인 RSA
  • Camellia
  • ARIA
  • SEED
  • IDEA
  • 무결성 전용 암호화 제품군
  • SHA-384 HMAC를 사용하는 TLS CBC 모드 암호화 제품군
  • AES-CCM8
  • secp256k1을 포함하여 TLS 1.3과 호환되지 않는 모든 ECC 곡선
  • IKEv1 (RHEL 8 이후)

암호화 정책에서 활성화된 암호화 제품군 및 프로토콜

각 암호화 정책은 특정 암호화 제품군 및 프로토콜을 활성화합니다.

 LEGACYDEFAULTFIPSFUTURE

IKEv1

제공되지 않음

제공되지 않음

제공되지 않음

제공되지 않음

3DES

제공됨

제공되지 않음

제공되지 않음

제공되지 않음

RC4

제공됨

제공되지 않음

제공되지 않음

제공되지 않음

DH

최소 1024비트

최소 2048비트

최소 2048비트[a]

최소 3072비트

RSA

최소 1024비트

최소 2048비트

최소 2048비트

최소 3072비트

DSA

제공됨

제공되지 않음

제공되지 않음

제공되지 않음

TLS v1.0

제공됨

제공되지 않음

제공되지 않음

제공되지 않음

TLS v1.1

제공됨

제공되지 않음

제공되지 않음

제공되지 않음

디지털 서명의 SHA-1

제공됨

제공됨

제공되지 않음

제공되지 않음

CBC 모드 암호

제공됨

제공됨

제공됨

제공되지 않음[b]

키 < 256비트인 대칭 암호

제공됨

제공됨

제공됨

제공되지 않음

인증서의 SHA-1 및 SHA-224 서명

제공됨

제공됨

제공됨

제공되지 않음

[a] RFC 7919 및 RFC 3526에 정의된 Diffie-Hellman 그룹만 사용할 수 있습니다.
[b] CBC 암호가 TLS에 대해 비활성화되어 있습니다. 비 TLS 시나리오에서는 AES-128-CBC가 비활성화되지만 AES-256-CBC가 활성화됩니다. AES-256-CBC도 비활성화하려면 사용자 지정 하위 정책을 적용합니다.

추가 리소스

  • update-crypto-policies(8) 도움말 페이지