2012-01-10 83 views
26

Estoy buscando diseñar una aplicación web que almacene información privada de forma segura utilizando MongoDB. Me gustaría cifrar toda la base de datos, pero parece que no es compatible. ¿Qué rutas puedo tomar para encriptar mi base de datos?Cifrado de base de datos MongoDB

+0

Puede encriptar los datos que inserta en él (lo que dificulta su consulta) y/o puede encriptar el sistema de archivos donde está almacenado el DB y/o puede encriptar la conexión de socket. ¿Cuál es el modelo de amenaza? – symcbean

+1

Quiero hacer un organizador personal basado en la nube para administrar contraseñas y otros datos privados. Quiero ir un paso más allá del simple cifrado de los datos que ingresan en la base de datos. No quiero saber el tipo de datos que los usuarios envían. Me inclino por poner la base de datos en un volumen cifrado, pero eso todavía me deja con un riesgo de seguridad cuando se monta el volumen. – devnill

Respuesta

10

MongoDB 3.2 (Editado en November 2015) ofrece un motor de almacenamiento cifrado. No es necesario utilizar API de terceros para cifrar sus datos antes de la inserción o cifrar todo el disco. Puede encontrar más detalles here.

Funciona con el motor de almacenamiento WiredTiger, que ha sido incluido como una alternativa al motor de almacenamiento MMAPv1 predeterminado desde 3.0. Si su base de datos todavía está utilizando MMAPv1, lea this guide para los pasos para convertir una base de datos de MMAPv1 a WiredTiger.

+18

Cabe mencionar que esta función solo está disponible en la edición MongoDB Enterprise. –

10

¡Una gran pregunta! Con Big Data en aumento, ¡proteger los datos en reposo es más importante que nunca!

MongoDB no es compatible con esto directamente, pero Gazzang 's cifrado & Plataforma de administración de claves ha sido diseñada especialmente para MongoDB (aunque funciona con otros sistemas de bases de datos NoSQL también). Se trata de una solución comercial construida sobre el sistema de archivos encriptados de código abierto eCryptfs en Linux, y realiza el cifrado en el sistema de archivos subyacente de una manera que maximiza la seguridad con efectos adversos mínimos sobre el rendimiento.

Con listas de control de acceso personalizables, los datos de MongoDB no encriptados solo serán accesibles para los usuarios o procesos de su elección. Consulte este Big Data Security whitepaper o visite www.securingbigdata.com para obtener más información.

Descripción completa: Soy empleado de Gazzang.

+0

¿Su solución es apropiada para personas? es decir, ¿no está desarrollando nada para vender o distribuir? Actualmente estoy usando sqlcipher para encriptar mis db sqlite personales, con la idea de que puedo almacenar de manera segura la base de datos encriptada en algo como DropBox. Básicamente es un "Confío en el cliente y en el proceso del servidor, así que estoy de acuerdo con pasar las claves entre ellos, pero no el almacenamiento desde el modelo de lectura", por lo que nada sin cifrar toca el medio de almacenamiento. – Michael

+0

@benjamincarter el primer enlace con respecto al documento técnico ya no está disponible. –

1

Yo recomendaría que use LUKS para encriptar su volumen de datos. Es bastante simple de configurar y administrar en comparación con el cifrado basado en el sistema de archivos. También es portátil para varios sabores de Linux y también tiene flexibilidad para permitirte cambiar tu contraseña. Si necesita una solución fuera de la caja Scalegrid.io encryption support ofrece esta función en el asistente de creación del clúster mongodb

responsabilidad: yo soy el fundador de Scalegrid.io

+0

has probado LUKS con Mongo? –

+0

Sí. LUKS funciona bastante bien con mongo. ¿Te preocupaba especialmente? – Dharshan

+0

Quería obtener una opinión informada de alguien que haya hecho esto antes de intentar aventurarme más. gracias –

Cuestiones relacionadas