On this page
为 FIPS 配置 MongoDB
在本页面
2.6 版的新功能。
Overview
联邦信息处理标准(FIPS)是美国政府的计算机安全标准,用于认证可安全加密和解密数据的软件模块和库。您可以将 MongoDB 配置为与 FIPS 140-2 认证的 OpenSSL 库一起运行。将 FIPS 配置为默认运行或根据需要从命令行运行。
Prerequisites
Important
FIPS 和 TLS/SSL 的完整描述超出了本文的范围。本教程假定您具有 FIPS 和 TLS/SSL 的先验知识。
仅MongoDB Enterprise版本支持 FIPS 模式。请参见安装 MongoDB Enterprise下载并安装MongoDB Enterprise。
您的系统必须具有配置有 FIPS 140-2 模块的 OpenSSL 库。在命令行中,Importingopenssl version
以确认您的 OpenSSL 软件包含 FIPS 支持。
对于 Red Hat Enterprise Linux 6.x(RHEL 6.x)或其派生产品(例如 CentOS 6.x),OpenSSL 工具箱必须至少为openssl-1.0.1e-16.el6_5
才能使用 FIPS 模式。要为这些平台升级工具箱,请发出以下命令:
sudo yum update openssl
某些版本的 Linux 会定期执行一个过程,以将动态库与预先分配的地址进行预链接。此过程将修改 OpenSSL 库,特别是libcrypto
。 OpenSSL FIPS 模式随后将无法在启动时执行签名检查,以确保自编译以来未修改libcrypto
。
要将 Linux 预链接过程配置为不预链接libcrypto
:
sudo bash -c "echo '-b /usr/lib64/libcrypto.so.*' >>/etc/prelink.conf.d/openssl-prelink.conf"
Considerations
FIPS 是加密系统的属性,而不是访问控制系统的属性。但是,如果您的环境需要符合 FIPS 的加密*和访问控制,则必须确保访问控制系统仅使用符合 FIPS 的加密。
MongoDB 的 FIPS 支持涵盖了 MongoDB 使用 OpenSSL 进行网络加密,SCRAM 身份验证和 x.509 身份验证的方式。如果使用 Kerberos 或 LDAP 身份验证,则必须确保这些外部机制符合 FIPS。 3.6 不建议使用的MONGODB-CR
身份验证不符合 FIPS 标准。
Procedure
将 MongoDB 配置为使用 TLS/SSL
有关配置 OpenSSL 的详细信息,请参见为 TLS/SSL 配置 mongod 和 mongos。对于 FIPS 模式,请确保您的证书符合 FIPS。
以 FIPS 模式运行 mongod 或 mongos 实例
为 TLS/SSL 配置 mongod 和 mongos之后,请执行以下步骤。
更改配置文件。
要将mongod或mongos实例配置为使用 FIPS 模式,请关闭该实例并使用以下设置更新配置文件:
net:
ssl:
FIPSMode: true
使用配置文件启动 mongod 或 mongos 实例。
例如,运行以下命令以使用其配置文件启动mongod实例:
mongod --config /etc/mongod.conf
确认 FIPS 模式正在运行
检查服务器日志文件中是否有 FIPS 处于活动状态的消息:
FIPS 140-2 mode activated