STIGQter STIGQter: STIG Summary:

Crunchy Data Postgres 16 Security Technical Implementation Guide

Version: 1

Release: 3 Benchmark Date: 01 Jul 2026

CheckedNameTitle
SV-261857r1000976_rulePostgreSQL must limit the number of concurrent sessions to an organization-defined number per user for all accounts and/or account types.
SV-261858r1043176_rulePostgreSQL must integrate with an organization-level authentication/access mechanism providing account management and automation for all users, groups, roles, and any other principals.
SV-261859r1137654_rulePostgreSQL must enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.
SV-261860r1000977_rulePostgreSQL must protect against a user falsely repudiating having performed organization-defined actions.
SV-261861r1000588_rulePostgreSQL must provide audit record generation capability for DOD-defined auditable events within all DBMS/database components.
SV-261862r1000591_rulePostgreSQL must allow only the information system security manager (ISSM), or individuals or roles appointed by the ISSM, to select which events are to be audited.
SV-261863r1000954_rulePostgreSQL must be able to generate audit records when privileges/permissions are retrieved.
SV-261864r1000597_rulePostgreSQL must generate audit records when unsuccessful attempts to retrieve privileges/permissions occur.
SV-261865r1000600_rulePostgreSQL must initiate session auditing upon startup.
SV-261866r1000603_rulePostgreSQL must produce audit records containing sufficient information to establish what type of events occurred.
SV-261867r1000955_rulePostgreSQL must produce audit records containing time stamps to establish when the events occurred.
SV-261868r1000609_rulePostgreSQL must produce audit records containing sufficient information to establish where the events occurred.
SV-261869r1000956_rulePostgreSQL must produce audit records containing sufficient information to establish the sources (origins) of the events.
SV-261870r1000615_rulePostgreSQL must produce audit records containing sufficient information to establish the outcome (success or failure) of the events.
SV-261871r1000618_rulePostgreSQL must produce audit records containing sufficient information to establish the identity of any user/subject or process associated with the event.
SV-261872r1000621_rulePostgreSQL must include additional, more detailed, organization-defined information in the audit records for audit events identified by type, location, or subject.
SV-261873r1043188_rulePostgreSQL 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.
SV-261874r1043188_rulePostgreSQL must be configurable to overwrite audit log records, oldest first (first-in-first-out [FIFO]), in the event of unavailability of space for more audit log records.
SV-261875r1000630_ruleThe audit information produced by PostgreSQL must be protected from unauthorized read access.
SV-261876r1000978_ruleThe audit information produced by PostgreSQL must be protected from unauthorized modification.
SV-261877r1000968_ruleThe audit information produced by PostgreSQL must be protected from unauthorized deletion.
SV-261878r1000958_rulePostgreSQL must protect its audit features from unauthorized access.
SV-261879r1000960_rulePostgreSQL must protect its audit configuration from unauthorized modification.
SV-261880r1000959_rulePostgreSQL must protect its audit features from unauthorized removal.
SV-261881r1000648_rulePostgreSQL must limit privileges to change software modules, to include stored procedures, functions and triggers, and links to software external to PostgreSQL.
SV-261882r1000651_ruleThe PostgreSQL software installation account must be restricted to authorized users.
SV-261883r1000654_ruleDatabase software, including PostgreSQL configuration files, must be stored in dedicated directories, or DASD pools, separate from the host OS and other applications.
SV-261884r1000657_ruleDatabase objects (including but not limited to tables, indexes, storage, stored procedures, functions, triggers, links to software external to the DBMS, etc.) must be owned by database/PostgreSQL principals authorized for ownership.
SV-261885r1000949_ruleThe role(s)/group(s) used to modify database structure (including but not necessarily limited to tables, indexes, storage, etc.) and logic modules (stored procedures, functions, triggers, links to software external to PostgreSQL, etc.) must be restricted to authorized users.
SV-261886r1000951_ruleUnused database components, PostgreSQL software, and database objects must be removed.
SV-261887r1000666_ruleUnused database components that are integrated in PostgreSQL and cannot be uninstalled must be disabled.
SV-261888r1000669_ruleAccess to external executables must be disabled or restricted.
SV-261889r1043177_rulePostgreSQL must be configured to prohibit or restrict the use of organization-defined functions, ports, protocols, and/or services, as defined in the PPSM CAL and vulnerability assessments.
SV-261890r1051115_rulePostgreSQL must uniquely identify and authenticate organizational users (or processes acting on behalf of organizational users).
SV-261891r1000970_ruleIf passwords are used for authentication, PostgreSQL must store only hashed, salted representations of passwords.
SV-261892r1000681_ruleIf passwords are used for authentication, PostgreSQL must transmit only encrypted representations of passwords.
SV-261893r1000684_rulePostgreSQL, when using PKI-based authentication, must validate certificates by performing RFC 5280-compliant certification path validation.
SV-261894r1000687_rulePostgreSQL must enforce authorized access to all PKI private keys stored/used by PostgreSQL.
SV-261895r1000690_rulePostgreSQL must map the PKI-authenticated identity to an associated user account.
SV-261896r1193213_rulePostgreSQL must use NIST FIPS 140-2/140-3 validated cryptographic modules for cryptographic operations.
SV-261897r1000696_rulePostgreSQL must uniquely identify and authenticate nonorganizational users (or processes acting on behalf of nonorganizational users).
SV-261898r1137655_rulePostgreSQL must separate user functionality (including user interface services) from database management functionality.
SV-261899r1043179_rulePostgreSQL must invalidate session identifiers upon user logout or other session termination.
SV-261900r1043181_rulePostgreSQL must maintain the authenticity of communications sessions by guarding against man-in-the-middle attacks that guess at Session ID values.
SV-261901r1000708_rulePostgreSQL must protect the confidentiality and integrity of all information at rest.
SV-261902r1000711_rulePostgreSQL must isolate security functions from nonsecurity functions.
SV-261903r1137656_ruleDatabase contents must be protected from unauthorized and unintended information transfer by enforcement of a data-transfer policy.
SV-261904r1137658_ruleAccess to database files must be limited to relevant processes and to authorized, administrative users.
SV-261905r1000720_rulePostgreSQL must check the validity of all data inputs except those specifically identified by the organization.
SV-261906r1000979_rulePostgreSQL and associated applications must reserve the use of dynamic code execution for situations that require it.
SV-261907r1000726_rulePostgreSQL and associated applications, when making use of dynamic code execution, must scan input data for invalid values that may indicate a code injection attack.
SV-261908r1000729_rulePostgreSQL must provide nonprivileged users with error messages that provide information necessary for corrective actions without revealing information that could be exploited by adversaries.
SV-261909r1000980_rulePostgreSQL 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).
SV-261910r1043182_rulePostgreSQL must automatically terminate a user session after organization-defined conditions or trigger events requiring session disconnect.
SV-261911r1138540_rulePostgreSQL must associate organization-defined types of security labels having organization-defined security label values with information in storage.
SV-261912r1138541_rulePostgreSQL must associate organization-defined types of security labels having organization-defined security label values with information in process.
SV-261913r1138542_rulePostgreSQL must associate organization-defined types of security labels having organization-defined security label values with information in transmission.
SV-261914r1000747_rulePostgreSQL must enforce discretionary access control policies, as defined by the data owner, over defined subjects and objects.
SV-261915r1000750_rulePostgreSQL must prevent nonprivileged users from executing privileged functions, to include disabling, circumventing, or altering implemented security safeguards/countermeasures.
SV-261916r1000981_ruleExecution of software modules (to include stored procedures, functions, and triggers) with elevated privileges must be restricted to necessary cases only.
SV-261917r1000962_rulePostgreSQL must use centralized management of the content captured in audit records generated by all components of PostgreSQL.
SV-261918r1000759_rulePostgreSQL must allocate audit record storage capacity in accordance with organization-defined audit record storage requirements.
SV-261919r1000762_rulePostgreSQL must provide a warning to appropriate support staff when allocated audit record storage volume reaches 75 percent of maximum audit record storage capacity.
SV-261920r1000973_rulePostgreSQL must provide an immediate real-time alert to appropriate support staff of all audit log failures.
SV-261921r1000994_rulePostgreSQL must record time stamps in audit records and application data that can be mapped to Coordinated Universal Time (UTC), formerly Greenwich Mean Time (GMT).
SV-261922r1000771_rulePostgreSQL must generate time stamps for audit records and application data with a minimum granularity of one second.
SV-261923r1000993_rulePostgreSQL must prohibit user installation of logic modules (stored procedures, functions, triggers, views, etc.) without explicit privileged status.
SV-261924r1000777_rulePostgreSQL must enforce access restrictions associated with changes to the configuration of the DBMS or database(s).
SV-261925r1000780_rulePostgreSQL must produce audit records of its enforcement of access restrictions associated with changes to the configuration of PostgreSQL or database(s).
SV-261926r1000783_rulePostgreSQL 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.
SV-261927r1050788_rulePostgreSQL must require users to reauthenticate when organization-defined circumstances or situations require reauthentication.
SV-261928r1117186_rulePostgreSQL must use NSA-approved cryptography to protect classified information in accordance with the data owner's requirements.
SV-261929r1193220_rulePostgreSQL must only accept end entity certificates issued by DOD PKI or DOD-approved PKI Certification Authorities (CAs) for the establishment of all encrypted sessions.
SV-261930r1211024_rulePostgreSQL must implement cryptographic mechanisms to prevent unauthorized modification of organization-defined information at rest (to include, at a minimum, PII and classified information) on organization-defined information system components.
SV-261931r1018553_rulePostgreSQL must implement cryptographic mechanisms preventing the unauthorized disclosure of organization-defined information at rest on organization-defined information system components.
SV-261932r1000801_rulePostgreSQL must maintain the confidentiality and integrity of information during preparation for transmission.
SV-261933r1000804_rulePostgreSQL must maintain the confidentiality and integrity of information during reception.
SV-261934r1000807_ruleWhen invalid inputs are received, PostgreSQL must behave in a predictable and documented manner that reflects organizational and system objectives.
SV-261935r1000810_ruleWhen updates are applied to the PostgreSQL software, any software components that have been replaced or made unnecessary must be removed.
SV-261936r1137667_ruleSecurity-relevant software updates to PostgreSQL must be installed within the time period directed by an authoritative source (e.g., IAVM, CTOs, DTMs, and STIGs).
SV-261938r1000819_rulePostgreSQL must be able to generate audit records when security objects are accessed.
SV-261939r1000822_rulePostgreSQL must generate audit records when unsuccessful attempts to access security objects occur.
SV-261940r1000825_rulePostgreSQL must generate audit records when categories of information (e.g., classification levels/security levels) are accessed.
SV-261941r1000828_rulePostgreSQL must generate audit records when unsuccessful attempts to access categories of information (e.g., classification levels/security levels) occur.
SV-261942r1000831_rulePostgreSQL must generate audit records when privileges/permissions are added.
SV-261943r1000834_rulePostgreSQL must generate audit records when unsuccessful attempts to add privileges/permissions occur.
SV-261944r1000837_rulePostgreSQL must generate audit records when privileges/permissions are modified.
SV-261945r1000840_rulePostgreSQL must generate audit records when unsuccessful attempts to modify privileges/permissions occur.
SV-261946r1000843_rulePostgreSQL must generate audit records when security objects are modified.
SV-261947r1000846_rulePostgreSQL must generate audit records when unsuccessful attempts to modify security objects occur.
SV-261948r1000849_rulePostgreSQL must generate audit records when categories of information (e.g., classification levels/security levels) are modified.
SV-261949r1000852_rulePostgreSQL must generate audit records when unsuccessful attempts to modify categories of information (e.g., classification levels/security levels) occur.
SV-261950r1000855_rulePostgreSQL must generate audit records when privileges/permissions are deleted.
SV-261951r1000858_rulePostgreSQL must generate audit records when unsuccessful attempts to delete privileges/permissions occur.
SV-261952r1000861_rulePostgreSQL must generate audit records when security objects are deleted.
SV-261953r1000864_rulePostgreSQL must generate audit records when unsuccessful attempts to delete security objects occur.
SV-261954r1000867_rulePostgreSQL must generate audit records when categories of information (e.g., classification levels/security levels) are deleted.
SV-261955r1000870_rulePostgreSQL must generate audit records when unsuccessful attempts to delete categories of information (e.g., classification levels/security levels) occur.
SV-261956r1000975_rulePostgreSQL must generate audit records when successful logons or connections occur.
SV-261957r1000876_rulePostgreSQL must generate audit records when unsuccessful logons or connection attempts occur.
SV-261958r1000879_rulePostgreSQL must generate audit records for all privileged activities or other system-level access.
SV-261959r1000882_rulePostgreSQL must generate audit records when unsuccessful attempts to execute privileged activities or other system-level access occur.
SV-261960r1000885_rulePostgreSQL must generate audit records showing starting and ending time for user access to the database(s).
SV-261961r1000888_rulePostgreSQL must generate audit records when concurrent logons/connections by the same user from different workstations occur.
SV-261962r1000891_rulePostgreSQL must be able to generate audit records when successful accesses to objects occur.
SV-261963r1000894_rulePostgreSQL must generate audit records when unsuccessful accesses to objects occur.
SV-261964r1000897_rulePostgreSQL must generate audit records for all direct access to the database(s).
SV-261965r1137661_rulePostgreSQL must implement NIST FIPS 140-2 or 140-3 validated cryptographic modules to generate and validate cryptographic hashes.
SV-261966r1137664_rulePostgreSQL 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.
SV-261967r1000906_rulePostgreSQL must offload audit data to a separate log management facility; this must be continuous and in near real time for systems with a network connection to the storage facility and weekly or more often for standalone systems.
SV-283674r1193281_rulePostgreSQL products must be a version supported by the vendor.