Crunchy Data Postgres 16 Security Technical Implementation Guide
Rules, Groups, and Values defined within the XCCDF Benchmark
-
SRG-APP-000001-DB-000031
Group -
PostgreSQL must limit the number of concurrent sessions to an organization-defined number per user for all accounts and/or account types.
Database management includes the ability to control the number of users and user sessions using PostgreSQL. Unlimited concurrent connections to PostgreSQL could allow a successful denial-of-service...Rule Medium Severity -
PostgreSQL must protect against a user falsely repudiating having performed organization-defined actions.
Nonrepudiation of actions taken is required to maintain data integrity. Examples of particular actions taken by individuals include creating information, sending a message, approving information (e...Rule Medium Severity -
PostgreSQL must produce audit records containing sufficient information to establish what type of events occurred.
Information system auditing capability is critical for accurate forensic analysis. Without establishing what type of event occurred, it would be difficult to establish, correlate, and investigate t...Rule Medium Severity -
PostgreSQL must produce audit records containing sufficient information to establish the sources (origins) of the events.
Information system auditing capability is critical for accurate forensic analysis. Without establishing the source of the event, it is impossible to establish, correlate, and investigate the events...Rule Medium Severity -
PostgreSQL must produce audit records containing sufficient information to establish the outcome (success or failure) of the events.
Information system auditing capability is critical for accurate forensic analysis. Without information about the outcome of events, security personnel cannot make an accurate assessment as to wheth...Rule Medium Severity -
PostgreSQL must, by default, shut down upon audit failure, to include the unavailability of space for more audit log records; or must be configurable to shut down upon audit failure.
It is critical that when the DBMS is at risk of failing to process audit logs as required, it take action to mitigate the failure. Audit processing failures include software/hardware errors; failur...Rule Medium Severity -
The audit information produced by PostgreSQL must be protected from unauthorized read access.
If audit data were to become compromised, then competent forensic analysis and discovery of the true source of potentially malicious system activity is difficult, if not impossible, to achieve. In ...Rule Medium Severity -
PostgreSQL must protect its audit configuration from unauthorized modification.
Protecting audit data also includes identifying and protecting the tools used to view and manipulate log data. Therefore, protecting audit tools is necessary to prevent unauthorized operation on au...Rule Medium Severity -
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 -
Database software, including PostgreSQL configuration files, must be stored in dedicated directories, or DASD pools, separate from the host OS and other applications.
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 potentially have signi...Rule Medium Severity -
Unused database components that are integrated in PostgreSQL and cannot be uninstalled must be disabled.
Information systems are capable of providing a wide variety of functions and services. Some of the functions and services, provided by default, may not be necessary to support essential organizatio...Rule Medium Severity -
PostgreSQL, when using PKI-based authentication, must validate certificates by performing RFC 5280-compliant certification path validation.
The DOD standard for authentication is DOD-approved PKI certificates. A certificate's certification path is the path from the end entity certificate to a trusted root certification authority (CA)....Rule Medium Severity -
PostgreSQL must use NIST FIPS 140-2 or 140-3 validated cryptographic modules for cryptographic operations.
Use of weak or not validated cryptographic algorithms undermines the purposes of using encryption and digital signatures to protect data. Weak algorithms can be easily broken and not validated cryp...Rule High Severity -
PostgreSQL must uniquely identify and authenticate nonorganizational users (or processes acting on behalf of nonorganizational users).
Nonorganizational users include all information system users other than organizational users, which include organizational employees or individuals the organization deems to have equivalent status ...Rule Medium Severity -
PostgreSQL must protect the confidentiality and integrity of all information at rest.
This control is intended to address the confidentiality and integrity of information at rest in nonmobile devices and covers user information and system information. Information at rest refers to t...Rule High Severity -
PostgreSQL must isolate security functions from nonsecurity 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, an...Rule Medium Severity -
PostgreSQL must check the validity of all data inputs except those specifically identified by the organization.
Invalid user input occurs when a user inserts data or characters into an application's data entry fields and the application is unprepared to process that data. This results in unanticipated applic...Rule Medium Severity -
PostgreSQL must provide nonprivileged users with error messages that provide information necessary for corrective actions without revealing information that could be exploited by adversaries.
Any DBMS or associated application providing too much information in error messages on the screen or printout risks compromising the data and security of the system. The structure and content of er...Rule Medium Severity -
PostgreSQL must reveal detailed error messages only to the information system security officer (ISSO), information system security manager (ISSM), system administrator (SA), and database administrator (DBA).
If the DBMS provides too much information in error logs and administrative messages to the screen, this could lead to compromise. The structure and content of error messages need to be carefully co...Rule Medium Severity -
PostgreSQL must associate organization-defined types of security labels having organization-defined security label values with information in process.
Without the association of security labels to information, there is no basis for PostgreSQL to make security-related access-control decisions. Security labels are abstractions representing the bas...Rule Medium Severity -
Execution of software modules (to include stored procedures, functions, and triggers) with elevated privileges must be restricted to necessary cases only.
In certain situations, to provide required functionality, PostgreSQL needs to execute internal logic (stored procedures, functions, triggers, etc.) and/or external code modules with elevated privil...Rule Medium Severity -
PostgreSQL must allocate audit record storage capacity in accordance with organization-defined audit record storage requirements.
In order to ensure sufficient storage capacity for the audit logs, PostgreSQL must be able to allocate audit record storage capacity. Although another requirement (SRG-APP-000515-DB-000318) mandate...Rule Medium Severity -
PostgreSQL must generate time stamps for audit records and application data with a minimum granularity of one second.
Without sufficient granularity of time stamps, it is not possible to adequately determine the chronological order of records. Time stamps generated by PostgreSQL must include date and time. Granul...Rule Medium Severity -
PostgreSQL must require users to reauthenticate when organization-defined circumstances or situations require reauthentication.
The DOD standard for authentication of an interactive user is the presentation of a Common Access Card (CAC) or other physical token bearing a valid, current, DOD-issued Public Key Infrastructure (...Rule Medium Severity -
PostgreSQL must implement cryptographic mechanisms preventing the unauthorized disclosure of organization-defined information at rest on organization-defined information system components.
PostgreSQLs handling data requiring "data at rest" protections must employ cryptographic mechanisms to prevent unauthorized disclosure and modification of the information at rest. These cryptograph...Rule Medium Severity -
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 -
When updates are applied to the 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 DBMSs' installation tools may re...Rule Medium Severity -
Security-relevant software updates to PostgreSQL must be installed within the time period directed by an authoritative source (e.g., IAVM, CTOs, DTMs, and STIGs).
Security flaws with software applications, including database management systems, are discovered daily. Vendors are constantly updating and patching their products to address newly discovered secur...Rule Medium Severity -
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 -
PostgreSQL must generate audit records when categories of information (e.g., classification levels/security levels) are 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 -
PostgreSQL must generate audit records when categories of information (e.g., classification levels/security levels) are deleted.
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 -
PostgreSQL must generate audit records when unsuccessful attempts to delete categories of 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 -
PostgreSQL must generate audit records when unsuccessful attempts to execute privileged activities or other system-level access occur.
Without tracking privileged activity, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one. System documentation ...Rule Medium Severity -
PostgreSQL must generate audit records for all direct access to the database(s).
In this context, direct access is any query, command, or call to PostgreSQL that comes from any source other than the application(s) that it supports. Examples would be the command line or a databa...Rule Medium Severity -
PostgreSQL must implement NIST FIPS 140-2 or 140-3 validated cryptographic modules to protect unclassified information requiring confidentiality and cryptographic protection, in accordance with the data owners' requirements.
Use of weak or untested encryption algorithms undermines the purposes of using encryption to protect data. The application must implement cryptographic modules adhering to the higher standards appr...Rule Medium Severity -
PostgreSQL must initiate session auditing upon startup.
Session auditing is for use when a user's activities are under investigation. To ensure the capture of all activity during those periods when session auditing is in use, it needs to be in operation...Rule Medium Severity -
SRG-APP-000095-DB-000039
Group -
SRG-APP-000118-DB-000059
Group -
SRG-APP-000122-DB-000203
Group -
PostgreSQL must disable network functions, ports, protocols, and services deemed by the organization to be nonsecure, in accordance 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-000389-DB-000372
Group -
If passwords are used for authentication, PostgreSQL must store only hashed, salted representations of passwords.
The DOD standard for authentication is DOD-approved PKI certificates. Authentication based on User ID and Password may be used only when it is not possible to employ a PKI certificate, and require...Rule High Severity -
SRG-APP-000023-DB-000001
Group -
PostgreSQL must integrate with an organization-level authentication/access mechanism providing account management and automation for all users, groups, roles, and any other principals.
Enterprise environments make account management for applications and databases challenging and complex. A manual process for account management functions adds the risk of a potential oversight or o...Rule High Severity -
SRG-APP-000033-DB-000084
Group -
PostgreSQL must enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.
Authentication with a DOD-approved PKI certificate does not necessarily imply authorization to access PostgreSQL. To mitigate the risk of unauthorized access to sensitive information by entities th...Rule High Severity -
SRG-APP-000080-DB-000063
Group -
SRG-APP-000172-DB-000075
Group -
SRG-APP-000089-DB-000064
Group
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.