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 o TLS em um conjunto de réplicas autogerenciado. Selecione uma abordagem com base no fato de você desejar usar o mTLS intra-cluster, necessário para habilitar a autenticação X.509 entre os nós.

Importante

Essas etapas se aplicam a deployments autogerenciados do MongoDB . Os clusters do MongoDB Atlas usam TLS por padrão. Se você usar o Cloud Manager ou o Ops Manager, configure o TLS por meio de sua ferramenta de gerenciamento de implementaçã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ó.

  • Acesso a 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.