Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Configurar TLS em implantações autogerenciadas

Este tutorial mostra como configurar TLS em um conjunto de réplicas autogerenciado. Escolha uma abordagem com base em se você deseja usar mTLS intra-cluster, que é necessário para habilitar a autenticação X.509 entre nós.

Importante

Essas etapas se aplicam a implantações autogerenciadas do MongoDB. Os clusters do MongoDB Atlas usam TLS por padrão. Se você usa o Cloud Manager ou o MongoDB Ops Manager, configure o TLS por meio da sua ferramenta de gerenciamento de implantação.

Antes de começar, verifique se você tem o seguinte:

  • Um conjunto de réplicas autogerenciado no qual cada nó tem um nome de host, como localhost ou mongo0.example.com. O TLS não está configurado atualmente em nenhum nó no conjunto de réplicas.

  • Certificados de servidor TLS para cada nó que você obteve seguindo o tutorial Obter certificados de servidor, como mongo0.pem.

  • Um certificado CA para assinar os certificados do servidor, como ca.pem.

  • Acesso ao arquivo de configuração mongod em cada nó.

  • Access to mongosh.

Siga este procedimento se não precisar de mTLS intra-cluster ou autenticação X.509 entre nós de servidor.

1

Cada nó usa o conteúdo de um keyfile para autenticar outros nós da implantação. Crie um keyfile usando o seguinte comando:

openssl rand -base64 756 > /etc/ssl/mongodb/keyfile
chmod 400 /etc/ssl/mongodb/keyfile

Copie o arquivo-chave para cada nó em sua implantação. Certifique-se de restringir as permissões no arquivo-chave para que apenas o processo mongod possa ler o arquivo.

2

Em cada nó, localize e abra seu arquivo de configuração mongod. Se o arquivo não existir, crie-o. Adicione as seguintes opções TLS. Use caminhos absolutos para os arquivos de certificado.

Por exemplo, o arquivo de configuração do seu nó primário é semelhante ao seguinte:

net:
tls:
mode: allowTLS
certificateKeyFile: /etc/ssl/mongodb/mongo0.pem
CAFile: /etc/ssl/mongodb/ca.pem
allowConnectionsWithoutCertificates: true
security:
clusterAuthMode: keyFile
keyFile: /etc/ssl/mongodb/keyfile
setParameter:
tlsWithholdClientCertificate: true
  • mode definido como allowTLS aceita conexões TLS, mas não as exige, para que os nós possam concluir uma reinicialização contínua sem interromper a replicação.

  • certificateKeyFile especifica o certificado do nó. Substitua o nome do arquivo pelo arquivo de chave de certificado do nó específico que você está configurando. CAFile especifica o certificado CA que assinou o certificado do nó.

  • allowConnectionsWithoutCertificates permite que os clientes se conectem sem fornecer um certificado TLS.

  • clusterAuthMode definido como keyFile permite que os nós se autentiquem usando um arquivo de chave. keyFile especifica o arquivo de chave que os nós usam para se autenticar uns aos outros.

  • tlsWithholdClientCertificate impede que o nó apresente seu certificado de servidor ao fazer conexões de saída com outros nós no cluster. Isso é necessário porque impede que os nós usem certificados de autenticação de servidor para autenticação de cliente, especialmente se seus certificados não incluírem o EKU clientAuth.

3

Reinicie o processo mongod para aplicar a nova configuração TLS. Para aplicar a configuração sem tempo de inatividade, reinicie os nós de forma contínua.

Em cada hospedar para sua implantação, começando com os secundários e terminando com o nó primário, execute o seguinte:

sudo systemctl restart mongod

Para verificar se a reinicialização contínua foi concluída com sucesso, execute o seguinte comando em cada hospedar:

sudo systemctl status mongod
4

Depois que todos os nós reiniciarem com sucesso com o TLS ativado, atualize o arquivo de configuração em cada nó. Altere net.tls.mode de allowTLS para requireTLS para forçar conexões criptografadas para todos os clientes e nós:

net:
tls:
mode: requireTLS
5

Reinicie o processo mongod para aplicar a nova configuração TLS. Para aplicar a configuração sem tempo de inatividade, reinicie os nós de forma contínua.

Em cada hospedar para sua implantação, começando com os secundários e terminando com o nó primário, execute o seguinte:

sudo systemctl restart mongod

Para verificar se a reinicialização contínua foi concluída com sucesso, execute o seguinte comando em cada hospedar:

sudo systemctl status mongod

Para aprender como se conectar à sua implantação com um aplicativo cliente, continue em Conectar-se a um conjunto de réplicas habilitado para TLS.