4.2. 보안
버전 7.3.0에 따라 키릴 수 있음
Keylime 패키지가 업스트림 버전 7.3.0으로 업데이트되었습니다. 이 버전은 다양한 개선 사항 및 버그 수정을 제공합니다. 특히 allow 및 exclude 목록이 Keylime 런타임 정책에 결합됩니다. convert_runtime_policy.py
스크립트를 사용하여 두 목록을 결합할 수 있습니다.
또한 이 업데이트는 보통 영향을 미치는 두 가지 취약점 ( CVE-2023-38200 및 CVE-2023-38201 )을 수정합니다.
Jira:RHEL-476[1]
Keylime 포트의 SELinux 정책에서 더 엄격한 규칙이 있습니다.
Keylime에서 사용하는 포트는 Keylime SELinux 정책에서 keylime_port_t
로 레이블이 지정됩니다. 이제 이 정책이 이 레이블이 있는 포트에 대해 TCP 연결을 허용합니다. 이전 Keylime SELinux 정책에서 모든 정의되지 않은 포트에 연결할 수 있고 Keylime에서 사용하는 대부분의 포트도 정의되지 않은 그룹에 있었기 때문입니다. 결과적으로 이 업데이트로 Keylime SELinux 정책의 세분화가 증가하고 포트 보안은 보다 엄격한 대상 지정이 될 수 있습니다.
Jira:RHEL-595[1]
감사에서 FANOTIFY
레코드 필드 지원
이번 감사
패키지를 업데이트하면 FANOTIFY
감사 레코드 필드를 지원합니다. 감사 하위 시스템은 AUDIT_FANOTIFY
레코드에 추가 정보를 기록합니다.
-
FANOTIFY
이벤트 유형을 지정하는 FANOTIFY -
추가 컨텍스트 정보를 지정하는
fan_info
-
sub_trust
및obj_trust
는 주체 및 이벤트와 관련된 개체의 신뢰 수준을 나타냅니다.
따라서 특정 경우 감사 시스템이 액세스를 거부한 이유를 더 잘 이해할 수 있습니다. 이를 통해 fapolicyd
프레임워크와 같은 툴에 대한 정책을 작성하는 데 도움이 될 수 있습니다.
Jira:RHELPLAN-161087[1]
fapolicyd
는 문제 해결을 위한 규칙 번호를 제공합니다.
이번 개선된 기능을 통해 새로운 커널 및 감사 구성 요소를 통해 fapolicyd
서비스에서 fanotify
API로 거부를 유발하는 규칙 수를 보낼 수 있습니다. 결과적으로 fapolicyd
와 관련된 문제를 보다 정확하게 해결할 수 있습니다.
암호화 정책에서
는 FIPS 모드에서 TLS 1.2 연결에 대한 NO-ENFORCE-
ECDSA 하위 정책을 제공합니다.
이제 시스템 전체 암호화 정책에 NO-ENFORCE-ECDSA 하위
정책이 포함됩니다. 새 하위 정책을 적용한 후 시스템은 더 이상 FIPS 모드에서 협상된 모든 TLS 1.2 연결에 대해 Extended Master Secret(ECDSA) 확장(RFC 7627)이 필요하지 않습니다. 이를 통해 시스템은 ECDSA 또는 TLS 1.3을 지원하지 않고 레거시 시스템에 연결할 수 있습니다. 이는 FIPS-140-3 표준의 요구 사항을 위반합니다. update-crypto-policies --set FIPS:NO-ENFORCE-
Cryostat 명령을 입력하여 하위 정책을 적용할 수 있습니다.
Bugzilla:2216257[1]
GnuTLS에는 FIPS 모드에서 TLS 1.2가 있는 ECDSA가 필요합니다.
FIPS-140-3 표준을 준수하기 위해 GnuTLS 서버 및 클라이언트에는 FIPS 모드에서 협상된 모든 TLS 1.2 연결에 대해 Extended Master Secret(ECDSA) 확장(RFC 7627)이 필요합니다. 시나리오에 ECDSA를 지원하지 않는 이전 서버 및 클라이언트와의 호환성을 유지해야 하며 TLS 1.3을 사용할 수 없는 경우 시스템 전체 암호화 하위 정책을 적용할 수 있습니다.
# update-crypto-policies --set FIPS:NO-ENFORCE-EMS
ECDSA 없이 TLS 1.2 연결을 허용하면 시스템이 더 이상 FIPS-140-3 요구 사항을 충족하지 않습니다.
NSS가 FIPS 모드에서 ECDSA 적용
NSS(Network Security Services) 라이브러리에는 FIPS 140-3 표준에서 요구하는 모든 TLS 1.2 연결에 대해 확장 마스터 보안(ECDSA) 확장(RFC 7627)이 필요한 TLS-REQUIRE-
ECDSA 정책이 포함됩니다. 시스템 전체 암호화 정책이 FIPS
로 설정된 경우 NSS는 새 정책을 사용합니다.
시나리오에 ECDSA 또는 TLS 1.3을 지원하지 않고 기존 시스템과 상호 작용해야 하는 경우 NO-ENFORCE-
ECDSA 시스템 전체 암호화 하위 정책을 적용할 수 있습니다. 이러한 변경으로 인해 FIPS-140-3 요구 사항이 위반됩니다.
OpenSSL이 FIPS 모드에서 ECDSA 비활성화 지원
/etc/pki/tls/fips_local.cnf
파일을 편집하여 FIPS 모드에서 Extended Master Secret( Cryostat 7627) 없이 TLS 1.2 연결을 허용하도록 OpenSSL 암호화 라이브러리를 구성할 수 있습니다. 선택한 텍스트 편집기에서 구성 파일에 다음 섹션을 추가합니다.
[fips_sect] tls1-prf-ems-check = 0 activate = 1
그런 다음 /etc/pki/tls/openssl.cnf
파일에서 SSL 구성 섹션을 찾습니다. 기본 SSL 구성 섹션은 crypto_policy
입니다. SSL 구성 섹션 끝에 다음 행을 추가합니다.
Options=RHNoEnforceEMSinFIPS
이전 구성 변경 사항을 통해 FIPS 모드의 시스템은 ECDSA 또는 TLS 1.3을 지원하지 않고 레거시 시스템에 연결할 수 있습니다.
update-crypto-policies --set FIPS:NO-ENFORCE-ECDSA 명령을 입력하여 FIPS
모드에서 TLS 1.2에 대한 강제 적용을 중지할 수 있습니다. 두 경우 모두 이러한 구성 변경은 FIPS-140-3 표준의 요구 사항을 위반합니다.
Bugzilla:2216256[1]
OpenSSH는 SHA-2를 추가로 적용합니다.
암호화 목적으로 덜 안전한 SHA-1 메시지 다이제스트에서 추가로 마이그레이션하려는 노력의 일환으로 OpenSSH에서 다음과 같은 변경이 이루어졌습니다.
-
시스템에 SHA-1을 사용할 수 있는지 여부를
sshd
시작 시 검사를 추가했습니다. 사용할 수 없는 경우 OpenSSH는 작업에 SHA-1을 사용하지 않습니다. 이렇게 하면 DSS 키가 있을 때 로드가 제거되고 사용 가능한 경우 광고rsa-sha2
조합도 적용됩니다. - SSH 개인 키 변환에서 OpenSSH는 RSA 키를 테스트하는 데 명시적으로 SHA-2를 사용합니다.
-
서버 측에서 SHA-1 서명을 사용할 수 없는 경우
sshd
는 SHA-2를 사용하여 호스트 키 증명을 확인합니다. 이는 RHEL 8 및 이전 버전의 클라이언트와 호환되지 않을 수 있습니다. - 클라이언트 측에서 SHA-1 알고리즘을 사용할 수 없는 경우 OpenSSH는 SHA-2를 사용합니다.
- 클라이언트 측에서 OpenSSH는 SHA-1이 키 증명 요청에 사용되거나 해시 알고리즘이 지정되지 않은 경우(기본값) SHA-2 기반 키 증명을 허용합니다. 이는 RSA 인증서에 대한 이미 존재하는 예외와 일치하며 지원되는 경우 최신 알고리즘을 사용하여 연결할 수 있습니다.
OpenSSL에는 Bleichenbacher와 같은 공격에 대한 보호 기능이 포함되어 있습니다.
이번 OpenSSL TLS 툴킷 릴리스에서는 RSA PKCS #1 v1.5 암호 해독 프로세스의 Bleichenbacher와 같은 공격에 대한 API 수준 보호가 도입되었습니다. 이제 RSA 암호 해독은 PKCS #1 v1.5 암호 해독 중에 패딩을 확인할 때 오류를 감지하면 오류 대신 임의로 생성된 결정적 메시지를 반환합니다. 이 변경 사항은 CVE-2020-25659 및 CVE-2020-25657 과 같은 취약점에 대한 일반적인 보호 기능을 제공합니다.
EVP_PKEY_CTX_ctrl_str(ctx, "rsa_pkcs1_implicit_rejection"을 호출하여 이 보호를 비활성화할 수 있습니다. "0")
는 RSA 암호 해독 컨텍스트에서 작동하지만 시스템을 더 취약하게 만듭니다.
OpenSSL이 그룹
옵션을 통해 구성 가능한 Brainpool 곡선 지원
이 OpenSSL TLS 툴킷 업데이트에서는 ECC(Elliptic Curve Cryptography)의 Brainpool 곡선을 지원합니다. 또한 그룹
구성 옵션을 통해 시스템 전체 암호화 정책의 곡선을 제어할 수 있습니다.
OpenSSL ECC에서 다음 Brainpool 곡선이 활성화됩니다.
-
brainpoolP256r1
-
brainpoolP256t1
-
brainpoolP320r1
-
brainpoolP320t1
-
brainpoolP384r1
-
brainpoolP384t1
-
brainpoolP512r1
-
brainpoolP512t1
암호화 정책에서
OpenSSL ECC Brainpool 곡선 지원
이 시스템 전체 암호화 정책을 업데이트하면 그룹
옵션을 사용하여 OpenSSL에서 다음의 Brainpool ECC(Ellliptic Curve Cryptography) 곡선을 제어할 수 있습니다.
-
BRAINPOOL-P256R1
-
BRAINPOOL-P384R1
-
BRAINPOOL-P512R1
.
예를 들어 다음 행이 포함된 하위 정책을 생성하여 OpenSSL에서 지원되는 모든 Brainpool elliptic 곡선을 활성화할 수 있습니다.
group = BRAINPOOL-*+
Bugzilla:2193324[1]
암호화 정책에서
는 기본적으로 OpenSSL과 동일한 그룹 순서를 사용합니다.
이번 릴리스에서는 시스템 전체 암호화 정책(암호 정책
)이 OpenSSL 그룹 구성 옵션의 그룹
순서를 제어합니다. OpenSSL에서 성능을 유지하기 위해 암호화 정책은
OpenSSL 기본 설정 순서와 일치하는 기본 그룹 순서를 사용합니다. 결과적으로 RHEL 암호화 백엔드는 이제 GnuTLS와 같은 그룹 순서를 제어하기 위한 암호화 정책을
지원하는 OpenSSL과 동일한 순서를 사용합니다.
Jira:RHEL-591[1]
crypto-policies
permitted_enctypes
에서 더 이상 FIPS 모드에서 복제를 중단하지 않음
이번 업데이트 이전에는 RHEL 8에서 실행되는 IdM 서버에서 FIPS 모드에서 RHEL 9를 실행하는 IdM 복제본에 AES-256-HMAC-SHA-1 암호화 서비스 티켓을 전송했습니다. 결과적으로 기본 permitted_enctypes
krb5
구성으로 FIPS 모드에서 RHEL 8 IdM 서버와 RHEL 9 IdM 복제본 간의 복제가 중단되었습니다.
이번 업데이트에서는 시스템 전체 암호화 정책이 allowed_enctypes
krb5
구성 옵션 값을 다시 정렬하여 기본적으로 상호 운용 가능한 암호화 유형의 우선 순위를 지정할 수 있습니다. 결과적으로 permitted_enctypes
구성에서 FIPS 모드에서 RHEL 8 IdM 서버와 RHEL 9 IdM 복제본 간의 복제가 중단되지 않습니다.
Kerberos를 사용하는 경우 /etc/crypto-policies/back-ends/krb5.config
파일에서 permitted_enctypes
값의 순서를 확인합니다. 시나리오에 다른 순서가 필요한 경우 사용자 지정 암호화 하위 정책을 적용합니다.
pcsc-lite-ccid
를 1.5.2에 기반
pcsc-lite-ccid
패키지가 버전 1.5.2로 업데이트되었습니다. 이 버전은 다양한 버그 수정 및 개선 사항을 제공합니다.
- 새로운 리더 지원
- Alcor Micro AU9560
0.23에
기반 OpenSC
opensc
패키지가 0.23 버전으로 업데이트되었습니다. 이 버전은 다양한 버그 수정 및 개선 사항을 제공합니다.
- 대칭 키를 사용하여 암호화 및 암호 해독 지원 추가
- 512바이트를 초과하는 데이터 서명 지원 추가
- 기본적으로 이전 카드 드라이버 지원 비활성화
- 이전 드라이버 MioCOS 및 JCOP에 대한 제거된 지원
Jira:RHEL-280[1]
setools
가 4.4.3으로 업데이트됨
setools
패키지가 4.4.3 버전으로 업데이트되었습니다. 이 버전은 다양한 버그 수정 및 개선 사항을 제공합니다.
- Cython 3.0.0으로 수정된 컴파일
- 도움말 페이지 개선
-
sediff
,sesearch
,apol
에서 사용되지 않는 옵션 제거 -
seinfoflow
명령에-r
옵션을 추가하여 소스 유형으로 흐름 분석을 가져왔습니다. - 권한이 없는 규칙은 잘못된 정책으로 자동 거부됩니다.
Bugzilla:2231801, Bugzilla:2184140
SELinux 정책에 제한된 추가 서비스
이번 업데이트에서는 다음 systemd
서비스를 제한하는 SELinux 정책에 추가 규칙이 추가되었습니다.
-
QAT
-
systemd-pstore
-
boothd
-
fdo-manufacturing-server
-
fdo-rendezvous-server
-
fdo-client-linuxapp
-
fdo-owner-onboarding-server
결과적으로 이러한 서비스는 더 이상 unconfined_service_t
SELinux 레이블로 실행되지 않으며 SELinux 강제 모드에서 성공적으로 실행됩니다.
Bugzilla:2080443[1], Bugzilla:2026795, Bugzilla:2181565, Bugzilla:2128833
1.3.8에 기반 OpenSCAP
OpenSCAP 패키지는 업스트림 버전 1.3.8에 따라 변경되었습니다. 이 버전은 다양한 버그 수정 및 개선 사항을 제공합니다.
-
일부
systemd
장치를 무시하지 않도록 수정된systemd
프로브 -
shadow
OVAL 프로브에 오프라인 기능 추가 -
sysctl
OVAL 프로브에 오프라인 기능 추가 -
네트워크 파일 시스템 목록에
auristorfs
추가 -
autotailor
유틸리티에서 생성한 맞춤형 파일 문제에 대한 해결 방법이 생성되었습니다.
버전 0.1.69에 기반 SCAP 보안 가이드
SCAP Security Guide (SSG) 패키지는 업스트림 버전 0.1.69로 변경되었습니다. 이 버전은 다양한 개선 사항 및 버그 수정을 제공합니다. 특히 2022년 10월 스페인 국립 암호화 센터 (National Cryptologic Center)에서 발행한 CCN-STIC-610A22 가이드와 일치하는 RHEL 9의 새로운 SCAP 프로필이 도입되었습니다.
프로파일 이름 | 프로파일 ID | 정책 버전 |
---|---|---|
CCN Red Hat Enterprise Linux 9 - 고급 |
| 2022-10 |
CCN Red Hat Enterprise Linux 9 - Basic |
| 2022-10 |
CCN Red Hat Enterprise Linux 9 - Intermediate |
| 2022-10 |
ANSSI-BP-028 보안 프로필이 버전 2.0으로 업데이트됨
다음 French National Agency for the Security of Information Systems (ANSSI) BP-028이 버전 2.0과 일치하도록 업데이트되었습니다.
- ANSSI-BP-028 최소 수준
- ANSSI-BP-028 중간 수준
- ANSSI-BP-028 향상된 수준
- ANSSI-BP-028 High Level
python3-greenlet-devel
은 CRB에서 사용 가능
python3-greenlet-devel
패키지는 이제 명시적으로 활성화해야 하는 CodeReady Linux Builder(CRB) 리포지토리에서 사용할 수 있습니다. 자세한 내용은 CodeReady Linux Builder 지식 베이스에서 콘텐츠를 활성화하고 사용하는 방법을 참조하십시오. CRB 리포지토리에 포함된 패키지는 지원되지 않습니다.
pam_wheel.so
모듈에서 사용하는 그룹을 확인하는 SSG 규칙이 간소화됨
CIS 벤치마크에서는 sudo
명령을 대신해서 su
명령을 제한해야 합니다. SCAP Security Guide(SSG)는 su
명령을 특정 그룹으로 제한하는 pam_wheel.so
모듈로 이 요구 사항을 충족합니다. 이번 업데이트에서는 이 그룹이 존재하고 멤버가 없는지 확인하는 규칙이 향상됩니다. 결과적으로 규칙이 더 효율적이며 평가 보고서의 해석을 단순화합니다.