Check: CD12-00-007400
Crunchy Data PostgreSQL STIG:
CD12-00-007400
(in versions v2 r2 through v1 r1)
Title
PostgreSQL must be configured to provide audit record generation for DoD-defined auditable events within all DBMS/database components. (Cat II impact)
Discussion
Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. Audit records can be generated from various components within PostgreSQL (e.g., process, module). Certain specific application functionalities may be audited as well. The list of audited events is the set of events for which audits are to be generated. This set of events is typically a subset of the list of all events for which the system is capable of generating audit records. DoD has defined the list of events for which PostgreSQL will provide an audit record generation capability as the following: (i) Successful and unsuccessful attempts to access, modify, or delete privileges, security objects, security levels, or categories of information (e.g., classification levels); (ii) Access actions, such as successful and unsuccessful logon attempts, privileged activities, or other system-level access, starting and ending time for user access to the system, concurrent logons from different workstations, successful and unsuccessful accesses to objects, all program initiations, and all direct access to the information system; and (iii) All account creation, modification, disabling, and termination actions. Organizations may define additional events requiring continuous or ad hoc auditing.
Check Content
Note: The following instructions use the PGLOG environment variables. See supplementary content APPENDIX-I for instructions on configuring PGVER. Check PostgreSQL audit logs to determine whether organization-defined auditable events are being audited by the system. For example, if the organization defines 'CREATE TABLE' as an auditable event, issuing the following command should return a result: $ sudo su - postgres $ psql -c "CREATE TABLE example (id int)" $ grep 'AUDIT:.*,CREATE TABLE.*example' ${PGLOG?}/<latest_log> $ psql -c 'DROP TABLE example;' If organization-defined auditable events are not being audited, this is a finding.
Fix Text
Configure PostgreSQL to generate audit records for at least the DoD minimum set of events. Using "pgaudit", PostgreSQL can be configured to audit these requests. See supplementary content APPENDIX-B for documentation on installing pgaudit. To ensure that logging is enabled, review supplementary content APPENDIX-C for instructions on enabling logging.
Additional Identifiers
Rule ID: SV-233580r879559_rule
Vulnerability ID: V-233580
Group Title: SRG-APP-000089-DB-000064
Expert Comments
CCIs
Number | Definition |
---|---|
CCI-000169 |
The information system provides audit record generation capability for the auditable events defined in AU-2 a. at organization-defined information system components. |
Controls
Number | Title |
---|---|
AU-12 |
Audit Generation |