4.2. 보안
NSS 재기반 3.101
NSS 암호화 툴킷 패키지는 업스트림 버전 3.101을 기반으로 하여 많은 버그 수정 및 개선 사항을 제공합니다. 주요 변경 사항은 다음과 같습니다.
- DTLS 1.3 프로토콜이 지원됩니다(RFC 9147).
- PBMAC1 지원이 PKCS#12(RFC9579)에 추가되었습니다.
-
X25519Kyber768Draft00 하이브리드 post-quantum 키 계약에는 실험적 지원(
draft-tls-westerbaan-xyber768d00
)이 있습니다. -
lib::pkix
는 RHEL 10의 기본 검증기입니다. - 시스템 전체 암호화 정책에 따라 2048비트보다 짧은 키가 있는 RSA 인증서(수정 제거)
Jira:RHEL-46840[1]
Libreswan은 IPv6 SAN 확장 허용
이전에는 IPv6 주소와 함께 SAN( subjectAltName) 확장이 포함된 인증서로 인증서 기반 인증을 설정할 때 IPsec 연결이 실패했습니다. 이번 업데이트를 통해 pluto
데몬이 IPv6 SAN 및 IPv4를 수락하도록 수정되었습니다. 결과적으로 인증서에 ID로 포함된 IPv6 주소를 사용하여 IPsec 연결이 올바르게 설정됩니다.
Jira:RHEL-32720[1]
ssh-keygen
의 사용자 정의 키 크기
/etc/sysconfig/sshd
환경 파일에서 환경 변수 SSH_RSA_BITS
및 SSH_ECDSA_BITS
를 설정하여 /usr/libexec/openssh/sshd-keygen
스크립트에서 생성된 키 크기를 구성할 수 있습니다.
Jira:RHEL-26454[1]
FIPS-mode-setup
은 FIPS 모드를 활성화하기 전에 열려 있는 LUKS 볼륨에서 Argon2 KDF 사용을 확인합니다.
이제 fips-mode-setup
시스템 관리 명령은 현재 열려 있는 LUKS 볼륨에 사용되는 KDF(키 파생 기능)를 감지하고 Argon2 KDF 사용을 감지하면 중단됩니다. Argon2 KDF가 FIPS와 호환되지 않아 FIPS 준수를 확인하는 데 도움이 되기 때문입니다. 결과적으로 Argon2를 KDF로 사용하는 열린 LUKS 볼륨이 있는 시스템에서 FIPS 모드로 전환하면 해당 볼륨이 닫히거나 다른 KDF로 변환할 때까지 차단됩니다.
QEMU 게스트 에이전트가 제한된 명령을 실행할 수 있는 새로운 SELinux 부울
이전 버전에서는 mount
와 같은 QEMU 게스트 에이전트 데몬 프로그램을 통해 제한된 컨텍스트에서 실행해야 하는 명령은 AVC(Access Vector Cache) 거부로 실패했습니다. 이러한 명령을 실행할 수 있으려면 guest-agent
가 virt_qemu_ga_unconfined_t
도메인에서 실행해야 합니다.
따라서 이번 업데이트에서는 guest-agent
가 다음 디렉터리에 있는 실행 파일에 대해 virt_qemu_ga_unconfined로 전환할 수 있는 SELinux 정책 부울
를 추가합니다.
virt_qemu_ga_run_unconfined
ed_t
-
/etc/qemu-ga/fsfreeze-hook.d/
-
/usr/libexec/qemu-ga/fsfreeze-hook.d/
-
/var/run/qemu-ga/fsfreeze-hook.d/
또한 qemu-ga
데몬의 전환에 필요한 규칙이 SELinux 정책 부울에 추가되었습니다.
결과적으로 virt_qemu_ga_run_unconfined
부울을 활성화하여 AVC 거부 없이 QEMU 게스트 에이전트를 통해 제한된 명령을 실행할 수 있습니다.
OpenSSL은 3.2.2로 재기반
OpenSSL 패키지는 업스트림 버전 3.2.2로 변경되었습니다. 이번 업데이트에서는 다음과 같은 다양한 개선 사항 및 버그 수정이 제공됩니다.
-
CSR(인증서 서명 요청)을 생성할 때
-extensions
옵션이 포함된openssl req
명령은 더 이상 확장 기능을 잘못 처리하지 않습니다. 이전에는 명령에서 일관성을 위해 구성 파일 섹션의 이름을 가져오고, 구문 분석하고, 확인했지만 이름이 생성된 CSR 파일에 확장 기능을 추가하는 데 사용되지 않았습니다. 이번 수정으로 생성된 CSR에 확장이 추가되었습니다. 이 변경의 부작용으로, 섹션이 CSR에서 해당 사용과 호환되지 않는 확장을 지정하는 경우, 명령이 오류:11000080:X509V3:X509V3_EXT_nconf_int:error in extension:crypto/x509/v3_conf.c:48:section=server_cert, name=authorityKeyr,
issuealr와 같은 오류와 함께 실패할 수 있습니다. -
기본 X.500 고유 이름(DN) 포맷이 UTF-8 포맷터를 사용하도록 변경되었습니다. 또한 DN 요소 유형을 값과 구분하는 등호(
=
) 주위에 공백 문자를 제거합니다. - 인증서 압축 확장(RFC 8879)이 지원됩니다.
- 이제 클라이언트 측에서 기술 프리뷰로 QUIC 프로토콜을 사용할 수 있습니다.
- Argon2d, Argon2i 및 Argon2id 키 파생 기능(KDF)이 지원됩니다.
- Brainpool 곡선이 TLS 1.3 프로토콜(RFC 8734)에 추가되었지만 Brainpool 곡선은 지원되는 모든 시스템 전체 암호화 정책에서 비활성화된 상태로 유지됩니다.
crypto-policies
는 Java에서 알고리즘 선택을 제공합니다.
Java에서 제어를 알고리즘 선택으로 확장하도록 crypto-policies
패키지가 업데이트되었습니다. 이는 Java 암호화 민첩성 구성 및 보다 일관된 시스템 구성에 대한 더 나은 매핑을 제공하기 위해 catch해야 하는 암호화 정책이
진화했기 때문입니다. 특히 업데이트에는 다음과 같은 변경 사항이 있습니다.
-
DTLS 1.0은 이제
프로토콜
옵션으로 제어되며 기본적으로 비활성화되어 있으며protocol@java = DTLS1.0+
scoped 지시문을 사용하여 다시 활성화할 수 있습니다. -
anon
및NULL
ciphersuites는 이제cipher@java = NULL
로 제어되고 기본적으로 비활성화되어 있습니다. -
이제 서명 알고리즘 목록은
sign@java
범위 지시문으로 제어되고 시스템 전체 기본값에 맞게 조정됩니다. -
이제 서명 알고리즘 목록이
기호
옵션에 의해 제어되고 시스템 전체 기본값에 맞게 조정됩니다. 필요한 경우sign@java = <algorithm1>+ <algorithm2>+ scoped 지시문을 사용하여 Java를 사용하여 원하는 알고리즘을
다시 활성화할 수 있습니다. - AP(elliptic curve) 256비트보다 작은 키는 업스트림 지침에 맞게 무조건 비활성화되어 있습니다.
결과적으로 Java와 함께 사용할 수 있는 암호화 알고리즘 목록은 기본적으로 시스템 전체 기본값과 일치합니다. 상호 운용성에 대한 자세한 내용은 /etc/crypto-policies/back-ends/java.config
파일을 참조하고 그에 따라 활성 암호화 정책을 구성합니다.
Jira:RHEL-45620[1]
이제 Centos Stream 10용 selinux-policy
git 리포지터리에 공개적으로 액세스할 수 있습니다.
CentOS Stream 기여자는 이제 fedora-selinux/selinux-policy
git 리포지토리의 c10s
분기에 기여하여 SELinux 정책 개발에 참여할 수 있습니다.
Clevis
재기반 버전 20
clevis
패키지가 버전 20으로 업그레이드되었습니다. 주요 개선 사항 및 수정 사항은 다음과 같습니다.
-
clevis luks
명령,udisks2
통합 및 Shamir's Secret Sharing (SSS) 임계값 체계에서 정적 분석 도구에서 보고한 잠재적인 문제를 수정하여 보안이 향상됩니다. -
이제 암호 생성에서
pwmake
대신jose
유틸리티를 사용합니다. 이렇게 하면 Clevis 바인딩 단계에서 생성된 암호에 충분한 엔트로피가 생성됩니다.
CA-certificates
는 OpenSSL 디렉터리 형식으로 신뢰할 수 있는 CA 루트 제공
이번 업데이트에서는 /etc/pki/ca-trust/extracted/pem/directory-hash/
디렉터리를 신뢰할 수 있는 CA 루트 인증서로 채웁니다. 그 결과 SSL_CERT_DIR
환경 변수를 /etc/pki/ca-trust/extracted/pem/directory-hash/
로 설정하여 OpenSSL이 이 디렉터리에서 인증서를 로드하도록 구성된 경우 조회 및 검증이 빨라집니다.
Jira:RHEL-21094[1]
nbdkit
서비스는 SELinux에 의해 제한됩니다.
nbdkit-selinux
하위 패키지는 SELinux 정책에 새 규칙을 추가하므로 nbdkit
은 SELinux에 제한됩니다. 따라서 nbdkit
을 실행하는 시스템은 권한 상승 공격에 대해 더 탄력적입니다.
4.15에 기반 Libre swan
libreswan
패키지는 업스트림 버전 4.15로 변경되었습니다. 이 버전은 이전 릴리스에서 제공된 이전 버전 4.9보다 상당한 개선 사항을 제공합니다.
-
libsystemd
를 통해libxz
에 대한 종속성을 제거했습니다. -
IKEv1에서는ESP(Security Payload) 및 AH(인증 헤더)에 대해 기본 제안이
aes-
로 설정되었습니다.sha1
- IKEv1은 인증된 암호화를 AEAD(관련 데이터) 및 비어 있지 않은 INTEG와 결합하는 ESP 제안을 거부합니다.
- IKEv1은 연결에 제안 사항이 없는 경우 교환을 거부합니다.
IKEv1은 이제 더 제한된 기본 cryptosuite를 갖습니다.
IKE={AES_CBC,3DES_CBC}-{HMAC_SHA2_256,HMAC_SHA2_512HMAC_SHA1}-{MODP2048,MODP1536,DH19,DH31} ESP={AES_CBC,3DES_CBC}-{HMAC_SHA1_96,HMAC_SHA2_512_256,HMAC_SHA2_256_128}-{AES_GCM_16_128,AES_GCM_16_256} AH=HMAC_SHA1_96+HMAC_SHA2_512_256+HMAC_SHA2_256_128
-
libcap-ng
라이브러리의 실패는 더 이상 치명적이지 않습니다. -
이제 Pluto 유틸리티에서 AEAD 알고리즘에 대해 TFC 패딩이 설정됩니다.
Jira:RHEL-50006[1]
Jose
rebased to version 14
jose
패키지가 업스트림 버전 14로 업그레이드되었습니다. Jose
는 JavaScript Object Signing and Encryption (JOSE) 표준의 C 언어 구현입니다. 가장 중요한 개선 사항 및 수정 사항은 다음과 같습니다.
-
OpenSSL의
oct
JWK Type에 대한len
함수에 대한 바인딩 검사를 개선했습니다. -
보호된 JSON 웹 암호화(JWE) 헤더에는 더 이상
zip
이 포함되지 않습니다. -
Jose
는 높은 압축 해제 청크를 사용하여 잠재적인 서비스 거부(DoS) 공격을 방지합니다.
SELinux 허용 모드에서 RHEL 서비스 4개 제거
다음 RHEL 서비스 도메인은 SELinux 허용 모드에서 제거되었습니다.
-
afterburn_t
-
bootupd_t
-
mptcpd_t
-
rshim_t
이전 버전에서는 최근 RHEL 9에 추가된 패키지의 이러한 서비스가 SELinux 허용 모드로 임시로 설정되어 나머지 시스템이 SELinux 강제 모드에 있는 동안 추가 거부에 대한 정보를 수집할 수 있었습니다. 이 임시 설정이 제거되어 이러한 서비스가 이제 SELinux 강제 모드에서 실행됩니다.
bootupd
서비스는 SELinux 제한입니다.
bootupd
서비스는 부트로더 업데이트를 지원하므로 제한해야 합니다. 이번 업데이트에서는 SELinux 정책에 추가 규칙이 추가되어 bootupd
서비스가 bootupd_t
SELinux 도메인에서 실행됩니다.