SV-214089r508027_rule
V-214089
SRG-APP-000496-DB-000335
PGS9-00-004800
CAT II
10
Configure PostgreSQL to produce audit records when unsuccessful attempts to modify security objects occur.
Unsuccessful attempts to modifying security objects can be logged if logging is enabled. To ensure that logging is enabled, review supplementary content APPENDIX-C for instructions on enabling logging.
Note: The following instructions use the PGDATA environment variable. See supplementary content APPENDIX-F for instructions on configuring PGDATA.
As the database administrator (shown here as "postgres"), create a test role by running the following SQL:
$ sudo su - postgres
$ psql -c "CREATE ROLE bob"
Next, to test if audit records are generated from unsuccessful attempts at modifying security objects, run the following SQL:
$ sudo su - postgres
$ psql -c "SET ROLE bob; UPDATE pg_authid SET rolsuper = 't' WHERE rolname = 'bob';"
Next, as the database administrator (shown here as "postgres"), verify that the denials were logged:
$ sudo su - postgres
$ cat ${PGDATA?}/pg_log/<latest_log>
< 2016-03-17 10:34:00.017 EDT bob 56eabf52.b62 postgres: >ERROR: permission denied for relation pg_authid
< 2016-03-17 10:34:00.017 EDT bob 56eabf52.b62 postgres: >STATEMENT: UPDATE pg_authid SET rolsuper = 't' WHERE rolname = 'bob';
If denials are not logged, this is a finding.
V-214089
False
PGS9-00-004800
Note: The following instructions use the PGDATA environment variable. See supplementary content APPENDIX-F for instructions on configuring PGDATA.
As the database administrator (shown here as "postgres"), create a test role by running the following SQL:
$ sudo su - postgres
$ psql -c "CREATE ROLE bob"
Next, to test if audit records are generated from unsuccessful attempts at modifying security objects, run the following SQL:
$ sudo su - postgres
$ psql -c "SET ROLE bob; UPDATE pg_authid SET rolsuper = 't' WHERE rolname = 'bob';"
Next, as the database administrator (shown here as "postgres"), verify that the denials were logged:
$ sudo su - postgres
$ cat ${PGDATA?}/pg_log/<latest_log>
< 2016-03-17 10:34:00.017 EDT bob 56eabf52.b62 postgres: >ERROR: permission denied for relation pg_authid
< 2016-03-17 10:34:00.017 EDT bob 56eabf52.b62 postgres: >STATEMENT: UPDATE pg_authid SET rolsuper = 't' WHERE rolname = 'bob';
If denials are not logged, this is a finding.
M
3994