MongoDB must uniquely identify and authenticate organizational users (or processes acting on behalf of organizational users).
Severity | Group ID | Group Title | Version | Rule ID | Date | STIG Version |
---|---|---|---|---|---|---|
medium | V-265916 | SRG-APP-000148-DB-000103 | MD7X-00-003600 | SV-265916r1028534_rule | 2024-09-27 | 1 |
Description |
---|
To ensure 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 users) must be uniquely identified and authenticated for all accesses, except the following: (i) Accesses explicitly identified and documented by the organization. Organizations document specific user actions that can be performed on the information system without identification or authentication; and (ii) Accesses that occur through authorized use of group authenticators without individual authentication. Organizations may require unique identification of individuals using shared accounts, for detailed accountability of individual activity. |
ℹ️ Check |
---|
For each database in the system, run the following command: > use <database> > db.getUsers() Ensure each user identified is a member of an appropriate organization that can access the database. Alternatively, if LDAP/AD is being used for authentication/authorization, the mongoldap tool can be used to verify user account access. If a user is found not be a member of an appropriate organization that can access the database, this is a finding. Verify that the MongoDB configuration file (default location: /etc/mongod.conf) contains the following: security: authorization: "enabled" If this parameter is not present, this is a finding. |
✔️ Fix |
---|
For any user not a member of an appropriate organization and has access to a database in the system run the following command: // Change to the appropriate database > use <database> > db.dropUser("<username>", {w: "majority", wtimeout: 5000}) The MongoDB configuration file (default location: /etc/mongod.conf) must contain the following: security: authorization: "enabled" If not, edit the MongoDB configuration file. Add the parameters and stop/start (restart) any mongod or mongos process using this MongoDB configuration file. |