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

10 suggerimenti per migliorare la sicurezza di MongoDB

MongoDB fornisce una serie di costrutti per migliorare la sicurezza dei tuoi dati. La sicurezza dei tuoi dati in MongoDB è fondamentale, quindi è importante sfruttare questi costrutti per ridurre la tua superficie. Ecco 10 suggerimenti che puoi utilizzare per migliorare la sicurezza dei tuoi server MongoDB on-premise e nel cloud.

  1. Abilita autenticazione

    Anche se hai distribuito i tuoi server MongoDB in una rete affidabile, è buona norma di sicurezza abilitare l'autenticazione. Ti fornisce "difesa in profondità" se la tua rete è compromessa. Modifica il file di configurazione di MongoDB per abilitare l'autenticazione:

    auth = true
    
  2. Non esporre il database di produzione a Internet

    La limitazione dell'accesso fisico al database è un aspetto importante della sicurezza. Se non è necessario, non esporre il database di produzione a Internet. In caso di qualsiasi compromissione, se un utente malintenzionato non riesce a connettersi fisicamente al tuo server MongoDB, i tuoi dati sono molto più sicuri. Se sei su AWS, puoi posizionare i tuoi database in una sottorete di cloud privato virtuale (VPC). Leggi il post del blog Distribuzione di MongoDB in un VPC per ulteriori informazioni.

  3. Utilizza i firewall

    Usa i firewall per limitare quali altre entità possono connettersi al tuo server MongoDB. La procedura consigliata consiste nel consentire solo ai server delle applicazioni di accedere al database. Se sei ospitato su AWS, utilizza "Gruppi di sicurezza" per limitare l'accesso. Se sei ospitato su un provider che non supporta i costrutti del firewall, puoi configurarlo facilmente da solo usando "iptables". Fare riferimento alla documentazione di MongoDB per configurare iptables per il proprio scenario.

  4. Utilizzare i file chiave per configurare il set di repliche

    Specifica un file di chiave condivisa per abilitare la comunicazione tra le tue istanze MongoDB in un set di repliche. Per abilitarlo, aggiungi il parametro keyfile al file di configurazione come descritto di seguito. Il contenuto del file deve essere lo stesso su tutte le macchine:

    keyFile = /srv/mongodb/keyfile
    
  5. Disabilita l'interfaccia di stato HTTP

    MongoDB, per impostazione predefinita, fornisce un'interfaccia http in esecuzione sulla porta 28017 che fornisce la pagina di stato "home". Questa interfaccia non è consigliata per l'uso in produzione ed è meglio disabilitarla. Utilizzare l'impostazione di configurazione "nohttpinterface" per disabilitare l'interfaccia http:

    nohttpinterface = true
    
  6. Disabilita l'interfaccia REST

    L'interfaccia REST di MongoDB non è consigliata per la produzione. Non supporta alcuna autenticazione ed è disattivato per impostazione predefinita. Se l'hai attivato utilizzando l'opzione di configurazione "riposo", dovresti disattivarlo per i sistemi di produzione.

    rest = false
    
  7. Configura bind_ip

    Se il tuo sistema ha più interfacce di rete, puoi utilizzare l'opzione "bind_ip" per limitare il tuo server MongoDB all'ascolto solo sulle interfacce rilevanti. Per impostazione predefinita, MongoDB si legherà a tutte le interfacce:

    bind_ip = 10.10.0.25,10.10.0.26
    
  8. Abilita SSL

    Se non utilizzi SSL, i tuoi dati viaggiano tra il tuo client Mongo e il server Mongo non crittografati e sono soggetti a intercettazioni, manomissioni e attacchi "man in the middle". Ciò è particolarmente importante se ti stai connettendo al tuo server MongoDB su reti non protette come Internet.

  9. Autorizzazione basata sui ruoli

    MongoDB supporta l'autenticazione basata sui ruoli per darti un controllo dettagliato sulle azioni che possono essere eseguite da ciascun utente. Usa costrutti basati sui ruoli per limitare l'accesso invece di rendere tutti i tuoi utenti amministratori. Fare riferimento alla documentazione dei ruoli per maggiori dettagli.

  10. Azienda MongoDB e Kerberos

    Enterprise MongoDB si integra con Kerberos per l'autenticazione. Fare riferimento alla documentazione di MongoDB per maggiori dettagli. I sistemi di nome utente/password sono intrinsecamente insicuri:se possibile, utilizza l'autenticazione basata su kerb.

In ScaleGrid, ci sforziamo di supportare le configurazioni di sicurezza delle best practice per impostazione predefinita per tutte le nostre distribuzioni. Ti consentiamo di utilizzare SSL e inoltre di non esporre il tuo database a Internet. In caso di domande, inviaci un'e-mail all'indirizzo [email protected].