SV-214116r508027_rule
V-214116
SRG-APP-000100-DB-000201
PGS9-00-007800
CAT II
10
Note: The following instructions use the PGDATA and PGVER environment variables. See supplementary content APPENDIX-F for instructions on configuring PGDATA and APPENDIX-H for PGVER.
Logging must be enabled in order to capture the identity of any user/subject or process associated with an event. To ensure that logging is enabled, review supplementary content APPENDIX-C for instructions on enabling logging.
To enable username, database name, process ID, remote host/port and application name in logging, as the database administrator (shown here as "postgres"), edit the following in postgresql.conf:
$ sudo su - postgres
$ vi ${PGDATA?}/postgresql.conf
log_line_prefix = '< %m %u %d %p %r %a >'
Now, as the system administrator, reload the server with the new configuration:
# SYSTEMD SERVER ONLY
$ sudo systemctl reload postgresql-${PGVER?}
# INITD SERVER ONLY
$ sudo service postgresql-${PGVER?} reload
Check PostgreSQL settings and existing audit records to verify a user name associated with the event is being captured and stored with the audit records. If audit records exist without specific user information, this is a finding.
First, as the database administrator (shown here as "postgres"), verify the current setting of log_line_prefix by running the following SQL:
$ sudo su - postgres
$ psql -c "SHOW log_line_prefix"
If log_line_prefix does not contain %m, %u, %d, %p, %r, %a, this is a finding.
V-214116
False
PGS9-00-007800
Check PostgreSQL settings and existing audit records to verify a user name associated with the event is being captured and stored with the audit records. If audit records exist without specific user information, this is a finding.
First, as the database administrator (shown here as "postgres"), verify the current setting of log_line_prefix by running the following SQL:
$ sudo su - postgres
$ psql -c "SHOW log_line_prefix"
If log_line_prefix does not contain %m, %u, %d, %p, %r, %a, this is a finding.
M
3994