Information
The use of weak or not validated cryptographic algorithms undermines the purposes of utilizing encryption and digital signatures to protect data. Weak algorithms can be easily broken and not validated cryptographic modules may not implement algorithms correctly. Unapproved cryptographic modules or algorithms should not be relied on for authentication, confidentiality, or integrity. Weak cryptography could allow an attacker to gain access to and modify data stored in the database as well as the administration settings of MongoDB.
Applications, including DBMSs, utilizing cryptography are required to use approved NIST FIPS 140-2-validated cryptographic modules that meet the requirements of applicable federal laws, Executive Orders, directives, policies, regulations, standards, and guidance.
The security functions validated as part of FIPS 140-2 for cryptographic modules are described in FIPS 140-2 Annex A.
NSA Type-X (where X=1, 2, 3, 4) products are NSA-certified, hardware-based encryption modules.
Satisfies: SRG-APP-000179-DB-000114, SRG-APP-000416-DB-000380, SRG-APP-000514-DB-000381, SRG-APP-000514-DB-000382, SRG-APP-000514-DB-000383
Solution
Enable FIPS 140-2 mode for MongoDB Enterprise.
Edit the MongoDB database configuration file (default location: /etc/mongod.conf) to contain the following parameter setting:
net:
tls:
FIPSMode: true
Stop/start (restart) the mongod or mongos instance using this configuration and run the following command to verify the output is true:
db.getSiblingDB('admin').runCommand({getCmdLineOpts: 1}).parsed.net.tls.FIPSMode
true
Alternatively, run the following command to search the mongod logfile for FIPS 140-2 mode activated:
grep 'FIPS 140-2 mode activated' /var/log/mongodb/mongod.log
For the operating system finding, refer to the appropriate operating system documentation for the procedure to install, configure, and test FIPS mode.