Information
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 the operating system, different network addresses, combinations of these methods, or other methods, as appropriate.
An example of this type of separation is observed in web administrative interfaces that use separate authentication methods for users of any other information system resources.
This may include isolating the administrative interface on a different domain and with additional access controls.
If administrative functionality or information regarding DBMS management is presented on an interface available for users, information on DBMS settings may be inadvertently made available to the user.
Satisfies: SRG-APP-000180-DB-000115
Satisfies: SRG-APP-000211-DB-000122, SRG-APP-000180-DB-000115
NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance.
Solution
Administrators using MongoDB should document the appropriate privileges for various roles appropriate to the application.
Prerequisite: To view a user's roles, users must have the "viewUser" privilege.
Connect to MongoDB.
For each database, identify the user's roles for the database.
use <database>
db.getUser("[username]")
The server will return a document with the user's roles.
To revoke a user's role from a database, use the db.revokeRolesFromUser() method.
To grant a role to a user, use the db.grantRolesToUser() method.