Security Health Analytics 사용

이 페이지에서는 Security Command Center를 사용하여 Security Health Analytics 발견 항목을 관리하는 방법을 설명합니다.

Security Health Analytics는 Security Command Center에서 클라우드 환경의 리소스를 스캔하고 감지된 구성 오류에 대해 발견 항목을 생성하는 기본 제공 서비스입니다.

Security Health Analytics 발견 항목을 수신하기 위해서는 Security Command Center 서비스 설정에서 서비스를 사용 설정해야 합니다.

다른 클라우드 플랫폼의 발견 항목을 수신하기 위해서는 Security Command Center를 다른 클라우드 플랫폼에 연결해야 합니다.

Security Health Analytics 감지기의 발견 항목은 Security Command Center API를 사용하여 Google Cloud 콘솔에서 검색할 수 있으며, Security Command Center 엔터프라이즈 등급을 사용하는 경우 보안 운영 콘솔에서 검색할 수 있습니다. 심각도 수준이 HIGH 또는 CRITICAL인 발견 항목의 경우 Security Command Center가 보안 운영 콘솔에서 케이스를 개설합니다.

스캔은 Security Command Center가 사용 설정되고 약 1시간 후에 시작됩니다. Google Cloud에서는 두 가지 모드로 실행됩니다. 배치 모드는 매일 한 번 자동으로 실행됩니다. 실시간 모드는 애셋 구성 변경사항에 대해 스캔을 실행합니다.

실시간 스캔 모드를 지원하지 않는 Security Health Analytics 감지기는 Security Command Center 지연 시간 개요에 나열되어 있습니다.

Security Health Analytics는 배치 모드에서만 다른 클라우드 플랫폼을 스캔합니다.

Security Command Center의 IAM 역할은 조직, 폴더, 프로젝트 수준에서 부여할 수 있습니다. 발견 항목, 애셋, 보안 소스를 보거나 수정하거나 만들거나 업데이트할 수 있는 기능은 액세스 권한이 부여된 수준에 따라 다릅니다. Security Command Center 역할에 대해 자세히 알아보려면 액세스 제어를 참조하세요.

감지기 사용 설정 및 중지

감지기를 사용 중지하면 활성 발견 항목의 상태에 영향을 줄 수 있습니다. 감지기가 사용 중지되면 기존 발견 항목이 자동으로 비활성으로 표시됩니다.

조직 수준에서 Security Command Center를 활성화할 때는 특정 폴더 또는 프로젝트에 대해 Security Health Analytics 또는 특정 감지기를 사용 중지할 수 있습니다. Security Health Analytics 또는 감지기가 폴더 및 프로젝트에 대해 해제되면 해당 리소스의 애셋에 연결된 기존 발견 항목이 비활성으로 표시됩니다.

Google Cloud에 대한 다음 Security Health Analytics 감지기는 자동으로 사용 중지됩니다.

  • ALLOYDB_AUTO_BACKUP_DISABLED
  • ALLOYDB_CMEK_DISABLED
  • BIGQUERY_TABLE_CMEK_DISABLED
  • BUCKET_CMEK_DISABLED
  • CLOUD_ASSET_API_DISABLED
  • DATAPROC_CMEK_DISABLED
  • DATASET_CMEK_DISABLED
  • DISK_CMEK_DISABLED
  • DISK_CSEK_DISABLED
  • NODEPOOL_BOOT_CMEK_DISABLED
  • PUBSUB_CMEK_DISABLED
  • SQL_CMEK_DISABLED
  • SQL_NO_ROOT_PASSWORD
  • SQL_WEAK_ROOT_PASSWORD
  • VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED

Security Health Analytics 감지 모듈을 사용 설정하거나 사용 중지하려면 다음을 수행합니다.

콘솔

Google Cloud 콘솔의 Security Command Center 설정에 있는 Security Health Analytics 페이지의 모듈 탭에서 감지기를 사용 설정 또는 중지할 수 있습니다. 감지기는 조직 수준 또는 프로젝트 수준에서 사용 설정 또는 중지할 수 있습니다.

gcloud

감지기(모듈이라고도 함)를 사용 설정하려면 gcloud alpha scc settings services modules enable 명령어를 실행합니다.

조직 수준에서 Security Command Center를 활성화한 경우 다음 명령어를 실행합니다.

gcloud alpha scc settings services modules enable \
    --organization=ORGANIZATION_ID \
    --service=SECURITY_HEALTH_ANALYTICS \
    --module=DETECTOR_NAME

다음을 바꿉니다.

  • ORGANIZATION_ID: 조직 ID입니다.
  • DETECTOR_NAME: 사용 설정할 감지기의 이름입니다.

프로젝트 수준에서 Security Command Center를 활성화한 경우 다음 명령어를 실행합니다.

gcloud alpha scc settings services modules enable \
    --project=PROJECT_ID \
    --service=SECURITY_HEALTH_ANALYTICS \
    --module=DETECTOR_NAME

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • DETECTOR_NAME: 사용 설정할 감지기의 이름입니다.

감지기를 사용 중지하려면 gcloud alpha scc settings services modules disable 명령어를 실행합니다.

조직 수준에서 Security Command Center를 활성화한 경우 다음 명령어를 실행합니다.

gcloud alpha scc settings services modules disable \
    --organization=ORGANIZATION_ID \
    --service=SECURITY_HEALTH_ANALYTICS \
    --module=DETECTOR_NAME

다음을 바꿉니다.

  • ORGANIZATION_ID: 조직 ID입니다.
  • DETECTOR_NAME: 사용 중지할 감지기의 이름입니다.

프로젝트 수준에서 Security Command Center를 활성화한 경우 다음 명령어를 실행합니다.

gcloud alpha scc settings services modules disable \
    --project=PROJECT_ID \
    --service=SECURITY_HEALTH_ANALYTICS \
    --module=DETECTOR_NAME

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • DETECTOR_NAME: 사용 중지할 감지기의 이름입니다.

Google Cloud 콘솔에서 발견 항목 필터링

대규모 조직에서는 검토, 분류, 추적을 위한 배포 전반에 걸쳐 많은 취약점 발견 항목이 발생할 수 있습니다. Google Cloud 콘솔의 Security Command Center 취약점발견 항목 페이지에서 사용 가능한 필터를 적용하면 조직 전체에서 심각도가 가장 높은 취약점을 중점적으로 확인하고, 애셋 유형, 프로젝트 등을 기준으로 취약점을 검토할 수 있습니다.

취약점 발견 항목 필터링에 대한 자세한 내용은 Security Command Center의 취약점 발견 항목 필터링을 참조하세요.

케이스로 발견 항목 관리

Security Command Center는 보안 운영 콘솔에서 심각도 수준이 HIGH 또는 CRITICAL인 취약점 및 구성 오류 발견 항목에 대해 케이스를 자동으로 개설합니다. 단일 케이스에 여러 관련된 발견 항목이 포함될 수 있습니다.

선호 티켓팅 시스템과 통합할 수 있는 케이스를 사용하여 소유자를 할당하고, 관련 정보를 검토하여 발견 항목의 조사 및 해결을 관리하고 플레이북을 통해 대응 워크플로를 자동화합니다.

발견 항목에 해당 케이스가 있으면 발견 항목의 세부정보 페이지에서 해당 케이스에 대한 링크를 찾을 수 있습니다. Google Cloud 콘솔의 발견 항목 페이지에서 발견 항목에 대한 세부정보 페이지를 엽니다. 또한 Google Cloud 콘솔의 위험 개요 페이지에서 미결 상태인 총 취약점 케이스 수를 확인할 수 있습니다.

케이스에 대한 자세한 내용은 케이스 개요를 참조하세요.

발견 항목 숨기기

Google Cloud 콘솔에서 발견 항목의 볼륨을 제어하려면 수동 또는 프로그래매틱 방식으로 개별 발견 항목을 숨기거나 정의한 필터에 따라 현재 이후 발견 항목을 자동으로 숨기는 숨기기 규칙을 만들 수 있습니다.

Google Cloud 콘솔에서 숨긴 발견 항목은 표시되지 않지만 감사 및 규정 준수 목적으로 계속 로깅됩니다. 언제든 숨겨진 발견 항목을 보고 숨기기 취소할 수 있습니다. 자세한 내용은 Security Command Center에서 발견 항목 숨기기를 참조하세요.

보안 표시를 사용하여 애셋 및 발견 항목 표시

보안 표시를 사용하면 Security Command Center의 발견 항목 및 애셋에 커스텀 속성을 추가할 수 있습니다. 보안 표시를 사용하면 프로덕션 프로젝트, 버그 및 이슈 추적 번호 등 높은 우선순위의 관심 영역을 식별할 수 있습니다.

애셋의 경우 Security Command Center에서 지원하는 애셋에만 보안 표시를 추가할 수 있습니다. 지원되는 애셋 목록은 Security Command Center의 지원되는 애셋 유형을 참조하세요.

허용 목록에 애셋 추가

권장되는 방법은 아니지만 Security Health Analytics 감지기가 애셋의 보안 발견 항목을 생성하지 않도록 애셋에 전용 보안 표시를 추가하여 필요 없는 발견 항목을 표시하지 않을 수도 있습니다.

발견 항목 볼륨을 제어하기 위해 권장되는 가장 효과적인 방법은 발견 항목 숨기기입니다. 격리된 애셋 또는 발견 항목이 허용되는 비즈니스 매개변수 내에 포함되어 검토할 필요가 없는 발견 항목을 숨깁니다.

애셋에 전용 보안 표시를 적용하면 Security Health Analytics의 허용 목록에 애셋이 추가되어 다음 일괄 스캔 중에 이러한 애셋의 발견 항목이 해결된 상태로 표시됩니다.

이 페이지 뒤에 나오는 허용 목록 작동 방법에 설명된 대로 전용 보안 표시는 발견 항목이 아니라 애셋에 직접 적용되어야 합니다. 발견 항목에 표시를 적용하면 기본 애셋이 계속 발견 항목을 생성할 수 있습니다.

허용 목록 작동 방식

각 Security Health Analytics 감지기에는 allow_FINDING_TYPE:true 형식의 허용 목록 전용 표시 유형이 있습니다. Security Command Center에서 지원되는 애셋에 이 전용 표시를 추가하면 감지 정책에서 애셋을 제외할 수 있습니다.

예를 들어 SSL_NOT_ENFORCED 발견 항목 유형을 제외하려면 관련 Cloud SQL 인스턴스에서 보안 표시 allow_ssl_not_enforced:true를 설정합니다. 지정된 감지기는 표시된 애셋에 대한 발견 항목을 생성하지 않습니다.

발견 항목 유형의 전체 목록은 Security Health Analytics 감지기 목록을 참조하세요. 보안 표시 및 사용 기법에 대한 자세한 내용은 보안 표시 사용을 참조하세요.

애셋 유형

이 섹션에서는 다양한 자산에서 보안 표시가 작동하는 방식을 설명합니다.

  • 허용 목록 애셋: Cloud Storage 버킷 또는 방화벽과 같은 전용 표시를 애셋에 추가하면 다음 일괄 스캔이 실행될 때 연결된 발견 항목이 해결됨으로 표시됩니다. 감지기는 표시가 삭제될 때까지 애셋의 새로운 발견 항목을 생성하거나 기존 발견 항목을 업데이트하지 않습니다.

  • 허용 목록 프로젝트: 프로젝트 리소스에 표시를 추가하면 프로젝트 자체가 스캔되는 발견 항목, 대상, 리소스가 처리됩니다. 하지만 가상 머신이나 암호화 키와 같이 프로젝트에 포함된 애셋은 여전히 발견 항목을 생성할 수 있습니다. 이 보안 표시는 조직 수준에서 Security Command Center 프리미엄 등급을 활성화하는 경우에만 사용할 수 있습니다.

  • 허용 목록 폴더: 폴더 리소스에 표시를 추가하면 폴더 자체가 스캔되는 발견 항목 또는 대상, 리소스가 처리됩니다. 하지만 프로젝트를 포함하여 폴더 내에 포함된 애셋은 여전히 발견 항목을 생성할 수 있습니다. 이 보안 표시는 조직 수준에서 Security Command Center 프리미엄 등급을 활성화하는 경우에만 사용할 수 있습니다.

  • 여러 애셋을 지원하는 감지기: 감지기가 2개 이상의 애셋 유형을 지원하는 경우 각 애셋에 전용 표시를 적용해야 합니다. 예를 들어 KMS_PUBLIC_KEY 감지기는 CryptoKeyKeyRing Cloud Key Management Service 애셋을 지원합니다. allow_kms_public_key:true 표시를 CryptoKey 애셋에 적용하면 해당 애셋의 KMS_PUBLIC_KEY 발견 항목이 해결됩니다. 하지만 KeyRing 애셋에 대한 발견 항목은 계속 생성될 수 있습니다.

보안 표시는 일괄 스캔 중에만 업데이트되고 실시간 스캔에서는 업데이트되지 않습니다. 전용 보안 표시가 제거되어 애셋에 취약점이 있는 경우 표시가 제거되고 발견 항목이 기록되기까지 최대 24시간이 걸릴 수 있습니다.

특수 사례 감지기: 고객 제공 암호화 키

DISK_CSEK_DISABLED 감지기는 기본적으로 사용 설정되어 있지 않습니다. 이 감지기를 사용하려면 자체 관리형 암호화 키를 사용할 애셋을 표시해야 합니다.

특정 애셋에 DISK_CSEK_DISABLED 감지기를 사용 설정하려면 값이 true인 애셋에 보안 표시 enforce_customer_supplied_disk_encryption_keys를 적용합니다.

발견 항목 유형별로 활성 발견 항목 수 보기

Google Cloud 콘솔이나 Google Cloud CLI 명령어를 사용하여 발견 항목 유형을 기준으로 활성 발견 항목 수를 볼 수 있습니다.

콘솔

Google Cloud 콘솔을 사용하면 각 발견 항목 유형의 활성 발견 항목 수를 볼 수 있습니다.

발견 항목 유형별로 Security Health Analytics 발견 항목을 보려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 Security Command Center로 이동합니다.

    Security Command Center로 이동

  2. Security Health Analytics 발견 항목을 표시하려면 취약점 페이지를 클릭합니다.

  3. 각 발견 항목 유형의 활성 결과 수를 기준으로 발견 항목을 정렬하려면 활성 열 헤더를 클릭합니다.

gcloud

gcloud CLI를 사용하여 모든 활성 발견 항목 수를 가져오려면 Security Command Center를 쿼리하여 Security Health Analytics 소스 ID를 가져옵니다. 그런 다음 소스 ID를 사용하여 활성 상태인 발견 항목 수를 쿼리합니다.

1단계: 소스 ID 가져오기

이 단계를 완료하려면 조직 ID가 필요합니다. 조직 ID를 가져오려면 gcloud organizations list를 실행하고 조직 이름 옆에 있는 번호를 기록합니다.

Security Health Analytics 소스 ID를 가져오려면 다음 명령어를 실행합니다.

gcloud scc sources describe organizations/ORGANIZATION_ID \
    --source-display-name="Security Health Analytics"

Security Command Center API를 아직 사용 설정하지 않은 경우 사용 설정하라는 메시지가 표시됩니다. Security Command Center API가 사용 설정되면 이전 명령어를 다시 실행합니다. 이 명령어는 다음과 같은 출력을 표시합니다.

description: Scans for deviations from a GCP security baseline.
displayName: Security Health Analytics
name: organizations/ORGANIZATION_ID/sources/SOURCE_ID

다음 단계에서 사용할 SOURCE_ID를 확인합니다.

2단계: 활성 발견 항목 수 가져오기

이전 단계에서 기록해 둔 SOURCE_ID를 사용하여 Security Health Analytics의 발견 항목을 필터링합니다. 다음 gcloud CLI 명령어는 카테고리별 발견 항목 수를 반환합니다.

조직 수준에서 Security Command Center를 활성화한 경우 다음 명령어를 실행합니다.

gcloud scc findings group organizations/ORGANIZATION_ID/sources/SOURCE_ID \
    --group-by=category --page-size=PAGE_SIZE

프로젝트 수준에서 Security Command Center를 활성화한 경우 다음 명령어를 실행합니다.

gcloud scc findings group projects/PROJECT_ID/sources/SOURCE_ID \
    --group-by=category --page-size=PAGE_SIZE

페이지 크기를 최대 1,000까지 설정할 수 있습니다. 이 명령어는 조직의 결과와 함께 다음과 같은 출력을 표시해야 합니다.

groupByResults:
- count: '1'
  properties:
    category: MFA_NOT_ENFORCED
- count: '3'
  properties:
    category: ADMIN_SERVICE_ACCOUNT
- count: '2'
  properties:
    category: API_KEY_APIS_UNRESTRICTED
- count: '1'
  properties:
    category: API_KEY_APPS_UNRESTRICTED
- count: '2'
  properties:
    category: API_KEY_EXISTS
- count: '10'
  properties:
    category: AUDIT_CONFIG_NOT_MONITORED
- count: '10'
  properties:
    category: AUDIT_LOGGING_DISABLED
- count: '1'
  properties:
    category: AUTO_UPGRADE_DISABLED
- count: '10'
  properties:
    category: BUCKET_IAM_NOT_MONITORED
- count: '10'
  properties:
    category: BUCKET_LOGGING_DISABLED
nextPageToken: TOKEN
readTime: '2023-08-05T21:56:13.862Z'
totalSize: 50

프로그래매틱 방식으로 발견 항목 관리

Google Cloud CLI를 Security Command Center SDK와 함께 사용하면 Google Cloud 콘솔에서 Security Command Center로 수행할 수 있는 거의 모든 작업을 자동화할 수 있습니다. gcloud CLI를 사용하여 여러 발견 항목을 구제할 수도 있습니다. 자세한 내용은 각 발견 항목에 설명된 리소스 유형 문서를 참조하세요.

프로그래매틱 방식으로 애셋을 내보내거나 나열하려면 Cloud Asset Inventory API를 사용합니다. 자세한 내용은 애셋 기록 및 메타데이터 내보내기를 참조하세요.

Security Command Center API의 애셋 메서드 및 필드는 지원 중단되었으며 2024년 6월 26일 이후에 삭제됩니다.

삭제될 때까지 2023년 6월 26일 이전에 Security Command Center를 활성화한 사용자는 Security Command Center API의 애셋 메서드를 사용하여 애셋을 나열할 수 있지만 이러한 메서드는 Security Command Center에서 지원되는 애셋만 지원합니다.

지원 중단된 애셋 API 메서드 사용에 대한 자세한 내용은 애셋 나열을 참조하세요.

서비스 경계로 보호되는 프로젝트 스캔

이 기능은 조직 수준에서 Security Command Center 프리미엄 등급을 활성화한 경우에만 사용할 수 있습니다.

특정 프로젝트 및 서비스에 대한 액세스를 차단하는 서비스 경계가 있으면 Security Command Center 서비스 계정에 해당 서비스 경계에 대한 인바운드 액세스 권한을 부여해야 합니다. 그렇지 않으면 Security Health Analytics에서 보호된 프로젝트 및 서비스와 관련된 발견 항목을 생성할 수 없습니다.

서비스 계정 식별자는 다음 형식의 이메일 주소입니다.

service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com

ORGANIZATION_ID를 조직의 숫자 식별자로 바꾸세요.

서비스 계정에 서비스 경계에 대한 인바운드 액세스 권한을 부여하려면 다음 단계를 수행합니다.

  1. VPC 서비스 제어로 이동합니다.

    VPC 서비스 제어로 이동

  2. 툴바에서 Google Cloud 조직을 선택합니다.

    프로젝트 선택기

  3. 드롭다운 목록에서 액세스 권한을 부여할 서비스 경계가 포함된 액세스 정책을 선택합니다.

    액세스 정책 목록

    액세스 정책과 연결된 서비스 경계가 목록에 표시됩니다.

  4. 서비스 경계 이름을 클릭합니다.

  5. 경계 수정을 클릭합니다.

  6. 탐색 메뉴에서 인그레스 정책을 클릭합니다.

  7. 규칙 추가를 클릭합니다.

  8. 다음과 같이 규칙을 구성합니다.

    API 클라이언트의 FROM 속성

    1. 소스모든 소스를 선택합니다.
    2. ID에서 선택한 ID를 선택합니다.
    3. 사용자/서비스 계정 추가 필드에서 선택을 클릭합니다.
    4. 서비스 계정 이메일 주소를 입력합니다. 조직 수준 및 프로젝트 수준 서비스 계정이 모두 있는 경우 둘 다 추가합니다.
    5. 저장을 클릭합니다.

    GCP 서비스/리소스의 TO 속성

    1. 프로젝트모든 프로젝트를 선택합니다.

    2. 서비스에서 모든 서비스를 선택하거나 Security Health Analytics에 필요한 다음 개별 서비스를 각각 선택합니다.

      • BigQuery API
      • Binary Authorization API
      • Cloud Logging API
      • Cloud Monitoring API
      • Compute Engine API
      • Kubernetes Engine API

    서비스 경계에서 필수 서비스에 대한 액세스를 제한하면 Security Health Analytics가 이 서비스에 대한 발견 항목을 생성할 수 없습니다.

  9. 탐색 메뉴에서 저장을 클릭합니다.

자세한 내용은 인그레스 및 이그레스 정책 구성을 참조하세요.

다음 단계