MongoDB Security è stata nelle notizie di questa settimana per tutte le ragioni sbagliate. Tutto il discorso riguardava i circa 40.000 database che sono stati trovati esposti da un gruppo di studenti con sede in Germania. Alcuni dei database contenevano anche dati di produzione. È eclatante a diversi livelli:non solo hai dati di produzione su un database non autenticato, ma è anche lasciato aperto a Internet. L'unica cosa sorprendente è che ci è voluto così tanto tempo per essere esposto. Se non vuoi che i tuoi server MongoDB siano nelle notizie, ecco tre semplici passaggi per migliorare la sicurezza della tua installazione di MongoDB:
-
Abilita sempre l'autenticazione
È importante abilitare l'autenticazione per tutti i tuoi cluster MongoDB. Anche se si tratta di un'installazione di sviluppo, abilita sempre l'autenticazione e assicurati che i tuoi flussi di lavoro siano predisposti per supportare l'autenticazione. Maggiori dettagli sull'aggiunta di utenti e ruoli sono disponibili qui.
Puoi anche fare un ulteriore passo avanti e utilizzare i certificati X509 invece delle password per l'autenticazione. Questo ti proteggerà da qualsiasi attacco basato su password come un attacco "Dizionario". Se hai la build aziendale di MongoDB, puoi anche utilizzare Kerberos per l'autenticazione.
-
Blocca l'accesso con i firewall
Tutto l'accesso ai server di database deve essere in base alla "necessità di" e puoi utilizzare i firewall per bloccare l'accesso. La configurazione tipica prevede di bloccare l'accesso in modo che solo i server delle applicazioni e il team IT abbiano accesso ai server. Se sei su Amazon AWS, utilizza i gruppi di sicurezza per bloccare l'accesso ai server. Infine, il punto più importante:Non esporre il tuo database a Internet! Ci sono solo alcuni buoni motivi per esporre il tuo database a Internet.
-
Utilizza reti isolate
La maggior parte dei cloud pubblici oggi offre opzioni per distribuire i tuoi server in uno spazio di rete isolato non raggiungibile dalla rete Internet pubblica. Puoi raggiungere Internet, ma nessun traffico Internet può arrivare a te. Ad esempio, AWS offre Virtual Private Clouds (VPC) e Azure offre Virtual Networks (VNET). Queste reti isolate forniscono una difesa approfondita per l'installazione del database. Su AWS, puoi distribuire i tuoi server di database su una sottorete privata in un VPC, anche se si verifica un'errata configurazione, i tuoi server di database non sono esposti a Internet.
Di seguito sono riportati alcuni altri articoli pertinenti sulla sicurezza di MongoDB. In caso di ulteriori domande, contattaci all'indirizzo [email protected].
- Le tre A della sicurezza di MongoDB:autenticazione, autorizzazione e controllo
- 10 suggerimenti per migliorare la sicurezza di MongoDB
- Distribuzione sicura di MongoDB su Amazon AWS
- Proteggi i tuoi cluster Mongo con SSL