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 서비스에서 생성됩니다.
사용 가능한 로그 유형은 다음과 같습니다.
- Cloud 감사 로그
- Cloud NAT
- Cloud DNS
- Cloud Next Generation Firewall
- Cloud Intrusion Detection System
- Cloud Load Balancing
- Cloud SQL
- Windows 이벤트 로그
- Linux syslog
- Linux Sysmon
- Zeek
- Google Kubernetes Engine
- 감사 데몬(
auditd
) - Apigee
- reCAPTCHA Enterprise
- Cloud Run 로그(
GCP_RUN
)
Compute Engine 또는 Google Kubernetes Engine(GKE) 어플라이언스 로그(예: Apache, Nginx 또는 IIS)를 수집하려면 옵션 2를 사용합니다. 또한 직접 처리(옵션 1)를 사용하여 지원하도록 향후 개선 사항에 대한 피드백을 제공하려면 Google Security Operations에서 지원 티켓을 제출합니다.
특정 로그 필터와 추가 수집 세부정보는 Google Security Operations에 Google Cloud 로그 내보내기를 참조하세요.
컨텍스트 보강에 사용되는 Google Cloud 애셋 메타데이터를 전송할 수도 있습니다. 자세한 내용은 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 인스턴스로 수집하려면 먼저 다음 단계를 완료해야 합니다.
Google Security Operations 섹션에 액세스하는 데 필요한 다음 IAM 역할을 부여합니다.
- Chronicle 서비스 관리자(
roles/chroniclesm.admin
): 모든 활동을 수행하기 위한 IAM 역할입니다. - Chronicle 서비스 뷰어(
roles/chroniclesm.viewer
): 수집 상태만 보기 위한 IAM 역할입니다. - 보안 센터 관리자 편집자(
roles/securitycenter.adminEditor
): Cloud 애셋 메타데이터 수집을 사용 설정하기 위해 필요합니다.
- Chronicle 서비스 관리자(
Cloud 애셋 메타데이터를 사용 설정하려면 Security Command Center 표준 등급, Security Command Center 프리미엄 등급 또는 Security Command Center Enterprise 등급도 사용 설정해야 합니다. 자세한 내용은 조직 수준 활성화 개요를 참고하세요.
IAM 역할 부여
Google Cloud Console 또는 gcloud CLI를 사용하여 필요한 IAM 역할을 부여할 수 있습니다.
Google Cloud Console을 사용하여 IAM 역할을 부여하려면 다음 단계를 완료하세요.
연결하려는 Google Cloud 조직에 로그온하고 제품 > IAM 및 관리자 > IAM을 사용해서 IAM 화면으로 이동합니다.
IAM 화면에서 사용자를 선택하고 구성원 수정을 클릭합니다.
권한 수정 화면에서 다른 역할 추가를 클릭하고 Google Security Operations를 검색하여 IAM 역할을 찾습니다.
역할을 할당한 후 저장을 클릭합니다.
Google Cloud CLI를 사용하여 IAM 역할을 부여하려면 다음 단계를 완료하세요.
올바른 조직에 로그인되어 있는지 확인합니다.
gcloud init
명령어를 실행하여 이를 확인할 수 있습니다.gcloud
를 사용해서 Chronicle 서비스 관리자 IAM 역할을 부여하려면 다음 명령어를 실행합니다.gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member "user:USER_EMAIL" \ --role roles/chroniclesm.admin
다음을 바꿉니다.
ORGANIZATION_ID
: 숫자로 된 조직 ID입니다.USER_EMAIL
: 사용자의 이메일 주소입니다.
gcloud
를 사용해서 Chronicle 서비스 뷰어 IAM 역할을 부여하려면 다음 명령어를 실행합니다.gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member "user:USER_EMAIL" \ --role roles/chroniclesm.viewer
gcloud
를 사용해서 보안 센터 관리자 편집자 역할을 부여하려면 다음 명령어를 실행합니다.gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member "user:USER_EMAIL" \ --role roles/securitycenter.adminEditor`
Google Cloud에서 직접 수집 사용 설정
Google Cloud에서 직접 수집을 사용 설정하는 단계는 Google Security Operations 인스턴스가 바인딩된 프로젝트의 소유권에 따라 다릅니다.
사용자가 소유하고 관리하는 프로젝트에 결합된 경우 고객이 프로젝트를 소유한 경우 수집 구성의 단계를 따르세요. 이 접근 방식을 사용하면 두 개 이상의 Google Cloud 조직에서 데이터 수집을 구성할 수 있습니다.
Google Cloud에서 소유하고 관리하는 프로젝트에 결합된 경우 Google Cloud가 프로젝트를 소유한 경우 수집 구성의 단계를 따르세요.
직접 수집을 구성하면 Google Cloud 데이터가 Google Security Operations로 전송됩니다. Google Security Operations 분석 기능을 사용하여 보안 관련 문제를 조사할 수 있습니다.
고객이 프로젝트를 소유한 경우 수집 구성
사용자가 Google Cloud 프로젝트를 소유한 경우 다음 단계를 따르세요.
동일한 프로젝트 수준 구성 페이지를 사용하여 여러 조직에서 직접 수집을 구성할 수 있습니다. 새 구성을 만들고 기존 구성을 수정하려면 다음 단계를 따르세요.
소유한 프로젝트에 바인딩되도록 기존 Google Security Operations 인스턴스를 마이그레이션하는 경우, 마이그레이션 전에 직접 수집을 구성한 경우 직접 수집 구성도 함께 마이그레이션됩니다.
- Google Cloud 콘솔에서 Google SecOps > 처리 설정 페이지로 이동합니다.
Google SecOps 페이지로 이동 - Google Security Operations 인스턴스에 바인딩된 프로젝트를 선택합니다.
조직 메뉴에서 로그를 내보낼 조직을 선택합니다. 메뉴에는 액세스 권한이 있는 조직이 표시됩니다. 이 목록에는 Google SecOps 인스턴스에 연결되지 않은 조직이 포함될 수 있습니다. 다른 Google SecOps 인스턴스에 데이터를 전송하는 조직은 구성할 수 없습니다.
Google Cloud 수집 설정 섹션에서 Google Security Operations으로 데이터 전송 전환 버튼을 클릭하여 로그를 Google Security Operations로 전송하도록 사용 설정합니다.
다음 옵션 중 하나 이상을 선택하여 Google Security Operations로 전송되는 데이터 유형을 정의합니다.
- Google Cloud Logging: 이 옵션에 대한 자세한 내용은 Google Cloud 로그 내보내기를 참고하세요.
- Cloud 애셋 메타데이터: 이 옵션에 대한 자세한 내용은 Google Cloud 애셋 메타데이터 내보내기를 참고하세요.
- Security Center Premium 발견 항목: 이 옵션에 대한 자세한 내용은 Security Center Premium 발견 항목 내보내기를 참고하세요.
고객 내보내기 필터 설정 섹션에서 Google Security Operations로 내보낸 Cloud Logging 데이터를 맞춤설정하는 내보내기 필터를 정의합니다. 내보내는 로그 데이터 유형은 Google Cloud 로그 내보내기를 참고하세요.
추가 조직에서 동일한 Google Security Operations 인스턴스로 로그를 수집하려면 조직 메뉴에서 조직을 선택한 다음 내보낼 데이터 유형 및 내보내기 필터를 정의하는 단계를 반복합니다. 조직 메뉴에 여러 조직이 나열됩니다.
Google Cloud Cloud Data Loss Prevention 데이터를 Google Security Operations로 내보내려면 Google Cloud Cloud Data Loss Prevention 데이터를 Google Security Operations로 내보내기를 참고하세요.
Google Cloud가 프로젝트를 소유한 경우 수집 구성
Google Cloud에서 프로젝트를 소유한 경우 다음을 수행하여 Google Cloud 조직에서 Google Security Operations 인스턴스로 직접 수집을 구성합니다.
- Google Cloud 콘솔에서 Google SecOps > 개요 > 수집 탭으로 이동합니다. Google SecOps 수집 탭으로 이동
- 조직 수집 설정 관리 버튼을 클릭합니다.
- 프로젝트에서 페이지를 볼 수 없음 메시지가 표시되면 조직을 선택한 다음 선택을 클릭합니다.
- 일회용 Google Security Operations 액세스 코드 필드에 일회용 액세스 코드를 입력합니다.
- Google Security Operations의 Google Cloud 데이터 사용에 대한 이용약관에 동의합니다 체크박스를 선택합니다.
- Google SecOps 연결을 클릭합니다.
- 조직의 전역 수집 설정 탭으로 이동합니다.
다음 옵션 중 하나 이상을 사용 설정하여 전송할 데이터 유형을 선택합니다.
- Google Cloud Logging: 이 옵션에 대한 자세한 내용은 Google Cloud 로그 내보내기를 참고하세요.
- Cloud 애셋 메타데이터: 이 옵션에 대한 자세한 내용은 Google Cloud 애셋 메타데이터 내보내기를 참고하세요.
- Security Center Premium 발견 항목: 이 옵션에 대한 자세한 내용은 Security Center Premium 발견 항목 내보내기를 참고하세요.
내보내기 필터 설정 탭으로 이동합니다.
고객 내보내기 필터 설정 섹션에서 Google Security Operations로 내보낸 Cloud Logging 데이터를 맞춤설정하는 내보내기 필터를 정의합니다. 내보내는 로그 데이터 유형은 Google Cloud 로그 내보내기를 참고하세요.
Google Cloud Cloud Data Loss Prevention 데이터를 Google Security Operations로 내보내려면 Google Cloud Cloud Data Loss Prevention 데이터를 Google Security Operations로 내보내기를 참고하세요.
Google Cloud 로그 내보내기
Cloud Logging을 사용 설정한 후 로그 유형 및 Google Security Operations 수집 라벨별로 나열된 다음 유형의 Google Cloud 데이터를 Google Security Operations 인스턴스로 내보낼 수 있습니다:
- Cloud 감사 로그(
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")
- Cloud NAT 로그(
GCP_CLOUD_NAT
):log_id("compute.googleapis.com/nat_flows")
- Cloud DNS 로그(
GCP_DNS
):log_id("dns.googleapis.com/dns_queries")
(기본 필터로 내보냄)
- Cloud 차세대 방화벽 로그(
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")
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
: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로 내보내려면 Cloud 로그 사용 설정 전환 버튼을 사용 설정으로 설정합니다. 지원되는 Google Cloud 로그 유형은 Google Security Operations 인스턴스로 내보낼 수 있습니다.
사용할 로그 필터에 대한 권장사항은 Google Cloud의 보안 로그 분석을 참조하세요.
필터 내보내기 설정
다음 섹션에서는 내보내기 필터에 관한 정보를 제공합니다.
커스텀 내보내기 필터 설정
기본적으로 Cloud 감사 로그(관리자 활동 및 시스템 이벤트)와 Cloud DNS 로그는 Google Security Operations 인스턴스로 전송됩니다. 하지만 특정 유형의 로그를 포함하거나 제외하도록 내보내기 필터를 맞춤설정할 수 있습니다. 내보내기 필터는 Google 로깅 쿼리 언어를 기반으로 합니다.
로그의 커스텀 필터를 정의하려면 다음 단계를 완료하세요.
로깅 쿼리 언어를 사용하는 커스텀 필터를 만들어 필터를 정의합니다. 이 유형의 필터를 정의하는 방법에 관한 자세한 내용은 Logging 쿼리 언어를 참고하세요.
Google Cloud 콘솔에서 Google SecOps 페이지로 이동하여 프로젝트를 선택합니다.
Google Security Operations 페이지로 이동내보내기 필터 설정 탭에 제공된 링크를 사용하여 로그 탐색기를 실행합니다.
새 쿼리를 쿼리 필드에 복사하고 쿼리 실행을 클릭하여 테스트합니다.
새 쿼리를 로그 탐색기 > 쿼리 필드에 복사한 다음 쿼리 실행을 클릭하여 테스트합니다.
로그 탐색기에 표시된 로그가 Google Security Operations로 내보내려는 로그와 정확하게 일치하는지 확인합니다. 필터가 준비되면 Google Security Operations의 커스텀 내보내기 필터 설정 섹션에 필터를 복사합니다.
Google SecOps 페이지의 커스텀 내보내기 필터 설정 섹션으로 돌아갑니다.
커스텀 내보내기 필터 설정 섹션
필터 내보내기 필드의 수정 아이콘을 클릭하고 필터를 필드에 붙여넣습니다.
저장 버튼을 클릭합니다. 새 커스텀 필터는 Google Security Operations 인스턴스로 내보낸 모든 새 로그에 적용됩니다.
기본값으로 재설정을 클릭하여 내보내기 필터를 기본 버전으로 재설정할 수 있습니다. 먼저 커스텀 필터의 사본을 저장해야 합니다.
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 인스턴스로 내보내지 못하도록 포함하거나 제외하는 방법을 보여줍니다.
내보내기 필터 예시: 추가 로그 유형 포함
다음 내보내기 필터는 기본 로그 외에도 액세스 투명성 로그를 내보냅니다.
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")
내보내기 필터 예시: 특정 프로젝트의 추가 로그 포함
다음 내보내기 필터는 기본 로그 외에도 특정 프로젝트의 액세스 투명성 로그를 내보냅니다.
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"
내보내기 필터 예시: 특정 폴더의 추가 로그 포함
다음 내보내기 필터는 기본 로그 외에도 특정 폴더의 액세스 투명성 로그를 내보냅니다.
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"
내보내기 필터 예시: 특정 프로젝트에서 로그 제외
다음 내보내기 필터는 특정 프로젝트를 제외하고 전체 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 Cloud 애셋 메타데이터 내보내기
Cloud 애셋 인벤토리에서 Google Cloud 애셋 메타데이터를 Google Security Operations로 내보낼 수 있습니다. 이 애셋 메타데이터는 Cloud 애셋 인벤토리에서 가져온 것이며 다음을 포함하여 애셋, 리소스, ID에 대한 정보로 구성됩니다.
- 환경
- 위치
- 영역
- 하드웨어 모델
- 리소스와 ID 간의 액세스 제어 관계
다음 유형의 Google Cloud 애셋 메타데이터가 Google Security Operations 인스턴스로 내보내집니다.
GCP_BIGQUERY_CONTEXT
GCP_COMPUTE_CONTEXT
GCP_IAM_CONTEXT
GCP_IAM_ANALYSIS
GCP_STORAGE_CONTEXT
GCP_CLOUD_FUNCTIONS_CONTEXT
GCP_SQL_CONTEXT
GCP_NETWORK_CONNECTIVITY_CONTEXT
GCP_RESOURCE_MANAGER_CONTEXT
다음은 Google Cloud 애셋 메타데이터의 예시입니다.
- 애플리케이션 이름—
Google-iamSample/0.1
- 프로젝트 이름—
projects/my-project
Google Cloud 애셋 메타데이터를 Google Security Operations로 내보내려면 Cloud 애셋 메타데이터 전환 버튼을 사용 설정으로 설정합니다.
컨텍스트 파서에 대한 자세한 내용은 Google Security Operations 컨텍스트 파서를 참고하세요.
Security Command Center 발견 항목 내보내기
Security Command Center 프리미엄 Event Threat Detection 발견 항목과 기타 모든 발견 항목을 Google Security Operations로 내보낼 수 있습니다.
ETD 발견 항목에 대한 자세한 내용은 Event Threat Detection 개요를 참고하세요.
Security Command Center 프리미엄 등급 발견 항목을 Google Security Operations로 내보내려면 Security Command Center 프리미엄 발견 항목 전환 버튼을 사용 설정으로 설정합니다.
Google Security Operations로 Sensitive Data Protection 데이터 내보내기
Sensitive Data Protection 애셋 메타데이터(DLP_CONTEXT
)를 수집하려면 다음을 수행합니다.
- 이 문서의 이전 섹션을 완료하여 Google Cloud 데이터 수집을 사용 설정합니다.
- 데이터 프로파일링을 위해 Sensitive Data Protection을 구성합니다.
- 스캔 구성을 구성하여 Google Security Operations에 데이터 프로필을 게시합니다.
BigQuery 데이터의 데이터 프로필을 만드는 방법에 대한 자세한 내용은 Sensitive Data Protection 문서를 참조하세요.
Google Cloud 데이터 수집 사용 중지
Google Cloud에서 데이터를 직접 수집하지 못하도록 하는 단계는 Google Security Operations의 구성 방식에 따라 다릅니다. 다음 중 하나를 선택합니다.
Google Security Operations 인스턴스가 소유하고 관리하는 프로젝트에 바인딩된 경우 다음 단계를 수행하세요.
- Google Security Operations 인스턴스에 바인딩된 프로젝트를 선택합니다.
- Google Cloud 콘솔에서 Google SecOps 아래의 수집 탭으로 이동합니다.
Google SecOps 페이지로 이동 - 조직 메뉴에서 로그를 내보낼 조직을 선택합니다.
- Google Security Operations에 데이터 전송 전환 버튼을 사용 중지됨으로 설정합니다.
- 여러 조직에서 데이터 내보내기를 구성한 경우 이를 사용 중지하려면 각 조직에 대해 다음 단계를 수행하세요.
Google Security Operations 인스턴스가 Google Cloud에서 소유하고 관리하는 프로젝트에 바인딩된 경우 다음 단계를 수행하세요.
- Google Cloud 콘솔에서 Google SecOps > 수집 페이지로 이동합니다.
Google SecOps 페이지로 이동 - 리소스 메뉴에서 Google Security Operations 인스턴스에 바인딩되어 있고 데이터를 수집하는 조직을 선택합니다.
- Google Security Operations 연결을 해제하고 Google Security Operations로 Google Cloud 로그 전송을 중지합니다 체크박스를 선택합니다.
- Google Security Operations 연결 해제를 클릭합니다.
- Google Cloud 콘솔에서 Google SecOps > 수집 페이지로 이동합니다.
문제 해결
- Google Security Operations 인스턴스에서 리소스와 ID 간의 관계가 누락된 경우 Google Security Operations로 로그 데이터를 직접 수집하는 기능을 사용 중지했다가 다시 사용 설정합니다.
- Google Cloud 애셋 메타데이터는 주기적으로 Google Security Operations에 수집됩니다. 변경사항이 Google Security Operations UI 및 API에 몇 시간 동안 표시되도록 허용합니다.
다음 단계
- Google Security Operations 담당자가 제공한 고객별 URL을 사용하여 Google Security Operations 인스턴스 열기
- Google Security Operations 자세히 알아보기