SV-265933r1043182_rule
V-265933
SRG-APP-000295-DB-000305
MD7X-00-006200
CAT II
10
Determine the situations when a user-initiated database session must be terminated.
Note: The user running the commands shown below must have privileges with listSessions, killAnySession and impersonate action on the cluster.
In the MongoDB shell, as an authenticated user, run the following command to list all user sessions:
> use config
> db.system.sessions.aggregate( [ { $listSessions: { allUsers: true } }
Reference: https://docs.mongodb.com/v7.0/reference/operator/aggregation/listSessions/
Example output:
{ "_id" : { "id" : UUID("b3b50641-54c6-4d6d-a96e-a2239fadce3c"), "uid" : BinData(0,"Y5mrDaxi8gv8RmdTsQ+1j7fmkr7JUsabhNmXAheU0fg=") }, "lastUse" : ISODate("2021-09-23T23:34:43.951Z"), "user" : { "name" : "jsmith@admin" } }
From the output identify the names of users whose sessions should be terminated. Using the user for each session to be terminated, run the following command (still in MongoDB shell).
> db.runCommand( { killAllSessionsByPattern: [ { users: [ { user: <user>, db: <dbname> }, ... ] }] } )
Example to terminate user "jsmith@admin" sessions from example output:
> db.runCommand( { killAllSessionsByPattern: [ { users: [ { user: "jsmith", db: "admin" } ] }]} )
To terminate all user sessions running on the database, run the following command (still in MongoDB shell):
> db.runCommand( { killAllSessionsByPattern: [ ] } )
Reference: https://docs.mongodb.com/v7.0/reference/command/killAllSessionsByPattern/
Review system documentation to obtain the organization's definition of circumstances requiring automatic session termination. If the documentation explicitly states that such termination is not required or is prohibited, this is not a finding. If the system owner, data owner, or organization requires additional assurance, this is a finding.
V-265933
False
MD7X-00-006200
Review system documentation to obtain the organization's definition of circumstances requiring automatic session termination. If the documentation explicitly states that such termination is not required or is prohibited, this is not a finding. If the system owner, data owner, or organization requires additional assurance, this is a finding.
M
5637