MongoDB must enforce authorized access to all PKI private keys stored/utilized by MongoDB.

From MongoDB Enterprise Advanced 3.x Security Technical Implementation Guide

Part of SRG-APP-000176-DB-000068

Associated with: CCI-000186

SV-96585r1_rule MongoDB must enforce authorized access to all PKI private keys stored/utilized by MongoDB.

Vulnerability discussion

The DoD standard for authentication is DoD-approved PKI certificates. PKI certificate-based authentication is performed by requiring the certificate holder to cryptographically prove possession of the corresponding private key.If the private key is stolen, an attacker can use the private key(s) to impersonate the certificate holder. In cases where MongoDB-stored private keys are used to authenticate MongoDB to the system’s clients, loss of the corresponding private keys would allow an attacker to successfully perform undetected man in the middle attacks against MongoDB system and its clients.Both the holder of a digital certificate and the issuing authority must take careful measures to protect the corresponding private key. Private keys should always be generated and protected in FIPS 140-2 validated cryptographic modules.All access to the private key(s) of MongoDB must be restricted to authorized and authenticated users. If unauthorized users have access to one or more of MongoDB's private keys, an attacker could gain access to the key(s) and use them to impersonate the database on the network or otherwise perform unauthorized actions.

Check content

In the MongoDB database configuration file (default location: /etc/mongod.conf), review the following parameters: net: ssl: mode: requireSSL PEMKeyFile: /etc/ssl/mongodb.pem CAFile: /etc/ssl/mongodbca.pem Verify ownership, group ownership, and permissions on the file given for PEMKeyFile (default 'mongodb.pem'). Run following command and review its output: ls -al /etc/mongod.conf typical output: -rw------- 1 mongodb mongodb 566 Apr 26 20:20 /etc/mongod.conf If the user owner is not "mongodb", this is a finding. If the group owner is not "mongodb", this is a finding. If the file is more permissive than "600", this is a finding. Verify ownership, group ownership, and permissions on the file given for CAFile (default 'ca.pem'). If the user owner is not "mongodb", this is a finding. If the group owner is not "mongodb", this is a finding. IF the file is more permissive than "600", this is a finding.

Fix text

Run these commands: "chown mongodb:mongodb /etc/ssl/mongodb.pem" "chmod 600 /etc/ssl/mongodb.pem" "chown mongodb:mongodb /etc/ssl/mongodbca.pem" "chmod 600 /etc/ssl/mongodbca.pem"

Pro Tips

Lavender hyperlinks in small type off to the right (of CSS class id, if you view the page source) point to globally unique URIs for each document and item. Copy the link location and paste anywhere you need to talk unambiguously about these things.

You can obtain data about documents and items in other formats. Simply provide an HTTP header Accept: text/turtle or Accept: application/rdf+xml.

Powered by sagemincer