Information
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 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 using 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.
Satisfies: SRG-APP-000118-DB-000059, SRG-APP-000119-DB-000060, SRG-APP-000120-DB-000061
Solution
It is recommended to use the official installation packages provided by MongoDB. In the event the software was installed manually and permissions need to be restricted, consider a clean reinstallation.
To correct finding where auditLog.destination is set to "file", run these commands:
$ chown mongod <MongoDB auditLog directory>
$ chgrp mongod <MongoDB auditLog directory>
$ chmod 700 <MongoDB auditLog directory>
(The path for the MongoDB auditLog directory will vary according to local circumstances. The auditLog directory will be found in the MongoDB configuration file whose default location is /etc/mongod.conf.)
To find the auditLog directory name, view and search for the entry in the MongoDB configuration file for the auditLog.path:
Example:
auditLog:
destination: file
format: BSON
path: /var/log/mongodb/audit/auditLog.bson
Given the example above, the "MongoDB auditLog directory" is "/var/log/mongodb/audit".