TMA-MONGODB-3.3
Ensure that MongoDB is run using a non-privileged, dedicated service account
HighLevel 1Automatedmongodb
Description
The MongoDB service should not be run using a privileged account such as 'root' because this unnecessarily exposes the operating system to high risk. The benchmark rates this recommendation Manual; the automated check covers its objective pass criterion. Passes when every running mongod/mongos process runs as a non-root account (FAIL when none are running).
How it is checked
Audit method: Shell command
shell
out=$(ps -eo user=,comm= 2>/dev/null) || exit 1; printf '%s\n' "$out" | awk '$2 == "mongod" || $2 == "mongos" {n++; if ($1 == "root") r++} END {if (n == 0) print "not running"; else if (r > 0) print "root"; else print "compliant"}'- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Create a dedicated mongodb system account, make the data, keyfile and TLS key files readable only by it, set User=mongodb in the service unit and restart mongod.
Properties
- Operating systems
- Any
- Tags
- mongodbservice-account
- Reference
- CIS MongoDB 8 Benchmark v2.0.0 - 3.3 Ensure that MongoDB is run using a non-privileged, dedicated service account
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target mongodb