MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

È ancora possibile accedere al server MongoDB senza credenziali

L'autenticazione ti impedisce di eseguire azioni sul database (come mostra il tuo screenshot - non puoi nemmeno elencare i database), non impedisce le connessioni - dopotutto, devi essere in grado di connetterti per poterti autenticare.

C'è una richiesta di funzionalità per aggiungere timeout, ma per ora questo è essenzialmente il modo in cui il server dovrebbe comportarsi.

Vale la pena notare che fino a quando non provi a fare qualcosa, questo non è davvero diverso dal semplice collegamento alla porta con telnet - il testo visualizzato all'inizio "connessione a:" ecc. proviene dal client, non dal server. Non appena tenta di fare qualcosa di non autenticato, anche elencare gli avvisi del server, viene generato un errore perché non dispone di autorizzazioni sufficienti.

Se vuoi bloccare le cose dal punto di vista della connessione, l'unica opzione dal punto di vista di MongoDB è limitare gli indirizzi IP su cui è in ascolto (l'impostazione predefinita è tutto) usando bindIp opzione. Utilizzando 127.0.0.1 lo bloccherebbe per l'utilizzo locale, ad esempio (ma non saresti quindi in grado di connetterti da un host remoto), il che rende la replica un problema, quindi fai attenzione quando scegli l'indirizzo associato.

Al di fuori di MongoDB, dovresti cercare di bloccare le cose dal punto di vista del firewall. Su Linux questo sarebbe IPTables, ufw, hosts.allow/deny o simili. Il firewall di Windows non è la mia area di competenza, ma immagino che tu possa fare qualcosa di simile anche lì.