Skip to content

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

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.

Capacity
Modules