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.
-
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.
-
-
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.
-
-
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.