O MongoDB fez avanços impressionantes nos últimos 18 meses. Uma das áreas do MongoDB que viu a melhoria mais significativa foi sua segurança. A segurança é de suma importância para um banco de dados de produção. Os bancos de dados relacionais existentes fornecem vários botões e controles para ajudar o Administrador de Banco de Dados (DBA) a gerenciar a segurança de seu banco de dados, e o MongoDB também está chegando a um ponto semelhante. Neste post, vamos nos aprofundar nos recursos de segurança nas áreas de autenticação, autorização e auditoria.
-
Autenticação
O MongoDB oferece uma variedade de mecanismos para autenticar a conexão dos usuários ao banco de dados. Escolha o mecanismo que oferece o melhor equilíbrio entre segurança e gerenciamento. Embora opcional, é uma prática de segurança recomendada que todos os sistemas de produção tenham a autenticação ativada.
-
Autenticação de resposta ao desafio (MongoDB-CR)
Esta é a autenticação tradicional baseada em nome de usuário/senha. Os usuários podem ser criados no escopo de um banco de dados ou de todo o cluster. Se um usuário precisar acessar apenas dados em um banco de dados específico, é recomendável criar apenas o usuário específico desse banco de dados. O acesso no nível do cluster deve ser restrito aos administradores.
-
Autenticação de certificado X.509
Os usuários podem se autenticar em seu banco de dados MongoDB usando o certificado X.509. Para fazer isso, o servidor MongoDB precisa ter o SSL habilitado. Por padrão, as compilações da comunidade do MongoDB não têm SSL habilitado. Você precisa lançar sua própria compilação ou se inscrever para usar a edição Enterprise. Você pode criar um usuário no MongoDB para cada certificado X.509 com um assunto exclusivo. Para obter mais instruções passo a passo, consulte a configuração do certificado MongoDB X.509.
-
Autenticação Kerberos
As versões Enterprise do MongoDB suportam autenticação usando Kerberos, que é o padrão do setor para autenticação de servidor cliente. Por exemplo, se você for uma empresa com uma instalação do Active Directory, use o mecanismo de autenticação Kerberos para autenticar seus usuários. Isso evita o incômodo de gerenciar nomes de usuário, senhas ou certificados. Clique aqui para obter instruções para integrar o MongoDB com o Active Directory.
-
-
Autorização
O sistema de autorização determina quais operações os usuários podem realizar depois de concluir a autenticação. O MongoDB suporta um modelo de controle de acesso baseado em função (RBAC). Cada usuário recebe funções específicas que determinam as operações que ele pode realizar. O MongoDB possui um conjunto de funções internas e você também pode criar suas próprias funções personalizadas. Cada função recebe um conjunto de privilégios que emparelham recursos com operações permitidas nesse recurso. O MongoDB fornece funções integradas nos seguintes escopos:
-
Funções do usuário do banco de dados
ler, lerEscrever
-
Funções do administrador de banco de dados (DBA)
dbAdmin, dbOwner, userAdmin
-
Funções do administrador do cluster
clusterAdmin, clusterManager, clusterMonitor, hostManager
-
Funções de backup e restauração
fazer backup, restaurar
-
Todas as funções do banco de dados
lerAnyDatabase, readWriteAnyDatabase,userAdminAnyDatabase
-
Funções de superusuário
raiz
Consulte a documentação de funções incorporadas para uma compreensão mais detalhada das funções que precisam ser atribuídas aos seus usuários.
-
-
Auditoria
A versão MongoDB Enterprise 2.6 adicionou suporte para auditoria. Você pode configurar o servidor MongoDB para gerar eventos de auditoria para operações interessantes do MongoDB, como login de usuário, alterações de DDL, alterações de configuração do conjunto de réplicas, etc. Isso permite que você use sua ferramenta de auditoria corporativa existente para coletar e processar os eventos necessários. Para obter mais informações, consulte a lista de eventos do MongoDB que podem ser auditados.
Para obter mais dicas sobre como melhorar a segurança de seus bancos de dados MongoDB, consulte nossa outra postagem do blog – 10 dicas para melhorar sua segurança MongoDB.