UCF STIG Viewer Logo

PostgreSQL 9.x Security Technical Implementation Guide


Overview

Date Finding Count (111)
2018-02-27 CAT I (High): 7 CAT II (Med): 104 CAT III (Low): 0
STIG Description
This Security Technical Implementation Guide is published as a tool to improve the security of Department of Defense (DoD) information systems. The requirements are derived from the National Institute of Standards and Technology (NIST) 800-53 and related documents. Comments or proposed revisions to this document should be sent via email to the following address: disa.stig_spt@mail.mil.

Available Profiles



Findings (MAC II - Mission Support Sensitive)

Finding ID Severity Title
V-72845 High 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).
V-73063 High PostgreSQL must use NIST FIPS 140-2 validated cryptographic modules for cryptographic operations.
V-72993 High PostgreSQL must implement NIST FIPS 140-2 validated cryptographic modules to protect unclassified information requiring confidentiality and cryptographic protection, in accordance with the data owners requirements.
V-72989 High PostgreSQL must implement NIST FIPS 140-2 validated cryptographic modules to generate and validate cryptographic hashes.
V-73029 High PostgreSQL must enforce authorized access to all PKI private keys stored/utilized by PostgreSQL.
V-73053 High PostgreSQL must prevent non-privileged users from executing privileged functions, to include disabling, circumventing, or altering implemented security safeguards/countermeasures.
V-73071 High The DBMS must be configured on a platform that has a NIST certified FIPS 140-2 installation of OpenSSL.
V-72847 Medium The audit information produced by PostgreSQL must be protected from unauthorized modification.
V-72929 Medium PostgreSQL must generate audit records when privileges/permissions are added.
V-72843 Medium PostgreSQL must produce audit records containing sufficient information to establish the outcome (success or failure) of the events.
V-72841 Medium PostgreSQL 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.
V-72921 Medium PostgreSQL must generate audit records when unsuccessful attempts to access security objects occur.
V-72923 Medium PostgreSQL must generate audit records when unsuccessful logons or connection attempts occur.
V-72925 Medium PostgreSQL must generate audit records showing starting and ending time for user access to the database(s).
V-72849 Medium PostgreSQL must integrate with an organization-level authentication/access mechanism providing account management and automation for all users, groups, roles, and any other principals.
V-72927 Medium PostgreSQL must generate audit records when unsuccessful attempts to modify security objects occur.
V-73069 Medium PostgreSQL must generate audit records for all direct access to the database(s).
V-73067 Medium PostgreSQL must generate audit records when successful accesses to objects occur.
V-73065 Medium Audit records must be generated when categorized information (e.g., classification levels/security levels) is deleted.
V-73061 Medium PostgreSQL must protect its audit configuration from unauthorized modification.
V-72999 Medium PostgreSQL must separate user functionality (including user interface services) from database management functionality.
V-72995 Medium PostgreSQL must protect the confidentiality and integrity of all information at rest.
V-72997 Medium PostgreSQL must prohibit user installation of logic modules (functions, trigger procedures, views, etc.) without explicit privileged status.
V-72991 Medium PostgreSQL must use NSA-approved cryptography to protect classified information in accordance with the data owners requirements.
V-72915 Medium The audit information produced by PostgreSQL must be protected from unauthorized read access.
V-72917 Medium When updates are applied to PostgreSQL software, any software components that have been replaced or made unnecessary must be removed.
V-72911 Medium PostgreSQL must isolate security functions from non-security functions.
V-72913 Medium PostgreSQL must produce audit records of its enforcement of access restrictions associated with changes to the configuration of PostgreSQL or database(s).
V-72919 Medium PostgreSQL must generate audit records when categorized information (e.g., classification levels/security levels) is accessed.
V-72855 Medium PostgreSQL must limit privileges to change functions and triggers, and links to software external to PostgreSQL.
V-72857 Medium If passwords are used for authentication, PostgreSQL must transmit only encrypted representations of passwords.
V-72851 Medium PostgreSQL must provide non-privileged users with error messages that provide information necessary for corrective actions without revealing information that could be exploited by adversaries.
V-72853 Medium Privileges to change PostgreSQL software modules must be limited.
V-72859 Medium PostgreSQL must enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.
V-73019 Medium PostgreSQL must protect against a user falsely repudiating having performed organization-defined actions.
V-73013 Medium PostgreSQL must associate organization-defined types of security labels having organization-defined security label values with information in process.
V-73011 Medium Unused database components which are integrated in PostgreSQL and cannot be uninstalled must be disabled.
V-73017 Medium PostgreSQL must enforce access restrictions associated with changes to the configuration of PostgreSQL or database(s).
V-73015 Medium If passwords are used for authentication, PostgreSQL must store only hashed, salted representations of passwords.
V-72983 Medium PostgreSQL must provide audit record generation capability for DoD-defined auditable events within all DBMS/database components.
V-72981 Medium PostgreSQL must maintain the confidentiality and integrity of information during preparation for transmission.
V-72987 Medium PostgreSQL must produce audit records containing sufficient information to establish the identity of any user/subject or process associated with the event.
V-72985 Medium PostgreSQL must generate time stamps, for audit records and application data, with a minimum granularity of one second.
V-72903 Medium PostgreSQL must include additional, more detailed, organization-defined information in the audit records for audit events identified by type, location, or subject.
V-72901 Medium Database software, including PostgreSQL configuration files, must be stored in dedicated directories separate from the host OS and other applications.
V-72907 Medium When invalid inputs are received, PostgreSQL must behave in a predictable and documented manner that reflects organizational and system objectives.
V-72905 Medium Execution of software modules (to include functions and trigger procedures) with elevated privileges must be restricted to necessary cases only.
V-72909 Medium PostgreSQL must utilize centralized management of the content captured in audit records generated by all components of PostgreSQL.
V-72861 Medium PostgreSQL must associate organization-defined types of security labels having organization-defined security label values with information in transmission.
V-72863 Medium PostgreSQL must limit the number of concurrent sessions to an organization-defined number per user for all accounts and/or account types.
V-72865 Medium The role(s)/group(s) used to modify database structure (including but not necessarily limited to tables, indexes, storage, etc.) and logic modules (functions, trigger procedures, links to software external to PostgreSQL, etc.) must be restricted to authorized users.
V-72867 Medium PostgreSQL must uniquely identify and authenticate non-organizational users (or processes acting on behalf of non-organizational users).
V-72869 Medium PostgreSQL must associate organization-defined types of security labels having organization-defined security label values with information in storage.
V-73009 Medium Access to external executables must be disabled or restricted.
V-73123 Medium PostgreSQL must produce audit records containing sufficient information to establish where the events occurred.
V-73001 Medium PostgreSQL must initiate session auditing upon startup.
V-73003 Medium PostgreSQL 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.
V-73005 Medium PostgreSQL must produce audit records containing sufficient information to establish the sources (origins) of the events.
V-73007 Medium Unused database components, PostgreSQL software, and database objects must be removed.
V-73023 Medium The system must provide a warning to appropriate support staff when allocated audit record storage volume reaches 75% of maximum audit record storage capacity.
V-72961 Medium PostgreSQL must generate audit records when concurrent logons/connections by the same user from different workstations occur.
V-72977 Medium PostgreSQL must generate audit records when unsuccessful attempts to add privileges/permissions occur.
V-73037 Medium PostgreSQL must invalidate session identifiers upon user logout or other session termination.
V-72973 Medium PostgreSQL must generate audit records when categorized information (e.g., classification levels/security levels) is modified.
V-72971 Medium PostgreSQL must generate audit records when security objects are modified.
V-72877 Medium PostgreSQL must allocate audit record storage capacity in accordance with organization-defined audit record storage requirements.
V-72963 Medium PostgreSQL must generate audit records when unsuccessful attempts to delete security objects occur.
V-73039 Medium PostgreSQL must protect its audit features from unauthorized access.
V-72873 Medium PostgreSQL and associated applications must reserve the use of dynamic code execution for situations that require it.
V-72979 Medium PostgreSQL, when utilizing PKI-based authentication, must validate certificates by performing RFC 5280-compliant certification path validation.
V-72871 Medium PostgreSQL must check the validity of all data inputs except those specifically identified by the organization.
V-72883 Medium PostgreSQL must enforce discretionary access control policies, as defined by the data owner, over defined subjects and objects.
V-72887 Medium PostgreSQL must record time stamps, in audit records and application data, that can be mapped to Coordinated Universal Time (UTC, formerly GMT).
V-72885 Medium The audit information produced by PostgreSQL must be protected from unauthorized deletion.
V-72889 Medium PostgreSQL must reveal detailed error messages only to the ISSO, ISSM, SA and DBA.
V-72965 Medium PostgreSQL must generate audit records when privileges/permissions are modified.
V-73021 Medium PostgreSQL must provide the capability for authorized users to capture, record, and log all content related to a user session.
V-73027 Medium PostgreSQL must require users to reauthenticate when organization-defined circumstances or situations require reauthentication.
V-73025 Medium PostgreSQL must provide the means for individuals in authorized roles to change the auditing to be performed on all application components, based on all selectable event criteria within organization-defined time thresholds.
V-72969 Medium PostgreSQL must generate audit records when unsuccessful attempts to execute privileged activities or other system-level access occur.
V-72891 Medium PostgreSQL must allow only the ISSM (or individuals or roles appointed by the ISSM) to select which auditable events are to be audited.
V-72893 Medium PostgreSQL must provide an immediate real-time alert to appropriate support staff of all audit failure events requiring real-time alerts.
V-72895 Medium PostgreSQL must maintain the confidentiality and integrity of information during reception.
V-72897 Medium Database objects (including but not limited to tables, indexes, storage, trigger procedures, functions, links to software external to PostgreSQL, etc.) must be owned by database/DBMS principals authorized for ownership.
V-72899 Medium The PostgreSQL software installation account must be restricted to authorized users.
V-72975 Medium PostgreSQL must generate audit records when unsuccessful attempts to modify privileges/permissions occur.
V-73031 Medium PostgreSQL must only accept end entity certificates issued by DoD PKI or DoD-approved PKI Certification Authorities (CAs) for the establishment of all encrypted sessions.
V-72951 Medium PostgreSQL must generate audit records when unsuccessful accesses to objects occur.
V-72953 Medium PostgreSQL must generate audit records for all privileged activities or other system-level access.
V-72955 Medium PostgreSQL must generate audit records when unsuccessful attempts to access categorized information (e.g., classification levels/security levels) occur.
V-73033 Medium PostgreSQL must produce audit records containing sufficient information to establish what type of events occurred.
V-72957 Medium PostgreSQL must be able to generate audit records when security objects are accessed.
V-72959 Medium PostgreSQL must generate audit records when privileges/permissions are deleted.
V-73057 Medium Database contents must be protected from unauthorized and unintended information transfer by enforcement of a data-transfer policy.
V-73055 Medium PostgreSQL must map the PKI-authenticated identity to an associated user account.
V-73051 Medium PostgreSQL must automatically terminate a user session after organization-defined conditions or trigger events requiring session disconnect.
V-73059 Medium Access to database files must be limited to relevant processes and to authorized, administrative users.
V-72875 Medium PostgreSQL and associated applications, when making use of dynamic code execution, must scan input data for invalid values that may indicate a code injection attack.
V-73035 Medium PostgreSQL must implement cryptographic mechanisms preventing the unauthorized disclosure of organization-defined information at rest on organization-defined information system components.
V-72949 Medium PostgreSQL must generate audit records when unsuccessful attempts to modify categorized information (e.g., classification levels/security levels) occur.
V-72947 Medium PostgreSQL must be able to generate audit records when privileges/permissions are retrieved.
V-72945 Medium PostgreSQL must generate audit records when unsuccessful attempts to delete privileges/permissions occur.
V-72941 Medium PostgreSQL must generate audit records when unsuccessful attempts to retrieve privileges/permissions occur.
V-73045 Medium PostgreSQL must off-load 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 stand-alone systems.
V-73047 Medium PostgreSQL must maintain the authenticity of communications sessions by guarding against man-in-the-middle attacks that guess at Session ID values.
V-73041 Medium PostgreSQL must produce audit records containing time stamps to establish when the events occurred.
V-73043 Medium PostgreSQL must protect its audit features from unauthorized removal.
V-73049 Medium PostgreSQL must uniquely identify and authenticate organizational users (or processes acting on behalf of organizational users).
V-72939 Medium PostgreSQL must generate audit records when security objects are deleted.
V-72933 Medium PostgreSQL must generate audit records when successful logons or connections occur.
V-72931 Medium PostgreSQL must generate audit records when unsuccessful attempts to delete categorized information (e.g., classification levels/security levels) occur.