TMAegisBeta
More rules for yugabytedb

YugabyteDB

TMA-YUGABYTEDB-3.1.23

Ensure 'log_timezone' is set correctly

LowLevel 1Automatedyugabytedb

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

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.

shell
tmaegis scan --target yugabytedb