Finding ID |
Severity |
Title |
Description |
V-261937
|
High |
PostgreSQL products must be a version supported by the vendor. |
Unsupported commercial and database systems should not be used because fixes to newly identified bugs will not be implemented by the vendor. The lack of support can result in potential vulnerabilities. Systems at unsupported servicing levels or releases will not receive security updates for new vulnerabilities, which leaves them subject... |
V-261928
|
High |
PostgreSQL must use NSA-approved cryptography to protect classified information in accordance with the data owner's 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 approved by the federal government since this provides assurance they have been tested and validated.
It is the responsibility of the data owner... |
V-261901
|
High |
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 the state of information when it is located on a secondary storage device (e.g., disk drive, tape drive) within an organizational... |
V-261896
|
High |
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 cryptographic modules may not implement algorithms correctly. Unapproved cryptographic modules or algorithms should not be relied on for authentication, confidentiality, or... |
V-261894
|
High |
PostgreSQL must enforce authorized access to all PKI private keys stored/used by PostgreSQL. |
The DOD standard for authentication is DOD-approved PKI certificates. PKI certificate-based authentication is performed by requiring the certificate holder to cryptographically prove possession of the corresponding private key.
If the private key is stolen, an attacker can use the private key(s) to impersonate the certificate holder. In cases where the... |
V-261892
|
High |
If passwords are used for authentication, PostgreSQL must transmit only encrypted 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 requires Authorizing Official (AO) approval.
In such cases, passwords need to be protected at all times, and encryption is... |
V-261891
|
High |
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 requires Authorizing Official (AO) approval.
In such cases, database passwords stored in clear text, using reversible encryption, or using... |
V-261882
|
High |
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 effects on the overall security of the system.
If the system were to allow any user to make changes to software libraries,... |
V-261859
|
High |
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 that have been issued certificates by DOD-approved PKIs, all DOD systems, including databases, must be properly configured to implement access control policies.
Successful authentication... |
V-261858
|
High |
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 other error. Managing accounts for the same person in multiple places is inefficient and prone to problems with consistency and synchronization.
A comprehensive... |
V-261967
|
Medium |
PostgreSQL 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. |
Information stored in one location is vulnerable to accidental or incidental deletion or alteration.
Offloading is a common process in information systems with limited audit storage capacity.
PostgreSQL may write audit records to database tables, to files in the file system, to other kinds of local repository, or directly to... |
V-261966
|
Medium |
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 approved by the federal government since this provides assurance they have been tested and validated.
It is the responsibility of the data owner... |
V-261965
|
Medium |
PostgreSQL must implement NIST FIPS 140-2 or 140-3 validated cryptographic modules to generate and validate cryptographic hashes. |
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 approved by the federal government since this provides assurance they have been tested and validated.
For detailed information, refer to NIST FIPS Publication... |
V-261964
|
Medium |
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 database management utility program. The intent is to capture all activity from administrative and nonstandard sources. |
V-261963
|
Medium |
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 relating to an incident or identify those responsible for one.
In an SQL environment, types of access include, but are not... |
V-261962
|
Medium |
PostgreSQL must be able to generate audit records when successful 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 relating to an incident, or identify those responsible for one.
In an SQL environment, types of access include, but are not... |
V-261961
|
Medium |
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 such connections may be due to improper circumvention of the requirement to use the Common Access Card (CAC)... |
V-261960
|
Medium |
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 to logons/connections, in the audit logs.
Disconnection may be initiated by the user or forced by the system (as in... |
V-261959
|
Medium |
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 should include a definition of the functionality considered privileged.
A privileged function in this context is any operation that modifies the structure of... |
V-261958
|
Medium |
PostgreSQL must generate audit records for all privileged activities or other system-level access. |
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 should include a definition of the functionality considered privileged.
A privileged function in this context is any operation that modifies the structure of... |
V-261957
|
Medium |
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 much information as possible about the incident must be captured. |
V-261956
|
Medium |
PostgreSQL must generate audit records when successful logons or connections occur. |
For completeness of forensic analysis, it is necessary to track who/what (a user or other principal) logs on to PostgreSQL. |
V-261955
|
Medium |
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 failed attempts in addition to the successful ones.
For detailed information on categorizing information, refer to FIPS Publication 199,... |
V-261954
|
Medium |
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 to FIPS Publication 199, Standards for Security Categorization of federal information and information systems, and FIPS Publication 200, Minimum Security Requirements for federal... |
V-261953
|
Medium |
PostgreSQL must generate audit records when unsuccessful attempts to delete security objects occur. |
The removal of security objects from the database/PostgreSQL would seriously degrade a system's information assurance posture. If such an action is attempted, it must be logged.
To aid in diagnosis, it is necessary to keep track of failed attempts in addition to the successful ones. |
V-261952
|
Medium |
PostgreSQL must generate audit records when security objects are deleted. |
The removal of security objects from the database/PostgreSQL would seriously degrade a system's information assurance posture. If such an event occurs, it must be logged. |
V-261951
|
Medium |
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 undetected.
In an SQL environment, deleting permissions is typically done via the REVOKE or DENY command.
To aid in diagnosis,... |
V-261950
|
Medium |
PostgreSQL must generate audit records when privileges/permissions are deleted. |
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. Elevated privileges give users access to information and functionality that they should not have; restricted privileges wrongly deny access to authorized users.... |
V-261949
|
Medium |
PostgreSQL must generate audit records when unsuccessful attempts to modify 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 failed attempts in addition to the successful ones.
For detailed information on categorizing information, refer to FIPS Publication 199,... |
V-261948
|
Medium |
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 to FIPS Publication 199, Standards for Security Categorization of federal information and information systems, and FIPS Publication 200, Minimum Security Requirements for federal... |
V-261947
|
Medium |
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, unauthorized changes to the security subsystem could go undetected. The database could be severely compromised or rendered inoperative.
To aid in... |
V-261946
|
Medium |
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, unauthorized changes to the security subsystem could go undetected. The database could be severely compromised or rendered inoperative. |
V-261945
|
Medium |
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 undetected.
In an SQL environment, modifying permissions is typically done via the GRANT, REVOKE, and DENY commands.
To aid in... |
V-261944
|
Medium |
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. Elevated privileges give users access to information and functionality that they should not have; restricted privileges wrongly deny access to authorized users.... |
V-261943
|
Medium |
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 undetected.
In an SQL environment, adding permissions is typically done via the GRANT command, or, in the negative, the DENY... |
V-261942
|
Medium |
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. Elevated privileges give users access to information and functionality that they should not have; restricted privileges wrongly deny access to authorized users.... |
V-261941
|
Medium |
PostgreSQL must generate audit records when unsuccessful attempts to access 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 failed attempts in addition to the successful ones.
For detailed information on categorizing information, refer to FIPS Publication 199,... |
V-261940
|
Medium |
PostgreSQL must generate audit records when categories of information (e.g., classification levels/security levels) are 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 to FIPS Publication 199, Standards for Security Categorization of federal information and information systems, and FIPS Publication 200, Minimum Security Requirements for federal... |
V-261939
|
Medium |
PostgreSQL must generate audit records when unsuccessful attempts to access security objects occur. |
Changes to the security configuration must be tracked.
This requirement applies to situations where security data is retrieved or modified via data manipulation operations, as opposed to via specialized security functionality.
In an SQL environment, types of access include, but are not limited to:
SELECT
INSERT
UPDATE
DELETE
EXECUTE
To... |
V-261938
|
Medium |
PostgreSQL must be able to generate audit records when security objects are accessed. |
Changes to the security configuration must be tracked.
This requirement applies to situations where security data is retrieved or modified via data manipulation operations, as opposed to via specialized security functionality.
In an SQL environment, types of access include, but are not necessarily limited to:
SELECT
INSERT
UPDATE
DELETE
EXECUTE |
V-261936
|
Medium |
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 security vulnerabilities. Organizations (including any contractor to the organization) are required to promptly install security-relevant software updates (e.g., patches, service packs, and hot fixes). Flaws discovered... |
V-261935
|
Medium |
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 remove older versions of software automatically from the information system. In other cases, manual review and removal will be required. In planning... |
V-261934
|
Medium |
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 system responses to the invalid input may be disruptive or cause the system to fail into an unsafe state.
The behavior will be derived... |
V-261933
|
Medium |
PostgreSQL must maintain the confidentiality and integrity of information during reception. |
Information can be either unintentionally or maliciously disclosed or modified during reception, including, for example, during aggregation, at protocol transformation points, and during packing/unpacking. These unauthorized disclosures or modifications compromise the confidentiality or integrity of the information.
This requirement applies only to those applications that are either distributed or can... |
V-261932
|
Medium |
PostgreSQL must maintain the confidentiality and integrity of information during preparation for transmission. |
Information can be either unintentionally or maliciously disclosed or modified during preparation for transmission, including, for example, during aggregation, at protocol transformation points, and during packing/unpacking. These unauthorized disclosures or modifications compromise the confidentiality or integrity of the information.
Use of this requirement will be limited to situations where the... |
V-261931
|
Medium |
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 cryptographic mechanisms may be native to PostgreSQL or implemented via additional software or operating system/file system settings, as appropriate to the situation.
Selection of a cryptographic... |
V-261930
|
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. |
PostgreSQLs handling data requiring "data at rest" protections must employ cryptographic mechanisms to prevent unauthorized disclosure and modification of the information at rest. These cryptographic mechanisms may be native to PostgreSQL or implemented via additional software or operating system/file system settings, as appropriate to the situation.
Selection of a cryptographic... |
V-261929
|
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. |
Only DOD-approved external PKIs have been evaluated to ensure that they have security controls and identity vetting procedures in place which are sufficient for DOD systems to rely on the identity asserted in the certificate. PKIs lacking sufficient security controls and identity vetting procedures risk being compromised and issuing certificates... |
V-261927
|
Medium |
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 (PKI) certificate, coupled with a Personal Identification Number (PIN) to be entered by the user at the beginning of each... |
V-261926
|
Medium |
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. |
V-261925
|
Medium |
PostgreSQL must produce audit records of its enforcement of access restrictions associated with changes to the configuration of PostgreSQL or database(s). |
Without auditing the enforcement of access restrictions against changes to configuration, it would be difficult to identify attempted attacks and an audit trail would not be available for forensic investigation for after-the-fact actions.
Enforcement actions are the methods or mechanisms used to prevent unauthorized changes to configuration settings. Enforcement action... |
V-261924
|
Medium |
PostgreSQL must enforce access restrictions associated with changes to the configuration of the DBMS or database(s). |
Failure to provide logical access restrictions associated with changes to configuration may have significant effects on the overall security of the system.
When dealing with access restrictions pertaining to change control, it should be noted that any changes to the hardware, software, and/or firmware components of the information system can... |
V-261923
|
Medium |
PostgreSQL must prohibit user installation of logic modules (stored procedures, functions, triggers, views, etc.) without explicit privileged status. |
Allowing regular users to install software without explicit privileges creates the risk that untested or potentially malicious software will be installed on the system. Explicit privileges (escalated or administrative privileges) provide the regular user with explicit capabilities and control that exceed the rights of a regular user.
PostgreSQL functionality and... |
V-261922
|
Medium |
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. Granularity of time measurements refers to the precision available in time stamp values. Granularity coarser than one second is not sufficient for... |
V-261921
|
Medium |
PostgreSQL must record time stamps in audit records and application data that can be mapped to Coordinated Universal Time (UTC), formerly Greenwich Mean Time (GMT). |
If time stamps are not consistently applied and there is no common time reference, it is difficult to perform forensic analysis.
Time stamps generated by PostgreSQL must include date and time. Time is commonly expressed in UTC, a modern continuation of GMT, or local time with an offset from UTC.... |
V-261920
|
Medium |
PostgreSQL must provide an immediate real-time alert to appropriate support staff of all audit log failures. |
It is critical for the appropriate personnel to be aware if a system is at risk of failing to process audit logs as required. Without a real-time alert, security personnel may be unaware of an impending failure of the audit capability, and system operation may be adversely affected.
The appropriate... |
V-261919
|
Medium |
PostgreSQL must provide a warning to appropriate support staff when allocated audit record storage volume reaches 75 percent of maximum audit record storage capacity. |
Organizations are required to use a central log management system so under normal conditions, the audit space allocated to PostgreSQL on its own server will not be an issue. However, space will still be required on the PostgreSQL server for audit records in transit, and, under abnormal conditions, this could... |
V-261918
|
Medium |
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) mandates that audit data be offloaded to a centralized log management system, it remains necessary to provide space on the database server to serve as... |
V-261917
|
Medium |
PostgreSQL must use centralized management of the content captured in audit records generated by all components of PostgreSQL. |
Without the ability to centrally manage the content captured in the audit records, identification, troubleshooting, and correlation of suspicious behavior would be difficult and could lead to a delayed or incomplete analysis of an ongoing attack.
The content captured in audit records must be managed from a central location (necessitating... |
V-261916
|
Medium |
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 privileges. However, if the privileges required for execution are at a higher level than the privileges assigned to organizational users invoking the functionality applications/programs, those users... |
V-261915
|
Medium |
PostgreSQL must prevent nonprivileged users from executing privileged functions, to include disabling, circumventing, or altering implemented security safeguards/countermeasures. |
Preventing nonprivileged users from executing privileged functions mitigates the risk that unauthorized individuals or processes may gain unnecessary access to information or privileges.
System documentation should include a definition of the functionality considered privileged.
Depending on circumstances, privileged functions can include, for example, establishing accounts, performing system integrity checks, or... |
V-261914
|
Medium |
PostgreSQL must enforce discretionary access control policies, as defined by the data owner, over defined subjects and objects. |
Discretionary Access Control (DAC) is based on the notion that individual users are "owners" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via... |
V-261913
|
Medium |
PostgreSQL must associate organization-defined types of security labels having organization-defined security label values with information in transmission. |
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 basic properties or characteristics of an entity (e.g., subjects and objects) with respect to safeguarding information.
These labels are typically associated with internal data structures... |
V-261912
|
Medium |
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 basic properties or characteristics of an entity (e.g., subjects and objects) with respect to safeguarding information.
These labels are typically associated with internal data structures... |
V-261911
|
Medium |
PostgreSQL must associate organization-defined types of security labels having organization-defined security label values with information in storage. |
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 basic properties or characteristics of an entity (e.g., subjects and objects) with respect to safeguarding information.
These labels are typically associated with internal data structures... |
V-261910
|
Medium |
PostgreSQL must automatically terminate a user session after organization-defined conditions or trigger events requiring session disconnect. |
This addresses the termination of user-initiated logical sessions in contrast to the termination of network connections that are associated with communications sessions (i.e., network disconnect). A logical session (for local, network, and remote access) is initiated whenever a user (or process acting on behalf of a user) accesses an organizational... |
V-261909
|
Medium |
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 considered by the organization and development team. The extent to which the information system is able to identify... |
V-261908
|
Medium |
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 error messages need to be carefully considered by the organization and development team.
Databases can inadvertently provide a wealth... |
V-261907
|
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. |
With respect to database management systems, one class of threat is known as SQL Injection, or more generally, code injection. It takes advantage of the dynamic execution capabilities of various programming languages, including dialects of SQL. In such cases, the attacker deduces the manner in which SQL statements are being... |
V-261906
|
Medium |
PostgreSQL and associated applications must reserve the use of dynamic code execution for situations that require it. |
With respect to database management systems, one class of threat is known as SQL Injection, or more generally, code injection. It takes advantage of the dynamic execution capabilities of various programming languages, including dialects of SQL. In such cases, the attacker deduces the manner in which SQL statements are being... |
V-261905
|
Medium |
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 application behavior, potentially leading to an application or information system compromise. Invalid user input is one of the primary methods... |
V-261904
|
Medium |
Access to database files must be limited to relevant processes and to authorized, administrative users. |
Applications, including DBMSs, must prevent unauthorized and unintended information transfer via shared system resources. Permitting only PostgreSQL processes and authorized, administrative users to have access to the files where the database resides helps ensure that those files are not shared inappropriately and are not open to backdoor access and manipulation. |
V-261903
|
Medium |
Database contents must be protected from unauthorized and unintended information transfer by enforcement of a data-transfer policy. |
Applications, including DBMSs, must prevent unauthorized and unintended information transfer via shared system resources.
Data used for the development and testing of applications often involves copying data from production. It is important that specific procedures exist for this process, to include the conditions under which such transfer may take place,... |
V-261902
|
Medium |
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, and/or firmware of the information system responsible for enforcing the system security policy and supporting the isolation of code and data on which the... |
V-261900
|
Medium |
PostgreSQL must maintain the authenticity of communications sessions by guarding against man-in-the-middle attacks that guess at Session ID values. |
One class of man-in-the-middle, or session hijacking, attack involves the adversary guessing at valid session identifiers based on patterns in identifiers already known.
The preferred technique for thwarting guesses at Session IDs is the generation of unique session identifiers using a FIPS 140-2 or 140-3 approved random number generator.
However,... |
V-261899
|
Medium |
PostgreSQL must invalidate session identifiers upon user logout or other session termination. |
Captured sessions can be reused in "replay" attacks. This requirement limits the ability of adversaries to capture and continue to employ previously valid session IDs.
This requirement focuses on communications protection for the PostgreSQL session rather than for the network packet. The intent of this control is to establish grounds... |
V-261898
|
Medium |
PostgreSQL must separate user functionality (including user interface services) from database management functionality. |
Information system management functionality includes functions necessary to administer databases, network components, workstations, or servers and typically requires privileged user access.
The separation of user functionality from information system management functionality is either physical or logical and is accomplished by using different computers, different central processing units, different instances of... |
V-261897
|
Medium |
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 of employees (e.g., contractors, guest researchers, individuals from allied nations).
Nonorganizational users must be uniquely identified and authenticated for all accesses other than those accesses explicitly... |
V-261895
|
Medium |
PostgreSQL must map the PKI-authenticated identity to an associated user account. |
The DOD standard for authentication is DOD-approved PKI certificates. Once a PKI certificate has been validated, it must be mapped to a PostgreSQL user account for the authenticated identity to be meaningful to PostgreSQL and useful for authorization decisions. |
V-261893
|
Medium |
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). Certification path validation is necessary for a relying party to make an informed decision regarding acceptance of an end entity certificate. Certification... |
V-261890
|
Medium |
PostgreSQL must uniquely identify and authenticate organizational users (or processes acting on behalf of organizational users). |
To assure accountability and prevent unauthenticated access, organizational users must be identified and authenticated to prevent potential misuse and compromise of the system.
Organizational users include organizational employees or individuals the organization deems to have equivalent status of employees (e.g., contractors). Organizational users (and any processes acting on behalf of... |
V-261889
|
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. |
In order to prevent unauthorized connection of devices, unauthorized transfer of information, or unauthorized tunneling (i.e., embedding of data types within data types), organizations must disable or restrict unused or unnecessary physical and logical ports/protocols/services on information systems.
Applications are capable of providing a wide variety of functions and services.... |
V-261888
|
Medium |
Access to external executables must be disabled or restricted. |
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 organizational operations (e.g., key missions, functions).
It is detrimental for applications to provide, or install by default, functionality exceeding requirements or... |
V-261887
|
Medium |
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 organizational operations (e.g., key missions, functions).
It is detrimental for software products to provide, or install by default, functionality exceeding requirements... |
V-261886
|
Medium |
Unused database components, PostgreSQL software, and database objects must be removed. |
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 organizational operations (e.g., key missions, functions).
It is detrimental for software products to provide, or install by default, functionality exceeding requirements... |
V-261885
|
Medium |
The 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. |
If PostgreSQL were to allow any user to make changes to database structure or logic, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process.
Accordingly, only qualified and authorized individuals must be allowed to obtain access to... |
V-261884
|
Medium |
Database 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. |
Within the database, object ownership implies full privileges to the owned object, including the privilege to assign access to the owned objects to other subjects. Database functions and procedures can be coded using definer's rights. This allows anyone who uses the object to perform the actions if they were the... |
V-261883
|
Medium |
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 significant effects on the overall security of the system.
Multiple applications can provide a cumulative negative effect. A vulnerability and subsequent exploit... |
V-261881
|
Medium |
PostgreSQL must limit privileges to change software modules, to include stored procedures, functions and triggers, and links to software external to PostgreSQL. |
If the system were to allow any user to make changes to software libraries, then those changes might be implemented without undergoing the appropriate testing and approvals that are part of a robust change management process.
Accordingly, only qualified and authorized individuals must be allowed to obtain access to information... |
V-261880
|
Medium |
PostgreSQL must protect its audit features from unauthorized removal. |
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 audit data.
Applications providing tools to interface with audit data will leverage user permissions and roles identifying the user accessing the tools... |
V-261879
|
Medium |
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 audit data.
Applications providing tools to interface with audit data will leverage user permissions and roles identifying the user accessing the tools... |
V-261878
|
Medium |
PostgreSQL must protect its audit features from unauthorized access. |
Protecting audit data also includes identifying and protecting the tools used to view and manipulate log data.
Depending upon the log format and application, system and application log tools may provide the only means to manipulate and manage application and system log data. It is, therefore, imperative that access to... |
V-261877
|
Medium |
The audit information produced by PostgreSQL must be protected from unauthorized deletion. |
If audit data were to become compromised, then competent forensic analysis and discovery of the true source of potentially malicious system activity is impossible to achieve.
To ensure the veracity of audit data, the information system and/or the application must protect audit information from unauthorized deletion. This requirement can be... |
V-261876
|
Medium |
The audit information produced by PostgreSQL must be protected from unauthorized modification. |
If audit data were to become compromised, competent forensic analysis and discovery of the true source of potentially malicious system activity would be impossible to achieve.
To ensure the veracity of audit data, the information system and/or the application must protect audit information from unauthorized modification.
This requirement can be... |
V-261875
|
Medium |
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 addition, access to audit records provides information an attacker could potentially use to their advantage.
To ensure the veracity of... |
V-261874
|
Medium |
PostgreSQL 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. |
It is critical that when PostgreSQL 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; failures in the audit capturing mechanisms; and audit storage capacity being reached or exceeded. Responses to audit failure depend upon... |
V-261873
|
Medium |
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; failures in the audit capturing mechanisms; and audit storage capacity being reached or exceeded. Responses to audit failure depend... |
V-261872
|
Medium |
PostgreSQL must include additional, more detailed, organization-defined information in the audit records for audit events identified by type, location, or subject. |
Information system auditing capability is critical for accurate forensic analysis. Reconstruction of harmful events or forensic analysis is not possible if audit records do not contain enough information. To support analysis, some types of events will need information to be logged that exceeds the basic requirements of event type, time... |
V-261871
|
Medium |
PostgreSQL must produce audit records containing sufficient information to establish the identity of any user/subject or process associated with the event. |
Information system auditing capability is critical for accurate forensic analysis. Without information that establishes the identity of the subjects (i.e., users or processes acting on behalf of users) associated with the events, security personnel cannot determine responsibility for the potentially harmful event.
Identifiers (if authenticated or otherwise known) include, but... |
V-261870
|
Medium |
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 whether an attack was successful or if changes were made to the security state of the system.
Event outcomes can include indicators of event... |
V-261869
|
Medium |
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 relating to an incident.
To compile an accurate risk assessment and provide forensic analysis, it is essential for security personnel to know where... |
V-261868
|
Medium |
PostgreSQL must produce audit records containing sufficient information to establish where the events occurred. |
Information system auditing capability is critical for accurate forensic analysis. Without establishing where events occurred, it is impossible to establish, correlate, and investigate the events relating to an incident.
In order to compile an accurate risk assessment and provide forensic analysis, it is essential for security personnel to know where... |
V-261867
|
Medium |
PostgreSQL must produce audit records containing time stamps to establish when the events occurred. |
Information system auditing capability is critical for accurate forensic analysis. Without establishing when events occurred, it is impossible to establish, correlate, and investigate the events relating to an incident.
To compile an accurate risk assessment and provide forensic analysis, it is essential for security personnel to know the date and... |
V-261866
|
Medium |
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 the events relating to an incident or identify those responsible for one.
Audit record content that may be necessary to satisfy the requirement of... |
V-261865
|
Medium |
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 for the whole time PostgreSQL is running. |
V-261864
|
Medium |
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 typically make such information available through views or functions.
This requirement addresses explicit requests for privilege/permission/role membership information. It does not refer to the... |
V-261863
|
Medium |
PostgreSQL must be able to generate audit records when privileges/permissions are retrieved. |
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 typically make such information available through views or functions.
This requirement addresses explicit requests for privilege/permission/role membership information. It does not refer to the... |
V-261862
|
Medium |
PostgreSQL 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. |
Without the capability to restrict which roles and individuals can select which events are audited, unauthorized personnel may be able to prevent or interfere with the auditing of critical events.
Suppression of auditing could permit an adversary to evade detection.
Misconfigured audits can degrade the system's performance by overwhelming the... |
V-261861
|
Medium |
PostgreSQL must provide audit record generation capability for DOD-defined auditable events within all DBMS/database components. |
Without the capability to generate audit records, it would be difficult to establish, correlate, and investigate the events relating to an incident or identify those responsible for one.
Audit records can be generated from various components within PostgreSQL (e.g., process, module). Certain specific application functionalities may be audited as well.... |
V-261860
|
Medium |
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.g., indicating concurrence or signing a contract), and receiving a message.
Nonrepudiation protects against later claims by a user of not having created, modified, or... |
V-261857
|
Medium |
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 (DoS) attack by exhausting connection resources; and a system can also fail or be degraded by an overload of legitimate users. Limiting the number... |