YugabyteDB
TMA-YUGABYTEDB-3.1.23
Ensure 'log_timezone' is set correctly
Description
The log_timezone setting specifies the time zone to use in timestamps within log messages. This value is cluster-wide, so that all sessions will report timestamps consistently. Unless directed otherwise by your organization's logging policy, set this to either GMT or UTC. Runs ysqlsh (add the YugabyteDB bin directory to PATH) against PGHOST/PGPORT (default 127.0.0.1:5433) as PGUSER (default yugabyte); supply the password through PGPASSWORD or ~/.pgpass. Passes when log_timezone is GMT or UTC; a different zone mandated by your logging policy is an accepted exception.
How it is checked
Audit method: SQL query
out=$(ysqlsh -h "${PGHOST:-127.0.0.1}" -p "${PGPORT:-5433}" -U "${PGUSER:-yugabyte}" -d "${PGDATABASE:-yugabyte}" -tAc "SELECT CASE WHEN lower(current_setting('log_timezone')) IN ('gmt','utc','etc/utc','etc/gmt') THEN 'compliant' ELSE 'noncompliant' END" 2>/dev/null) || exit 1; printf '%s\n' "$out"- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Set it with the YB-TServer GFlag --ysql_pg_conf_csv="log_timezone='UTC'" on every YB-TServer and restart it.
Properties
- Operating systems
- Any
- Tags
- yugabytedblogging
- Reference
- CIS YugabyteDB Benchmark v2.0.0 - 3.1.23 Ensure 'log_timezone' is set correctly
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target yugabytedb