인프라 제어

이 문서에는Google Cloud에서 워크로드를 실행할 때 Compute Engine, Google Kubernetes Engine (GKE), Pub/Sub, Dataflow, Cloud Run 함수와 같은 서비스에 관한 권장사항과 가이드라인이 포함되어 있습니다. Google Cloud

컴퓨팅 관리

이러한 컨트롤은 컴퓨팅 서비스에 적용됩니다.

IP 전달을 사용 설정할 수 있는 VM 인스턴스 정의

Google 제어 ID VPC-CO-6.3
구현 필수
설명
compute.vmCanIpForward 제약 조건은 IP 전달을 사용 설정할 수 있는 VM 인스턴스를 정의합니다. 기본적으로 모든 VM이 모든 가상 네트워크에서 IP 전달을 사용 설정할 수 있습니다. 다음 형식 중 하나를 사용하여 VM 인스턴스를 지정합니다.
  • under:organizations/ORGANIZATION_ID
  • under:folders/FOLDER_ID
  • under:projects/PROJECT_ID
  • projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
이 제약조건은 소급되지 않습니다.
적용 가능한 제품
  • 조직 정책 서비스
  • Virtual Private Cloud(VPC)
  • Compute Engine
경로 constraints/compute.vmCanIpForward
연산자 =

Your list of VM instances that can enable IP forwarding.

유형 목록
관련 NIST-800-53 컨트롤
  • SC-7
  • SC-8
관련 CRI 프로필 컨트롤
  • PR.AC-5.1
  • PR.AC-5.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
  • PR.PT-4.1
  • DE.CM-1.1
  • DE.CM-1.2
  • DE.CM-1.3
  • DE.CM-1.4
관련 정보

VM 중첩 가상화 사용 중지

Google 제어 ID VPC-CO-6.6
구현 필수
설명
compute.disableNestedVirtualization 불리언 제약 조건은 Compute Engine VM에 대해 하드웨어 가속 중첩 가상화를 사용 중지합니다.
적용 가능한 제품
  • 조직 정책 서비스
  • Virtual Private Cloud(VPC)
  • Compute Engine
경로 constraints/compute.disableNestedVirtualization
연산자 같음

True

유형 불리언
관련 NIST-800-53 컨트롤
  • SC-7
  • SC-8
관련 CRI 프로필 컨트롤
  • PR.AC-5.1
  • PR.AC-5.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
  • PR.PT-4.1
  • DE.CM-1.1
  • DE.CM-1.2
  • DE.CM-1.3
  • DE.CM-1.4
관련 정보

VM에서 외부 IP 주소 제한

Google 제어 ID VPC-CO-6.2
구현 필수
설명

필요하지 않은 경우 공개 IP 주소가 있는 Compute Engine 인스턴스를 만들지 마세요. compute.vmExternalIpAccess 목록 제약 조건은 외부 IP 주소를 가질 수 있는 Compute Engine VM 인스턴스의 집합을 정의합니다.

Compute Engine 인스턴스에 외부 IP 주소가 없도록 하여 인터넷에 대한 노출을 대폭 줄입니다. 외부 IP 주소가 있는 인스턴스는 즉시 검색 가능하며 자동 스캔, 무차별 대입 공격, 취약점 악용 시도의 직접적인 타겟이 됩니다. 대신 인스턴스에서 비공개 IP 주소를 사용하도록 요구하고 Identity-Aware Proxy (IAP) 터널 또는 배스천 호스트와 같은 제어되고 인증되고 로깅된 경로를 통해 액세스를 관리합니다.

이 기본 거부 자세를 채택하는 것은 공격 표면을 최소화하고 네트워크에 제로 트러스트 접근 방식을 적용하는 데 도움이 되는 기본적인 보안 권장사항입니다. 이 제약조건은 소급되지 않습니다.

적용 가능한 제품
  • 조직 정책 서비스
  • Virtual Private Cloud(VPC)
  • Compute Engine
경로 constraints/compute.vmExternalIpAccess
연산자 =

The list of VM instances in your organization that can have external IP addresses.

유형 목록
관련 NIST-800-53 컨트롤
  • SC-7
  • SC-8
관련 CRI 프로필 컨트롤
  • PR.AC-5.1
  • PR.AC-5.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
  • PR.PT-4.1
  • DE.CM-1.1
  • DE.CM-1.2
  • DE.CM-1.3
  • DE.CM-1.4
관련 정보

VM 인스턴스에 허용되는 외부 IP 주소 정의

Google 제어 ID CBD-CO-6.3
구현 필수
설명

compute.vmExternalIpAccess 목록 제약 조건을 사용하면 외부 IP 주소를 할당하지 않아 가상 머신에 대한 외부 액세스를 제한할 수 있습니다. 가상 머신에 대한 모든 외부 IP 주소를 거부하도록 이 목록 제약 조건을 구성합니다.

적용 가능한 제품
  • 조직 정책 서비스
  • Compute Engine
경로 compute.vmExternalIpAccess
연산자 =

Deny All

유형 목록
관련 NIST-800-53 컨트롤
  • AC-3
  • AC-12
  • AC-17
  • AC-20
관련 CRI 프로필 컨트롤
  • PR.AC-3.1
  • PR.AC-3.2
  • PR.AC-4.1
  • PR.AC-4.2
  • PR.AC-4.3
  • PR.AC-6.1
  • PR.AC-7.1
  • PR.AC-7.2
  • PR.PT-3.1
  • PR-PT-4.1
관련 정보

VM 직렬 포트 액세스 사용 중지

구현 필수
설명

compute.disableSerialPortAccess 조직 정책 제약 조건을 설정하여 직렬 포트 액세스를 사용 중지합니다. Compute Engine VM에서 직렬 포트 액세스를 사용 중지하여 방화벽 규칙 및 기타 네트워크 보안 제어를 우회하는 액세스 채널을 제거하세요. 대화형 직렬 콘솔은 주로 긴급 문제 해결을 위해 설계되었지만 사용 설정된 상태로 두면 공격자가 타겟팅할 수 있는 지속적인 백도어를 만들 수 있습니다.

직렬 포트 액세스를 사용 중지하면 ID 및 액세스 관리 (IAM)와 Identity-Aware Proxy (IAP)를 사용 설정하여 보호할 수 있는 SSH와 같은 표준 감사 경로를 통해 모든 관리 액세스를 강제하여 심층 방어 보안 태세를 적용할 수 있습니다.

적용 가능한 제품

Compute Engine

경로 constraints/compute.disableSerialPortAccess
연산자 =

True

관련 NIST-800-53 컨트롤
  • AC-3
관련 CRI 프로필 컨트롤
  • PR.AC-3.1
관련 정보

Cloud Run 함수에 VPC 커넥터 필요

Google 제어 ID CF-CO-4.4
구현 필수
설명

cloudfunctions.requireVPCConnector 불리언 제약 조건에 따라 관리자는 Cloud Run 함수를 배포할 때 서버리스 VPC 액세스 커넥터를 지정해야 합니다. 적용되면 함수에서 커넥터를 지정해야 합니다.

적용 가능한 제품
  • 조직 정책 서비스
  • Cloud Run Functions
경로 constraints/cloudfunctions.requireVPCConnector
연산자 =

True

유형 불리언
관련 NIST-800-53 컨트롤
  • SC-7
  • SC-8
관련 CRI 프로필 컨트롤
  • PR.AC-5.1
  • PR.AC-5.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
  • PR.PT-4.1
  • DE.CM-1.1
  • DE.CM-1.2
  • DE.CM-1.3
  • DE.CM-1.4
관련 정보

보안 VM 기능 사용 설정

구현 필수
설명

인스턴스에 보안 VM의 가상 신뢰할 수 있는 플랫폼 모듈 (vTPM) 및 무결성 모니터링 속성을 사용 설정합니다. vTPM 및 무결성 모니터링 속성은 기본 VM 인스턴스 생성 프로세스의 일부입니다. 보안 VM의 vTPM 및 무결성 모니터링 속성을 사용하여 VM이 신뢰할 수 있는 수정되지 않은 코드로만 부팅되도록 합니다.

vTPM은 UEFI 펌웨어부터 커널 드라이버까지 전체 부팅 시퀀스의 암호화 측정을 생성하고 저장하는 안전한 가상 암호화 프로세서를 제공합니다. 그런 다음 무결성 모니터링은 VM이 처음 생성될 때 설정된 알려진 양호한 기준과 이러한 런타임 측정을 지속적으로 비교합니다.

이러한 기능은 검증 가능한 신뢰 체인을 제공하며 부트킷이나 루트킷과 같은 악성 수정사항을 감지하면 자동으로 알림을 보내거나 조치를 취합니다. 보안 VM 기능을 사용하면 인스턴스가 시작되는 순간부터 워크로드의 무결성을 유지할 수 있습니다.

적용 가능한 제품

Compute Engine

경로 compute.instances/shieldedInstanceConfig.enableVtpm
연산자 같음

True

유형 불리언
관련 NIST-800-53 컨트롤
  • SI-7
관련 CRI 프로필 컨트롤
  • PR.DS-6.1
관련 정보

VM에 OS 로그인 적용

구현 필수
설명

개발자가 SSH를 통해 Compute Engine 리소스에 액세스하도록 허용하려면 2단계 인증으로 OS 로그인을 구성합니다. compute.requireOsLogin 조직 정책 제약 조건을 설정하여 OS 로그인을 사용하여 Identity and Access Management (IAM) 정책으로 SSH 키를 관리합니다. OS 로그인은 SSH 권한을 사용자의 Google ID 및 IAM 역할에 연결하여 VM 액세스를 중앙 집중화하므로 각 머신에서 개별 SSH 키를 관리할 필요가 없습니다.

SSH 권한을 사용자의 ID에 연결하는 것은 보안에 매우 중요합니다. 사용자의 IAM 역할을 삭제하면 모든 인스턴스에서 액세스 권한이 즉시 취소되어 비활성 계정의 무단 액세스를 방지할 수 있기 때문입니다. 이 시스템은 키 관리를 간소화하여 키 확산을 방지하고 Cloud 감사 로그의 모든 로그인 이벤트에 대한 명확한 중앙 집중식 감사 추적을 제공합니다. 또한 OS 로그인을 사용하면 2단계 인증을 적용하여 도용된 SSH 키와 사용자 인증 정보에 대한 중요한 보호 레이어를 추가할 수 있습니다. 보안 침해된 OAuth 토큰을 가졌지만 비밀번호 또는 보안 키가 없는 공격자는 이 기능으로 차단됩니다.

Compute Engine의 Windows 인스턴스에 대한 원격 데스크톱 프로토콜 (RDP) 액세스는 OS 로그인 서비스를 지원하지 않으므로 RDP 세션에 2단계 인증을 세밀하게 적용할 수 없습니다. IAP 데스크톱 또는 Google Chrome 기반 RDP 플러그인을 사용할 때 Google 서비스의 세션 길이와 같은 대략적인 제어와 사용자의 웹 세션에 2단계 인증 설정을 사용하고 2단계 인증에서 사용자가 기기를 신뢰하도록 허용 설정을 사용 중지합니다.

적용 가능한 제품

Compute Engine

경로 compute.projects/commonInstanceMetadata.items
연산자 같음

enable-oslogin=TRUE

유형 불리언
관련 NIST-800-53 컨트롤
  • AC-2
관련 CRI 프로필 컨트롤
  • PR.AC-1.1
관련 정보

메시지 스토리지 정책 구성

Google 제어 ID PS-CO-4.1
구현 선택사항
설명
전역 Pub/Sub 엔드포인트에 메시지를 게시하면 Pub/Sub가 가장 가까운 Google Cloud 리전에 메시지를 자동으로 저장합니다. 메시지를 저장할 리전을 제어하려면 주제의 메시지 스토리지 정책을 구성하면 됩니다. 다음 방법 중 하나를 사용하여 주제의 메시지 스토리지 정책을 구성합니다.
  • 리소스 위치 제한 (gcp.resourceLocations) 조직 정책 제약 조건을 사용하여 메시지 스토리지 정책을 설정합니다.
  • 주제를 만들 때 메시지 스토리지 정책 구성 예를 들면 다음과 같습니다.

    gcloud pubsub topics create TOPIC_ID \--message-storage-policy-allowed-regions=REGION1, REGION2

적용 가능한 제품
  • 조직 정책 서비스
  • Pub/Sub
관련 NIST-800-53 컨트롤
  • AC-3
  • AC-17
  • AC-20
관련 CRI 프로필 컨트롤
  • PR.AC-3.1
  • PR.AC-3.2
  • PR.AC-4.1
  • PR.AC-4.2
  • PR.AC-4.3
  • PR.AC-6.1
  • PR.PT-3.1
  • PR.PT-4.1
관련 정보

Dataflow 작업의 외부 IP 주소 사용 중지

Google 제어 ID DF-CO-6.1
구현 선택사항
설명

Dataflow 작업과 관련된 관리 및 모니터링 작업의 외부 IP 주소를 사용 중지합니다. 대신 SSH를 사용하여 Dataflow 작업자 VM에 대한 액세스를 구성하세요.

비공개 Google 액세스를 사용 설정하고 Dataflow 작업에서 다음 옵션 중 하나를 지정합니다.

  • --usePublicIps=false--network=NETWORK-NAME
  • --subnetwork=SUBNETWORK-NAME

각 항목의 의미는 다음과 같습니다.

  • NETWORK-NAME: Compute Engine 네트워크의 이름입니다.
  • SUBNETWORK-NAME: Compute Engine 서브네트워크의 이름입니다.
적용 가능한 제품
  • Compute Engine
  • Dataflow
관련 NIST-800-53 컨트롤
  • SC-7
  • SC-8
관련 CRI 프로필 컨트롤
  • PR.AC-5.1
  • PR.AC-5.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
  • PR.PT-4.1
  • DE.CM-1.1
  • DE.CM-1.2
  • DE.CM-1.3
  • DE.CM-1.4
관련 정보

방화벽 규칙에 네트워크 태그 사용

Google 제어 ID DF-CO-6.2
구현 선택사항
설명

네트워크 태그는 Dataflow 작업자 VM과 같은 Compute Engine VM에 연결되는 텍스트 속성입니다. 네트워크 태그를 사용하여 VPC 네트워크 방화벽 규칙과 일부 커스텀 정적 경로를 특정 VM 인스턴스에 적용할 수 있습니다. Dataflow는 특정 Dataflow 작업을 실행하는 모든 작업자 VM에 네트워크 태그를 추가할 수 있도록 지원합니다.

적용 가능한 제품
  • Compute Engine
  • Dataflow
관련 NIST-800-53 컨트롤
  • SC-7
  • SC-8
관련 CRI 프로필 컨트롤
  • PR.AC-5.1
  • PR.AC-5.2
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
  • PR.PT-4.1
  • DE.CM-1.1
  • DE.CM-1.2
  • DE.CM-1.3
  • DE.CM-1.4
관련 정보

컨테이너 컨트롤

이러한 제어 기능은 GKE 내 컨테이너에 적용됩니다.

컨트롤 플레인 액세스 제한

Google 제어 ID GKE-CO-1.1
구현 필수
설명

기본적으로 Google Kubernetes Engine (GKE) 클러스터 컨트롤 플레인과 노드에는 모든 IP 주소에서 액세스할 수 있는 인터넷 라우팅 가능 주소가 있습니다. DNS 기반 엔드포인트를 사용하고 비공개 클러스터를 만들어 컨트롤 플레인에 대한 네트워크 액세스를 제한합니다. 컨트롤 플레인은 Kubernetes 클러스터의 관리 센터이며 인터넷에 노출되면 공격자의 주요 타겟이 됩니다. 이 구성은 컨트롤 플레인을 비공개로 설정하고 인터넷에서 삭제합니다.

컨트롤 플레인 액세스를 제한하면 조직의 비공개 네트워크 내에서 신뢰할 수 있는 기기만 클러스터를 관리할 수 있으므로 외부 공격 위험이 크게 줄어듭니다.

적용 가능한 제품

GKE

관련 NIST-800-53 컨트롤
  • SC-7
관련 CRI 프로필 컨트롤
  • PR.AC-3.1
관련 정보

최소 권한 방화벽 규칙 사용

Google 제어 ID GKE-CO-1.2
구현 필수
설명

방화벽 규칙을 만들 때 최소 권한 원칙을 사용하여 필요한 용도로만 액세스 권한을 부여하세요. 가능한 경우 방화벽 규칙이 GKE 기본 방화벽 규칙과 충돌하지 않는지 확인합니다.

적용 가능한 제품

GKE

관련 NIST-800-53 컨트롤
  • AC-3
  • AC-4
  • AC-17
  • SC-7
관련 정보

RBAC용 Google 그룹스 사용

Google 제어 ID GKE-CO-1.3
구현 필수
설명

역할 기반 액세스 제어 (RBAC)에 Google 그룹스를 사용하면 퇴사자에 대한 액세스 권한 해지와 같은 기존 사용자 계정 관리 방식과 통합할 수 있습니다. RBAC용 Google 그룹스를 사용하면 Identity and Access Management (IAM) 및 Google 그룹스를 사용하여 클러스터 액세스를 효율적으로 관리할 수 있으며, 이는 Google 그룹스를 사용하는 대부분의 조직에 적합합니다.

적용 가능한 제품

Google Kubernetes Engine(GKE)

관련 NIST-800-53 컨트롤
  • AC-2
관련 CRI 프로필 컨트롤
  • PR.AC-1.1
관련 정보

보안 GKE 노드 사용 설정

Google 제어 ID GKE-CO-1.4
구현 필수
설명

클러스터의 노드를 암호화 방식으로 확인하려면 보안 GKE 노드를 사용 설정하세요. 보안 GKE 노드는 강력하고 검증 가능한 노드 ID와 무결성을 제공합니다. 클러스터를 만들거나 업데이트할 때 보안 GKE 노드를 사용 설정합니다. 가능한 경우 보안 부팅이 적용된 보안 GKE 노드를 사용하여 부팅 프로세스 중에 노드 VM의 부팅 구성요소도 인증하세요. 타사의 서명되지 않은 커널 모듈이 필요한 경우 보안 부팅을 사용하면 안 됩니다.

클러스터를 만들면 보안 GKE 노드가 기본적으로 사용 설정됩니다.

적용 가능한 제품

GKE

관련 NIST-800-53 컨트롤
  • AC-3
  • AC-4
  • AC-17
  • SC-7
관련 정보

containerd 런타임과 함께 Container-Optimized OS 사용

Google 제어 ID GKE-CO-1.5
구현 필수
설명

Container-Optimized OS를 사용하여 강화되고 관리되는 컨테이너 OS를 구현합니다. 범용 운영체제에는 컨테이너를 실행하는 데 필요하지 않은 추가 프로그램이 많이 포함되어 있으므로 공격자에게 더 크고 불필요한 타겟이 됩니다. Container-Optimized OS는 필요한 것만 포함하여 공격에 노출되는 영역을 크게 줄이는 최소한의 잠긴 운영체제입니다. 관리형 OS인 Container-Optimized OS에는 Google에서 자동으로 적용하는 보안 패치도 있어 심각한 취약점이 수정되고 운영 워크로드가 줄어듭니다.

containerd (cos_containerd)를 포함한 Container-Optimized OS 이미지는 Kubernetes와 직접 통합된 containerd를 기본 컨테이너 런타임으로 사용합니다. containerd는 Docker의 핵심 런타임 구성요소이며 Kubernetes Container Runtime Interface (CRI)에 핵심 컨테이너 기능을 제공하도록 설계되었습니다. 전체 Docker 데몬보다 훨씬 덜 복잡하므로 공격 표면이 작습니다.

적용 가능한 제품

Container-Optimized OS

관련 NIST-800-53 컨트롤
  • CM-7
  • SC-7
  • SC-38
  • SI-2
  • SI-7
관련 CRI 프로필 컨트롤
  • PR.PT-3.1
관련 정보

GKE용 워크로드 아이덴티티 제휴 사용

Google 제어 ID GKE-CO-1.6
구현 필수
설명

GKE용 워크로드 아이덴티티 제휴를 사용하여 Google Kubernetes Engine (GKE) 워크로드에서 Google Cloud API에 안전하게 인증합니다. GKE용 워크로드 아이덴티티 제휴는 서비스 계정 키를 사용하는 것보다 더 간단하고 안전한 대안을 제공합니다.

적용 가능한 제품

GKE

관련 NIST-800-53 컨트롤
  • IA-2
관련 CRI 프로필 컨트롤
  • PR.AC-1.1
관련 정보

GKE Sandbox 사용 설정

Google 제어 ID GKE-CO-1.7
구현 필수
설명

GKE Sandbox를 사용하여 신뢰할 수 없는 코드가 Google Kubernetes Engine (GKE) 클러스터 노드의 호스트 커널에 영향을 미치지 않도록 추가 보안 레이어를 제공하세요. GKE Sandbox는 신뢰할 수 없거나 민감한 워크로드의 워크로드 격리를 강화하여 컨테이너 이스케이프 공격에 대한 추가 보호 레이어를 제공합니다.

적용 가능한 제품

GKE

관련 NIST-800-53 컨트롤
  • SC-39
관련 CRI 프로필 컨트롤
  • PR.DS-1.1
관련 정보

kubelet 읽기 전용 포트 사용 중지

Google 제어 ID GKE-CO-1.9
구현 필수
설명

kubelet 읽기 전용 포트 10255를 사용 중지하고 대신 더 안전한 포트 10250을 사용합니다. Kubernetes는 이 포트에서 인증 또는 승인 검사를 수행하지 않습니다. kubelet은 보다 안전하고 인증된 포트 10250에서 동일한 엔드포인트를 제공합니다.

GKE 버전 1.26.4-gke.500 이상에서만 비보안 kubelet 읽기 전용 포트를 사용 중지할 수 있습니다.

적용 가능한 제품

GKE

관련 NIST-800-53 컨트롤
  • AC-3
  • SC-7
관련 정보

네임스페이스와 RBAC를 사용하여 클러스터 리소스에 대한 액세스 제한

Google 제어 ID GKE-CO-1.10
구현 필수
설명

각 팀과 환경별로 별도의 네임스페이스 또는 클러스터를 생성하여 Kubernetes에 대한 최소 권한 액세스를 구현합니다. 책임 소재 파악 및 지불 거절을 위해 각 네임스페이스에 비용 센터와 적절한 라벨을 지정합니다. 특히 프로덕션 환경에서 개발자에게만 애플리케이션을 배포하고 관리하는 데 필요한 네임스페이스의 액세스 수준을 제공합니다. 사용자가 클러스터에 수행해야 하는 작업을 매핑하고 각 작업을 수행하는 데 필요한 권한을 정의합니다.

그룹과 사용자에게 적절한 Google Kubernetes Engine (GKE)용 Identity and Access Management (IAM) 역할을 할당하여 프로젝트 수준의 권한을 제공하고 RBAC를 사용하여 클러스터와 네임스페이스 수준의 권한을 부여하세요.

적용 가능한 제품
  • GKE
  • IAM
관련 NIST-800-53 컨트롤
  • AC-3
  • AC-4
  • AC-6
관련 정보

포드 간 트래픽 제한

Google 제어 ID GKE-CO-1.11
구현 필수
설명

기본적으로 클러스터의 모든 포드는 서로 통신할 수 있습니다. 워크로드의 필요에 따라 포드 간 통신을 제어해야 합니다. 서비스에 대한 네트워크 액세스를 제한하면 클러스터 내에서 공격자의 측면 이동이 더 어려워지고 실수로 인한 서비스 거부나 고의적인 서비스 거부로부터 서비스를 보호할 수 있습니다.

트래픽을 제어하는 방법에는 두 가지가 있습니다.

  • Cloud Service Mesh 또는 Istio를 사용하여 부하 분산, 서비스 승인, 제한, 할당량, 측정항목 등을 관리합니다.
  • Kubernetes 네트워크 정책을 사용합니다. Kubernetes에서 제공하는 기본 액세스 제어 기능을 찾고 있다면 이 옵션을 선택하세요.
적용 가능한 제품

GKE

관련 NIST-800-53 컨트롤
  • AC-3
  • AC-4
  • SC-7
관련 정보

허용 컨트롤러를 사용하여 정책 적용

Google 제어 ID GKE-CO-1.12
구현 필수
설명

허용 컨트롤러는 클러스터가 사용되는 방식을 제어하고 적용하는 플러그인입니다. 클러스터 보안 강화를 위한 심층 방어 방식의 중요한 요소이므로 Kubernetes의 고급 보안 기능 중 일부를 사용하도록 설정합니다. 기본적으로 Kubernetes의 포드는 필요한 것 이상의 기능으로 작동될 수 있습니다. 허용 제어를 사용하여 포드의 기능을 해당 워크로드에 필요한 기능으로만 제한합니다.

GKE는 명시적으로 부여된 기능만으로 포드 실행을 제한하기 위한 여러 가지 컨트롤을 지원합니다. 예를 들어 정책 컨트롤러는 Fleet의 클러스터에서 사용할 수 있습니다. Kubernetes에는 또한 개별 클러스터에서 포드 보안 표준을 적용할 수 있게 해주는 기본 제공되는 PodSecurity 허용 컨트롤러가 있습니다. 정책 컨트롤러는 선언적 정책을 사용하여 GKE 클러스터에서 대규모로 보안을 시행하고 유효성을 검사할 수 있는 GKE 기능입니다.

적용 가능한 제품

GKE

관련 NIST-800-53 컨트롤
  • CM-2
  • CM-3
  • CM-6
  • CM-7
관련 정보

워크로드가 자체 수정하는 기능을 제한

Google 제어 ID GKE-CO-1.13
구현 필수
설명

특정 Kubernetes 워크로드, 특히 시스템 워크로드에는 자체 수정 권한이 있습니다. 예를 들어 일부 워크로드는 수직적으로 자동 확장됩니다. 편리하지만 자체 수정으로 인해 노드를 이미 손상시킨 공격자가 클러스터에서 추가로 에스컬레이션할 수 있습니다. 예를 들어 공격자는 노드에 있는 워크로드가 동일 네임스페이스에 존재하는 권한이 높은 서비스 계정으로 실행되도록 변경할 수 있습니다.

기본적으로 워크로드에 자체 수정 권한을 부여하지 마세요. 자체 수정이 필요한 경우 몇 가지 유용한 보안 정책을 제공하는 오픈소스 Gatekeeper 라이브러리에서 NoUpdateServiceAccount와 같은 Gatekeeper 또는 정책 컨트롤러 제약 조건을 적용하여 권한을 제한합니다.

정책을 배포할 때는 클러스터 수명 주기를 관리하는 컨트롤러가 정책을 우회할 수 있도록 허용합니다. 컨트롤러는 클러스터 업그레이드 적용과 같이 클러스터를 변경해야 합니다. 예를 들어 GKE에 NoUpdateServiceAccount 정책을 배포하는 경우 제약 조건에 다음 매개변수를 설정해야 합니다.

parameters: allowedGroups: - system:masters allowedUsers: - system:addon-manager
적용 가능한 제품

GKE

관련 NIST-800-53 컨트롤
  • AC-3
  • CM-3
  • SI-7
관련 정보

클러스터 구성 모니터링

Google 제어 ID GKE-CO-1.14
구현 필수
설명

클러스터 구성을 감사하여 정의된 설정과의 편차를 확인합니다. 이 권장사항에서 다루는 설정과 기타 일반적인 구성 오류는 Security Command Center를 사용하여 자동으로 확인할 수 있습니다.

적용 가능한 제품
  • GKE
  • Security Command Center
관련 NIST-800-53 컨트롤
  • SI-4
  • SI-5
  • RA-5
관련 정보

Binary Authorization 적용

Google 제어 ID BIN-CO-1.1
구현 필수
설명

Binary Authorization을 사용하여 신뢰할 수 있는 이미지가 Google Kubernetes Engine (GKE) 및 Cloud Run에 배포되도록 합니다. Binary Authorization은 검증되고 신뢰할 수 있는 컨테이너 이미지만 클러스터에 배포되도록 하여 소프트웨어 공급망 보안을 강화합니다.

적용 가능한 제품
  • GKE
  • Binary Authorization
  • Cloud Run
경로 constraints/binaryauthorization.requireBinauthz
연산자 ==

True

관련 NIST-800-53 컨트롤
  • SI-7
관련 CRI 프로필 컨트롤
  • PR.DS-6.1
관련 정보

GKE Autopilot 사용

구현 필수
설명

Google Kubernetes Engine (GKE) Autopilot 클러스터 사용 Autopilot 클러스터는 강력한 보안 조치를 제공하며, 컨테이너 또는 GKE에 대한 여러 보안 권장사항이 기본적으로 사용 설정되어 있습니다.

적용 가능한 제품

GKE

경로 container.clusters/autopilot.enabled
연산자 같음

True

유형 불리언
관련 NIST-800-53 컨트롤
  • CM-2
관련 CRI 프로필 컨트롤
  • PR.IP-1.1
관련 정보

GKE 클러스터 및 노드에 최소 권한 계정 사용

구현 필수
설명

Google Kubernetes Engine (GKE) 클러스터 및 노드에 최소 권한 Identity and Access Management (IAM) 서비스 계정을 사용합니다. GKE 컨트롤 플레인에 대한 액세스는 단일 DNS 기반 엔드포인트로 제한됩니다. 최소 권한을 구현하면 추가 방화벽 규칙이나 배스천 호스트 없이 공격 영역을 크게 줄일 수 있습니다.

적용 가능한 제품

GKE

경로 container.clusters/nodeConfig.serviceAccount
연산자 !=

default

유형 문자열
관련 NIST-800-53 컨트롤
  • AC-6
관련 CRI 프로필 컨트롤
  • PR.AC-4.1
관련 정보

비공개 GKE 노드 사용

구현 필수
설명

인터넷 노출을 줄이기 위해 비공개 노드를 만듭니다. 비공개 Google Kubernetes Engine (GKE) 노드는 GKE 노드에 공개 IP 주소가 없도록 하여 인터넷 노출을 줄이는 데 도움이 됩니다.

적용 가능한 제품

GKE

경로 container.clusters/networkConfig.defaultEnablePrivateNodes
연산자 같음

True

유형 불리언
관련 NIST-800-53 컨트롤
  • SC-7
관련 CRI 프로필 컨트롤
  • PR.AC-3.1
관련 정보

Confidential Google Kubernetes Engine 노드 사용

구현 필수
설명

Confidential GKE Node를 사용하여 노드 및 워크로드에서 사용 중인 데이터의 암호화를 강제 적용합니다. Confidential GKE Node는 컨피덴셜 컴퓨팅을 통해 사용 중인 데이터를 암호화하여 매우 민감한 워크로드를 보호합니다.

적용 가능한 제품

Google Kubernetes Engine(GKE)

경로 container.clusters/confidentialNodes.enabled
연산자 같음

True

유형 불리언
관련 NIST-800-53 컨트롤
  • SC-28
관련 CRI 프로필 컨트롤
  • PR.DS-1.1
관련 정보

GKE에서 맞춤 인증 기관 실행

구현 필수
설명

자체 인증 기관을 실행하여 Google Kubernetes Engine (GKE) 내에서 키를 관리합니다. 자체 인증 기관을 사용하면 암호화 작업을 더 효과적으로 제어할 수 있습니다. 이 기능에 대한 액세스를 요청하려면 Google Cloud 계정팀에 문의하세요.

적용 가능한 제품

GKE

경로 container.clusters/userManagedKeysConfig.clusterCa
연산자 설정됨
유형 문자열
관련 NIST-800-53 컨트롤
  • SC-12
관련 CRI 프로필 컨트롤
  • PR.DS-1.1
관련 정보

Cloud KMS를 사용하여 Kubernetes 보안 비밀 암호화

구현 필수
설명

Cloud Key Management Service (Cloud KMS) 관리 키를 사용하여 저장된 Kubernetes 보안 비밀을 암호화합니다. Cloud KMS를 사용하면 소유하고 관리하는 키로 Kubernetes 보안 비밀을 암호화하여 etcd 데이터에 추가 보안 레이어를 제공할 수 있습니다.

적용 가능한 제품
  • GKE
  • Cloud KMS
경로 container.clusters/databaseEncryption.keyName
연산자 설정됨
유형 문자열
관련 NIST-800-53 컨트롤
  • SC-28
관련 CRI 프로필 컨트롤
  • PR.DS-1.1
관련 정보

노드 부팅 디스크에 CMEK 사용

구현 필수
설명

노드 부팅 디스크 암호화에 고객 관리 암호화 키 (CMEK)를 사용합니다. CMEK를 사용하면 소유하고 관리하는 키로 Kubernetes 노드의 부팅 디스크를 암호화할 수 있습니다.

적용 가능한 제품
  • Cloud Key Management Service
  • GKE
경로 container.clusters/nodeConfig.bootDiskKmsKey
연산자 설정됨
유형 문자열
관련 NIST-800-53 컨트롤
  • SC-28
관련 CRI 프로필 컨트롤
  • PR.DS-1.1
관련 정보

VMware Engine 컨트롤

VMware Engine의 관리자 역할 할당 제한

Google 제어 ID GCVE-CO-3.1
구현 필수
설명

Google Cloud VMware Engine 프라이빗 클라우드를 배포하고 구성하는 서비스 계정과 제한된 수의 관리자에게만 관리자 역할을 부여하세요. 일반적으로 클러스터 및 노드를 수동으로 추가하거나 삭제하는 경우는 많지 않으나 클러스터의 청구 또는 가용성에 큰 영향을 미칠 수 있습니다.

VMware Engine에 사용되는 프로젝트에서 직접적으로 또는 리소스 계층 구조의 상위 수준 중 하나에서 VMware Engine 서비스 관리자 역할이 할당된 사용자를 정기적으로 감사해야 합니다. 이 감사에는 VMware Engine과 관련된 중요한 권한이 포함된 기본 편집자 및 소유자 역할과 같은 다른 역할이 포함되어야 합니다. IAM 역할 추천자와 같은 서비스를 사용하여 과도한 권한이 있는 역할을 식별할 수 있습니다.

적용 가능한 제품
  • VMware Engine
  • IAM
관련 NIST-800-53 컨트롤
  • AC-2
  • AC-3
  • AC-6
관련 CRI 프로필 컨트롤
  • PR.AC-4.1
  • PR.AC-4.2
  • PR.AC-4.3
  • PR.AC-6.1
관련 정보

최소 권한을 위해 VMware Engine 서비스 뷰어 역할 사용

Google 제어 ID GCVE-CO-3.3
구현 필수
설명

기본적으로 사용자에게 VMware Engine 서비스 뷰어 역할을 부여합니다(필요한 경우에만). VMware Engine 서비스 뷰어 역할은 Google Cloud VMware Engine Google Cloud 에 대한 읽기 전용 액세스 권한을 제공하며 대부분의 작업에 충분하도록 설계되었습니다.

적용 가능한 제품
  • VMware Engine
  • IAM
관련 NIST-800-53 컨트롤
  • AC-2
  • AC-3
  • AC-6
관련 CRI 프로필 컨트롤
  • PR.AC-4.1
  • PR.AC-4.3
  • PR.AC-6.1
관련 정보

vCenter Server Appliance 역할에 RBAC 및 최소 권한 사용

Google 제어 ID GCVE-CO-3.4
구현 필수
설명

vCenter Server Appliance에서 VMware 수준 역할을 부여할 때는 역할 기반 액세스 제어 (RBAC) 및 최소 권한의 원칙을 사용합니다.

적용 가능한 제품

VMware Engine

관련 NIST-800-53 컨트롤
  • AC-2
  • AC-3
  • AC-6
관련 CRI 프로필 컨트롤
  • PR.AC-4.1
  • PR.AC-4.2
  • PR.AC-4.3
  • PR.AC-6.1
관련 정보

VMware 사용자를 위한 ID 제휴 사용

Google 제어 ID GCVE-CO-3.5
구현 필수
설명

사용자 계정을 프로비저닝하고 관리할 수 있는 단일 ID 솔루션을 유지합니다. 이 권장사항을 사용하면 ID 수명 주기 관리, 그룹 관리, 비밀번호 관리와 같은 활동을 중앙 집중화할 수 있습니다. 분열된 ID 전략을 만들지 마세요.

적용 가능한 제품

VMware Engine

관련 NIST-800-53 컨트롤
  • AC-2
  • AC-3
관련 CRI 프로필 컨트롤
  • PR.AC-1.1
  • PR.AC-1.2
  • PR.AC-1.3
  • PR.AC-6.1
관련 정보

vCenter Server Appliance의 경우 개인 대신 그룹에 역할 부여

Google 제어 ID GCVE-CO-3.6
구현 필수
설명

vCenter Server Appliance에서 VMware 수준 역할을 부여할 때는 ID 공급업체에서 만든 그룹에 역할을 부여합니다. 분열된 ID 전략을 만들지 마세요.

적용 가능한 제품

VMware Engine

관련 NIST-800-53 컨트롤
  • AC-2
  • AC-3
  • AC-6
관련 CRI 프로필 컨트롤
  • PR.AC-1.3
  • PR.AC-4.1
  • PR.AC-4.2
  • PR.AC-6.1
관련 정보

vSphere에서 사용자 그룹에 Cloud-Owner-Role을 할당하지 마세요.

Google 제어 ID GCVE-CO-3.7
구현 필수
설명

vSphere에서 사용자 그룹을 만들 때 Cloud-Owner-Role을 할당하지 마세요. 이 역할은 프라이빗 클라우드의 vCenter 환경에 대한 관리 제어 권한을 부여하는 동시에 특정 기본 전역 인프라 권한을 제한합니다. 권한이 Cloud-Owner-Role보다 높은 사용자 그룹은 자동으로 Cloud-Owner-Role로 재설정됩니다.

적용 가능한 제품

VMware Engine

관련 NIST-800-53 컨트롤
  • AC-2
  • AC-3
  • AC-6
관련 CRI 프로필 컨트롤
  • PR.AC-4.1
  • PR.AC-4.2
  • PR.AC-4.3
  • PR.AC-6.1
관련 정보

기본 vCenter 및 NSX-T 서비스 계정 사용하지 않기

Google 제어 ID GCVE-CO-3.8
구현 필수
설명

초기 구성 프로세스와 긴급 절차를 제외하고 기본 vCenter 서비스 계정 (CloudOwner@gve.local)과 기본 NSX-T 서비스 계정 관리자 (admin)를 사용하지 마세요. 이러한 기본 서비스 계정에는 Cloud-Owner-Role 및 Enterprise Admin과 같은 강력한 권한이 포함됩니다. 이러한 서비스 계정의 사용자 인증 정보를 Secret Manager에 저장합니다.

적용 가능한 제품

VMware Engine

관련 NIST-800-53 컨트롤
  • AC-2
  • IA-2
  • SC-28
관련 CRI 프로필 컨트롤
  • PR.AC-1.2
  • PR.AC-4.1
  • PR.AC-4.2
  • PR.AC-4.3
  • PR.AC-6.1
관련 정보

기본 vCenter 및 NSX-T 서비스 계정의 비밀번호를 90일마다 순환

Google 제어 ID GCVE-CO-3.9
구현 필수
설명

기본 vCenter 서비스 계정 (CloudOwner@gve.local)과 기본 NSX-T 서비스 계정 관리자 (admin)의 사용자 인증 정보가 무단으로 공개되는 것을 방지하고 완화하려면 90일마다 비밀번호를 순환하세요.

적용 가능한 제품

VMware Engine

관련 NIST-800-53 컨트롤
  • AC-2
관련 CRI 프로필 컨트롤
  • PR.AC-1.2
관련 정보

NSX 게이트웨이 방화벽을 사용하여 North-South 트래픽 세분화

Google 제어 ID GCVE-CO-1.2
구현 필수
설명

NSX 게이트웨이 방화벽을 사용하여 프라이빗 클라우드에 들어오고 나가는 North-South 네트워크 트래픽을 제어합니다. NSX 게이트웨이 방화벽은 경계를 보호하는 데 도움이 되는 north-south 방화벽입니다.

적용 가능한 제품

VMware Engine

관련 NIST-800-53 컨트롤
  • AC-4
  • SC-7
관련 CRI 프로필 컨트롤
  • PR.AC-5.1
  • PR.AC-5.2
  • PR.PT-4.1
관련 정보

NSX 분산 방화벽을 사용하여 East-West 트래픽 분할

Google 제어 ID GCVE-CO-1.3
구현 필수
설명

NSX 분산 방화벽 (DFW)을 사용하여 프라이빗 클라우드 내의 East-West 네트워크 트래픽을 제어합니다. 기본적으로 모든 서브넷은 서로 통신할 수 있습니다. DFW를 사용하여 애플리케이션 내부의 애플리케이션과 서비스 간에 허용되는 트래픽을 정의합니다.

적용 가능한 제품

VMware Engine

관련 NIST-800-53 컨트롤
  • AC-4
  • SC-7
관련 CRI 프로필 컨트롤
  • PR.AC-5.1
  • PR.AC-5.2
  • PR.PT-4.1
관련 정보

보안 요구사항이 다른 워크로드에 별도의 서브넷 만들기

Google 제어 ID GCVE-CO-1.4
구현 필수
설명

보안 요구사항이나 데이터 분류가 다른 워크로드를 실행하는 경우 워크로드 서브넷을 만들어 분리하세요. 서브넷을 사용하면 보안 요구사항과 자세가 다른 워크로드를 혼합하지 않아 잠재적인 영향 범위를 줄일 수 있습니다.

적용 가능한 제품

VMware Engine

관련 NIST-800-53 컨트롤
  • AC-4
  • AC-20
  • SC-7
관련 CRI 프로필 컨트롤
  • PR.AC-5.1
  • PR.AC-5.2
  • PR.PT-4.1
관련 정보

VMware Engine 감사 로그를 저장할 로그 싱크 만들기

Google 제어 ID GCVE-CO-4.1
구현 필수
설명

로그 싱크를 사용하여 Google Cloud VMware Engine API 감사 로그를 저장합니다. 필요에 따라 감사 로그를 다른 대상으로 라우팅할 수 있습니다.

적용 가능한 제품

VMware Engine

관련 NIST-800-53 컨트롤
  • AU-2
  • AU-3
  • AU-6
  • AU-7
관련 CRI 프로필 컨트롤
  • PR.IP-1.4
  • DM.ED-7.1
관련 정보

VMware 수준 플랫폼 로그 수집

Google 제어 ID GCVE-CO-4.2
구현 필수
설명

VMware 수준 플랫폼 로그 (예: vCenter 및 NSX-T syslog 메시지)를 수집하려면 중앙 집중식 로그 애그리게이터로 syslog 로그를 전달하도록 Google Cloud VMware Engine 프라이빗 클라우드를 구성하세요. 이러한 로그는 VMware Engine 감사 로그에서 수집되지 않으며 별도로 수집해야 합니다.

적용 가능한 제품

VMware Engine

관련 NIST-800-53 컨트롤
  • AU-2
  • AU-3
  • AU-6
  • AU-7
관련 CRI 프로필 컨트롤
  • PR.IP-1.4
  • DM.ED-7.1
관련 정보

로깅 및 모니터링을 사용하여 애플리케이션 모니터링

Google 제어 ID GCVE-CO-4.3
구현 필수
설명

독립형 에이전트를 설치하여 VMware vSphere 플랫폼에서 Cloud Logging 및 Cloud Monitoring을 사용 설정합니다. 독립형 에이전트를 사용하면 워크로드 수준 로그를 수집하여 분석 및 저장을 위해 Logging 및 Monitoring으로 전송할 수 있습니다.

적용 가능한 제품
  • VMware Engine
  • 로깅
  • Cloud Monitoring
관련 NIST-800-53 컨트롤
  • AU-2
  • AU-3
  • AU-6
  • AU-7
관련 CRI 프로필 컨트롤
  • PR.IP-1.4
  • DM.ED-7.1
관련 정보

데이터 상주 요구사항과 일치하는 리전에 프라이빗 클라우드 만들기

Google 제어 ID GCVE-CO-2.1
구현 필수
설명

조직의 데이터 상주 요구사항과 일치하는 리전에 Google Cloud VMware Engine 프라이빗 클라우드를 만듭니다. 프라이빗 클라우드는 배포 및 이전이 쉽지 않은 장기 프로비저닝 리소스입니다.

적용 가능한 제품

VMware Engine

관련 NIST-800-53 컨트롤
  • CP-2
  • SC-7
  • SC-32
관련 CRI 프로필 컨트롤
  • PR.AC-3.1
  • PR.AC-3.2
  • PR.AC-4.1
  • PR.AC-4.2
  • PR.AC-4.3
  • PR.AC-6.1
  • PR.PT-3.1
  • PR.PT-4.1
관련 정보

백업 및 재해 복구 전략 구현

Google 제어 ID GCVE-CO-5.1
구현 필수
설명

워크로드에 백업 및 DR 서비스 또는 서드 파티 백업 솔루션을 구현합니다. 기본적으로 Google Cloud VMware Engine은 vCenter 및 NSX 구성만 자동으로 백업합니다. 백업 및 DR을 사용하면 VM 백업 및 복구가 더 쉬워집니다.

적용 가능한 제품
  • VMware Engine
  • 백업 및 DR
관련 NIST-800-53 컨트롤
  • CP-2
  • CP-6
  • CP-9
  • CP-10
관련 CRI 프로필 컨트롤
  • PR.IP-4.1
  • PR.IP-4.2
관련 정보

VMware 워크로드에 애플리케이션 수준 암호화 구현

Google 제어 ID GCVE-CO-1.1
구현 필수
설명

Google Cloud VMware Engine에서 실행되는 애플리케이션이 트래픽을 암호화해야 합니다. VMware Engine은 전송 중인 워크로드 트래픽을 암호화하지 않습니다.

적용 가능한 제품

VMware Engine

관련 NIST-800-53 컨트롤
  • SC-8
  • SC-13
관련 CRI 프로필 컨트롤
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
관련 정보

VMware vSAN 클러스터에서 전송 중 데이터 암호화 사용 설정

Google 제어 ID GCVE-CO-2.3
구현 필수
설명

VMware vSAN 클러스터에서 전송 중 데이터 암호화를 사용 설정하여 데이터, 메타데이터, 파일 서비스 트래픽을 암호화합니다.

적용 가능한 제품

VMware Engine

관련 NIST-800-53 컨트롤
  • SC-8
관련 CRI 프로필 컨트롤
  • PR.DS-2.1
  • PR.DS-2.2
  • PR.DS-5.1
관련 정보

CMEK를 사용하도록 vSAN 저장 데이터 암호화 구성

Google 제어 ID GCVE-CO-2.2
구현 필수
설명

규제 환경에서 요구하는 경우 고객 관리 암호화 키 (CMEK)를 사용하도록 vSAN 저장 데이터 암호화를 구성합니다.

적용 가능한 제품
  • VMware Engine
  • Cloud KMS
관련 NIST-800-53 컨트롤
  • SC-12
  • SC-28
관련 CRI 프로필 컨트롤
  • PR.DS-1.1
  • PR.DS-1.2
  • PR.DS-5.1
관련 정보

vSAN 저장 데이터 암호화에 사용되는 키 순환

Google 제어 ID GCVE-CO-2.4
구현 필수
설명

vSan 저장 데이터 암호화에 사용하는 키 암호화 키 (KEK)의 수명 주기를 관리합니다. 조직의 요구사항에 맞는 키 순환 절차를 구현합니다.

적용 가능한 제품
  • VMware Engine
  • Cloud KMS
관련 NIST-800-53 컨트롤
  • SC-12
관련 CRI 프로필 컨트롤
  • PR.DS-1.1
  • PR.DS-1.2
  • PR.DS-5.1
관련 정보

다음 단계