CockroachDB
TMA-COCKROACHDB-6.4
Ensure Security Audit Logging Is Enabled
Description
CockroachDB provides comprehensive audit logging capabilities to track security- relevant events including user authentication, privilege changes, and access to sensitive data. Role-based audit logging allows administrators to configure which users, roles, or statements should be logged, while sensitive access logging can track access to specific tables or databases containing sensitive information. Runs cockroach sql with --certs-dir ${COCKROACH_CERTS_DIR:-/var/lib/cockroach/certs} (a root or admin client certificate must be in it); the target node comes from COCKROACH_HOST (default localhost:26257) or COCKROACH_URL. The benchmark rates this recommendation Manual; the automated check covers its objective pass criterion. Passes when sql.log.user_audit holds at least one audit rule; review that the rules cover privileged roles (admin, root) or ALL, and that the SENSITIVE_ACCESS channel is written to a protected sink.
How it is checked
Audit method: SQL query
out=$(cockroach sql --certs-dir="${COCKROACH_CERTS_DIR:-/var/lib/cockroach/certs}" --format=csv --execute "SHOW CLUSTER SETTING sql.log.user_audit;" 2>/dev/null) || exit 1; printf '%s\n' "$out" | awk 'NR > 1 && /[^[:space:]"]/ {n++} END {print n ? "compliant" : "empty"}'- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
SET CLUSTER SETTING sql.log.user_audit = 'ALL ALL'; (or one 'admin ALL' / 'root ALL' line per privileged role), and route the SENSITIVE_ACCESS, USER_ADMIN and PRIVILEGES channels to protected log sinks.
Properties
- Operating systems
- Any
- Tags
- cockroachdbloggingaudit
- Reference
- CIS CockroachDB v25.x Benchmark v1.0.0 - 6.4 Ensure Security Audit Logging Is Enabled
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target cockroachdb