GCP - Logging Enum
기본 정보
이 서비스는 GCP의 로그 데이터 및 이벤트를 저장, 검색, 분석, 모니터링 및 경보 설정할 수 있게 합니다.
Cloud Logging은 다른 GCP 서비스와 완전히 통합되어 모든 GCP 리소스의 로그를 위한 중앙 저장소를 제공합니다. 이 서비스는 App Engine, Compute Engine 및 Cloud Functions와 같은 다양한 GCP 서비스에서 자동으로 로그를 수집합니다. 또한 Cloud Logging 에이전트나 API를 사용하여 온프레미스나 다른 클라우드에서 실행되는 애플리케이션에 대해 Cloud Logging을 사용할 수 있습니다.
주요 기능:
로그 데이터 중앙 집중화: 다양한 소스에서 로그 데이터를 집계하여 응용 프로그램 및 인프라의 전체적인 상태를 제공합니다.
실시간 로그 관리: 즉각적인 분석 및 응답을 위해 로그를 실시간으로 스트리밍합니다.
강력한 데이터 분석: 대량의 로그 데이터를 신속하게 검색하기 위해 고급 필터링 및 검색 기능을 사용합니다.
BigQuery와의 통합: 자세한 분석 및 쿼리를 위해 로그를 BigQuery로 내보냅니다.
로그 기반 메트릭: 로그 데이터에서 사용자 정의 메트릭을 생성하여 모니터링 및 경보 설정에 활용합니다.
로그 흐름
기본적으로 싱크와 로그 기반 메트릭은 로그를 저장할 위치를 결정합니다.
GCP Logging에서 지원하는 구성
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 audit logs)**를 활성화할 수 있습니다. 이러한 로그는 **관리자 읽기(Admin Read), 데이터 쓰기(Data Write) 및 데이터 쓰기(Data Write)**에 해당합니다.
각 로그 유형에 대한 자세한 정보는 문서에서 확인할 수 있습니다: https://cloud.google.com/iam/docs/audit-logging
그러나 기본적으로 GetIamPolicy
작업 및 기타 읽기 작업이 로그에 기록되지 않는다는 것을 유의하십시오. 따라서, 기본적으로 시스템 관리자가 더 많은 로그를 생성하도록 구성하지 않은 경우, 환경을 열거하려는 공격자는 포착되지 않을 수 있습니다.
콘솔에서 더 많은 로그를 활성화하려면 시스템 관리자는 https://console.cloud.google.com/iam-admin/audit로 이동하여 활성화해야 합니다. 두 가지 다른 옵션이 있습니다:
기본 구성(Default Configuration): 기본 구성을 생성하고 모든 관리자 읽기(Admin Read) 및/또는 데이터 읽기(Data Read) 및/또는 데이터 쓰기(Data Write) 로그를 기록하고 면제된 주체를 추가할 수 있습니다:
서비스 선택(Select the services): 또는 로그를 생성하려는 서비스 및 로그 유형 및 해당 특정 서비스의 면제된 주체를 선택할 수 있습니다.
또한, 기본적으로 이러한 로그만 생성되기 때문에 더 많은 로그를 생성하면 비용이 증가할 수 있습니다.
열거
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
**의 로그가 없습니다:
사후 공격
pageGCP - Logging Post Exploitation지속성
pageGCP - Logging Persistence참고 자료
最終更新