MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

O servidor MongoDB ainda pode ser acessado sem credenciais


A autenticação impede que você execute ações no banco de dados (como mostra sua captura de tela - você não pode nem listar bancos de dados), não impede conexões - afinal, você precisa se conectar para poder autenticar.

Há uma solicitação de recurso para adicionar tempos limite, mas por enquanto é essencialmente assim que o servidor deve se comportar.

Vale a pena notar que até você tentar fazer alguma coisa, isso não é realmente diferente de apenas conectar-se à porta com telnet - o texto exibido no início "conectando a:" etc. é do cliente, não do servidor. Assim que ele tenta fazer algo não autenticado, até mesmo listar os avisos do servidor, um erro é gerado porque ele não possui permissões suficientes.

Se você deseja bloquear as coisas do ponto de vista da conexão, a única opção do ponto de vista do MongoDB é restringir os endereços IP nos quais ele escuta (o padrão é tudo) usando o bindIp opção. Usando 127.0.0.1 o bloquearia para uso local, por exemplo (mas você não conseguiria se conectar de um host remoto), o que torna a replicação um problema, portanto, tenha cuidado ao escolher seu endereço vinculado.

Fora do MongoDB, você deve olhar para bloquear as coisas de uma perspectiva de firewall. No Linux isso seria IPTables, ufw, hosts.allow/deny ou similar. O firewall do Windows não é minha área de especialização, mas imagino que você possa fazer algo semelhante lá também.