Title: The DBMS must protect audit information from any type of unauthorized access.
Vulnerability ID: V-32393
IA Controls: None
Description: 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 his or her advantage.
To ensure the veracity of audit data the information system and/or the application must protect audit information from any and all unauthorized access. This includes read, write, copy, etc.
This requirement can be achieved through multiple methods which will depend upon system architecture and design. Some commonly employed methods include ensuring log files enjoy the proper file system permissions utilizing file system protections and limiting log data location.
Additionally, applications with user interfaces to audit records should not allow for the unfettered manipulation of or access to those records via the application. If the application provides access to the audit data, the application becomes accountable for ensuring that audit information is protected from unauthorized access.
Audit information includes all information (e.g., audit records, audit settings, and audit reports) needed to successfully audit information system activity.
Check Text: Review locations of audit logs, both internal to the database and database audit logs located at the operating system level. Verify there are appropriate controls and permissions to protect the audit information from unauthorized access. If appropriate controls and permissions do not exist, this is a finding.
Fix Text: Add controls and modify permissions to protect database audit log data from unauthorized access, whether stored in the database itself or at the OS level.[divider]
When using SQL Server’s native audit capabilities you can specify a few locations that the audit information can be stored.
You can specify if you want the data to be stored in a file, the security log, or the application log. If using a file, make sure that it is stored in a secured directory and only those that need to have access to the file actually have the appropriate levels of access. The same goes for storing the data in the logs. Ensure only those that are required to, have the permission to make any changes to the logs.