TMAegis
More rules for postgres

TMA-POSTGRES-3.1.6

Ensure the log file permissions are set correctly

MediumLevel 1Automatedpostgres

Description

The log_file_mode setting determines the file permissions for log files when logging_collector is enabled. The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. Expects 0600, the benchmark value and default. 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_file_mode" 2>/dev/null) || exit 1; printf '%s\n' "$out"
Expected output
0600

How it is fixed

Fix method: SQL statement

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

Properties

Operating systems
Any
Tags
postgresdatabaseloggingpermissions
Reference
CIS PostgreSQL 18 Benchmark v1.0.0 - 3.1.6 Ensure the log file permissions are 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