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

Le tre A della sicurezza di MongoDB:autenticazione, autorizzazione e controllo

MongoDB ha fatto passi da gigante negli ultimi 18 mesi. Una delle aree di MongoDB che ha visto il miglioramento più significativo è stata la sicurezza. La sicurezza è di fondamentale importanza per un database di produzione. I database relazionali esistenti forniscono una serie di manopole e controlli per aiutare l'amministratore del database (DBA) a gestire la sicurezza del proprio database e anche MongoDB sta arrivando a un posto simile. In questo post approfondiremo le funzionalità di sicurezza nelle aree di autenticazione, autorizzazione e controllo.

  1. Autenticazione

    MongoDB offre una varietà di meccanismi per autenticare la connessione degli utenti al database. Scegli il meccanismo che offre il miglior equilibrio tra sicurezza e gestione. Sebbene sia facoltativo, è consigliabile che tutti i sistemi di produzione abbiano l'autenticazione attivata.

    • Autenticazione Challenge Response (MongoDB-CR)

      Questa è la tradizionale autenticazione basata su nome utente/password. Gli utenti possono essere creati nell'ambito di un database o dell'intero cluster. Se un utente ha solo bisogno di accedere ai dati in un determinato database, si consiglia di creare solo l'utente specifico per quel database. L'accesso a livello di cluster dovrebbe essere limitato per gli amministratori.

    • Autenticazione certificato X.509

      Gli utenti possono autenticarsi nel proprio database MongoDB utilizzando il certificato X.509. Per fare ciò, il server MongoDB deve avere SSL abilitato. Per impostazione predefinita, le build della community di MongoDB non hanno SSL abilitato. È necessario implementare la propria build o registrarsi per utilizzare l'edizione Enterprise. Puoi creare un utente in MongoDB per ogni certificato X.509 con un soggetto univoco. Per ulteriori istruzioni dettagliate, fai riferimento alla configurazione del certificato MongoDB X.509.

    • Autenticazione Kerberos

      Le build Enterprise di MongoDB supportano l'autenticazione tramite Kerberos, che è lo standard del settore per l'autenticazione del server client. Ad esempio, se sei un'azienda con un'installazione di Active Directory, utilizza il meccanismo di autenticazione Kerberos per autenticare i tuoi utenti. Ciò evita il fastidio di gestire nomi utente, password o certificati. Fare clic qui per istruzioni sull'integrazione di MongoDB con Active Directory.

  2. Autorizzazione

    Il sistema di autorizzazione determina le operazioni che gli utenti possono eseguire una volta completata l'autenticazione. MongoDB supporta un modello RBAC (Role-Based Access Control). A ogni utente vengono assegnati ruoli specifici che determinano le operazioni che possono eseguire. MongoDB ha una serie di ruoli integrati e puoi anche creare i tuoi ruoli personalizzati. A ogni ruolo viene assegnato un insieme di privilegi che accoppiano le risorse con le operazioni consentite su quella risorsa. MongoDB fornisce ruoli integrati nei seguenti ambiti:

    • Ruoli utente del database

      leggi, leggiScrivi

    • Ruoli di amministratore di database (DBA)

      dbAdmin, dbOwner, userAdmin

    • Ruoli di amministratore del cluster

      clusterAdmin, clusterManager, clusterMonitor, hostManager

    • Backup e ripristino dei ruoli

      backup, ripristino

    • Tutti i ruoli del database

      readAnyDatabase, readWriteAnyDatabase,userAdminAnyDatabase

    • Ruoli di superutente

      root

    Fai riferimento alla documentazione sui ruoli integrati per una comprensione più dettagliata dei ruoli che devono essere assegnati ai tuoi utenti.

  3. Revisione

    Il rilascio di MongoDB Enterprise 2.6 ha aggiunto il supporto per l'auditing. È possibile configurare il server MongoDB per generare eventi di controllo per operazioni MongoDB interessanti, come login utente, modifiche DDL, modifiche alla configurazione dei set di repliche, ecc. Ciò consente di utilizzare lo strumento di controllo aziendale esistente per raccogliere ed elaborare gli eventi necessari. Per ulteriori informazioni, fare riferimento all'elenco degli eventi MongoDB che possono essere controllati.

Per ulteriori suggerimenti su come migliorare la sicurezza dei tuoi database MongoDB, fai riferimento al nostro altro post del blog:10 suggerimenti per migliorare la tua sicurezza MongoDB.