TMAegisBeta
More rules for postgres

PostgreSQL

TMA-POSTGRES-3.1.23

Ensure 'log_hostname' is set correctly

LowLevel 1Automatedpostgres

Description

Enabling the log_hostname setting causes the hostname of the connecting host to be logged in addition to the host's IP address for connection log messages. Disabling the setting causes only the connecting host's IP address to be logged, and not the hostname. Runs psql as ${PGUSER:-postgres} against ${PGDATABASE:-postgres}; set PGHOST/PGPORT and use ~/.pgpass (not PGPASSWORD, see 1.6/1.7) when peer authentication is not available.

How it is checked

Audit method: SQL query

sql_query
out=$(psql -X -U "${PGUSER:-postgres}" -d "${PGDATABASE:-postgres}" -tAc "SHOW log_hostname" 2>/dev/null) || exit 1; printf '%s\n' "$out"
Expected output
off

How it is fixed

Fix method: SQL statement

shell
psql -X -U "${PGUSER:-postgres}" -c "ALTER SYSTEM SET log_hostname = 'off'" -c "SELECT pg_reload_conf()"

Properties

Operating systems
Any
Tags
postgresdatabaselogging
Reference
CIS PostgreSQL 18 Benchmark v1.0.0 - 3.1.23 Ensure 'log_hostname' 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 postgres