7.3. 심각도 중 보안 정책

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

표 7.3. 심각도 중 보안 정책

라이프 사이클 단계이름설명상태

Build

docker CIS 4.4: 보안 패치를 포함하도록 이미지를 스캔 및 재구축합니다.

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

disabled

배포

30일 스캔 기간

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

enabled

배포

CAP_SYS_ADMIN 기능 추가

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

enabled

배포

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

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

disabled

배포

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

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

enabled

배포

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

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

disabled

배포

외부에 노출된 끝점이 있는 배포

배포에 방법을 통해 외부에 노출되는 서비스가 있는지 여부를 탐지합니다. 클러스터 외부에서 노출된 서비스를 사용한 배포는 클러스터 외부에서 연결할 수 있기 때문에 침입 시도 위험이 더 높습니다. 이 정책은 클러스터 외부의 서비스 노출이 필요한지 확인할 수 있도록 경고를 제공합니다. 서비스가 클러스터 내부 통신에만 필요한 경우 서비스 유형 ClusterIP를 사용합니다.

disabled

배포

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

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

enabled

배포

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

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

enabled

배포

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

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

enabled

배포

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

마운트 전파 모드가 활성화될 때 경고합니다. 마운트 전파 모드가 활성화되면 양방향, Host to Container, None 모드에서 컨테이너 볼륨을 마운트할 수 있습니다. 명시적으로 필요하지 않는 한 양방향 마운트 전파 모드를 사용하지 마십시오.

enabled

배포

Docker CIS 5.21: 기본 seccomp 프로파일이 비활성화되지 않았는지 확인합니다.

seccomp 프로필이 비활성화되면 경고합니다. seccomp 프로필은 허용 목록을 사용하여 일반 시스템 호출을 허용하고 다른 모든 사용자를 차단합니다.

disabled

배포

docker CIS 5.7: 권한 있는 포트가 컨테이너 내에 매핑되지 않도록

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

enabled

배포

docker CIS 5.9 및 5.20: 호스트의 네트워크 네임스페이스가 공유되지 않도록 합니다.

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

enabled

배포

검사가 없는 이미지

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

disabled

런타임

Kubernetes 작업: Pod로 포트 전달

Kubernetes API에서 포트 전달 요청을 수신할 때 경고합니다.

enabled

배포

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

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

enabled

배포

중요한 호스트 디렉터리 마운트

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

enabled

배포

리소스 요청 또는 제한이 지정되지 않음

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

enabled

배포

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

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

enabled

배포

privileged 컨테이너

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

enabled

런타임

crontab 실행

crontab 예약 작업 편집기의 사용을 감지합니다.

enabled

런타임

Netcat 실행 탐지됨

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

enabled

런타임

OpenShift: 고급 클러스터 보안 중앙 관리자 시크릿 액세스

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

enabled

런타임

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

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

enabled

런타임

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

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

enabled