DataSunrise Consegue la Certificazione AWS DevOps Competency per AWS DevSecOps e Monitoraggio, Logging e Performance

Cifratura MongoDB

Cifratura MongoDB

Immagine contenuto cifratura MongoDB

Introduzione

MongoDB è uno dei database NoSQL più popolari utilizzati dagli sviluppatori oggi. Offre elevate prestazioni, scalabilità e flessibilità per la gestione dei dati non strutturati. Tuttavia, le organizzazioni devono assicurarsi che la cifratura MongoDB diventi critica man mano che memorizzano più dati sensibili nei database MongoDB.

MongoDB fornisce diverse funzionalità di cifratura per proteggere i dati sia a riposo che in transito. Questo articolo coprirà le basi della cifratura MongoDB, incluse le caratteristiche principali ed esempi di codice per configurare la cifratura. Toccheremo anche gli aspetti di sicurezza della cifratura MongoDB.

Che Cos’è la Cifratura MongoDB?

La cifratura MongoDB codifica i dati in un database MongoDB per prevenire l’accesso non autorizzato senza la chiave di decifratura. La cifratura aiuta a proteggere i dati sensibili dall’accesso non autorizzato, anche se qualcuno riesce ad accedere ai file del database o ai backup. MongoDB supporta diversi tipi di cifratura:

  • Cifratura a riposo: Questa cripta i file di dati sul disco utilizzando una chiave di cifratura. Anche se un attaccante ruba i file del database, non sarà in grado di leggere i dati senza la chiave.
  • Cifratura in transito: Questa cripta i dati mentre si spostano tra il server MongoDB e i client. Previene agli attaccanti di intercettare e leggere i dati sulla rete.
  • Cifratura a livello di campo: Questa permette di cifrare specifici campi in un documento piuttosto che l’intero database. Offre un controllo più granulare sulla cifratura dei dati.

Configurare la Cifratura MongoDB

Per abilitare la cifratura in MongoDB, è necessario configurarla avviando il processo mongod. Ecco le opzioni di configurazione chiave:


mongod --enableEncryption --encryptionKeyFile /path/to/keyfile

Il flag –enableEncryption attiva la cifratura. Il flag –encryptionKeyFile specifica il percorso di un file di chiavi contenente la chiave di cifratura. Il file di chiavi deve contenere una sola chiave di 32 a 1024 caratteri. Tutti i membri di un set di repliche devono utilizzare lo stesso file di chiavi.

È anche possibile specificare l’algoritmo di cifratura utilizzando il flag –encryptionCipherMode. MongoDB supporta gli algoritmi AES256-CBC e AES256-GCM. Per esempio:


mongod --enableEncryption --encryptionKeyFile /path/to/keyfile --encryptionCipherMode AES256-CBC

Per cifrare il traffico di rete, abilita TLS/SSL:


mongod --tlsMode requireTLS --tlsCertificateKeyFile /path/to/mongod.pem

Questo richiede che i client utilizzino TLS/SSL per connettersi. È necessario fornire un file PEM combinato contenente il certificato SSL e la chiave.

Esempio di Cifratura a Livello di Campo

La cifratura a livello di campo (Field-Level Encryption, FLE) consente di cifrare specifici campi nei documenti. Utilizza una chiave di cifratura per cifrare i campi sul client prima che vengano inviati a MongoDB. Per utilizzare FLE:

  1. Generare una chiave principale in un sistema di gestione chiavi esterno sicuro
  2. Recuperare le chiavi nel client e nel database
  3. Specificare i campi cifrati nello schema utilizzando la sintassi dello Schema JSON

Esempio di schema:

json


{
  "bsonType": "object",
  "properties": {
    "ssn": {
      "encrypt": {
        "bsonType": "string",
        "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Random"
      }
    },
    "contact": {
      "bsonType": "object",
      "properties": {
        "phoneNumber": {
          "bsonType": "string" 
        },
        "email": {
          "encrypt": {
            "bsonType": "string",
            "algorithm": "AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic"
          } 
        }
      }
    }
  }
}

Questo specifica che i campi ssn e contact.email devono essere cifrati. Quando si inserisce un documento, il client cripta automaticamente quei campi prima di inviarli a MongoDB.

È quindi possibile eseguire query sui campi cifrati come di consueto. Il driver decifra automaticamente i dati nei risultati delle query.

Considerazioni sulla Sicurezza

La cifratura MongoDB fornisce un importante livello di sicurezza, ma non è una soluzione di sicurezza completa da sola. Ecco alcune altre misure di sicurezza da considerare:

  • Gestione sicura delle chiavi: Le chiavi di cifratura sono fondamentali per la sicurezza dei dati. Conserva le chiavi in un sistema di gestione chiavi sicuro, separato dal database. Ruota le chiavi regolarmente.
  • Sicurezza della rete: Utilizza firewall e VPN per controllare l’accesso ai server MongoDB. Limita le porte aperte e abilita l’autenticazione su tutte le connessioni.
  • Audit logging: Abilita la funzionalità di registro di audit di MongoDB per tracciare tutti gli accessi e le modifiche al database. Questo aiuta a rilevare attività sospette.
  • Minimi privilegi: Osserva la regola dei diritti di accesso minimi. Concedi agli utenti solo le autorizzazioni minime necessarie per i loro ruoli.
  • Mascheramento dei dati: Considera l’uso del mascheramento dei dati in aggiunta alla cifratura per una protezione extra dei dati sensibili. Il mascheramento sostituisce i dati reali con dati fittizi realistici.

Strumenti di Sicurezza di Terze Parti per la Cifratura MongoDB

Per esigenze di sicurezza più avanzate, considera strumenti di terze parti progettati per MongoDB. Un’opzione eccellente è DataSunrise, che fornisce strumenti eccezionali e flessibili per sicurezza dei dati, audit, mascheramento e conformità. DataSunrise offre funzioni come monitoraggio in tempo reale, auto-scoperta di dati sensibili, mascheramento personalizzabile e regole di blocco. Supporta MongoDB così come molti altri database.

Raccomando vivamente di dare un’occhiata a DataSunrise se desidera migliorare la sicurezza del suo MongoDB. Il loro team offre demo online gratuite così può vedere i loro potenti strumenti in azione.

Conclusione

Le funzionalità di cifratura integrate di MongoDB offrono una solida base per proteggere i suoi dati. Cifrare correttamente i dati, proteggere i campi sensibili e seguire le regole di sicurezza per ridurre significativamente il rischio di violazioni dei dati. Incorporare strumenti sofisticati come DataSunrise per una configurazione di sicurezza MongoDB di alta qualità.

Tuttavia, la sicurezza è un processo continuo. Rimanga al passo con gli aggiornamenti di sicurezza di MongoDB e riveda periodicamente la sua configurazione. Con le giuste misure in atto, può trarre vantaggio da tutto ciò che MongoDB ha da offrire mantenendo i suoi dati al sicuro e conformi.

Successivo

CCPA: California Consumer Privacy Act

CCPA: California Consumer Privacy Act

Scopri di più

Ha bisogno del nostro team di supporto?

I nostri esperti saranno lieti di rispondere alle Sue domande.

Informazioni generali:
[email protected]
Servizio clienti e supporto tecnico:
support.datasunrise.com
Richieste di collaborazione e alleanza:
[email protected]