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

Distribuzione sicura di MongoDB su Amazon AWS

La scorsa settimana, uno dei miei clienti ha chiesto consigli sull'architettura per distribuire in modo sicuro istanze MongoDB di produzione su Amazon EC2 AWS. Questo mi ha fatto riflettere sull'argomento e questo post sul blog è il risultato. Troppe aziende espongono i loro database MongoDB di produzione su Internet quando ci sono opzioni migliori. La regola n. 1 della sicurezza è limitare l'accesso fisico ai server del database. Anche se le tue credenziali sono compromesse, riduce notevolmente l'impatto se l'attaccante non può accedere ai tuoi server.

Prima di entrare nei dettagli, facciamo un piccolo passo indietro e ricordiamo come il personale IT distribuiva i database nel mondo AWS pre-amazzonico. Ricordo un paio di configurazioni diverse:

1. Configurazione Dual Firewall DMZ (zona demilitarizzata)

In questa configurazione, i server di livello superiore e di livello intermedio sono distribuiti in una DMZ e i server di database si trovano dietro il secondo firewall. Il firewall anteriore consente le connessioni sulle porte Web e il firewall posteriore consente solo le connessioni sulle porte del database.

2. VLAN:meno popolare della DMZ Dual Firewall

I server di database e i server front-end si trovano su VLAN separate. Solo le porte del database sono consentite nell'interconnessione del trunk tra le due VLAN.

Tecnicamente, non è cambiato molto da allora. Tuttavia, le tecniche ora sono diverse. Non parli più di DMZ e firewall, ma parli in termini di VPC e gruppi di sicurezza. Se sei un'azienda più grande con uno staff IT, esaminerei sicuramente Amazon VPC. Ti dà molto controllo sulla rete di livello 3 e puoi inserire i tuoi database in una sottorete privata e non esporli a Internet. Tuttavia, è un argomento molto più lungo per un altro post sul blog. Se hai già configurato VPC e desideri configurare MongoDB nel VPC, ecco il mio post sul blog per guidarti attraverso i passaggi:distribuzione di MongoDB su Amazon VPC.

Nel resto di questo post, mi concentrerò su EC2-classic.

3 passaggi per configurare Dual Firewall DMZ in AWS

1. Crea un gruppo di sicurezza per i tuoi server MongoDB

Un gruppo di sicurezza può estendersi su un'intera regione, quindi anche se disponi di un set di repliche puoi distribuire le tue repliche tra le zone di disponibilità della regione e conservarle nello stesso gruppo di sicurezza . Crea un gruppo di sicurezza per i tuoi server MongoDB e aggiungi tutti i tuoi server mongo solo a questo gruppo di sicurezza.

2. Crea un gruppo di sicurezza per i tuoi server di livello medio/anteriore

Crea un gruppo di sicurezza aggiuntivo per i tuoi server MongoDB di livello medio e/o di livello superiore.

3. Configura il tuo accesso al gruppo di sicurezza MongoDB

Configura il tuo gruppo di sicurezza MongoDB per consentire l'accesso ai server di primo livello solo sulle porte MongoDB. Configura il tuo gruppo di sicurezza front-end per aprire le porte web a Internet.

Configura Dual Firewall DMZ in AWS tramite ScaleGrid

1. Crea un gruppo di sicurezza in AWS

Accedi alla tua console Amazon e crea un gruppo di sicurezza per i tuoi server di livello medio/anteriore. Chiamiamo il gruppo di sicurezza "AppServerSG". Configura questo gruppo di sicurezza per aprire la porta http/https se necessario. Inserisci i tuoi server di livello intermedio e di livello superiore in questo gruppo di sicurezza.

2. Crea un profilo Cloud AWS ScaleGrid

Accedi alla console ScaleGrid e fai clic sulla scheda Machine Pool. Crea il tuo pool di macchine personalizzato in modo da poter distribuire e gestire le istanze mongo nel tuo account AWS. Nella scheda Pool di macchine fare clic sul pulsante Crea. Inserisci la tua chiave API Amazon e la chiave segreta e premi Avanti:

3. Seleziona la tua regione AWS per MongoDB

Seleziona la regione AWS di tua scelta per la distribuzione di MongoDB:

4. Configura la tua politica di accesso

Questo è il passaggio principale per la configurazione della sicurezza. Seleziona l'opzione per consentire solo alle macchine in un particolare gruppo di sicurezza di accedere ai tuoi server MongoDB. Quindi seleziona i Gruppi di sicurezza a cui desideri fornire l'accesso. Immettere un nome per il pool di macchine e quindi fare clic su Avanti:

5. Crea il tuo cluster MongoDB

Torna alla pagina dei deployment di MongoDB nella console principale. Fai clic su "Crea" per creare un nuovo cluster MongoDB. Nella selezione Pool di macchine, seleziona il pool di macchine che hai appena creato e crea il cluster.

Questa è solo una delle tecniche per proteggere la distribuzione di MongoDB su AWS. Se hai altri suggerimenti, utilizza le sezioni dei commenti per fornire il tuo feedback. Per pratiche di sicurezza più dettagliate, fare riferimento alle pratiche di sicurezza 10gen. Come sempre, se hai domande, inviaci un'e-mail a [email protected].