Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added policy to check enable log validation for cloudtrail #1066

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
13 changes: 13 additions & 0 deletions avd_docs/aws/cloudtrail/AVD-AWS-0188/docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

Cloudtrail log validation should be enabled to prevent tampering of log data

### Impact
<!-- Add Impact here -->

<!-- DO NOT CHANGE -->
{{ remediationActions }}

### Links
- https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-log-file-validation-intro.html


Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#METADATA
# title: "CloudTrail Log Validation"
# description: "Cloudtrail log validation should be enabled to prevent tampering of log data"
# scope: package
# schemas:
# - input: schema.input
# related_resources:
# - https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-log-file-validation-intro.html
# custom:
# avd_id: AVD-AWS-0188
# provider: aws
# service: cloudtrail
# severity: HIGH
# short_code: enable-log-validation
# recommended_action: "Log validation should be activated on Cloudtrail logs to prevent the tampering of the underlying data in the S3 bucket. It is feasible that a rogue actor compromising an AWS account might want to modify the log data to remove trace of their actions."
# input:
# selector:
# - type: cloud
package builtin.aws.cloudtrail.aws0188

deny[res] {
trail := input.aws.cloudtrail.trails[_]
not trail.enablelogfilevalidation.value
res := result.new("Trail does not have log validation enabled.", trail.enablelogfilevalidation)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package builtin.aws.cloudtrail.aws0188

test_detects_when_disabled {
r := deny with input as {"aws": {"cloudtrail": {"trails": [{"enablelogfilevalidation": {"value": false}}]}}}
count(r) == 1
}

test_when_enabled {
r := deny with input as {"aws": {"cloudtrail": {"trails": [{"enablelogfilevalidation": {"value": true}}]}}}
count(r) == 0
}