보안 소프트웨어 에이전트 배포

Cloud Marketplace에서 프로젝트의 VM 인스턴스로 보안 소프트웨어 에이전트를 배포할 수 있습니다. 보안 소프트웨어 에이전트를 설치 제거해야 하는 경우 보안 에이전트 설치 제거로 건너뛰세요.

보안 소프트웨어 에이전트는 일반적으로 더 큰 보안 제품의 구성요소입니다. 예를 들어 보안 제품을 구독하는 경우 VM 인스턴스에 설치할 수 있는 보안 에이전트가 제품에 포함될 수 있습니다. 에이전트는 VM 인스턴스의 취약점 및 의심스러운 동작에 대한 데이터를 수집하고 이 데이터를 소프트웨어 공급업체에 다시 보냅니다. 소프트웨어 공급업체가 제공하는 대시보드에서 보안 보고서를 볼 수 있습니다.

Cloud Marketplace에서 보안 에이전트를 설치할 때 소프트웨어 공급업체에 개별적으로 가입해야 합니다. 공급업체는 수수료를 별도로 청구합니다.

시작하기 전에

예를 들어 보안 에이전트 배포자라는 ID 및 액세스 관리 커스텀 역할을 만들려면 먼저 SecurityAgentDeployer.yaml 파일을 만듭니다.

title: SecurityAgentDeployer
description: Role for Users who deploy Security Agents in a project
stage: GA
includedPermissions:
- osconfig.guestPolicies.create
- osconfig.guestPolicies.delete
- osconfig.guestPolicies.get
- osconfig.guestPolicies.list
- storage.buckets.create
- storage.buckets.get
- storage.objects.create
- storage.objects.delete

YAML 파일을 만든 후 {iam_name} 커스텀 역할을 만들려면 다음 명령어를 실행합니다.

gcloud iam roles create role-id --project=project-id   \
   --file=SecurityAgentDeployer.yaml

{iam_name} 커스텀 역할 보안 에이전트 배포자를 만든 후 보안 에이전트를 배포할 것으로 예상하는 사용자에게 권한을 부여합니다.

gcloud projects add-iam-policy-binding <project-id>  \
  --member=user:my-user@example.com   \
  --role=projects/<project-id>/roles/SecurityAgentDeployer

프로젝트 메타데이터 구성

Google Cloud Console 또는 Google Cloud CLI를 사용하여 VM 인스턴스에 설치된 OS 구성 에이전트의 프로젝트 메타데이터를 구성할 수 있습니다.

Console

  1. 프로젝트 메타데이터 페이지를 여세요.
  2. 수정을 클릭합니다.
  3. 항목 추가를 클릭하고 다음 속성을 추가합니다.

    enable-osconfig
  4. 또한 필수는 아니지만 클라우드 로깅 로그에 디버깅 메시지를 포함하기 위해 다음 메타데이터 항목이 추가될 수 있습니다. 이를 통해 향후 배포 문제 해결 작업을 용이하게 할 수 있습니다.

    osconfig-log-level debug

gcloud

  1. OS Config 에이전트의 프로젝트 메타데이터를 설정하려면 이 명령을 사용하세요.

    gcloud compute project-info add-metadata --metadata=enable-osconfig=true
    
  2. 또한 필수는 아니지만 다음 명령을 사용하여 클라우드 로깅 로그에 디버깅 메시지를 포함ㄹ할 수 있습니다. 이를 통해 향후 배포 문제 해결 작업을 용이하게 할 수 있습니다.

    gcloud compute project-info add-metadata --metadata=osconfig-log-level=debug
    
  3. 메타데이터가 올바르게 설정되었는지 확인하려면 다음 명령을 사용하세요.

    gcloud compute project-info describe --flatten="commonInstanceMetadata[]"
    

보안 에이전트 배포

Cloud Marketplace에서 사용할 수 있는 보안 에이전트를 보려면 보안 필터를 사용하세요.

보안 제품으로 이동

보안 에이전트를 배포하려면 다음 안내를 따르세요.

  1. Cloud Marketplace에서 에이전트를 선택합니다.

  2. 공급 업체 웹사이트에서 보안 에이전트에 가입하세요.

    공급업체는 일반적으로 로그인 과정에서 비밀번호, 활성화 ID 또는 라이선스 ID와 같은 식별자와 사용자 인증 정보를 제공합니다. 이 식별자를 사용하면 Google Cloud 프로젝트를 공급업체 구독에 연결할 수 있습니다.

  3. 가입한 후 보안 에이전트의 Cloud Marketplace 목록을 열고 다음 단계에 따라 에이전트를 구성합니다.

  4. 구성 페이지에서 제품에 가입할 때 얻은 식별자를 입력하세요. 그런 다음 VM 할당에서 보안 에이전트를 배포할 VM 인스턴스를 선택하세요.

    다음 필드로 VM을 필터링할 수 있습니다.

    • 이름 프리픽스
    • 그룹 라벨
  5. 배포는 프로젝트에 Cloud Storage 버킷을 만들고 설치 파일을 버킷에 복사합니다. 스토리지 버킷 세부정보에서 배포를 위한 Cloud Storage 버킷을 만들 리전을 선택합니다.

  6. VM 할당을 선택하고 Cloud Storage 버킷의 리전을 선택한 후 배포를 클릭합니다. 배포를 완료하는 데 몇 분 정도 걸릴 수 있습니다.

  7. 설치를 추적하고 확인하려면 다음 방법 중 하나를 사용하세요.

    • 프로젝트의 게스트 정책을 표시한 다음 보안 에이전트에 대한 새 게스트 정책이 작성되었는지 확인하세요. 일반적으로 배포는 운영 체제당 하나의 게스트 정책을 만듭니다.

    • 로깅 뷰어를 열고 VM 인스턴스 자원 유형 및 OSConfigAgent 로그 유형에 대한 로그를 확인하세요.

보안 에이전트 설치 제거

높은 수준에서는 보안 에이전트를 설치 제거하려면 다음을 수행해야합니다.

  1. 에이전트의 모든 게스트 정책을 삭제합니다. 이렇게 하면 새로 만드는 VM 인스턴스에 대한 에이전트 설치를 OS 구성에서 중지합니다. 게스트 정책을 삭제할 때 일부 VM에 에이전트가 설치되는 경우 설치가 완료될 때까지 설치가 계속됩니다.

  2. 에이전트가 설치된 VM 인스턴스에서 에이전트를 삭제하는 보안 에이전트의 새 게스트 정책을 만듭니다.

VM에서 보안 에이전트를 설치 제거하는데 몇 분이 걸릴 수 있습니다.

게스트 정책 삭제

Google Cloud Console 또는 Google Cloud CLI를 사용하여 보안 에이전트의 게스트 정책을 삭제할 수 있습니다.

Console

  1. 게스트 정책 페이지를 엽니다.
  2. 보안 에이전트의 게스트 정책을 선택한 후 삭제를 클릭하세요.

gcloud

  1. 모든 게스트 정책을 등록하려면 이 명령을 사용하세요.

    gcloud beta compute os-config guest-policies list
    
  2. 게스트 정책 목록에서 보안 제품에 대한 게스트 정책의 ID를 복사한 후 이 명령을 실행하여 각 게스트 정책을 삭제하십시오.

    gcloud beta compute os-config guest-policies delete POLICY_ID
    

에이전트를 제거하는 게스트 정책 만들기

보안 에이전트의 게스트 정책을 삭제한 후 desiredState: REMOVED 속성을 사용하여 VM에서 보안 에이전트를 제거하는 새 정책을 작성해야 합니다.

예를 들어 다음 게스트 정책 YAML 파일은 us-central1-f 영역의 모든 Debian 기반 VM 인스턴스에서 cloud-agent-package를 삭제합니다.

assignment:
  groupLabels:
  - labels:
      agent: enabled  # apply to VMs with the "agent" label set to "enabled"
  zones:
  - us-central1-f  # apply to all VMs in this zone
name: projects/YOUR_PROJECT_ID/guestPolicies/cloud-agent-remove
packages:
- desiredState: REMOVED
  manager: APT  # indicates Debian-based OS
  name: cloud-agent-package  # indicates the security agent's package name

에이전트를 배포할 때 설정한 필터와 일치하도록 assignment 섹션을 구성해야 합니다.

게스트 정책 YAML 파일 만들기에 대해 자세히 알아보세요.

게스트 정책 YAML 파일을 만든 후 다음 명령어를 사용하여 적용합니다.

gcloud beta compute os-config guest-policies create NEW_POLICY_ID --file YOUR_GUEST_POLICY_FILE

문제해결

게스트 정책 디버깅

게스트 정책 디버깅에서 게스트 정책 디버깅에 대한 일반적인 안내를 확인할 수 있습니다.

특히, 방법에 대해 보여줍니다.

  • 기존 게스트 정책을 등록하기
  • 특정 게스트 정책을 검사하기
  • 특정 VM 인스턴스에 적용되는 정책 찾기
  • Cloud Logging 로그에서 배포와 관련된 잠재적 오류 메시지가 있는지 검사하기

특정 VM 인스턴스에서 배포에 실패하면 다음 단계에 따라 문제를 진단할 수 있습니다.

  1. 배포에서 게스트 정책을 만들었는지 확인합니다.

  2. 그렇다면 생성된 게스트 정책을 확인하세요.

    1. 예상 보안 에이전트를 나타냅니다.
    2. 할당에서 예상되는 VM 인스턴스 집합을 타겟팅합니다.
  3. VM 인스턴스 lookup에 새 예상 게스트 정책이 포함되어 있는지 확인합니다.

  4. Cloud Logging 로그에 특정 VM 인스턴스에 대한 OS 구성 관련 오류 메시지가 있는지 확인합니다.