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와 같은 오류와 함께 실패할 수 있습니다:crypto/x509/v3_conf.c:48:section=server_cert, name=authorityIdentifier,
issue. -
기본 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-tls = DTLS1.0+
scoped 지시문을 사용하여 다시 활성화할 수 있습니다. -
anon
및NULL
ciphersuites는 이제cipher@java-tls = NULL
로 제어되며 기본적으로 비활성화되어 있습니다. -
이제 서명 알고리즘 목록이
sign@java-tls
scoped 지시문으로 제어되고 시스템 전체 기본값에 맞게 조정됩니다. -
이제 서명 알고리즘 목록이
기호
옵션에 의해 제어되고 시스템 전체 기본값에 맞게 조정됩니다. 필요한 경우sign@java-tls = <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 도메인에서 실행됩니다.