Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Configurar MongoDB para FIPS

Nesta página

  • Visão geral
  • Suporte a plataformas
  • Suporte a OpenSSL3
  • Configurando FIPS
  • Considerações adicionais

O Federal Information Processing Standard (FIPS) é um padrão de segurança de computadores do governo dos EUA usado para certificar módulos de software e bibliotecas que criptografam e descriptografam dados com segurança. Você pode configurar o MongoDB para ser executado com uma biblioteca certificada FIPS 140-2 para OpenSSL. Configure o FIPS para ser executado por padrão ou conforme necessário na linha de comando.

Uma descrição completa de FIPS e TLS/SSL está além do escopo deste documento. Este tutorial pressupõe conhecimento prévio de FIPS e TLS/SSL.

Importante

MongoDB e FIPS

O FIPS é uma propriedade do sistema de criptografia e não do sistema de controle de acesso. No entanto, se seu ambiente exigir criptografia e controle de acesso compatíveis com FIPS, você deverá garantir que o sistema de controle de acesso use apenas criptografia compatível com FIPS.

O suporte a FIPS do MongoDB abrange a maneira como o MongoDB usa bibliotecas SSL/TLS para criptografia de rede, autenticação SCRAM e autenticação x.509. Se você usar Kerberos ou autenticação LDAP, deverá garantir que esses mecanismos externos estejam em conformidade com FIP.

Observação

O MongoDB desabilita o suporte para criptografia TLS 1.0 em sistemas em que o TLS 1.1+ está disponível.

O modo FIPS está disponível apenas com a edição MongoDB Enterprise . Consulte Instalar o MongoDB Enterprise para baixar e instalar o MongoDB Enterprise.

O modo FIPS é compatível com as seguintes plataformas:

Plataforma
Biblioteca TLS/SSL
Linux
OpenSSL
Windows
Canal seguro (SChannel)
macOS
Secure Transport

A partir do MongoDB 6.0.7, O modo FIPS é compatível com OpenSSL3 para os seguintes sistemas operacionais:

  • Ubuntu 22.04

  • RHEL 9

  • Amazon Linux 2023

Selecione a guia abaixo para sua plataforma:

Seu sistema Linux deve ter uma biblioteca OpenSSL configurada com o módulo FIPS 140-2 para suportar o modo FIPS para MongoDB.

  • Para verificar se seu software OpenSSL oferece suporte FIPS, execute o comando abaixo:

    openssl version
  • Para o Red Hat Enterprise Linux 6.x (RHEL 6.x) ou seus derivados, como CentOS 6.x, o toolkit OpenSSL deve ter pelo menos a versão openssl-1.0.1e-16.el6_5 para usar o modo FIPS. Para atualizar a biblioteca OpenSSL nessas plataformas, execute o seguinte comando:

    sudo yum update openssl
  • Algumas versões do Linux executam periodicamente um processo para vincular bibliotecas dinâmicas com endereços pré-atribuídos. Este processo modifica as bibliotecas OpenSSL, especificamente libcrypto. Posteriormente, o modo FIPS do OpenSSL falhará na verificação de assinatura realizada durante a inicialização para garantir que libcrypto não foi modificado desde a compilação.

    Para configurar o processo de prelink do Linux para não pré-vincular libcrypto, execute o seguinte comando:

    sudo bash -c "echo '-b /usr/lib64/libcrypto.so.*' >>/etc/prelink.conf.d/openssl-prelink.conf"

Depois de configurar o sistema Linux para oferecer suporte à operação compatível com FIPS, siga as etapas abaixo para configurar a instância mongod ou mongos para operar no modo FIPS.

Consulte Configurar mongod e mongos para TLS/SSL para mais informações sobre como configurar seu sistema para usar TLS/SSL. Certifique-se de que seu certificado seja compatível com FIPS.

Execute estas etapas após Configurar mongod e mongos para TLS/SSL.

1

Para configurar sua instância mongod ou mongos para usar o modo FIPS, desligue a instância e atualize o arquivo de configuração com a configuração net.tls.FIPSMode:

net:
tls:
FIPSMode: true
2

Por exemplo, execute este comando para iniciar a instância do mongod com seu arquivo de configuração:

mongod --config /etc/mongod.conf

Veja no arquivo de log do servidor se existe uma mensagem informando que o FIPS está ativo:

FIPS 140-2 mode activated

A Microsoft fornece o seguinte recurso para configurar o modo FIPS para o Windows 10 e Windows Server 2016 ou posterior:

Validação FIPS - 1402 no Windows

Depois de configurar o sistema Windows para oferecer suporte à operação compatível com FIPS, siga as etapas abaixo para configurar a instância mongod ou mongos para operar no modo FIPS.

Consulte Configurar mongod e mongos para TLS/SSL para mais informações sobre como configurar seu sistema para usar TLS/SSL. Certifique-se de que seu certificado seja compatível com FIPS.

Execute estas etapas após Configurar mongod e mongos para TLS/SSL.

1

Para configurar sua instância mongod ou mongos para usar o modo FIPS, desligue a instância e atualize o arquivo de configuração com a configuração net.tls.FIPSMode:

net:
tls:
FIPSMode: true
2

Por exemplo, execute este comando para iniciar a instância do mongod com seu arquivo de configuração:

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

Veja no arquivo de log do servidor se existe uma mensagem informando que o FIPS está ativo:

FIPS 140-2 mode activated

As versões suportadas do macOS são compatíveis com FIPS por padrão. Consulte a documentação da sua versão do macOS para verificar o status de conformidade. Por exemplo, a Apple fornece o seguinte recurso para macOS 10.14:

Módulos criptográficos FIPS da Apple para 10.14

Em versões compatíveis do macOS, siga as etapas abaixo para configurar sua instância mongod ou mongos para operar no modo FIPS.

Consulte Configurar mongod e mongos para TLS/SSL para mais informações sobre como configurar seu sistema para usar TLS/SSL. Certifique-se de que seu certificado seja compatível com FIPS.

Execute estas etapas após Configurar mongod e mongos para TLS/SSL.

1

Para configurar sua instância mongod ou mongos para usar o modo FIPS, desligue a instância e atualize o arquivo de configuração com a configuração net.tls.FIPSMode:

net:
tls:
FIPSMode: true
2

Por exemplo, execute este comando para iniciar a instância do mongod com seu arquivo de configuração:

mongod --config /etc/mongod.conf

Veja no arquivo de log do servidor se existe uma mensagem informando que o FIPS está ativo:

FIPS 140-2 mode activated

A partir do MongoDB 5.1, as instâncias em execução no modo FIPS têm o mecanismo de autenticação SCRAM-SHA-1 desabilitado por padrão. Você pode habilitar o mecanismo de autenticação SCRAM-SHA-1 com o setParameter.authenticationMechanisms comando.

Essa alteração não afetará os drives que têm como alvo o MongoDB setFeatureCompatibilityVersion 4,0+.

Se você usar SCRAM-SHA-1:

Os seguintes programas não suportam mais a opção --sslFIPSMode :

Se você configurar o mongod e o mongos para utilizar o modo FIPS, o mongod e o mongos utilizarão conexões compatíveis com FIPS.

A distribuição mongosh padrão:

  • Contém OpenSSL 3.

  • Utiliza conexões compatíveis com FIPS para mongod e mongos se você configurar o mongod e mongos para utilizar o modo FIPS.

O MongoDB também fornece uma distribuição do MongoDB Shell que pode usar:

  • OpenSSL 1.1 e OpenSSL 3 instalados no seu servidor.

  • --tlsFIPSMode opção, que ativa o modo FIPS mongosh.

Dica

Veja também:

Voltar

Atualizar Cluster