Google Security Operations에 Google Cloud 데이터 수집

이 페이지에서는 Google Security Operations에 Google Cloud 데이터 수집을 사용 설정하고 중지하는 방법을 보여줍니다. Google Security Operations를 사용하면 데이터 보관 기간에 따라 몇 달 또는 그 이상 동안 집계된 회사 보안 정보를 저장, 검색, 검사할 수 있습니다.

개요

Google Cloud 데이터를 Google Security Operations로 전송하는 옵션에는 두 가지가 있습니다. 적절한 옵션 선택은 로그 유형에 따라 달라집니다.

옵션 1: 직접 수집

Google Cloud에서 특수 Cloud Logging 필터를 구성하여 특정 로그 유형을 실시간으로 Google Security Operations에 보낼 수 있습니다. 이러한 로그는 Google Cloud 서비스에서 생성됩니다.

Google Security Operations는 Google Cloud의 프로젝트 수준에서 제외된 경우에도 로그를 수신하지만 로그 내보내기 필터와 조직 수준의 Google Cloud Logging 모두에 포함됩니다. Google Security Operations에서 로그를 제외하려면 Google Cloud에서 Google Security Operations 로그 내보내기 필터를 업데이트해야 합니다.

사용 가능한 로그 유형은 다음과 같습니다.

Compute Engine 또는 애플리케이션 로그(예: Apache, Nginx 또는 IIS)를 수집하려면 옵션 2를 사용합니다. 또한 옵션 1을 사용하여 로그 유형으로 지원하도록 향후 개선 사항에 대한 피드백을 제공하려면 Google Security Operations에서 지원 티켓을 제출합니다.

특정 로그 필터와 추가 수집 세부정보는 Google Security Operations에 Google Cloud 로그 내보내기를 참조하세요.

보강을 위해 컨텍스트로 사용할 Google Cloud 메타데이터를 추가로 Google Security Operations로 전송할 수도 있습니다. 자세한 내용은 Google Security Operations에 Google Cloud 애셋 메타데이터 내보내기를 참조하세요.

옵션 2: Google Cloud Storage

Cloud Logging은 예약 일정에 따라 Google Security Operations에서 가져올 Cloud Storage로 로그를 라우팅할 수 있습니다.

Google Security Operations에 맞게 Cloud Storage를 구성하는 방법에 대한 자세한 내용은 피드 관리: Cloud Storage를 참조하세요.

시작하기 전에

Google Cloud 데이터를 Google Security Operations 인스턴스로 수집하려면 먼저 다음 단계를 완료해야 합니다.

  1. Google Security Operations 담당자에게 문의하여 Google Cloud 데이터를 수집하는 데 필요한 일회용 액세스 코드를 받습니다.

  2. Google Security Operations 섹션에 액세스하는 데 필요한 다음 IAM 역할을 부여합니다.

    • Chronicle 서비스 관리자(roles/chroniclesm.admin): 모든 활동을 수행하기 위한 IAM 역할입니다.
    • Chronicle 서비스 뷰어(roles/chroniclesm.viewer): 수집 상태만 보기 위한 IAM 역할입니다.
    • 보안 센터 관리자 편집자(roles/securitycenter.adminEditor): Cloud 애셋 메타데이터 수집을 사용 설정하기 위해 필요합니다.
  3. Cloud 애셋 메타데이터를 사용 설정하려면 Security Command Center 표준 등급 또는 Security Command Center 프리미엄 등급 Google Cloud 서비스도 사용 설정해야 합니다. 자세한 내용은 조직에 Security Command Center 활성화를 참조하세요.

IAM 역할 부여

Google Cloud 콘솔 또는 gcloud CLI를 사용하여 필요한 IAM 역할을 부여할 수 있습니다.

Google Cloud 콘솔을 사용하여 IAM 역할을 부여하려면 다음 단계를 완료하세요.

  1. 연결하려는 Google Cloud 조직에 로그온하고 제품 > IAM 및 관리자 > IAM을 사용해서 IAM 화면으로 이동합니다.
  2. IAM 화면에서 사용자를 선택하고 구성원 수정을 클릭합니다.

  3. 권한 수정 화면에서 다른 역할 추가를 클릭하고 Google Security Operations를 검색하여 IAM 역할을 찾습니다.

  4. 역할을 할당한 후 저장을 클릭합니다.

Google Cloud CLI를 사용하여 IAM 역할을 부여하려면 다음 단계를 완료하세요.

  1. 올바른 조직에 로그인되어 있는지 확인합니다. gcloud init 명령어를 실행하여 이를 확인할 수 있습니다.

  2. gcloud를 사용해서 Chronicle 서비스 관리자 IAM 역할을 부여하려면 다음 명령어를 실행합니다.

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
    --member "user:USER_EMAIL" \
    --role roles/chroniclesm.admin
    

    다음을 바꿉니다.

    • ORGANIZATION_ID: 숫자로 된 조직 ID입니다.
    • USER_EMAIL: 관리자의 이메일 주소입니다.
  3. gcloud를 사용하여 Google Security Operations 서비스 뷰어 IAM 역할을 부여하려면 다음 명령어를 실행합니다.

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
    --member "user:USER_EMAIL" \
    --role roles/chroniclesm.viewer
    
  4. gcloud를 사용해서 보안 센터 관리자 편집자 역할을 부여하려면 다음 명령어를 실행합니다.

     gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
     --member "user:USER_EMAIL" \
     --role roles/securitycenter.adminEditor`
    

Google Cloud 데이터 수집 사용 설정

Google Cloud 데이터는 Security Command Center 및 Google Security Operations 사이에서 비공개 내부 API를 통해 수집됩니다. 수집은 외부 네트워크에 연결되지 않으며 IP 주소를 사용하지 않습니다. Google은 Google Security Operations에서 Security Command Center에 제공한 일회용 코드를 통해 수행된 인증을 기반으로 Google Cloud 로그에 직접 액세스합니다.

Google Cloud 조직에서 Google Security Operations 인스턴스로 데이터 수집을 사용 설정하려면 다음 단계를 완료합니다.

  1. Google Cloud 콘솔의 Google Security Operations 페이지로 이동합니다.
    Google Security Operations 페이지로 이동

  2. 일회용 Google Security Operations 액세스 코드 필드에 일회용 액세스 코드를 입력합니다.

  3. Google Security Operations 사용에 동의하려면 Google Cloud 데이터의 Chronicle 사용 이용약관에 동의합니다 체크박스를 선택합니다.

  4. Google Security Operations 연결을 클릭합니다.

이제 Google Cloud 데이터가 Google Security Operations로 전송됩니다. Google Security Operations 분석 기능을 사용하여 보안 관련 문제를 조사할 수 있습니다. 다음 섹션에서는 Google Security Operations로 전송될 Google Cloud 데이터의 유형을 조정하는 방법을 설명합니다.

Google Security Operations로 Google Cloud 로그 내보내기

다음 유형의 Google Cloud 데이터를 Google Security Operations 인스턴스로 내보낼 수 있습니다.

  • GCP_CLOUDAUDIT:
    • log_id("cloudaudit.googleapis.com/activity")(기본 필터로 내보냄)
    • log_id("cloudaudit.googleapis.com/system_event")(기본 필터로 내보냄)
    • log_id("cloudaudit.googleapis.com/policy")
    • log_id("cloudaudit.googleapis.com/access_transparency")
  • GCP_CLOUD_NAT:
    • log_id("compute.googleapis.com/nat_flows")
  • GCP_DNS:
    • log_id("dns.googleapis.com/dns_queries")(기본 필터로 내보냄)
  • GCP_FIREWALL:
    • log_id("compute.googleapis.com/firewall")
  • GCP_IDS:
    • log_id("ids.googleapis.com/threat")
    • log_id("ids.googleapis.com/traffic")
  • GCP_LOADBALANCING:
    • log_id("requests")
    • log_id("loadbalancing.googleapis.com/external_regional_requests")
    • log_id("networksecurity.googleapis.com/network_dos_attack_mitigations")
    • log_id("networksecurity.googleapis.com/dos_attack")
    • 여기에는 Google Cloud Armor 및 Cloud Load Balancing의 로그가 포함됩니다.
  • GCP_CLOUDSQL:
    • log_id("cloudsql.googleapis.com/mysql-general.log")
    • log_id("cloudsql.googleapis.com/mysql.err")
    • log_id("cloudsql.googleapis.com/postgres.log")
    • log_id("cloudsql.googleapis.com/sqlagent.out")
    • log_id("cloudsql.googleapis.com/sqlserver.err")
  • NIX_SYSTEM:
    • log_id("syslog")
    • log_id("authlog")
    • log_id("securelog")
  • LINUX_SYSMON:
    • log_id("sysmon.raw")
  • WINEVTLOG:
    • log_id("winevt.raw")
    • log_id("windows_event_log")
  • BRO_JSON:
    • log_id("zeek_json_streaming_conn")
    • log_id("zeek_json_streaming_dhcp")
    • log_id("zeek_json_streaming_dns")
    • log_id("zeek_json_streaming_http")
    • log_id("zeek_json_streaming_ssh")
    • log_id("zeek_json_streaming_ssl")
  • KUBERNETES_NODE:
    • log_id("events")
    • log_id("stdout")
    • log_id("stderr")
  • AUDITD:
    • log_id("audit_log")
  • GCP_APIGEE_X:
    • log_id("apigee-logs")
    • logName =~ "^projects/[\w\-]+/logs/apigee\.googleapis\.com[\w\-]*$"
    • 필요에 따라 로그 필터의 정규 표현식 조정
  • GCP_RECAPTCHA_ENTERPRISE:
    • log_id("recaptchaenterprise.googleapis.com/assessment")
    • log_id("recaptchaenterprise.googleapis.com/annotation")
  • GCP_RUN:
    • log_id("run.googleapis.com/stderr")
    • log_id("run.googleapis.com/stdout")
    • log_id("run.googleapis.com/requests")
    • log_id("run.googleapis.com/varlog/system")
  • GCP_NGFW_ENTERPRISE:
    • log_id("networksecurity.googleapis.com/firewall_threat")

Google Cloud 로그를 Google Security Operations로 내보내려면 Google Cloud 로그 전환 버튼을 사용 설정으로 설정합니다. 위에 나열된 모든 Google Cloud 로그 유형을 Google Security Operations 인스턴스로 내보냅니다.

사용할 로그 필터에 대한 권장사항은 Google Cloud의 보안 로그 분석을 참조하세요.

필터 설정 내보내기

기본적으로 Cloud 감사 로그(관리자 활동 및 시스템 이벤트)와 Cloud DNS 로그는 Google Security Operations 계정으로 전송됩니다. 하지만 특정 유형의 로그를 포함하거나 제외하도록 내보내기 필터를 맞춤설정할 수 있습니다. 내보내기 필터는 Google 로깅 쿼리 언어를 기반으로 합니다.

로그의 커스텀 필터를 정의하려면 다음 단계를 완료하세요.

  1. 로깅 쿼리 언어를 사용하는 커스텀 필터를 만들어 필터를 정의합니다. 다음 문서에서는 이 유형의 필터를 정의하는 방법을 설명합니다. /logging/docs/view/logging-query-language

  2. 내보내기 필터 설정 탭에 제공된 링크를 사용하여 로그 탐색기로 이동하여 새 쿼리를 쿼리 필드에 복사하고 쿼리 실행을 클릭하여 테스트합니다.

    로그 탐색기에 표시된 로그가 Google Security Operations로 내보내려는 로그와 정확하게 일치하는지 확인합니다.

내보내기 필터 설정 탭에서 다음 단계를 완료합니다.

  1. 필터가 준비되면 수정 아이콘을 클릭하고 내보내기 필터 필드에 필터를 붙여넣습니다.

  2. 커스텀 필터 저장을 클릭합니다. 새 커스텀 필터는 Google Security Operations 계정으로 내보낸 모든 새 로그에 적용됩니다.

  3. 기본값으로 재설정을 클릭하여 내보내기 필터를 기본 버전으로 재설정할 수 있습니다. 먼저 커스텀 필터의 사본을 저장해야 합니다.

Cloud 감사 로그 필터 조정

Cloud 감사 데이터 액세스 로그는 많은 큰 위협 감지 값 없이 대량의 로그를 생성할 수 있습니다. 이러한 로그를 Google Security Operations로 전송할 경우 루틴 활동으로 생성된 로그를 필터링해야 합니다.

다음 내보내기 필터는 데이터 액세스 로그를 캡처하고 Cloud Storage 및 Cloud SQL의 읽기 및 나열 작업과 같은 대량 이벤트를 제외합니다.

  ( `log_id("cloudaudit.googleapis.com/data_access")`
  AND NOT protoPayload.methodName =~ "^storage\.(buckets|objects)\.(get|list)$"
  AND NOT protoPayload.request.cmd = "select" )

Cloud 감사 데이터 액세스 로그 조정에 대한 자세한 내용은 여기를 참조하세요.

내보내기 필터 예시

다음 내보내기 필터 예시에서는 특정 유형의 로그를 Google Security Operations 계정으로 내보내지 못하도록 포함하거나 제외하는 방법을 보여줍니다.

내보내기 필터 예시 1: 추가 로그 유형 포함

다음 내보내기 필터는 기본 로그 외에도 액세스 투명성 로그를 내보냅니다.

log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
log_id("cloudaudit.googleapis.com/access_transparency")

내보내기 필터 예시 2: 특정 프로젝트의 추가 로그 포함

다음 내보내기 필터는 기본 로그 외에도 특정 프로젝트의 액세스 투명성 로그를 내보냅니다.

log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
logName = "projects/my-project-id/logs/cloudaudit.googleapis.com%2Faccess_transparency"

내보내기 필터 예시 3: 특정 폴더의 추가 로그 포함

다음 내보내기 필터는 기본 로그 외에도 특정 폴더의 액세스 투명성 로그를 내보냅니다.

log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event") OR
logName = "folders/my-folder-id/logs/cloudaudit.googleapis.com%2Faccess_transparency"

내보내기 필터 예시 4: 특정 프로젝트에서 로그 제외

다음 내보내기 필터는 특정 프로젝트를 제외하고 전체 Google Cloud 조직에서 기본 로그를 내보냅니다.

(log_id("dns.googleapis.com/dns_queries") OR
log_id("cloudaudit.googleapis.com/activity") OR
log_id("cloudaudit.googleapis.com/system_event")) AND
(NOT logName =~ "^projects/my-project-id/logs/.*$")

Google Security Operations로 Google Cloud 애셋 메타데이터 내보내기

Google Cloud 애셋 메타데이터를 Google Security Operations로 내보낼 수 있습니다. 이 애셋 메타데이터는 Google Cloud 애셋 인벤토리에서 가져온 것이며 다음을 포함하여 애셋, 리소스, ID에 대한 정보로 구성됩니다.

  • 환경
  • 위치
  • 영역
  • 하드웨어 모델
  • 리소스와 ID 간의 액세스 제어 관계

다음은 Google Security Operations 계정으로 내보낼 구체적인 Google Cloud 애셋 메타데이터 유형입니다.

  • GCP_BIGQUERY_CONTEXT
  • GCP_CLOUD_FUNCTIONS_CONTEXT
  • GCP_COMPUTE_CONTEXT
  • GCP_IAM_CONTEXT
  • GCP_IAM_ANALYSIS
  • GCP_KUBERNETES_CONTEXT
  • GCP_NETWORK_CONNECTIVITY_CONTEXT
  • GCP_RESOURCE_MANAGER_CONTEXT
  • GCP_SQL_CONTEXT
  • GCP_STORAGE_CONTEXT

다음은 Google Cloud 애셋 메타데이터의 몇 가지 예시입니다.

  • 애플리케이션 이름—Google-iamSample/0.1
  • 프로젝트 이름—projects/my-project

Resource Manager 컨텍스트 로그 필드의 예시로는 assetType, resource.data.name, resource.version이 있습니다.

리소스 유형에 대한 자세한 내용은 Cloud 애셋 인벤토리 지원 리소스 유형을 참조하세요.

Google Cloud 애셋 메타데이터를 Google Security Operations로 내보내려면 Cloud 애셋 메타데이터 전환 버튼을 사용 설정으로 설정합니다.

필드 매핑 참조 및 지원되는 리소스 유형

다음 표에는 Google Security Operations에서 지원하는 컨텍스트 파서, 해당 수집 라벨, 지원되는 리소스 유형이 나와 있습니다.

컨텍스트 파서의 매핑 참조 문서를 보려면 표에서 해당 컨텍스트 파서 이름을 클릭하세요.

서비스 이름 수집 라벨 지원되는 리소스 유형
BigQuery GCP_BIGQUERY_CONTEXT
Resource Manager GCP_RESOURCE_MANAGER_CONTEXT
Cloud SQL GCP_SQL_CONTEXT
Cloud Functions GCP_CLOUD_FUNCTIONS_CONTEXT
Identity and Access Management GCP_IAM_CONTEXT
Network Connectivity Center GCP_NETWORK_CONNECTIVITY_CONTEXT
Google Kubernetes Engine GCP_KUBERNETES_CONTEXT
Compute Engine GCP_COMPUTE_CONTEXT

Google Security Operations로 Security Command Center 발견 항목 내보내기

Security Command Center 프리미엄 Event Threat Detection(ETD) 발견 항목과 기타 모든 발견 항목을 Google Security Operations로 내보낼 수 있습니다.

Event Threat Detection 발견 항목에 대한 자세한 내용은 Security Command Center 개요를 참조하세요.

Security Command Center 프리미엄 등급 발견 항목을 Google Security Operations로 내보내려면 Security Command Center 프리미엄 발견 항목 전환 버튼을 사용 설정으로 설정합니다.

Google Security Operations로 Sensitive Data Protection 데이터 내보내기

Sensitive Data Protection 애셋 메타데이터(DLP_CONTEXT)를 수집하려면 다음을 수행합니다.

  1. 이 문서의 이전 섹션을 완료하여 Google Cloud 데이터 수집을 사용 설정합니다.
  2. 데이터 프로파일링을 위해 Sensitive Data Protection을 구성합니다.
  3. 스캔 구성을 구성하여 Google Security Operations에 데이터 프로필을 게시합니다.

BigQuery 데이터의 데이터 프로필을 만드는 방법에 대한 자세한 내용은 Sensitive Data Protection 문서를 참조하세요.

Google Cloud 데이터 수집 사용 중지

  1. Google Security Operations 연결을 해제하고 Google Security Operations로 Google Cloud 로그 전송을 중지합니다 체크박스를 선택합니다.

  2. Google Security Operations 연결 해제를 클릭합니다.

문제 해결

  • 리소스와 ID 간의 관계가 Google Security Operations 시스템에 누락된 경우에는 Google Security Operations로 Cloud 로그 내보내기 전환 버튼을 중지로 설정했다가 다시 사용 설정으로 설정합니다.
  • 애셋 메타데이터는 주기적으로 Google Security Operations에 수집됩니다. 변경사항이 Google Security Operations UI 및 API에 몇 시간 동안 표시되도록 허용합니다.

다음 단계

  • Google Security Operations 담당자가 제공한 고객별 URL을 사용하여 Google Security Operations 계정 열기
  • Google Security Operations 자세히 알아보기