10.6. 보안
/etc/passwd-
의 파일 권한은 CIS RHEL 8 벤치마크 1.0.0과 일치하지 않습니다.
CIS 벤치마크의 문제로 인해 /etc/passwd-
백업 파일에 대한 권한을 보장하는 SCAP 규칙의 수정으로 인해 권한을 0644
로 구성합니다. 그러나 CIS Red Hat Enterprise Linux 8 벤치마크 1.0.0
에는 해당 파일에 대한 파일 권한 0600
이 필요합니다. 결과적으로 수정 후 /etc/passwd-
의 파일 권한이 벤치마크와 정렬되지 않습니다.
libselinux-python
은 모듈을 통해서만 사용할 수 있습니다
libselinux-python
패키지에는 SELinux 애플리케이션 개발을 위한 Python 2 바인딩만 포함되어 있으며 이전 버전과의 호환성에 사용됩니다. 이러한 이유로 libselinux-python
은 dnf install libselinux-python
명령을 통해 기본 RHEL 8 리포지토리에서 더 이상 사용할 수 없습니다.
이 문제를 해결하려면 libselinux-python
및 python27
모듈을 둘 다 활성화하고 다음 명령을 사용하여 libselinux-python
패키지와 해당 종속성을 설치합니다.
# dnf module enable libselinux-python # dnf install libselinux-python
또는 단일 명령으로 설치 프로파일을 사용하여 libselinux-python
을 설치합니다.
# dnf module install libselinux-python:2.8/common
결과적으로 해당 모듈을 사용하여 libselinux-python
을 설치할 수 있습니다.
(BZ#1666328)
udica
는 --env container=podman으로 시작되는 경우에만 UBI 8 컨테이너를
처리합니다.
Red Hat Universal Base Image 8(UBI 8) 컨테이너는 컨테이너
환경 변수를 podman
값이 아닌 oci
값으로 설정합니다. 이렇게 하면 udica
툴에서 컨테이너 JSON(JavaScript Object Notation) 파일을 분석하지 못합니다.
이 문제를 해결하려면 --env container=podman 매개변수와 함께
시작합니다. 결과적으로 podman
명령을 사용하여 UBI 8 컨테이너를udica
는 설명된 해결 방법을 사용하는 경우에만 UBI 8 컨테이너에 대한 SELinux 정책을 생성할 수 있습니다.
성능에 대한 기본 로깅 설정의 부정적인 영향
기본 로깅 환경 설정은 rsyslog
를 사용하여 systemd-journald를 실행할 때 4GB 메모리를 사용하거나 rate-
limit 값을 조정하는 작업이 복잡할 수 있습니다.
자세한 내용은 성능 및 완화 기술 자료에 대한 RHEL 기본 로깅 설정의 부정적인 영향을 참조하십시오.
(JIRA:RHELPLAN-10431)
/etc/selinux/config
에서 SELINUX=disabled
가 제대로 작동하지 않음
/etc/selinux/config
에서 SELINUX=disabled
옵션을 사용하여 SELinux를 비활성화하면 커널이 SELinux가 활성화된 상태로 부팅되고 부팅 프로세스 후반부에서 비활성화 모드로 전환됩니다. 이로 인해 메모리 누수가 발생할 수 있습니다.
이 문제를 해결하려면 시나리오가 실제로 SELinux 제목을 완전히 비활성화해야 하는 경우 SELinux 제목 사용의 부팅 시 SELinux 모드 변경 섹션에 설명된 대로 커널 명령줄에 selinux=0
매개 변수를 추가하여 SELinux를 비활성화합니다.
(JIRA:RHELPLAN-34199)
암호화 정책이 Camellia
암호를 잘못 허용
RHEL 8 시스템 전체 암호화 정책은 제품 문서에 명시된 대로 모든 정책 수준에서 Camellia 암호를 비활성화해야 합니다. 그러나 Kerberos 프로토콜에서는 기본적으로 암호를 활성화합니다.
이 문제를 해결하려면 NO-CAMELLIA
하위 정책을 적용합니다.
# update-crypto-policies --set DEFAULT:NO-CAMELLIA
이전 명령에서 DEFAULT
에서 이전에 전환한 경우 DEFAULT
를 암호화 수준 이름으로 바꿉니다.
결과적으로 Camellia 암호는 해결 방법을 통해 비활성화하는 경우에만 시스템 전체 암호화 정책을 사용하는 모든 애플리케이션에서 올바르게 허용하지 않습니다.
IKEv2
와 함께 라벨이 지정된 여러 IPsec 연결을 사용할 수 없습니다.
Libreswan에서 IKEv2
프로토콜을 사용하는 경우 둘 이상의 연결에 대해 IPsec의 보안 레이블이 올바르게 작동하지 않습니다. 그 결과, 레이블이 지정된 IPsec을 사용하여 Libreswan은 첫 번째 연결만 설정할 수 있지만 후속 연결을 올바르게 설정할 수는 없습니다. 둘 이상의 연결을 사용하려면 IKEv1
프로토콜을 사용합니다.
OpenSC pkcs15-init
를 통한 스마트 카드 프로비저닝 프로세스가 제대로 작동하지 않음
file_caching
옵션은 기본 OpenSC 구성에서 활성화되며 파일 캐싱 기능이 pkcs15-init
도구의 일부 명령을 올바르게 처리하지 않습니다. 결과적으로 OpenSC를 통한 스마트 카드 프로비저닝 프로세스가 실패합니다.
이 문제를 해결하려면 /etc/opensc.conf 파일에 다음 코드 조각을 추가합니다.
app pkcs15-init { framework pkcs15 { use_file_caching = false; } }
pkcs15-init
를 통한 스마트 카드 프로비저닝은 이전에 설명한 해결 방법을 적용한 경우에만 작동합니다.
SHA-1 서명이 있는 서버에 대한 연결이 GnuTLS에서 작동하지 않음
인증서의 SHA-1 서명은 GnuTLS 보안 통신 라이브러리에서 안전하지 않은 것으로 거부됩니다. 결과적으로 GnuTLS를 TLS 백엔드로 사용하는 애플리케이션은 이러한 인증서를 제공하는 피어에 TLS 연결을 설정할 수 없습니다. 이 동작은 다른 시스템 암호화 라이브러리와 일치하지 않습니다.
이 문제를 해결하려면 SHA-256 또는 더 강력한 해시로 서명된 인증서를 사용하거나 LEGACY 정책으로 전환하도록 서버를 업그레이드합니다.
(BZ#1628553)
FIPS 모드에서 OpenSSL은 특정 D-H 매개변수만 허용
FIPS 모드에서 OpenSSL을 사용하는 TLS 클라이언트는 잘못된 dh 값
오류를 반환하고 수동으로 생성된 매개 변수를 사용하는 서버에 대한 TLS 연결을 중단합니다. 이는 FIPS 140-2를 준수하도록 구성된 경우 OpenSSL이 NIST SP 800-56A rev3 부록 D (그룹 14, 15, 16, 17, 18 및 18 및 RFC 7919)에 정의된 그룹을 준수하는 Diffie-Hellman 매개변수에서만 작동하기 때문입니다. 또한 OpenSSL을 사용하는 서버는 다른 모든 매개 변수를 무시하고 대신 유사한 크기의 알려진 매개 변수를 선택합니다. 이 문제를 해결하려면 규정 준수 그룹만 사용하십시오.
(BZ#1810911)
사용자 지정 TCP 포트에서는 TCP 연결을 통한 연결이 작동하지 않습니다
tcp-remoteport
Libreswan 구성 옵션이 제대로 작동하지 않습니다. 따라서 시나리오에서 기본이 아닌 TCP 포트를 지정해야 하는 경우 TCP 연결에 대한 IKE를 설정할 수 없습니다.
SELinux 감사 규칙 및 SELinux 부울 구성에서 충돌
감사 규칙 목록에 subj_* 또는
필드가 포함된 감사 규칙과 SELinux 부울 구성이 변경되면 SELinux 부울 설정으로 인해 교착 상태가 발생합니다. 그 결과 시스템이 응답을 중지하고 복구를 위해 재부팅이 필요합니다. 이 문제를 해결하려면 obj_*
subj_* 또는
필드를 포함하는 모든 감사 규칙을 비활성화하거나 SELinux 부울을 변경하기 전에 이러한 규칙을 일시적으로 비활성화합니다.
obj_*
RHSA-2021:2168 권고가 릴리스되면서 커널은 이 상황을 올바르게 처리하고 더 이상 교착 상태가 아닙니다.
(BZ#1924230)
systemd 는 임의의 경로에서 명령을 실행할 수 없습니다.
systemd 서비스는 SELinux 정책 패키지에 이러한 규칙을 포함하지 않기 때문에 /home/user/bin
임의 경로에서 명령을 실행할 수 없습니다. 결과적으로 비 시스템 경로에서 실행되는 사용자 지정 서비스가 실패하고 SELinux가 액세스를 거부하면 AVC(액세스 벡터 캐시) 거부 감사 메시지를 기록합니다. 이 문제를 해결하려면 다음 중 하나를 수행하십시오.
쉘 스크립트를
-c
옵션과 함께 사용하여 명령을 실행합니다. 예를 들면 다음과 같습니다.bash -c command
-
/bin, /sbin, /
usr/sbin, /
usr/local/
공통 디렉토리를 사용하여 공통 경로에서 명령을 실행합니다.bin 및 /
usr/local/
sbin
SSG의 특정 상호 의존 규칙 세트는 실패할 수 있습니다.
규칙 및 해당 종속 항목의 정의되지 않은 순서로 인해 벤치마크의 SCAP 보안 가이드
(SSG) 규칙 수정이 실패할 수 있습니다. 예를 들어, 한 규칙이 구성 요소를 설치하고 다른 규칙이 동일한 구성 요소를 구성하는 경우와 같이 두 개 이상의 규칙을 특정 순서로 실행해야 하는 경우 해당 규칙을 잘못된 순서로 실행하고 수정을 통해 오류를 보고할 수 있습니다. 이 문제를 해결하려면 수정을 두 번 실행하고 두 번째는 종속 규칙을 수정합니다.
GUI 또는
서버를 설치할 수 없습니다.워크스테이션
소프트웨어 선택 및 CIS 보안 프로파일을 사용하여
CIS 보안 프로필은 GUI
및 워크스테이션
소프트웨어 선택과 호환되지 않습니다. 결과적으로 GUI 소프트웨어 선택 및 CIS 프로파일을 사용하여 서버를 사용하여
RHEL 8을 설치할 수 없습니다. CIS 프로필을 사용하여 시도한 설치와 이러한 소프트웨어 선택 중 하나가 오류 메시지를 생성합니다.
package xorg-x11-server-common has been added to the list of excluded packages, but it can't be removed from the current software selection without breaking the installation.
이 문제를 해결하려면 GUI 또는
CIS 보안 프로필을 사용하지 마십시오.
워크스테이션
소프트웨어 선택이 포함된 서버와 함께
킥스타트에서는 RHEL 8에서 com
을 사용합니다._redhat_oscap 대신 org_fedora
_oscap
Kickstart는 OSCAP(Open Security Content Automation Protocol) Anaconda 애드온을 com_redhat
으로 참조하여 혼동을 일으킬 수 있습니다. 이는 Red Hat Enterprise Linux 7과 이전 버전과의 호환성을 유지하기 위해 수행됩니다.
_oscap 대신 org_fedora
_oscap
(BZ#1665082)
usbguard-notifier
가 저널에 너무 많은 오류 메시지를 기록합니다.
usbguard-notifier
서비스에는 usbguard-daemon
IPC 인터페이스에 연결할 수 있는 프로세스 간 통신(IPC) 권한이 없습니다. 결과적으로 usbguard-notifier
가 인터페이스에 연결되지 않으며 해당 오류 메시지를 저널에 씁니다. usbguard-notifier
는 --wait
옵션으로 시작되기 때문에 usbguard-notifier
가 연결 실패 후 1초마다 IPC 인터페이스에 연결을 시도합니다. 기본적으로 로그에는 이러한 메시지의 과도한 양이 곧 포함되어 있습니다.
이 문제를 해결하려면 usbguard-notifier
가 실행 중인 사용자 또는 그룹이 IPC 인터페이스에 연결하도록 허용합니다. 예를 들어 다음 오류 메시지에는 GDM(GNOME Display Manager)의 UID 및 GID 값이 포함되어 있습니다.
IPC connection denied: uid=42 gid=42 pid=8382, where uid and gid 42 = gdm
gdm
사용자에게 누락된 권한을 부여하려면 usbguard 명령을 사용하고 usbguard
데몬을 다시 시작합니다.
# usbguard add-user gdm --group --devices listen # systemctl restart usbguard
누락된 권한을 부여하면 오류 메시지가 더 이상 로그에 표시되지 않습니다.
특정 rsyslog
우선 순위 문자열이 올바르게 작동하지 않음
암호화를 세밀하게 제어할 수 있는 imtcp
에 대한 GnuTLS 우선순위 문자열 지원은 완료되지 않습니다. 결과적으로, rsyslog
에서 다음 우선 순위 문자열이 제대로 작동하지 않습니다 :
NONE:+VERS-ALL:-VERS-TLS1.3:+MAC-ALL:+DHE-RSA:+AES-256-GCM:+SIGN-RSA-SHA384:+COMP-ALL:+GROUP-ALL
이 문제를 해결하려면 우선 순위 문자열이 올바르게 작동하는 경우에만 사용하십시오.
NONE:+VERS-ALL:-VERS-TLS1.3:+MAC-ALL:+ECDHE-RSA:+AES-128-CBC:+SIGN-RSA-SHA1:+COMP-ALL:+GROUP-ALL
따라서 현재 구성을 올바르게 작동하는 문자열로 제한해야 합니다.