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

Lista de verificação de segurança para implantações autogerenciadas

Este documento fornece uma lista de medidas de segurança que você deve implementar para proteger sua instalação do MongoDB. A lista não pretende ser exaustiva.

  • Habilite o controle de acesso e especifique um mecanismo de autenticação.

    A MongoDB Community oferece suporte a vários mecanismos de autenticação que os clientes podem usar para verificar sua identidade:

    Além dos mecanismos anteriores, o MongoDB Atlas e o MongoDB Enterprise oferecem suporte aos seguintes mecanismos:

    Esses mecanismos permitem que o MongoDB se integre ao seu sistema de autenticação existente.

Dica

Veja também:

  • Crie um administrador de usuários primeiro e, em seguida, crie usuários adicionais. Crie um usuário MongoDB exclusivo para cada pessoa/aplicativo que acesse o sistema.

  • Siga o princípio do privilégio mínimo. Crie funções que definam os direitos de acesso exatos exigidos por um conjunto de usuários. Em seguida, crie usuários e atribua a eles apenas as funções necessárias para executar suas operações. Um usuário pode ser uma pessoa ou um aplicativo cliente.

    Observação

    Um usuário pode ter privilégios em diferentes bancos de dados. Se um usuário precisar de privilégios em vários bancos de dados, crie um único usuário com roles que concedam privilégios de banco de dados aplicáveis em vez de criar o usuário várias vezes em bancos de dados diferentes.

  • Configure o MongoDB para usar TLS/SSL para todas as conexões enviadas e recebidas. Use TLS/SSL para criptografar a comunicação entre o mongod e os componentes mongos de uma MongoDB deployment, bem como entre todos os aplicativos e o MongoDB.

    O MongoDB usa as bibliotecas de sistemas operacionais TLS/SSL nativas:

    Plataforma
    Biblioteca TLS/SSL

    Windows

    Secure Channel (Schannel)

    Linux/BSD

    OpenSSL

    macOS

    Secure Transport

  • Você pode criptografar dados na camada de armazenamento com a criptografia em repouso nativado mecanismo de armazenamento WiredTiger .

  • Se você não estiver usando o encryption at rest do WiredTiger, os dados do MongoDB devem ser criptografados em cada host usando criptografia de sistema de arquivos, dispositivo ou física (por exemplo, dm-crypt). Você também deve proteger os dados do MongoDB usando permissões de sistema de arquivos. Os dados do MongoDB incluem ficheiro de dados, arquivos de configuração, registros de auditoria e arquivos de chaves.

  • Você pode usar a Queryable Encryption ou a Client-Side Field Level Encryption para criptografar campos em documentos do lado da aplicação antes de transmitir dados pela rede para o servidor.

  • Colete logs em um armazenamento central de logs. Esses logs contêm tentativas de autenticação do banco de dados, incluindo endereços IP de origem.

  • Garanta que o MongoDB seja executado em um ambiente de rede confiável e configure firewall ou grupos de segurança para controlar o tráfego de entrada e saída para suas instâncias do MongoDB.

  • Desative o acesso raiz SSH direto.

  • Permita que apenas clientes confiáveis acessem as interfaces de rede e portas nas quais as instâncias MongoDB estão disponíveis.

Dica

Veja também:

  • Monitore o acesso e as alterações nas configurações e nos dados do banco de dados. OMongoDB Enterprise inclui um recurso de auditoria do sistema que pode registrar eventos do sistema (incluindo operações do usuário e eventos de conexão) em uma instância do MongoDB. Esses registros de auditoria permitem a análise forense e permitem que os administradores exerçam os controles adequados. Você pode configurar filtros para registrar apenas eventos específicos, como eventos de autenticação.

  • Execute processos MongoDB com uma conta de usuário do sistema operacional dedicado. Verifique se a conta tem permissões para acessar dados, mas não tem permissões desnecessárias.

Dica

Veja também:

  • O MongoDB aceita a execução de código JavaScript para determinadas operações no servidor: mapReduce, $where $accumulator e $function. Se você não usar essas operações, desative os scripts no servidor usando a opção --noscripting.

  • Mantenha a validação de entrada habilitada. O MongoDB habilita a validação de entrada por padrão por meio da configuração net.wireObjectCheck . Isso garante que todos os documentos armazenados pela instância mongod sejam válidos BSON.

  • O guia de implantação técnica de segurança (STIG) contém diretrizes de segurança para implantações no Departamento de Defesa dos Estados Unidos. O MongoDB Inc. fornece seu STIG, mediante solicitação.

  • Para aplicativos que exigem conformidade com HIPAA ou PCI-DSS, consulte a Arquitetura de referência de segurança do MongoDB para saber mais sobre como você pode usar os principais recursos de segurança do MongoDB para construir uma infraestrutura de aplicativos compatível.

Se você usar um scanner antivírus (AV) ou um scanner de detecção e resposta de terminal (EDR), configure o scanner para excluir o database storage path e o database log path da análise.

Os arquivos de dados em database storage path são compactados. Além disso, se você utilizar o mecanismo de armazenamento criptografado, os arquivos de dados também serão criptografados. Os custos de E/S e CPU para verificar esses arquivos podem diminuir significativamente o desempenho sem oferecer nenhum benefício de segurança.

Se você não excluir os diretórios em seu database storage path e database log path, o scanner poderá colocar em quarentena ou excluir arquivos importantes. Arquivos ausentes ou em quarentena podem corromper seu banco de dados e travar sua instância do MongoDB.

  • Verifique periodicamente se há CVE do produto MongoDB e atualize seus produtos.

  • Consulte as datas de fim de vida útil do MongoDB e atualize sua instalação do MongoDB conforme necessário. Em geral, tente manter a versão mais recente.

  • Certifique-se de que as políticas e os procedimentos do sistema de gerenciamento de segurança da informação se estendam à instalação do MongoDB, incluindo a execução do seguinte:

    • Aplique patches periodicamente no computador.

    • Revise as alterações de políticas/procedimentos, especialmente as alterações nas regras de rede para evitar a exposição inadvertida do MongoDB à internet.

    • Revise os usuários do banco de dados MongoDB e rotacione-os periodicamente.

Se você suspeitar que identificou um bug de segurança em qualquer produto MongoDB, informe o problema por meio do Formulário de Envio de Bug do MongoDB.

Voltar

Segurança