GCP - Logging Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
이 서비스는 사용자가 GCP의 로그 데이터 및 이벤트를 저장, 검색, 분석, 모니터링 및 경고할 수 있도록 합니다.
Cloud Logging은 다른 GCP 서비스와 완전히 통합되어 모든 GCP 리소스의 로그를 위한 중앙 집중식 저장소를 제공합니다. App Engine, Compute Engine 및 Cloud Functions와 같은 다양한 GCP 서비스에서 로그를 자동으로 수집합니다. Cloud Logging 에이전트나 API를 사용하여 온프레미스 또는 다른 클라우드에서 실행되는 애플리케이션에도 Cloud Logging을 사용할 수 있습니다.
주요 기능:
로그 데이터 중앙 집중화: 다양한 출처에서 로그 데이터를 집계하여 애플리케이션 및 인프라에 대한 전체적인 뷰를 제공합니다.
실시간 로그 관리: 즉각적인 분석 및 대응을 위해 실시간으로 로그를 스트리밍합니다.
강력한 데이터 분석: 고급 필터링 및 검색 기능을 사용하여 대량의 로그 데이터를 신속하게 분석합니다.
BigQuery와의 통합: 로그를 BigQuery로 내보내어 상세 분석 및 쿼리를 수행합니다.
로그 기반 메트릭: 모니터링 및 경고를 위해 로그 데이터에서 사용자 정의 메트릭을 생성합니다.
기본적으로 싱크와 로그 기반 메트릭은 로그가 저장될 위치를 결정합니다.
Cloud Logging은 다양한 운영 요구에 맞게 매우 구성 가능하다:
로그 버킷 (웹에서의 로그 저장): Cloud Logging에서 로그 보존을 관리하기 위해 버킷을 정의하여 로그 항목이 얼마나 오래 보존되는지를 제어합니다.
기본적으로 _Default
와 _Required
버킷이 생성됩니다 (하나는 다른 하나가 기록하지 않는 내용을 기록합니다).
_Required는:
데이터의 보존 기간은 버킷별로 구성되며 최소 1일 이상이어야 합니다. 그러나 _Required의 보존 기간은 400일이며 수정할 수 없습니다.
로그 버킷은 Cloud Storage에서 볼 수 없습니다.
로그 싱크(웹의 로그 라우터): 필터에 따라 Pub/Sub, BigQuery 또는 Cloud Storage와 같은 다양한 목적지로 로그 항목을 내보내기 위해 싱크를 생성합니다.
기본적으로 _Default
및 _Required
버킷에 대한 싱크가 생성됩니다:
_Required logging.googleapis.com/projects//locations/global/buckets/_Required LOG_ID("cloudaudit.googleapis.com/activity") OR LOG_ID("externalaudit.googleapis.com/activity") OR LOG_ID("cloudaudit.googleapis.com/system_event") OR LOG_ID("externalaudit.googleapis.com/system_event") OR LOG_ID("cloudaudit.googleapis.com/access_transparency") OR LOG_ID("externalaudit.googleapis.com/access_transparency") _Default logging.googleapis.com/projects//locations/global/buckets/_Default NOT LOG_ID("cloudaudit.googleapis.com/activity") AND NOT LOG_ID("externalaudit.googleapis.com/activity") AND NOT LOG_ID("cloudaudit.googleapis.com/system_event") AND NOT LOG_ID("externalaudit.googleapis.com/system_event") AND NOT LOG_ID("cloudaudit.googleapis.com/access_transparency") AND NOT LOG_ID("externalaudit.googleapis.com/access_transparency")
기본적으로 Admin Write 작업(관리 활동 감사 로그라고도 함)이 기록되며(메타데이터 또는 구성 정보를 작성) 비활성화할 수 없습니다.
그런 다음 사용자는 Data Access 감사 로그를 활성화할 수 있으며, 이는 Admin Read, Data Write 및 Data Write입니다.
각 로그 유형에 대한 자세한 정보는 문서에서 확인할 수 있습니다: https://cloud.google.com/iam/docs/audit-logging
그러나 기본적으로 GetIamPolicy
작업 및 기타 읽기 작업이 기록되지 않음을 의미합니다. 따라서 기본적으로 환경을 열거하려는 공격자는 시스템 관리자가 더 많은 로그 생성을 구성하지 않는 한 잡히지 않습니다.
콘솔에서 더 많은 로그를 활성화하려면 시스템 관리자가 https://console.cloud.google.com/iam-admin/audit로 이동하여 이를 활성화해야 합니다. 두 가지 다른 옵션이 있습니다:
기본 구성: 기본 구성을 생성하고 모든 Admin Read 및/또는 Data Read 및/또는 Data Write 로그를 기록하고 면제된 주체를 추가할 수 있습니다:
서비스 선택: 또는 로그를 생성할 서비스와 해당 특정 서비스에 대한 로그 유형 및 면제된 주체를 선택할 수 있습니다.
또한 기본적으로 이러한 로그만 생성되며, 더 많은 로그를 생성하면 비용이 증가합니다.
gcloud
명령줄 도구는 GCP 생태계의 필수적인 부분으로, 리소스 및 서비스를 관리할 수 있습니다. gcloud
를 사용하여 로그 구성 및 액세스 로그를 관리하는 방법은 다음과 같습니다.
**cloudresourcemanager
**의 로그를 확인하는 예시 (권한을 BF하는 데 사용됨): https://console.cloud.google.com/logs/query;query=protoPayload.serviceName%3D%22cloudresourcemanager.googleapis.com%22;summaryFields=:false:32:beginning;cursorTimestamp=2024-01-20T00:07:14.482809Z;startTime=2024-01-01T11:12:26.062Z;endTime=2024-02-02T17:12:26.062Z?authuser=2&project=digital-bonfire-410512
**testIamPermissions
**의 로그가 없습니다:
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)