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