V-224149 - EDB Postgres Advanced Server v11 on Windows Security Technical Implementation Guide
Back to EDB Postgres Advanced Server v11 on Windows Security Technical Implementation Guide
The audit information produced by the EDB Postgres Advanced Server must be protected from unauthorized modification.
Severity: Medium
Description
<VulnDiscussion>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 modification. This requirement can be achieved through multiple methods that will depend upon system architecture and design. Some commonly employed methods include ensuring log files enjoy the proper file system permissions and limiting log data locations. Applications providing a user interface to audit data will leverage user permissions and roles identifying the user accessing the data and the corresponding rights that the user enjoys in order to make access decisions regarding the modification of audit data. Audit information includes all information (e.g., audit records, audit settings, and audit reports) needed to successfully audit information system activity. Modification of database audit data could mask the theft of, or the unauthorized modification of, sensitive data stored in the database.</VulnDiscussion><FalsePositives></FalsePositives><FalseNegatives></FalseNegatives><Documentable>false</Documentable><Mitigations></Mitigations><SeverityOverrideGuidance></SeverityOverrideGuidance><PotentialImpacts></PotentialImpacts><ThirdPartyTools></ThirdPartyTools><MitigationControl></MitigationControl><Responsibility></Responsibility><IAControls></IAControls>
Check
The location of the EDB audit directory is specified via the edb_audit_directory parameter. By default, this parameter is set to "edb_audit", which results in a directory name "edb_audit" being created under the postgresql data directory. The location of the EDB Audit directory for a running EDB Postgres Advanced Server instance can be found using the following command run from a Windows command prompt: psql -d <database name> -U <database superuser name> -c "SHOW edb_audit_directory" where, <database name> is any database in the EDB postgres instance and <database superuser name> is a database superuser. By default, a database named "edb" and a superuser named "enterprisedb" are installed with EDB Postgres Advanced Server (EPAS). Note that the default location for the EDB postgresql data directory is found in the directory where EDB Postgres Advanced Server is installed. The location of the data directory for a running postgres instance can be found using the following command run from a Windows command prompt: psql -d <database name> -U <database superuser name> -c "SHOW data_directory" where, <database name> is any database in the EDB postgres instance and <database superuser name> is a database superuser. By default, a database named "edb" and a superuser named "enterprisedb" are installed with EDB Postgres Advanced Server (EPAS). If the default path is used for the postgresql data directory and the default setting of "edb_audit" is used for the edb_audit_directory parameter, the path to the EDB audit directory would be <EDB Postgres data directory>\edb_audit. Depending on the version of EPAS that is installed, the options that were selected during installation, and the edb_audit_directory parameter setting, the path to the data directory and the EDB audit directory may be different. First, determine ownership of the EDB audit directory folder. This can be done using Windows Explorer or via a Windows command prompt. Using Windows Explorer: Browse to the director
Fix
1) Change ownership of EDB Audit directory and its contents to the database service account if they are not owned by the database service account. If the EDB Audit directory and its contents are not owned by the database service account, change ownership to the service account responsible for running the Advanced Server database service. This may be done using Windows Explorer: Browse to the directory where the EDB audit directory folder is located. Select and right-click on the folder, select "Properties", select the "Securities" tab, and select the "Advanced" button. Select the "Change" link shown next to the owner of the folder to change the folder's owner. Alternatively, the Windows TAKEOWN command or the ICACLS command (with the /SETOWNER option) may be used to change ownership of folders and files using the Windows command prompt. 2) Modify permissions on the EDB Audit directory and its contents to meet the requirement to protect against unauthorized access. This may be done using Windows Explorer: Browse to the directory where the EDB audit directory folder is located. Select and right-click on the folder, select "Properties", and select the "Security" tab. Modify the security permissions to: NT AUTHORITY/NetworkService (or configured database service account) (Full Control) Administrators (Read) Users (none) Alternatively, the Windows ICACLS command may be used to modify permissions on folders and files using the Windows command prompt. If other permissions have been granted to other users or groups, ensure the system documentation is updated to note the organizationally approved permission setting and corresponding justification of the permission settings for this requirement.