id: cloudtrail-dup-logs info: name: CloudTrail Duplicate Log Avoidance author: princechaddha severity: medium description: | Ensure CloudTrail logging is configured to prevent duplicate recording of global service events across multiple trails. impact: | Duplicate log entries can lead to increased storage costs and complicate log analysis and anomaly detection efforts. remediation: | Configure only one multi-region trail to log global service events and disable global service logging for all other trails. reference: - https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-find-log-files.html metadata: max-request: 2 tags: cloud,devops,aws,amazon,cloudtrail,aws-cloud-config variables: region: "ap-south-1" flow: | code(1) for(let CloudTrail of iterate(template.cloudtrailname)){ set("trail", CloudTrail) code(2) } self-contained: true code: - engine: - sh - bash source: | aws cloudtrail list-trails --region $region --query 'Trails[*].Name' --output json extractors: - type: json name: cloudtrailname internal: true json: - '.[]' - engine: - sh - bash source: | aws cloudtrail describe-trails --region $region --trail-name-list $trail --query 'trailList[*].IncludeGlobalServiceEvents' --output json matchers: - type: word words: - "true" extractors: - type: dsl dsl: - '"Ensure only one trail in Amazon CloudTrail is configured for global service events to avoid duplicates: " + trail' # digest: 4b0a00483046022100c35edad75ea1ac20bfb4e2cbe8b2b4e8fc3b29c40e7ff611808957ab6d83f303022100a77f7c148769b6ca2d6277298d4a5269e1bb2092f609f67cef8e8152a67f02eb:922c64590222798bb761d5b6d8e72950