文档菜单
文档首页
/
MongoDB 手册
/ / /

配置 MongoDB 以支持 FIPS

本页内容

  • 概述
  • 平台支持
  • OpenSSL3 支持
  • 配置 FIPS
  • 其他注意事项

联邦信息处理标准(FIPS)是美国政府计算机安全标准,用于认证加密和解密数据的安全软件模块和库。您可以将 MongoDB 配置为使用 OpenSSL 的 FIPS 140-2 认证库运行。您可以通过命令行以默认方式或按需配置 FIPS 运行。

FIPS 和 TLS/SSL 的完整描述超出了本文档的范围。本教程假定您已了解 FIPS 和 TLS/SSL。

重要

MongoDB 和 FIPS

FIPS 是加密系统的属性,而不是访问控制系统的属性。但是,如果您的环境需要符合 FIPS 的加密 访问控制,您必须确保访问控制系统仅使用符合 FIPS 的加密。

MongoDB 的 FIPS 支持涵盖了 MongoDB 使用 SSL/TLS 库进行网络加密、SCRAM 认证和 x.509 认证的方式。如果您使用 Kerberos 或 LDAP 认证,您必须确保这些外部机制符合 FIPS 标准。

注意

MongoDB在系统中禁用了 TLS 1.0 加密支持,如果系统中可用 TLS 1.1+。

FIPS 模式仅在以下版本中可用MongoDB Enterprise 版本。请参阅安装 MongoDB Enterprise 下载并安装 MongoDB Enterprise.

FIPS 模式支持以下平台

平台
TLS/SSL 库
Linux
OpenSSL
Windows
安全通道 (SChannel)
macOS
安全传输

从 MongoDB 6.0.7 版本开始,FIPS 模式支持以下操作系统的 OpenSSL3

  • Ubuntu 22.04

  • RHEL 9

  • Amazon Linux 2023

从 MongoDB 8.0 版本开始,FIPS 模式支持 Amazon Linux 2023.3 的 OpenSSL3。

选择下面的标签以选择您的平台

您的 Linux 系统必须配置了包含 FIPS 140-2 模块的 OpenSSL 库,以便支持 MongoDB 的 FIPS 模式。

  • 通过运行以下命令验证您的 OpenSSL 软件是否包含 FIPS 支持:

    openssl version
  • 对于Red Hat Enterprise Linux 6.x(RHEL 6.x)或其衍生版本,如CentOS 6.x,要使用FIPS模式,OpenSSL工具包至少需要是以下版本:openssl-1.0.1e-16.el6_5。要在这些平台上升级OpenSSL库,请运行以下命令:

    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"

一旦您已配置Linux系统以支持FIPS兼容操作,请按照以下步骤配置您的mongodmongos实例以在FIPS模式下运行。

请参阅配置mongodmongos以使用TLS/SSL以获取有关配置部署以使用TLS/SSL的详细信息。请确保您的证书符合FIPS规范。

在配置 TLS/SSL的mongod和mongos 之后,执行以下步骤。

1

要配置你的mongodmongos实例以使用FIPS模式,请关闭实例并更新配置文件中的net.tls.FIPSMode设置。

net:
tls:
FIPSMode: true
2

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

mongod --config /etc/mongod.conf

检查服务器日志文件以查找 FIPS 激活的消息

FIPS 140-2 mode activated

Microsoft 为 Windows 10 和 Windows Server 2016 或更高版本提供了以下配置 FIPS 模式的资源

Windows 上的 FIPS 140-2 验证

一旦您已将 Windows 系统配置为支持符合 FIPS 的操作,请按照以下步骤配置您的 mongodmongos 实例以在 FIPS 模式下运行。

请参阅配置mongodmongos以使用TLS/SSL以获取有关配置部署以使用TLS/SSL的详细信息。请确保您的证书符合FIPS规范。

在配置 TLS/SSL的mongod和mongos 之后,执行以下步骤。

1

要配置你的mongodmongos实例以使用FIPS模式,请关闭实例并更新配置文件中的net.tls.FIPSMode设置。

net:
tls:
FIPSMode: true
2

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

mongod.exe --config /etc/mongod.conf

检查服务器日志文件以查找 FIPS 激活的消息

FIPS 140-2 mode activated

macOS 的支持版本默认符合 FIPS 标准。请检查您版本的 macOS 文档以验证其合规性状态。例如,Apple 为 macOS 10.14 提供以下资源

Apple FIPS 加密模块 10.14

在符合标准的 macOS 版本上,按照以下步骤配置您的 mongodmongos 实例以在 FIPS 模式下运行。

请参阅配置mongodmongos以使用TLS/SSL以获取有关配置部署以使用TLS/SSL的详细信息。请确保您的证书符合FIPS规范。

在配置 TLS/SSL的mongod和mongos 之后,执行以下步骤。

1

要配置你的mongodmongos实例以使用FIPS模式,请关闭实例并更新配置文件中的net.tls.FIPSMode设置。

net:
tls:
FIPSMode: true
2

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

mongod --config /etc/mongod.conf

检查服务器日志文件以查找 FIPS 激活的消息

FIPS 140-2 mode activated

从 MongoDB 5.1 版本开始,在 FIPS 模式 运行的实例默认禁用了 SCRAM-SHA-1 认证机制。您可以使用 SCRAM-SHA-1 认证机制 命令 setParameter.authenticationMechanisms 启用。

此更改不会影响目标 MongoDB setFeatureCompatibilityVersion 4.0+ 的驱动程序。

如果您使用 SCRAM-SHA-1:

以下程序不再支持 --sslFIPSMode 选项

如果您将 mongodmongos 配置为使用 FIPS 模式,则 mongodmongos 将使用符合 FIPS 标准的连接。

默认的 mongosh 发行版

  • 包含 OpenSSL 3。

  • 如果您将 mongodmongos 配置为使用 FIPS 模式,则 mongosh 将使用符合 FIPS 标准的连接到 mongodmongos

MongoDB 还提供了一个 MongoDB Shell 发行版,它可以使用

  • 服务器上安装的 OpenSSL 1.1 和 OpenSSL 3。

  • --tlsFIPSMode 选项,它启用了 mongosh 的 FIPS 模式。

提示

另请参阅

返回

升级集群