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

Una panoramica di MongoDB Atlas:parte seconda

Nella prima parte del blog "An Overview of MongoDB Atlas", abbiamo esaminato l'inizio di MongoDB Atlas, la configurazione iniziale e la migrazione di un cluster MongoDB esistente a MongoDB Atlas. In questa parte continueremo ad esplorare diversi elementi di gestione richiesti per ogni sistema di produzione MongoDB, come la sicurezza e la continuità aziendale.

Sicurezza del database in MongoDB Atlas

La sicurezza viene sempre prima di tutto. Sebbene sia importante per tutti i database, per MongoDB ha un significato speciale. A metà del 2017 Internet era pieno di notizie sugli attacchi ransomware che miravano in modo specifico alle vulnerabilità dei sistemi MongoDB. Gli hacker stavano dirottando le istanze di MongoDB e chiedendo un riscatto in cambio della restituzione dei dati archiviati. C'erano avvertimenti. Prima di questi attacchi ransomware, blogger ed esperti hanno scritto su quante istanze di produzione sono risultate vulnerabili. Ha suscitato a lungo una vivace discussione sulla sicurezza di MongoDB.

Siamo nel 2019 e MongoDB sta diventando ancora più popolare. La nuova versione principale (4.0) è stata rilasciata di recente e abbiamo riscontrato una maggiore stabilità in MongoDB Atlas. Ma cosa è stato fatto per aumentare la sicurezza dei database NoSQL nel cloud.

Il ransomware e la stampa costante devono aver avuto un impatto su MongoDB poiché possiamo vedere chiaramente che la sicurezza è ora al centro dell'ecosistema MongoDB. MongoDB Atlas non fa eccezione poiché ora viene fornito con controlli di sicurezza integrati per le esigenze di elaborazione dei dati di produzione e molte funzionalità di sicurezza aziendale pronte all'uso. L'approccio predefinito (che ha causato la vulnerabilità) della versione precedente è scomparso e il database è ora protetto per impostazione predefinita (rete, autorizzazioni crud ecc.). Viene inoltre fornito con funzionalità che ti aspetteresti di avere in un ambiente di produzione moderno (controllo, accesso utente temporaneo, ecc.).

Ma non finisce qui. Poiché Atlas è una soluzione online, ora puoi utilizzare integrazioni con terze parti come l'autenticazione LDAP o i moderni servizi Internet MongoDB come i grafici MongoDB. MongoDB Atlas si basa su Amazon WebServices (AWS), Microsoft Azure e Google Cloud Platform (GCP), che offrono anche proprie misure di sicurezza elevata. Questa fantastica combinazione garantisce che gli standard di sicurezza di MongoDB Atlas siano quelli che ci aspetteremmo. Diamo una rapida occhiata ad alcune di queste funzionalità chiave.

Atlante MongoDB e sicurezza della rete

MongoDB Atlas crea cluster sulla tua infrastruttura cloud esistente. Quando si sceglie AWS, i dati del cliente vengono archiviati nei sistemi MongoDB Atlas. Questi sistemi sono server virtuali AWS EC2 dedicati, single-tenant, creati esclusivamente per un cliente Atlas. I data center Amazon AWS sono conformi a diversi standard di sicurezza fisica e di sicurezza delle informazioni, ma poiché abbiamo bisogno di una rete aperta, può destare preoccupazioni.

I cluster dedicati MongoDB Atlas sono distribuiti in un Virtual Private Cloud (VPC) con firewall dedicati. L'accesso deve essere concesso da una whitelist IP o tramite peering VPC. Per impostazione predefinita, tutti gli accessi sono disabilitati.

MongoDB richiede le seguenti porte di rete per Atlas...

  • 27016 per i frammenti
  • 27015 per il connettore BI
  • 27017 per server
  • Se LDAP è abilitato, MongoDB richiede la rete LDAP 636 lato cliente aperta al traffico 0.0.0.0 (intero Internet).

Le porte di rete non possono essere modificate e TLS non può essere disabilitato. L'accesso può anche essere isolato dalla whitelist IP.

Inoltre, puoi scegliere di accedere a MongoDB Atlas tramite gli host Bastion. Gli host Bastion sono configurati per richiedere chiavi SSH (non password). Richiedono inoltre l'autenticazione a più fattori e gli utenti devono inoltre essere approvati dal senior management per l'accesso al back-end.

Gestione degli accessi basata sui ruoli MongoDB Atlas

Puoi configurare regole di accesso avanzate basate sui ruoli per controllare quali utenti (e team) possono accedere, manipolare e/o eliminare i dati nei tuoi database. Per impostazione predefinita non ci sono utenti creati, quindi ti verrà chiesto di crearne uno.

MongoDB Atlas consente agli amministratori di definire le autorizzazioni per un utente o un'applicazione, nonché a quali dati è possibile accedere quando si interroga MongoDB. MongoDB Atlas offre la possibilità di fornire agli utenti ruoli specifici per un progetto o un database, consentendo di realizzare una separazione dei compiti tra le diverse entità che accedono e gestiscono i dati. Il processo è semplice e completamente interattivo.

Per creare un nuovo utente vai alla scheda Sicurezza sul lato sinistro e scegli tra utenti MongoDB e ruoli MongoDB.

Ruoli MongoDB

Crittografia end-to-end del database in MongoDB Atlas

Tutti i dati MongoDB Atlas in transito vengono crittografati utilizzando Transport Layer Security (TLS). Hai la flessibilità di configurare la versione minima del protocollo TLS. La crittografia dei dati inattivi è automatizzata utilizzando volumi di archiviazione crittografati.

Puoi anche integrare le pratiche e i processi di sicurezza esistenti con MongoDB Atlas per fornire un controllo aggiuntivo su come proteggi il tuo ambiente.

Per lo stesso MongoDB Atlas Cluster, l'autenticazione è abilitata automaticamente per impostazione predefinita tramite SCRAM per garantire un sistema sicuro pronto all'uso.

Con Encryption Key Management puoi portare le tue chiavi di crittografia ai tuoi cluster dedicati per un ulteriore livello di crittografia sui file di database, inclusi gli snapshot di backup.

Auditing in MongoDB Atlas

Il controllo granulare del database risponde a domande dettagliate sull'attività del sistema per implementazioni con più utenti tracciando tutti i comandi rispetto al database. Il controllo in MongoDB è disponibile solo in MongoDB Enterprise. Puoi scrivere eventi di controllo nella console, nel syslog, in un file JSON o in un file BSON. Configurare l'opzione di controllo utilizzando il qualificatore –auditDestination. Ad esempio, per inviare eventi di controllo come eventi JSON a syslog, utilizzare...

mongod --dbpath data/db --auditDestination syslog

MongoDB mantiene un sistema centralizzato di gestione dei registri per la raccolta, l'archiviazione e l'analisi dei dati dei registri per gli ambienti di produzione. Queste informazioni possono essere utilizzate per il monitoraggio dello stato, la risoluzione dei problemi e per motivi di sicurezza. Gli avvisi sono configurati nel sistema per notificare agli SRE eventuali problemi operativi.

Integrazione MongoDB Atlas LDAP

L'autenticazione utente e l'autorizzazione per i cluster MongoDB Atlas possono essere gestite tramite il server LDAP (Lightweight Directory Access Protocol) del cliente su TLS. Una singola configurazione LDAP si applica a tutti i cluster di database all'interno di un progetto Atlas. I server LDAP vengono utilizzati per semplificare il controllo degli accessi e rendere più granulare la gestione delle autorizzazioni.

Per i clienti che eseguono il proprio server LDAP in un AWS Virtual Private Cloud (VPC), si consiglia una connessione peering tra tale ambiente e il VPC contenente i database Atlas.

Continuità aziendale e ripristino di emergenza di MongoDB

MongoDB Atlas crea e configura cluster dedicati sull'infrastruttura fornita da AWS, Azure e/o Google GCP. La disponibilità dei dati è soggetta ai processi del servizio del fornitore dell'infrastruttura Business Continuity Plans (BCP) e Disaster Recovery (DR). I fornitori di servizi di infrastruttura MongoDB Atlas detengono una serie di certificazioni e rapporti di audit per questi controlli.

Backup del database in MongoDB Atlas

MongoDB Atlas esegue il backup dei dati, in genere solo pochi secondi dietro un sistema operativo. MongoDB Atlas garantisce il backup continuo dei set di repliche, snapshot coerenti a livello di cluster di cluster partizionati e ripristino point-in-time. Questo servizio di backup completamente gestito utilizza Amazon S3 nella regione più vicina alla distribuzione del database del cliente.

I dati di backup sono protetti utilizzando la crittografia lato server. Amazon S3 crittografa i dati di backup a livello di oggetto mentre li scrive sui dischi nei suoi data center e li decrittografa per te quando li ripristini. Tutte le chiavi sono completamente gestite da AWS.

I cluster Atlas distribuiti in Amazon Web Services e Microsoft Azure possono sfruttare gli snapshot del provider cloud che utilizzano le funzionalità di snapshot native del provider cloud sottostante. I backup vengono archiviati nella stessa regione cloud del cluster corrispondente. Per i cluster multiregione, gli snapshot vengono archiviati nella regione preferita del cluster.

Atlas offre i seguenti metodi per eseguire il backup dei dati...

Backup continui del database

Sono disponibili backup continui nei cluster M10+ e nelle versioni precedenti alla versione del server 4.2. Questo è un vecchio metodo per eseguire i backup di MongoDB. Atlas utilizza snapshot incrementali per eseguire il backup continuo dei dati. Gli snapshot di backup continui sono in genere solo pochi secondi indietro rispetto al sistema operativo. Atlas garantisce autonomamente il backup point-in-time dei set di repliche e snapshot coerenti a livello di cluster di cluster partizionati, per cui utilizza S3.

Istantanee a copia completa

Atlas utilizza le funzionalità di snapshot native del tuo provider cloud per supportare snapshot a copia completa e archiviazione di snapshot localizzata.

MongoDB Atlas Data Lake

L'utilizzo di Atlas Data Lake per inserire i dati S3 nei cluster Atlas consente di eseguire rapidamente query sui dati archiviati nei bucket AWS S3 utilizzando Mongo Shell, MongoDB Compass e qualsiasi driver MongoDB.

Quando crei un Data Lake, concederai ad Atlas l'accesso in sola lettura ai bucket S3 nel tuo account AWS e creerai un file di configurazione dei dati che mappa i dati dai tuoi bucket S3 ai database e alle raccolte MongoDB. Atlas supporta l'utilizzo di qualsiasi cluster M10+, inclusi i cluster globali, per connettersi a Data Lake nello stesso.

Al momento della stesura di questo blog sono supportati i seguenti formati.

  • Avro
  • Parquet
  • JSON
  • JSON/Gzippato
  • BSON
  • CSV (richiede una riga di intestazione)
  • TSV (richiede una riga di intestazione)

Conclusione

Per ora è tutto, spero che ti sia piaciuta la mia panoramica in due parti di MongoDB Atlas. Ricorda che ClusterControl fornisce anche la gestione end-to-end dei cluster MongoDB ed è un'ottima alternativa a basso costo a MongoDB Atlas che può essere distribuito anche nel cloud.