MD3X-00-000330 - If passwords are used for authentication, MongoDB must store only hashed, salted representations of passwords.

Information

The DoD standard for authentication is DoD-approved PKI certificates.

Authentication based on User ID and Password may be used only when it is not possible to employ a PKI certificate, and requires AO approval.

In such cases, database passwords stored in clear text using reversible encryption, or using unsalted hashes would be vulnerable to unauthorized disclosure. Database passwords must always be in the form of one-way, salted hashes when stored internally or externally to MongoDB.

NOTE: Nessus has not performed this check. Please review the benchmark to ensure target compliance.

Solution

Do the following:
- Create local CA and signing keys.
- Generate and sign server certificates for member authentication.
- Generate and sign client certificates for client authentication.
- Start MongoDB cluster in non-auth mode.
- Set up replica set and initial users.
- Restart MongoDB replica set in X.509 mode using server certificates.

Example shown here for x.509 Authentication: https://www.mongodb.com/blog/post/secure-mongodb-with-x-509-authentication

Additionally, SSL/TLS must be on as documented here: https://docs.mongodb.com/v3.4/tutorial/configure-ssl/

See Also

https://dl.dod.cyber.mil/wp-content/uploads/stigs/zip/U_MDB_Enterprise_Advanced_3-x_V2R1_STIG.zip

Item Details

Category: IDENTIFICATION AND AUTHENTICATION

References: 800-53|IA-5(1)(c), CAT|I, CCI|CCI-000196, Rule-ID|SV-221170r822438_rule, STIG-ID|MD3X-00-000330, STIG-Legacy|SV-96581, STIG-Legacy|V-81867, Vuln-ID|V-221170

Plugin: Unix

Control ID: f3f51875aed3f70bf8f2fb564acbea844030c5583c27fc30349a07b4c08e8c85