이 페이지에서는 일반적인 보안 구성 문제, Kubernetes 워크로드에서 실행 가능한 보안 게시판 및 GKE Enterprise 클러스터의 활성 위협을 감지하는 보안 상태 대시보드의 기능인 Kubernetes 보안 상태 스캔에 대해 설명합니다.
Kubernetes 보안 상태 스캔을 사용 설정하고 사용하려면 다음 리소스를 참조하세요.
- 워크로드에 구성 문제가 있는지 자동으로 감사
- GKE Enterprise만 해당: GKE Threat Detection을 사용하여 클러스터에서 위협 찾기(미리보기)
Kubernetes 보안 상태 스캔은 다음 기능을 제공합니다.
- 표준 등급
- 고급 등급(GKE Enterprise만 해당)
가격 책정
- 표준 등급: GKE에서 추가 비용 없이 제공됩니다.
- 고급 등급: GKE Enterprise에 포함되어 있습니다.
Cloud Logging에 추가되는 항목에는 Cloud Logging 가격 책정이 적용됩니다.
워크로드 구성 감사 정보
GKE에 배포하는 워크로드는 공격 지점을 제한하는 강화된 구성이 있어야 합니다. 클러스터에서 워크로드를 검사하여 구성 문제를 확인하는 것은 대규모인 경우 수동으로 수행하기 어려울 수 있습니다. 보안 상태 대시보드를 사용하여 여러 클러스터에 걸쳐서 실행 중인 모든 워크로드의 구성을 자동으로 감사하고 보안 상태 개선을 위해 실행 가능하고 점수가 매겨진 결과와 설득력 있는 권장사항을 반환할 수 있습니다.
워크로드 구성 감사를 수행하면 포드 보안 표준의 정책 하위 집합에 따라 각 배포된 워크로드를 확인합니다. 워크로드 구성 감사는 Google 인프라에서 실행되며 노드의 컴퓨팅 리소스를 사용하지 않습니다.
워크로드 구성 감사의 이점
- 모든 워크로드에서 알려진 구성 문제를 자동으로 감지합니다.
- 활용 가능한 권장사항으로 보안 상태를 개선합니다.
- Google Cloud 콘솔을 사용하여 구성 문제를 개략적으로 확인할 수 있습니다.
- 보고 및 관측 가능성을 향상하기 위해 Logging을 사용하여 감사 가능한 문제를 추적합니다.
워크로드 구성 감사 작동 방식
GKE는 요건을 충족하는 배포된 워크로드마다 지속적으로 워크로드 사양을 스캔하고 필드 및 값을 기본 보안 정책에 정의된 제어와 비교합니다. 예를 들어 spec.containers.securityContext.privileged=true
가 있는 포드는 기준 포드 보안 표준을 위반하고 spec.securityContext.runAsNonRoot
필드가 false
로 설정된 포드는 제한된 표준을 위반합니다. GKE가 확인하는 보안 정책 목록은 워크로드 구성 감사에서 확인하는 항목을 참조하세요.
문제를 스캔 및 검색한 후 GKE는 기본 제공되는 보안 강화 수단을 기준으로 검색된 구성 문제의 심각도를 평가합니다. GKE는 문제에 대응하는 속도를 알려줄 수 있는 심각도 등급을 할당합니다. Google Cloud 콘솔에는 결과와 문제 해결을 위해 수행할 수 있는 권장 작업이 표시됩니다. 또한 GKE에서 추적 및 감사를 위해 Cloud Logging에 항목을 추가합니다.
워크로드 구성 감사에서 확인하는 항목
문제 | 필드 | 허용되는 값 | 심각도 |
---|---|---|---|
호스트 네임스페이스 호스트 네임스페이스를 공유하는 포드를 사용하면 포드 프로세스가 호스트 프로세스와 통신하고 호스트 정보를 수집할 수 있으며, 이로 인해 컨테이너 이스케이프가 발생할 수 있습니다. |
|
|
높음 |
높은 권한을 가진 컨테이너 권한이 있는 컨테이너는 거의 무제한으로 호스트 액세스를 허용합니다. 네임스페이스를 호스트와 공유하며 통제 그룹, seccomp, AppArmor, 기능 제한사항이 없습니다. |
|
|
높음 |
호스트 포트 액세스 호스트 포트를 컨테이너에 노출하면 컨테이너가 해당 포트를 사용하는 호스트 서비스에 대한 네트워크 트래픽을 가로채거나 네트워크 액세스 제어 규칙(예: NetworkPolicy의 규칙)을 우회할 수 있습니다. |
|
|
높음 |
기본이 아닌 기능 컨테이너에는 컨테이너 이스케이프를 허용할 수 있는 기능이 할당되었습니다. |
|
|
보통 |
호스트 경로 볼륨 마운트
|
spec.volumes[*].hostPath |
정의되지 않음 또는 Nil | 보통 |
기본값이 아닌 기본 |
|
|
보통 |
안전하지 않은 sysctls 마스크
|
spec.securityContext.sysctls[*].name |
|
보통 |
루트가 아닌 실행 이미지의 |
|
true |
보통 |
권한 에스컬레이션 실행 시 권한 에스컬레이션이 허용되도록 컨테이너를 명시적으로 구성할 수 있습니다. 이렇게 하면 컨테이너 내에 생성된 프로세스가 set-user-id, set-group-id 또는 파일 기능 실행 파일을 실행하여 실행 파일에서 지정한 권한을 획득할 수 있습니다. 예방적 보안 제어가 없으면 컨테이너 이스케이프 위험이 증가합니다. |
|
false |
보통 |
제한되지 않는 AppArmor 프로필 AppArmor로 제한되지 않도록 컨테이너를 명시적으로 구성할 수 있습니다. 이렇게 하면 컨테이너에 AppArmor 프로필이 적용되지 않으므로 제한되지 않습니다. 예방적 보안 제어가 중지되면 컨테이너 이스케이프 위험이 증가합니다. |
metadata.annotations["container.apparmor.security.beta.kubernetes.io/*"] |
false |
낮음 |
보안 게시판 표시 정보
GKE에서 취약점이 발견되면 취약점을 패치하고 취약점에 대한 보안 게시판을 게시합니다. 식별, 패치, 타임라인에 대한 자세한 내용은 GKE 보안 패치를 참조하세요.
보안 상태 대시보드에는 클러스터, 워크로드, 표준 모드 노드 풀에 영향을 미치는 보안 게시판이 표시됩니다. 이 기능은 보안 상태 대시보드의 Kubernetes 보안 상태 기능의 일부이며 Autopilot 또는 Standard 클러스터를 만들 때 자동으로 사용 설정됩니다. Kubernetes 보안 상태 스캔을 사용 설정하려면 워크로드에 구성 문제가 있는지 자동으로 감사의 안내를 따르세요.
Google Cloud 콘솔에는 취약점을 완화하기 위해 영향을 받는 클러스터, 버전, 업그레이드 권장 패치 버전과 같은 세부정보가 표시됩니다. 클러스터의 Google Cloud 리전 또는 영역에서 완화 기능을 사용할 수 있는 게시판만 표시됩니다.
Kubernetes 보안 상태 스캔에 등록한 클러스터의 게시판을 보려면 보안 상태 대시보드로 이동합니다.
사용자 환경에 영향을 미치는 모든 게시판은 보안 게시판 섹션에 표시됩니다.
GKE Threat Detection 정보
GKE Threat Detection은 등록된 클러스터의 감사 로그에서 활성 위협을 스캔하고 권장되는 완화 조치를 제공합니다. GKE Threat Detection은 Security Command Center Event Threat Detection 서비스를 기반으로 합니다. 자세한 내용은 GKE Enterprise 문서에서 GKE Threat Detection 정보를 참조하세요.