漏洞描述
Ensure that usage and storage logs are enabled for your Google Cloud Storage buckets to monitor activity, track costs, detect suspicious behavior, and ensure compliance with security and audit requirements.
id: gcloud-storage-logs-not-enabled
info:
name: Enable Usage and Storage Logs for Cloud Storage Buckets
author: princechaddha
severity: medium
description: |
Ensure that usage and storage logs are enabled for your Google Cloud Storage buckets to monitor activity, track costs, detect suspicious behavior, and ensure compliance with security and audit requirements.
impact: |
Without usage and storage logs, it is challenging to monitor access patterns, detect anomalies, and ensure compliance with organizational policies and security standards.
remediation: |
Enable usage and storage logs for your Google Cloud Storage buckets to gain visibility into bucket activity and ensure audit compliance.
reference:
- https://cloud.google.com/storage/docs/access-logs
tags: cloud,devops,gcp,gcloud,google-cloud-storage,logging,security,gcp-cloud-config
flow: |
code(1)
for(let projectId of iterate(template.projectIds)){
set("projectId", projectId)
code(2)
for(let bucketName of iterate(template.buckets)){
set("bucketName", bucketName)
code(3)
}
}
self-contained: true
code:
- engine:
- sh
- bash
source: |
gcloud projects list --format="json(projectId)"
extractors:
- type: json
name: projectIds
internal: true
json:
- '.[].projectId'
- engine:
- sh
- bash
source: |
gcloud storage buckets list --project $projectId --format="json(name)"
extractors:
- type: json
name: buckets
internal: true
json:
- '.[].name'
- engine:
- sh
- bash
source: |
gcloud storage buckets describe gs://$bucketName --format="json(logging_config)" | jq -r '. // "null"'
matchers:
- type: word
words:
- 'null'
extractors:
- type: dsl
dsl:
- '"Usage and storage logs are not enabled for the bucket " + bucketName + " in project " + projectId'
# digest: 4a0a00473045022100d61a117a25037dacaf959704978b64c51c11b3427a2d69317d4d9898d1f6994c0220338a8a8064b4bacc2ee1b727da99c426b1bb78ca31987ad56cff652919df95c4:922c64590222798bb761d5b6d8e72950