TMAegis
More rules for mongodb

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