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

Use o certificado x.509 para autenticação de associação

Nesta página

  • Certificado de Membro x.509
  • Configurar conjunto de réplicas/cluster fragmentado
  • Informações adicionais

MongoDB suporta x. Autenticação de certificado 509 para uso com umaconexão TLS/SSL segura. Os membros do cluster fragmentado e os membros do conjunto de réplicas podem usar x.509 certificados para verificar sua associação ao cluster ou ao conjunto de réplicas em vez de usar keyfiles. A autenticação da associação é um processo interno.

Observação

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

Habilitar a autenticação interna também habilita o Controle de acesso baseado em função. Os clientes devem autenticar como um usuário para conectar e executar operações no sistema.

Importante

Uma descrição completa dos certificados TLS/SSL, PKI (Public Key Infrastructure), em particular os certificados x.509, e da autoridade de certificação está além do escopo deste documento. Este tutorial pressupõe conhecimento prévio de TLS/SSL, bem como acesso a certificados x.509 válidos.

Observação

Você deve ter certificados x.509 válidos.

Se você especificar --tlsAllowInvalidCertificates ou net.tls.allowInvalidCertificates: true, um certificado inválido será suficiente apenas para estabelecer uma conexão TLS, mas será insuficiente para a autenticação.

Use certificados de membro para verificar a associação a um cluster fragmentado ou a um conjunto de réplicas. Os certificados de membro são armazenados em net.tls.clusterFile e net.tls.certificateKeyFile. Requisitos de certificado de membro:

  • Uma única CA (Certificate Authority, autoridade de certificação) deve emitir todos os certificados x.509 para os membros de um cluster fragmentado ou de um conjunto de réplicas.

  • O certificado x.509 não pode expirar.

    Observação

    mongod / mongos registra um aviso na conexão se o x for apresentado. O certificado 509 expira dentro 30 dias a partir da hora do sistema host mongod/mongos . Consulte x.509 trigger de certificados próximos da expiração para obter mais informações.

  • O nome diferenciado (DN), encontrado no certificado de membro subject, deve especificar um valor não vazio para pelo menos um dos seguintes atributos:

    • a Organização (O)

    • a Unidade Organizacional (OU)

    • o componente de domínio (DC)

  • Em sistemas de vários clusters, cada cluster deve usar um certificado de membro X.509 diferente. Cada certificado deve ter valores exclusivos nos campos O, OU e DC Campos de nome distinto (DN).

    Se dois clusters tiverem certificados com os mesmos valores de DN, um servidor comprometido em um cluster poderá se autenticar como membro do outro.

  • Cada certificado de membro do agrupamento deve ter Os, OUs e DCs idênticos em seus certificados net.tls.clusterFile e net.tls.certificateKeyFile . Isso também se aplica ao valor tlsX509ClusterAuthDNOverride , se definido. A ordem dos atributos não importa.

    Aqui está um exemplo. Os dois DNs abaixo possuem especificações correspondentes para O e OU, e DC não é especificado.

    CN=host1,OU=Dept1,O=MongoDB,ST=NY,C=US
    C=US, ST=CA, O=MongoDB, OU=Dept1, CN=host2

    O exemplo a seguir está incorreto porque os DNs não correspondem. Um DN possui duas especificações OU e o outro possui apenas uma especificação OU .

    CN=host1,OU=Dept1,OU=Sales,O=MongoDB
    CN=host2,OU=Dept1,O=MongoDB
  • As entradas Nome comum (CN) ou uma das entradas nome alternativo do assunto (SAN) devem corresponder ao servidor para outros membros do cluster. A partir do MongoDB 4.2, ao comparar SANs, o MongoDB pode comparar nomes DNS ou endereços IP. Nas versões anteriores, o MongoDB compara apenas os nomes DNS.

    Por exemplo, os certificados para um cluster podem ter os seguintes subjects:

    subject= CN=<myhostname1>,OU=Dept1,O=MongoDB,ST=NY,C=US
    subject= CN=<myhostname2>,OU=Dept1,O=MongoDB,ST=NY,C=US
    subject= CN=<myhostname3>,OU=Dept1,O=MongoDB,ST=NY,C=US
  • Se o certificado utilizado como certificateKeyFile incluir extendedKeyUsage, o valor deverá incluir clientAuth ("Autenticação de cliente Web TLS") e serverAuth ("Autenticação de servidor Web TLS").

    extendedKeyUsage = clientAuth, serverAuth
  • Se o certificado utilizado como clusterFile incluir extendedKeyUsage, o valor deverá incluir clientAuth.

    extendedKeyUsage = clientAuth

Fora dos procedimentos de atualização contínua, cada componente de um conjunto de réplicas ou cluster fragmentado deve usar a mesma configuração --clusterAuthMode para garantir que possa se conectar com segurança a todos os outros componentes do sistema.

Para sistemas do conjunto de réplicas, isto inclui todos os membros do mongod do conjunto de réplicas.

Para sistemas de cluster fragmentado, isto inclui todas as instâncias do mongod ou mongos.

Observação

mongod e mongos se vinculam ao localhost por padrão. Se os membros do sistema forem executados em hosts diferentes, ou se você desejar que os clientes remotos se conectem ao sistema, especifique --bind_ip ou net.bindIp.

Observação

Os procedimentos nesta seção usam as configurações/opção do tls . Para obter procedimentos usando os aliases ssl obsoletos, consulte Usar opções de linha de comando (ssl).

As configurações/opções tls oferecem funcionalidade idêntica à das opções ssl, pois o MongoDB sempre foi compatível com o TLS 1.0 e posterior.

Para obter mais informações, consulte Configurar mongod e mongos para TLS/SSL.

Observação

Os procedimentos nesta seção usam as configurações/opção de ssl preteridas. Para procedimentos que usam aliases tls , consulte Usar opções de linha de comando (tls).

As configurações/opções tls oferecem funcionalidade idêntica à das opções ssl, pois o MongoDB sempre foi compatível com o TLS 1.0 e posterior.

Para obter mais informações, consulte Configurar mongod e mongos para TLS/SSL.

Para fazer upgrade da autenticação interna de keyfiles para a autenticação interna x.509, consulte Atualizar da autenticação de keyfile para autenticação x.509.

Para executar uma atualização contínua dos certificados para novos certificados com DN diferente, consulte Atualização contínua de certificados de cluster x.509 que contêm novo DN.

← Girar chaves para clusters fragmentados