VM 인스턴스에서 보안 VM 옵션 수정

이 문서에서는 VM 인스턴스에서 보안 VM을 사용 설정하고 사용 중지하는 방법을 설명합니다. 보안 VM 기능을 지원하는 이미지를 확인하려면 OS 이미지 보안 기능를 참조하세요.

개요

보안 VM 인스턴스에서는 Compute Engine이 기본적으로 vTPM(Virtual Trusted Platform Module)무결성 모니터링 옵션을 사용합니다. vTPM을 사용하지 않으면 무결성 모니터링에 신중한 부팅으로 수집된 데이터가 사용되기 때문에 Compute Engine은 무결성 모니터링을 사용하지 않습니다.

서명되지 않은 드라이버와 기타 하위 수준 소프트웨어는 호환되지 않을 수 있으므로 Compute Engine이 기본적으로 보안 부팅을 사용하지 않습니다. 보안 부팅은 모든 부팅 구성요소의 서명을 확인하고 서명 확인에 실패할 경우 부팅 프로세스를 중지하여 시스템에서 신뢰할 수 있는 소프트웨어만 실행하도록 합니다. 이렇게 하면 루트키트나 부트키트와 같은 형태의 커널 멀웨어가 VM 재부팅 시 유지되지 않습니다. 보안 부팅이 대표 테스트 VM이 부팅되는 것을 방해하지 않고 사용자 워크로드에 적합한 경우 보안 부팅을 사용하는 것이 좋습니다.

제한사항

Compute Engine VM 인스턴스는 보안 부팅을 지원하더라도 Compute Engine VM에 로드된 이미지는 지원하지 않을 수 있습니다. 특히 대부분의 Linux 배포판은 최신 x86 이미지에서 보안 부팅을 지원하지만 ARM64에서는 기본적으로 항상 지원되지는 않습니다. 많은 Linux 이미지는 보안 부팅이 사용 설정되면 트리 외부 커널 모듈의 서명되지 않은 빌드를 거부하도록 구성되어 있습니다. 이러한 구성은 GPU 드라이버에 가장 일반적으로 영향을 주지만 커널 모듈이 필요한 보안 모니터링 도구에도 영향을 줍니다.

이 태스크에 필요한 권한

이 작업을 수행하려면 다음과 같은 권한이 있어야 합니다.

  • VM 인스턴스에 대한 compute.instances.updateShieldedInstanceConfig 권한

VM 인스턴스에서 보안 VM 옵션 수정

보안 VM 옵션을 수정하려면 다음 절차를 따르세요.

Console

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 인스턴스 이름을 클릭하여 VM 인스턴스 세부정보 페이지를 엽니다.

  3. 중지를 클릭합니다.

  4. 인스턴스가 중지되면 수정을 클릭합니다.

  5. 보안 VM 섹션에서 보안 VM 옵션을 수정합니다.

    • 보안 부팅을 사용하도록 보안 부팅 사용 설정을 전환. Compute Engine은 서명되지 않은 드라이버 및 기타 하위 수준 소프트웨어가 호환되지 않을 수 있으므로 기본적으로 보안 부팅을 사용하지 않습니다. 가능하면 보안 부팅을 사용하는 것이 좋습니다.

    • vTPM 설정을 전환하여 vTPM을 중지합니다. 기본적으로 Compute Engine은 vTPM을 사용 설정합니다.

    • 무결성 모니터링 사용 설정을 전환하여 무결성 모니터링을 중지합니다. 기본적으로 Compute Engine은 무결성 모니터링을 사용합니다.

  6. 저장을 클릭합니다.

  7. 시작을 클릭하여 인스턴스를 시작합니다.

gcloud

  1. 인스턴스를 중지합니다.

    gcloud compute instances stop VM_NAME
    

    VM_NAME을 중지할 VM의 이름으로 바꿉니다.

  2. 보안 VM 옵션을 업데이트합니다.

    gcloud compute instances update VM_NAME \
        [--[no-]shielded-secure-boot] \
        [--[no-]shielded-vtpm] \
        [--[no-]shielded-integrity-monitoring]

    VM_NAME을 보안 VM 옵션을 업데이트할 VM의 이름으로 바꿉니다.

    shielded-secure-boot: Compute Engine은 서명되지 않은 드라이버 및 기타 하위 수준 소프트웨어가 호환되지 않을 수 있으므로 기본적으로 보안 부팅을 사용하지 않습니다. 가능하면 보안 부팅을 사용하는 것이 좋습니다.

    • --shielded-secure-boot 플래그를 사용하여 보안 부팅을 사용 설정합니다(권장사항).
    • --no-shielded-secure-boot를 사용하여 보안 부팅을 사용 중지합니다.

    shielded-vtpm: Virtual Trusted Platform Module(vTPM)은 기본적으로 사용 설정됩니다. + --shielded-vtpm(기본값)을 사용하면 사용 설정 + --no-shielded-vtpm 플래그를 사용하면 사용 중지

    shielded-integrity-monitoring: 무결성 모니터링은 기본적으로 사용 설정됩니다. + --shielded-integrity-monitoring(기본값)을 사용하면 사용 설정 + --no-shielded-integrity-monitoring 플래그를 사용하면 사용 중지

  3. 다음과 같이 인스턴스를 시작합니다.

    gcloud compute instances start VM_NAME
    

    VM_NAME을 시작할 VM의 이름으로 바꿉니다.

API

  1. 인스턴스를 중지합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    

    다음을 바꿉니다.

    • PROJECT_ID: 중지할 VM이 포함된 프로젝트입니다.
    • ZONE: 중지할 VM이 포함된 영역입니다.
    • VM_NAME: 중지할 VM입니다.
  2. instances.updateShieldedInstanceConfig를 사용하여 인스턴스에서 보안 VM 옵션을 사용 설정하거나 중지합니다.

    PATCH https://compute.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateShieldedInstanceConfig
    
    {
     "enableSecureBoot": {true|false},
     "enableVtpm": {true|false},
     "enableIntegrityMonitoring": {true|false}
    }
    

    다음을 바꿉니다.

    • PROJECT_ID: 보안 VM 옵션을 사용하거나 중지할 VM이 포함된 프로젝트입니다.
    • ZONE: 보안 VM 옵션을 사용하거나 중지할 VM이 포함된 영역입니다.
    • VM_NAME: 보안 VM 옵션을 사용하거나 중지할 VM입니다.

    enableSecureBoot: Compute Engine은 서명되지 않은 드라이버 및 기타 하위 수준 소프트웨어가 호환되지 않을 수 있으므로 기본적으로 보안 부팅을 사용하지 않습니다. 가능하면 보안 부팅을 사용하는 것이 좋습니다.

    enableVtpm: Compute Engine이 기본적으로 Virtual Trusted Platform Module (vTPM)을 사용 설정합니다.

    enableIntegrityMonitoring: Compute Engine이 기본적으로 무결성 모니터링을 사용 설정합니다.

  3. 다음과 같이 인스턴스를 시작합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

    다음을 바꿉니다.

    • PROJECT_ID: 시작할 VM이 포함된 프로젝트입니다.
    • ZONE: 시작할 VM이 포함된 영역입니다.
    • VM_NAME: 시작할 VM입니다.

다음 단계