为 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之后,请执行以下步骤。

更改配置文件。

要将mongodmongos实例配置为使用 FIPS 模式,请关闭该实例并使用以下设置更新配置文件:

net:
   ssl:
      FIPSMode: true

使用配置文件启动 mongod 或 mongos 实例。

例如,运行以下命令以使用其配置文件启动mongod实例:

mongod --config /etc/mongod.conf

确认 FIPS 模式正在运行

检查服务器日志文件中是否有 FIPS 处于活动状态的消息:

FIPS 140-2 mode activated