Crunchy Data PostgreSQL Security Technical Implementation Guide
Rules, Groups, and Values defined within the XCCDF Benchmark
-
The PostgreSQL software installation account must be restricted to authorized users.
When dealing with change control issues, it should be noted any changes to the hardware, software, and/or firmware components of the information system and/or application can have significant effec...Rule High Severity -
SRG-APP-000133-DB-000199
Group -
SRG-APP-000101-DB-000044
Group -
SRG-APP-000342-DB-000302
Group -
SRG-APP-000447-DB-000393
Group -
When invalid inputs are received, PostgreSQL must behave in a predictable and documented manner that reflects organizational and system objectives.
A common vulnerability is unplanned behavior when invalid inputs are received. This requirement guards against adverse or unintended system behavior caused by invalid inputs, where information syst...Rule Medium Severity -
SRG-APP-000233-DB-000124
Group -
PostgreSQL must isolate security functions from non-security functions.
An isolation boundary provides access control and protects the integrity of the hardware, software, and firmware that perform security functions. Security functions are the hardware, software, and...Rule Medium Severity -
SRG-APP-000381-DB-000361
Group -
SRG-APP-000383-DB-000364
Group -
PostgreSQL must disable network functions, ports, protocols, and services deemed by the organization to be nonsecure, in accord with the Ports, Protocols, and Services Management (PPSM) guidance.
Use of nonsecure network functions, ports, protocols, and services exposes the system to avoidable threats.Rule Medium Severity -
SRG-APP-000118-DB-000059
Group -
SRG-APP-000454-DB-000389
Group -
When updates are applied to PostgreSQL software, any software components that have been replaced or made unnecessary must be removed.
Previous versions of PostgreSQL components that are not removed from the information system after updates have been installed may be exploited by adversaries. Some PostgreSQL installation tools ma...Rule Medium Severity -
SRG-APP-000494-DB-000344
Group -
PostgreSQL must generate audit records when categorized information (e.g., classification levels/security levels) is accessed.
Changes in categories of information must be tracked. Without an audit trail, unauthorized access to protected data could go undetected. For detailed information on categorizing information, refer...Rule Medium Severity -
SRG-APP-000492-DB-000333
Group -
PostgreSQL must generate audit records when unsuccessful attempts to delete privileges/permissions occur.
Failed attempts to change the permissions, privileges, and roles granted to users and roles must be tracked. Without an audit trail, unauthorized attempts to elevate or restrict privileges could go...Rule Medium Severity -
SRG-APP-000503-DB-000351
Group -
PostgreSQL must generate audit records when unsuccessful logons or connection attempts occur.
For completeness of forensic analysis, it is necessary to track failed attempts to log on to PostgreSQL. While positive identification may not be possible in a case of failed authentication, as muc...Rule Medium Severity -
SRG-APP-000505-DB-000352
Group -
PostgreSQL must generate audit records showing starting and ending time for user access to the database(s).
For completeness of forensic analysis, it is necessary to know how long a user's (or other principal's) connection to PostgreSQL lasts. This can be achieved by recording disconnections, in addition...Rule Medium Severity -
SRG-APP-000496-DB-000335
Group -
PostgreSQL must generate audit records when unsuccessful attempts to modify security objects occur.
Changes in the database objects (tables, views, procedures, functions) that record and control permissions, privileges, and roles granted to users and roles must be tracked. Without an audit trail,...Rule Medium Severity -
SRG-APP-000495-DB-000326
Group -
PostgreSQL must generate audit records when privileges/permissions are added.
Changes in the permissions, privileges, and roles granted to users and roles must be tracked. Without an audit trail, unauthorized elevation or restriction of privileges could go undetected. Elevat...Rule Medium Severity -
SRG-APP-000502-DB-000349
Group -
PostgreSQL must generate audit records when unsuccessful attempts to retrieve privileges/permissions occur.
Under some circumstances, it may be useful to monitor who/what is reading privilege/permission/role information. Therefore, it must be possible to configure auditing to do this. PostgreSQLs typical...Rule Medium Severity -
SRG-APP-000498-DB-000347
Group -
SRG-APP-000507-DB-000357
Group -
PostgreSQL must generate audit records when unsuccessful accesses to objects occur.
Without tracking all or selected types of access to all or selected objects (tables, views, procedures, functions, etc.), it would be difficult to establish, correlate, and investigate the events r...Rule Medium Severity -
SRG-APP-000504-DB-000354
Group -
SRG-APP-000494-DB-000345
Group -
PostgreSQL must generate audit records when unsuccessful attempts to access categorized information (e.g., classification levels/security levels) occur.
Changes in categories of information must be tracked. Without an audit trail, unauthorized access to protected data could go undetected. To aid in diagnosis, it is necessary to keep track of faile...Rule Medium Severity -
SRG-APP-000492-DB-000332
Group -
SRG-APP-000499-DB-000330
Group -
SRG-APP-000506-DB-000353
Group -
PostgreSQL must generate audit records when concurrent logons/connections by the same user from different workstations occur.
For completeness of forensic analysis, it is necessary to track who logs on to PostgreSQL. Concurrent connections by the same user from multiple workstations may be valid use of the system; or suc...Rule Medium Severity -
SRG-APP-000501-DB-000337
Group -
SRG-APP-000495-DB-000328
Group -
PostgreSQL must generate audit records when privileges/permissions are modified.
Changes in the permissions, privileges, and roles granted to users and roles must be tracked. Without an audit trail, unauthorized elevation or restriction of privileges could go undetected. Elevat...Rule Medium Severity -
SRG-APP-000504-DB-000355
Group -
SRG-APP-000496-DB-000334
Group -
PostgreSQL must generate audit records when security objects are modified.
Changes in the database objects (tables, views, procedures, functions) that record and control permissions, privileges, and roles granted to users and roles must be tracked. Without an audit trail,...Rule Medium Severity -
SRG-APP-000498-DB-000346
Group -
PostgreSQL must generate audit records when categories of information (e.g., classification levels/security levels) is modified.
Changes in categories of information must be tracked. Without an audit trail, unauthorized access to protected data could go undetected. For detailed information on categorizing information, refer...Rule Medium Severity -
SRG-APP-000495-DB-000329
Group -
PostgreSQL must generate audit records when unsuccessful attempts to modify privileges/permissions occur.
Failed attempts to change the permissions, privileges, and roles granted to users and roles must be tracked. Without an audit trail, unauthorized attempts to elevate or restrict privileges could go...Rule Medium Severity -
SRG-APP-000495-DB-000327
Group -
PostgreSQL must generate audit records when unsuccessful attempts to add privileges/permissions occur.
Failed attempts to change the permissions, privileges, and roles granted to users and roles must be tracked. Without an audit trail, unauthorized attempts to elevate or restrict privileges could go...Rule Medium Severity
Node 2
The content of the drawer really is up to you. It could have form fields, definition lists, text lists, labels, charts, progress bars, etc. Spacing recommendation is 24px margins. You can put tabs in here, and can also make the drawer scrollable.