TMA-ALIBABA-2.2
Ensure the OSS used to store ActionTrail logs is not publicly accessible
Description
ActionTrail logs a record of every API call made in your Alibaba Cloud account. These logs file are stored in an OSS bucket. It is recommended that the access control list (ACL) of the OSS bucket, which ActionTrail logs to, shall prevent public access to the ActionTrail logs. Allowing public access to ActionTrail log content may aid an adversary in identifying weaknesses in the affected account's use or configuration. Every OSS bucket that a trail delivers to (OssBucketName) must have ACL private (aliyun oss stat). Read-only aliyun CLI calls; credentials and default region come from the CLI's normal profile (aliyun configure, ~/.aliyun/config.json or ALIBABA_CLOUD_* environment variables). JSON output is parsed with sed/awk. A missing CLI or credential fails the check.
How it is checked
Audit method: Shell command
out=$(aliyun actiontrail DescribeTrails 2>/dev/null) || exit 1
bs=$(printf '%s\n' "$out" | sed -n 's/.*"OssBucketName"[[:space:]]*:[[:space:]]*"\([^"]\{1,\}\)".*/\1/p' | sort -u)
bad=0
for b in $bs; do
st=$(aliyun oss stat "oss://$b" 2>/dev/null) || exit 1
acl=$(printf '%s\n' "$st" | sed -n 's/^[[:space:]]*ACL[[:space:]]*:[[:space:]]*\([^[:space:]]*\).*/\1/p' | head -n 1)
[ "$acl" = private ] || { echo "trail bucket ACL $acl: $b"; bad=1; }
done
[ "$bad" -eq 0 ] && echo compliant- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
aliyun oss set-acl oss://<bucket> private -b for each listed bucket and review its bucket policy for anonymous grants.
Properties
- Operating systems
- Any
- Tags
- alibabalogging
- Reference
- CIS Alibaba Cloud Foundation Benchmark v2.0.1 - 2.2 Ensure the OSS used to store ActionTrail logs is not publicly accessible
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target alibaba