sql >> Base de Datos >  >> NoSQL >> MongoDB

Aún se puede acceder al servidor MongoDB sin credenciales

La autenticación le impide realizar acciones en la base de datos (como muestra su captura de pantalla, ni siquiera puede enumerar las bases de datos), no impide las conexiones; después de todo, debe poder conectarse para poder autenticarse.

Hay una solicitud de función para agregar tiempos de espera, pero por ahora, así es como se supone que debe comportarse el servidor.

Vale la pena señalar que hasta que intente hacer algo, esto realmente no es diferente a simplemente conectarse al puerto con telnet - el texto que se muestra al principio "conectando a:", etc. es del cliente, no del servidor. Tan pronto como intenta hacer algo sin autenticar, incluso enumerar las advertencias del servidor, se genera un error porque no tiene suficientes permisos.

Si desea bloquear las cosas desde la perspectiva de la conexión, la única opción desde la perspectiva de MongoDB es restringir las direcciones IP en las que escucha (el valor predeterminado es todo) usando bindIp opción. Usando 127.0.0.1 lo bloquearía para uso local, por ejemplo (pero entonces no podría conectarse desde un host remoto), lo que hace que la replicación sea un problema, así que tenga cuidado al elegir su dirección enlazada.

Fuera de MongoDB, debe considerar bloquear las cosas desde la perspectiva del firewall. En Linux, esto sería IPTables, ufw, hosts.allow/deny o similar. El firewall de Windows no es mi área de especialización, pero me imagino que también puede hacer algo similar allí.