参考 > 安全 > TLS / SSL(传输加密) > 为FIPS配置MongoDB
联邦信息处理标准(FIPS)是美国政府的计算机安全标准,用于认证安全加密和解密数据的软件模块和库。您可以将MongoDB配置为与FIPS 140-2认证的OpenSSL库一起运行。将FIPS配置为默认运行或根据需要从命令行运行。
FIPS和TLS / SSL的完整描述超出了本文的范围。本教程假定您具有FIPS和TLS / SSL的先验知识。
MongoDB和FIPS
FIPS是加密系统的属性,而不是访问控制系统的属性。但是,如果您的环境需要符合FIPS的加密 和访问控制,则必须确保访问控制系统仅使用符合FIPS的加密。
MongoDB的FIPS支持涵盖了MongoDB使用SSL / TLS库进行网络加密,SCRAM身份验证和x.509身份验证的方式。如果使用Kerberos或LDAP身份验证,则必须确保这些外部机制符合FIPS。
注意
从版本4.0开始,MongoDB在可用TLS 1.1+的系统上禁用对TLS 1.0加密的支持。有关更多详细信息,请参阅禁用TLS 1.0。
FIPS模式仅在MongoDB企业版中可用。请参阅 安装MongoDB Enterprise,以下载和安装 MongoDB Enterprise。
以下平台支持FIPS模式:
平台 | TLS / SSL库 |
---|---|
Linux | 的OpenSSL |
Windows | 安全通道(SChannel) |
macOs | 安全运输 |
选择以下适用于您平台的标签:
您的Linux系统必须具有配置有FIPS 140-2模块的OpenSSL库,才能支持MongoDB的FIPS模式。
通过运行以下命令来验证您的OpenSSL软件是否包括FIPS支持:
对于Red Hat Enterprise Linux 6.x(RHEL 6.x)或其派生产品(例如CentOS 6.x),OpenSSL工具箱必须至少openssl-1.0.1e-16.el6_5
为使用FIPS模式的版本
。要在这些平台上升级OpenSSL库,请运行以下命令:
某些版本的Linux会定期执行一个过程,以将动态库与预先分配的地址进行预链接。此过程专门修改了OpenSSL库libcrypto
。随后,OpenSSL FIPS模式将使启动时执行的签名检查失败,以确保libcrypto
自编译以来未进行任何修改。
要将Linux预链接过程配置为不预链接libcrypto
,请运行以下命令:
一旦你配置你的Linux系统,以支持符合FIPS标准的操作,请按照以下步骤配置
mongod
或mongos
实例在FIPS模式下运行。
有关配置部署以使用TLS / SSL的详细信息,请参阅为TLS / SSL配置mongod和mongos。确保您的证书符合FIPS。
在为TLS / SSL配置mongod和mongos之后,执行以下步骤。
要将您的实例mongod
或mongos
实例配置为使用FIPS模式,请关闭实例并使用以下net.tls.FIPSMode
设置更新配置文件:
在MongoDB 4.2+中:
虽然仍然可用,net.ssl.FIPSMode
被
弃用的MongoDB 4.2。
在MongoDB 4.0和更早版本中:
检查服务器日志文件中是否有FIPS处于活动状态的消息:
Microsoft提供了以下资源,用于为Windows 10和Windows Server 2016或更高版本配置FIPS模式:
➤Windows上的FIPS 140-2验证
一旦你配置你的Windows系统,以支持符合FIPS标准的操作,按照下面的步骤来配置
mongod
或mongos
实例在FIPS模式下运行。
有关配置部署以使用TLS / SSL的详细信息,请参阅为TLS / SSL配置mongod和mongos。确保您的证书符合FIPS。
在为TLS / SSL配置mongod和mongos之后,执行以下步骤。
要将您的实例mongod
或mongos
实例配置为使用FIPS模式,请关闭实例并使用以下net.tls.FIPSMode
设置更新配置文件:
在MongoDB 4.2+中:
虽然仍然可用,net.ssl.FIPSMode
被
弃用的MongoDB 4.2。
在MongoDB 4.0和更早版本中:
检查服务器日志文件中是否有FIPS处于活动状态的消息:
默认情况下,受支持的macOS版本符合FIPS。检查您的macOS版本的文档以验证其合规性状态。例如,Apple为macOS 10.14提供了以下资源:
在Mac OS的版本兼容,按照下面的步骤来配置
mongod
或mongos
实例在FIPS模式下运行。
有关配置部署以使用TLS / SSL的详细信息,请参阅为TLS / SSL配置mongod和mongos。确保您的证书符合FIPS。
在为TLS / SSL配置mongod和mongos之后,执行以下步骤。
要将您的实例mongod
或mongos
实例配置为使用FIPS模式,请关闭实例并使用以下net.tls.FIPSMode
设置更新配置文件:
在MongoDB 4.2+中:
虽然仍然可用,net.ssl.FIPSMode
被
弃用的MongoDB 4.2。
在MongoDB 4.0和更早版本中:
检查服务器日志文件中是否有FIPS处于活动状态的消息: