Skip to main content
compliance · aws

Accounts with no logging CloudTrail trail, or logging without multi-region coverage

resource types
1
rule IDs covered
1
severity
high

What does ZopNight detect here?

ZopNight checks 2 account-level CloudTrail facts (whether any trail is currently logging, and whether a multi-region trail exists), and fires when either confirmed flag reports a gap. The wording changes with the evidence: "not logging" is only ever claimed when logging is confirmed off, never inferred.

Signal and threshold

How ZopNight evaluates Accounts with no logging CloudTrail trail, or logging without multi-region coverage.
Field Value
Rule IDsRC-1521
Categorycompliance
Severityhigh
Metricnone — pure configuration read
Sourcecloudtrail_multiregion.go

Two gaps, three different findings

CloudTrail posture is not a single yes/no. The discoverer stamps two booleans per account: logging_enabled (some trail is actively recording) and multi_region_enabled (a multi-region trail exists). The rule ORs the gaps but words each combination honestly. No active trail is the worst case: nothing is being recorded anywhere. Logging confirmed on but single-region gets the narrower message: activity in every other region goes unaudited. And when only the multi-region flag is present and false, the finding says exactly that, without claiming logging is off. A finding that overstates its evidence teaches people to distrust the whole list.

When the rule stays silent

Both flags absent means the probe failed or the account is unknown, so the rule abstains rather than firing on a phantom zero. A present flag that reads true clears its own dimension, and an account with both true produces nothing. The rule therefore proves what it reports for the dimensions it has evidence on, and says nothing where it has none.

What an unlogged region costs you in practice

An attacker who gains credentials does not politely stay in your primary region. Spinning up miners in ap-southeast-1 or exfiltrating from a region you never use is standard playbook precisely because single-region trails were common for years. A multi-region trail closes that blind spot for management events at one stroke, and organization trails extend the same posture across every member account.

Inspect your own trails

Terminal window
aws cloudtrail describe-trails \
--query 'trailList[].[Name,IsMultiRegionTrail,HomeRegion]' --output table
aws cloudtrail get-trail-status --name <trail-name> --query 'IsLogging'

Setting it up properly the first time

Create one multi-region trail, enable management read and write events, and store logs in an S3 bucket with versioning and encryption so the audit trail cannot be silently rewritten. CloudTrail’s first copy of management events is free; the S3 storage is the main recurring cost and is modest at management-event volume. Data events for S3 objects and Lambda are the expensive tier; enable them selectively where compliance actually requires them rather than account-wide by default.

See it fire on your bill.

Connect an account read-only. The first findings land in minutes.

417 rule families across 353 resource types on 22 platforms. Every threshold, metric, and IAM action is documented on these pages before you grant anything.

417 rule families documented
353 resource types covered
read-only default access level
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·