6.3. 기본 보안 정책


Red Hat Advanced Cluster Security for Kubernetes의 기본 보안 정책은 보안 문제를 식별하고 해당 환경의 보안에 대한 모범 사례를 제공할 수 있는 광범위한 범위를 제공합니다. 이러한 정책을 구성하면 해당 환경의 위험이 높은 서비스 배포를 자동으로 방지하고 런타임 보안 사고에 대응할 수 있습니다.

참고

Red Hat Advanced Cluster Security for Kubernetes 정책의 심각도 수준은 Red Hat 제품 보안에서 할당한 심각도 수준과 다릅니다.

Red Hat Advanced Cluster Security for Kubernetes 정책 심각도 수준은 심각, 높음, 중간 및 낮음입니다. Red Hat 제품 보안 등급은 심각, 중요, 보통 및 낮음의 심각도 수준입니다.

정책의 심각도 수준과 Red Hat 제품 보안 심각도 수준이 상호 작용할 수 있지만 이를 구분하는 것이 중요합니다. Red Hat 제품 보안 심각도 수준에 대한 자세한 내용은 심각도 등급을 참조하십시오.

6.3.1. 심각한 심각도 보안 정책

다음 표에는 심각도가 심각한 Red Hat Advanced Cluster Security for Kubernetes의 기본 보안 정책이 나열되어 있습니다. 정책은 라이프사이클 단계에 따라 구성됩니다.

표 6.1. 심각한 심각도 보안 정책
라이프 사이클 단계이름설명상태

빌드 또는 배포

Apache Struts: CVE-2017-5638

배포에 CVE-2017-5638 Apache Struts 취약점이 포함된 이미지가 있는 경우 경고입니다.

활성화됨

빌드 또는 배포

Log4Shell: log4j 원격 코드 실행 취약점

배포에 CVE-2021-44228 및 CVE-2021-45046 Log4Shell 취약점이 포함된 이미지가 포함된 경우 경고입니다. 취약점은 버전 2.12.2를 제외하고 2.0-beta9 - 2.15.0 버전의 Apache Log4j Java 로깅 라이브러리에 있습니다.

활성화됨

빌드 또는 배포

Spring4Shell (Spring Framework 원격 코드 실행) 및 Spring Cloud Function 취약점

배포에 Spring Cryostat에 영향을 미치는 CVE-2022-22965 취약점과 Spring Cloud에 영향을 미치는 CVE-2022-22963 취약점을 포함하는 이미지가 포함된 경우 경고입니다. 버전 3.16, 3.2.2 및 이전 버전의 Spring Cloud에는 결함이 포함되어 있습니다. 5.3.0 - 5.3.17 버전, 5.2.0 - 5.2.19 버전 및 지원되지 않는 이전 버전의 Spring Framework에 결함이 있습니다.

활성화됨

런타임

권한이 있는 컨테이너에서 iptables 실행

권한이 있는 Pod가 iptables를 실행할 때 경고입니다.

활성화됨

6.3.2. 심각도가 높은 보안 정책

다음 표에는 심각도가 높은 Red Hat Advanced Cluster Security for Kubernetes의 기본 보안 정책이 나열되어 있습니다. 정책은 라이프사이클 단계에 따라 구성됩니다.

표 6.2. 심각도가 높은 보안 정책
라이프 사이클 단계이름설명상태

빌드 또는 배포

수정 가능한 CVSS (Common Vulnerability Scoring System) >= 7

수정 가능한 취약점을 사용하여 배포하는 경우 경고에는 최소 7개의 CVSS가 있습니다. 그러나 Red Hat은 CVSS 점수 대신 CVE(Common Vulnerabilities and Exposures) 심각도를 사용하여 정책을 생성하는 것이 좋습니다.

비활성화됨

빌드 또는 배포

수정 가능한 심각도는 최소한 중요

수정 가능한 취약점이 있는 배포의 경우 심각도 등급이 최소 중요로 평가되는 경우 경고입니다.

활성화됨

빌드 또는 배포

빠른 재설정: HTTP/2 프로토콜의 서비스 취약점 거부

HTTP/2 서버의 서비스 거부(DoS) 취약점으로 인한 구성 요소가 포함된 이미지를 사용한 배포에 대한 경고입니다. HTTP/2에서 멀티플렉싱 스트림을 처리하는 데 문제가 있습니다. 클라이언트는 요청을 신속하게 생성하고 즉시 재설정할 수 있으므로 서버 측 제한에 도달하지 않고 서버에 대한 추가 작업이 생성되어 서비스 거부 공격을 방지할 수 있습니다. 이 정책을 사용하려면 정책을 복제하고 활성화하기 전에 수정 가능한 정책 기준을 추가하는 것이 좋습니다.

비활성화됨

빌드 또는 배포

이미지에서 보안 쉘(ssh) 포트 노출

배포에서 SSH 액세스를 위해 일반적으로 예약되는 포트 22를 노출할 때 경고입니다.

활성화됨

배포

긴급 배포 주석

배포에서 긴급 주석을 사용할 때 경고(예: "admission.stackrox.io/break-glass":"ticket-1234" to circumvent StackRox Admission Controller check).

활성화됨

배포

시크릿이 포함된 환경 변수

배포에 'SECRET'이 포함된 환경 변수가 있는 경우 경고입니다.

활성화됨

배포

수정 가능한 CVSS >= 6 및 권한

배포가 6개 이상의 CVSS가 있는 수정 가능한 취약점을 사용하여 권한 있는 모드에서 실행되는 경우 경고입니다. 그러나 CVSS 점수 대신 CVE 심각도를 사용하여 정책을 생성하는 것이 좋습니다.

버전 3.72.0 이상에서 기본적으로 비활성화되어 있습니다.

배포

중요 및 심각한 수정 가능한 CVE가 있는 권한 있는 컨테이너

권한 있는 모드에서 실행되는 컨테이너에 중요하거나 중요한 수정 가능한 취약점이 있는 경우 경고입니다.

활성화됨

배포

환경 변수로 마운트된 시크릿

배포에 환경 변수로 마운트된 Kubernetes 시크릿이 있는 경우 경고입니다.

비활성화됨

배포

Secure Shell(ssh) 포트 노출

배포에서 SSH 액세스를 위해 일반적으로 예약되는 포트 22를 노출할 때 경고입니다.

활성화됨

런타임

Cryptocurrency Cryostat 프로세스 실행

crypto-currency test 프로세스를 생성합니다.

활성화됨

런타임

iptables 실행

누군가가 컨테이너에서 네트워크 상태를 관리하는 더 이상 사용되지 않는 방법인 iptables를 실행하는 시기를 감지합니다.

활성화됨

런타임

Kubernetes 작업: Pod로 실행

Kubernetes API가 컨테이너에서 명령을 실행하라는 요청을 수신할 때 경고입니다.

활성화됨

런타임

Linux 그룹 추가 실행

사용자가 addgroup 또는 groupadd 바이너리를 실행하여 Linux 그룹을 추가할 시기를 감지합니다.

활성화됨

런타임

Linux 사용자 추가 실행

사용자가 useradd 또는 adduser 바이너리를 실행하여 Linux 사용자를 추가할 시기를 감지합니다.

활성화됨

런타임

로그인 Binaries

누군가가 로그인하려고 할 때를 나타냅니다.

비활성화됨

런타임

네트워크 관리 실행

누군가가 네트워크 구성 및 관리를 조작할 수 있는 바이너리 파일을 실행하는 시기를 감지합니다.

활성화됨

런타임

nmap 실행

실행 시간 동안 컨테이너에서 nmap 프로세스를 시작할 때 발생합니다.

활성화됨

런타임

OpenShift: Kubeadmin 시크릿 액세스

다른 사용자가 kubeadmin 시크릿에 액세스할 때 경고합니다.

활성화됨

런타임

암호 Binaries

다른 사용자가 암호를 변경하려고 할 때를 나타냅니다.

비활성화됨

런타임

클러스터 Kubelet 끝점 프로세스 대상 지정

healthz, kubelet API 또는 힙스터 끝점의 오용을 탐지합니다.

활성화됨

런타임

클러스터 Kubernetes Docker Stats Endpoint를 대상으로 하는 프로세스

Kubernetes docker 통계 끝점의 오용을 감지합니다.

활성화됨

런타임

Kubernetes 서비스 끝점을 대상으로 하는 프로세스

Kubernetes 서비스 API 끝점의 오용을 감지합니다.

활성화됨

런타임

UID가 0인 프로세스

배포에 UID 0으로 실행되는 프로세스가 포함된 경우 경고입니다.

비활성화됨

런타임

SSH(Secure Shell Server) 실행

SSH 데몬을 실행하는 컨테이너를 감지합니다.

활성화됨

런타임

Setuid 프로세스

사용자가 에스컬레이션된 권한으로 특정 프로그램을 실행할 수 있는 setuid 바이너리 파일을 사용합니다.

비활성화됨

런타임

shadow 파일 수정

누군가가 섀도우 파일을 수정하려고 할 때를 나타냅니다.

비활성화됨

런타임

Java 애플리케이션에서 제공하는 쉘

bash, csh, sh 또는 zsh와 같은 쉘이 Java 애플리케이션의 하위 프로세스로 실행되는 시기를 감지합니다.

활성화됨

런타임

무단 네트워크 흐름

"항상 위반" 설정의 기준을 벗어나는 모든 네트워크 흐름에 대한 위반을 생성합니다.

활성화됨

런타임

승인되지 않은 실행

Kubernetes 배포의 컨테이너 사양에 대해 잠긴 프로세스 기준에서 명시적으로 허용하지 않는 모든 프로세스 실행에 대한 위반을 생성합니다.

활성화됨

6.3.3. 중간 심각도 보안 정책

다음 표에는 심각도가 중간인 Red Hat Advanced Cluster Security for Kubernetes의 기본 보안 정책이 나열되어 있습니다. 정책은 라이프사이클 단계에 따라 구성됩니다.

표 6.3. 중간 심각도 보안 정책
라이프 사이클 단계이름설명상태

Build

Docker CIS 4.4: 보안 패치를 포함하도록 이미지가 스캔되고 다시 빌드되었는지 확인

보안 패치를 포함하도록 이미지를 스캔하고 다시 빌드할 때 경고입니다. 이미지를 자주 스캔하여 취약점을 찾고, 보안 패치를 포함하도록 이미지를 다시 빌드한 다음 이미지의 컨테이너를 인스턴스화하는 것이 중요합니다.

비활성화됨

배포

30일 스캔 기간

배포가 30일 이내에 검사되지 않은 경우 경고입니다.

활성화됨

배포

CAP_SYS_ADMIN 기능 추가

배포에 CAP_SYS_ADMIN으로 에스컬레이션되는 컨테이너가 포함된 경우 경고입니다.

활성화됨

배포

읽기-쓰기 루트 파일 시스템을 사용하는 컨테이너

배포에 읽기-쓰기 루트 파일 시스템이 있는 컨테이너가 포함된 경우 경고입니다.

비활성화됨

배포

권한 에스컬레이션이 허용되는 컨테이너

의도하지 않은 권한으로 컨테이너가 실행 중인 경우 경고하여 보안 위험이 발생합니다. 이러한 상황은 상위 프로세스보다 많은 권한이 있는 컨테이너 프로세스에서 컨테이너를 의도하지 않은 권한으로 실행할 수 있는 경우에 발생할 수 있습니다.

활성화됨

배포

배포에는 하나 이상의 Ingress 네트워크 정책이 있어야 합니다.

배포에 Ingress 네트워크 정책이 누락된 경우 경고입니다.

비활성화됨

배포

외부에 노출된 엔드포인트를 사용한 배포

배포에 모든 메서드를 통해 외부적으로 노출되는 서비스가 있는지 감지합니다. 클러스터 외부에서 노출된 서비스를 사용하는 배포는 클러스터 외부에서 연결할 수 있으므로 시도된 침입 위험이 더 높습니다. 이 정책은 클러스터 외부의 서비스 노출이 필요한지 확인할 수 있도록 경고를 제공합니다. 서비스가 클러스터 내부 통신에만 필요한 경우 서비스 유형 ClusterIP를 사용합니다.

비활성화됨

배포

Docker CIS 5.1: 해당하는 경우 AppArmor 프로필이 활성화되어 있는지 확인합니다.

AppArmor를 사용하여 AppArmor 프로필이라고 하는 보안 정책을 적용하여 Linux 운영 체제 및 애플리케이션을 보호합니다. AppArmor는 Debian 및 Ubuntu와 같은 일부 Linux 배포판에서 사용할 수 있는 Linux 애플리케이션 보안 시스템입니다.

활성화됨

배포

Docker CIS 5.15: 호스트의 프로세스 네임스페이스가 공유되지 않도록 합니다.

컨테이너와 호스트 간의 프로세스 수준 격리를 생성합니다. PID(프로세스 ID) 네임스페이스는 프로세스 ID 공간을 격리하므로 다른 PID 네임스페이스의 프로세스에 동일한 PID가 있을 수 있습니다.

활성화됨

배포

Docker CIS 5.16: 호스트의 IPC 네임스페이스가 공유되지 않도록 합니다.

호스트의 IPC 네임스페이스가 컨테이너와 공유될 때 경고입니다. IPC(POSIX/SysV IPC) 네임스페이스는 이름이 지정된 공유 메모리 세그먼트, 세마포어 및 메시지 큐를 구분합니다.

활성화됨

배포

Docker CIS 5.19: 마운트 전파 모드가 활성화되지 않았는지 확인

마운트 전파 모드가 활성화된 경우 경고입니다. 마운트 전파 모드가 활성화되면 컨테이너 볼륨을 양방향, 컨테이너로 호스트, None 모드로 마운트할 수 있습니다. 명시적으로 필요한 경우가 아니면 양방향 마운트 전파 모드를 사용하지 마십시오.

활성화됨

배포

Docker CIS 5.21: 기본 seccomp 프로필이 비활성화되지 않았는지 확인

seccomp 프로필이 비활성화된 경우 경고입니다. seccomp 프로필은 허용 목록을 사용하여 공통 시스템 호출을 허용하고 다른 모든 호출을 차단합니다.

비활성화됨

배포

Docker CIS 5.7: 권한 있는 포트가 컨테이너 내에 매핑되지 않았는지 확인

권한 있는 포트가 컨테이너 내에 매핑되면 경고입니다. 1024보다 낮은 TCP/IP 포트 번호는 권한이 있는 포트입니다. 일반 사용자와 프로세스는 보안상의 이유로 이 포트를 사용할 수 없지만 컨테이너는 포트를 권한 있는 포트에 매핑할 수 있습니다.

활성화됨

배포

Docker CIS 5.9 및 5.20: 호스트의 네트워크 네임스페이스가 공유되지 않았는지 확인

호스트의 네트워크 네임스페이스를 공유할 때 경고합니다. HostNetwork가 활성화되면 컨테이너가 별도의 네트워크 스택 내에 배치되지 않으며 컨테이너의 네트워킹은 컨테이너화되지 않습니다. 결과적으로 컨테이너는 호스트의 네트워크 인터페이스에 대한 전체 액세스 권한을 가지며 공유 UTS 네임스페이스가 활성화됩니다. UTS 네임스페이스는 호스트 이름과 NIS 도메인 이름을 격리하고 해당 네임스페이스에서 실행 중인 프로세스에 표시되는 호스트 이름과 도메인을 설정합니다. 컨테이너 내에서 실행되는 프로세스는 일반적으로 호스트 이름 또는 도메인 이름을 알 필요가 없으므로 UTS 네임스페이스를 호스트와 공유해서는 안 됩니다.

활성화됨

배포

검사가 없는 이미지

배포에 검사되지 않은 이미지가 포함된 경우 경고입니다.

비활성화됨

런타임

Kubernetes 작업: Pod로 전달 포트

Kubernetes API가 포트 전달 요청을 수신할 때 경고입니다.

활성화됨

배포

컨테이너 런타임 소켓 마운트

배포에 컨테이너 런타임 소켓에 볼륨 마운트가 있는 경우 경고입니다.

활성화됨

배포

민감한 호스트 디렉터리 마운트

배포에서 민감한 호스트 디렉터리를 마운트할 때 경고합니다.

활성화됨

배포

지정된 리소스 요청 또는 제한 없음

배포에 리소스 요청 및 제한이 없는 컨테이너가 포함된 경우 경고입니다.

활성화됨

배포

Pod 서비스 계정 토큰이 자동으로 마운트됨

기본 서비스 계정 토큰 마운트를 최소화하여 애플리케이션이 Kubernetes API와 상호 작용해야 하는 Pod로만 Pod 기본 서비스 계정 토큰이 손상되지 않도록 보호합니다.

활성화됨

배포

권한이 있는 컨테이너

배포에 권한 있는 모드에서 실행되는 컨테이너가 포함된 경우 경고입니다.

활성화됨

런타임

crontab 실행

crontab 스케줄링된 작업 편집기 사용을 감지합니다.

활성화됨

런타임

Netcat Execution Detected

netcat이 컨테이너에서 실행되는 시기를 감지합니다.

활성화됨

런타임

OpenShift: Advanced Cluster Security Central Admin Secret Accessed

Red Hat Advanced Cluster Security Central 시크릿에 액세스할 때 경고.

활성화됨

런타임

OpenShift: 개인 사용자가 액세스하는 Kubernetes 시크릿

누군가가 사용자를 가장하여 클러스터의 시크릿에 액세스할 때 경고합니다.

활성화됨

런타임

원격 파일 복사 바이너리 실행

배포가 원격 파일 복사 툴을 실행할 때 경고합니다.

활성화됨

6.3.4. 심각도가 낮은 보안 정책

다음 표에는 심각도가 낮은 Red Hat Advanced Cluster Security for Kubernetes의 기본 보안 정책이 나열되어 있습니다. 정책은 라이프사이클 단계에 따라 구성됩니다.

표 6.4. 심각도가 낮은 보안 정책
라이프 사이클 단계이름설명상태

빌드 또는 배포

90일 이미지 기간

배포가 90일 후에 업데이트되지 않은 경우 경고입니다.

활성화됨

빌드 또는 배포

COPY 대신 ADD 명령 사용

배포가 ADD 명령을 사용하는 경우 경고입니다.

비활성화됨

빌드 또는 배포

이미지의 Alpine Linux Package Manager(apk)

배포에 Alpine Linux 패키지 관리자(apk)가 포함된 경우 경고입니다.

활성화됨

빌드 또는 배포

이미지의 curl

배포에 curl이 포함된 경우 경고입니다.

비활성화됨

빌드 또는 배포

Docker CIS 4.1: 컨테이너의 사용자가 생성됨 확인

컨테이너가 루트가 아닌 사용자로 실행 중인지 확인합니다.

활성화됨

빌드 또는 배포

Docker CIS 4.7: 업데이트 설명에 대한 경고

업데이트 지침이 Dockerfile에서 단독으로 사용되지 않도록 합니다.

활성화됨

빌드 또는 배포

CMD에 지정된 비보안

배포에서 명령에서 '비보안'을 사용하는 경우 경고입니다.

활성화됨

빌드 또는 배포

latest 태그

배포에 'latest' 태그를 사용하는 이미지가 포함된 경우 경고입니다.

활성화됨

빌드 또는 배포

Red Hat Package Manager in Image

배포에 Red Hat, Fedora 또는 CentOS 패키지 관리 시스템의 구성 요소가 포함된 경우 경고입니다.

활성화됨

빌드 또는 배포

필수 이미지 레이블

배포에 지정된 레이블이 없는 이미지가 포함된 경우 경고입니다.

비활성화됨

빌드 또는 배포

Ubuntu Package Manager 실행

Ubuntu 패키지 관리 시스템의 사용을 감지합니다.

활성화됨

빌드 또는 배포

이미지의 Ubuntu 패키지 관리자

배포에 이미지의 Debian 또는 Ubuntu 패키지 관리 시스템의 구성 요소가 포함된 경우 경고입니다.

활성화됨

빌드 또는 배포

이미지의 wget

배포에 wget이 포함된 경우 경고입니다.

비활성화됨

배포

모든 기능 삭제

배포가 모든 기능을 삭제하지 않을 때 경고합니다.

비활성화됨

배포

Orchestrator Secrets Volume의 부적절한 사용

배포에서 'VOLUME /run/secrets'와 함께 Dockerfile을 사용하는 경우 경고.

활성화됨

배포

배포된 Kubernetes 대시보드

Kubernetes 대시보드 서비스가 감지되면 경고입니다.

활성화됨

배포

필수 주석: 이메일

배포에 'email' 주석이 없는 경우 경고입니다.

비활성화됨

배포

필수 주석: 소유자/팀

배포에 'owner' 또는 'team' 주석이 없는 경우 경고입니다.

비활성화됨

배포

필수 레이블: 소유자/팀

배포에 'owner' 또는 'team' 레이블이 없는 경우 경고입니다.

비활성화됨

런타임

Alpine Linux Package Manager 실행

런타임에 Alpine Linux 패키지 관리자(apk)가 실행되는 경우 경고입니다.

활성화됨

런타임

chkconfig 실행

일반적으로 컨테이너에서 사용되지 않는 ckconfig 서비스 관리자의 사용량을 감지합니다.

활성화됨

런타임

컴파일러 툴 실행

소프트웨어를 컴파일하는 바이너리 파일이 런타임에 실행되는 경우 경고입니다.

활성화됨

런타임

Red Hat Package Manager 실행

런타임 시 Red Hat, Fedora 또는 CentOS 패키지 관리자 프로그램이 실행되는 경우 경고입니다.

활성화됨

런타임

쉘 관리

쉘을 추가하거나 제거하기 위해 명령이 실행될 때의 경고입니다.

비활성화됨

런타임

systemctl Execution

systemctl 서비스 관리자의 사용을 감지합니다.

활성화됨

런타임

systemd 실행

systemd 서비스 관리자의 사용량을 감지합니다.

활성화됨

6.3.5. 기본 보안 정책

Red Hat Advanced Cluster Security for Kubernetes에는 보안 문제를 식별하고 해당 환경의 보안에 대한 모범 사례를 제공하는 광범위한 기본 정책이 포함되어 있습니다. RHACS 포털을 사용하여 기본 정책을 보고 복제한 다음 복제된 기본 정책을 편집할 수 있습니다.

참고

정책에서 기본 정책은 코드 기능으로 지원되지 않습니다.

기본 정책을 보려면 다음을 수행합니다.

  • RHACS 포털에서 플랫폼 구성 정책 관리로 이동합니다.

또한 정책 보기를 사용하면 정책을 구성할 수 있습니다.

정책 정보는 다음 그룹으로 구성됩니다.

  • 정책: 정책의 이름입니다.
  • Description: 정책에 대한 경고에 대한 자세한 설명입니다.
  • status : 정책의 현재 상태( 활성화됨 또는 Disabled )입니다.
  • Notifiers: 정책에 대해 구성된 알림자 목록입니다.
  • 심각도: 필요한 관심 정도에 따라 심각, 높음, 중간 또는 낮음 정책의 순위입니다.
  • 라이프사이클: 이 정책이 적용되는 컨테이너 라이프사이클(빌드, 배포 또는 런타임)과 정책이 활성화되면 시행이 적용되는 단계입니다.
  • 정책 카테고리: 범주를 나열하고 정책의 카테고리를 관리할 수 있습니다. 기본적으로 모든 범주가 나열됩니다. 카테고리 이름을 사용하여 카테고리를 선택적으로 필터링합니다.
참고

기본 정책을 삭제하거나 기본 정책에 대한 정책 기준을 편집할 수 없습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.