Para instalar y asegurar MongoDB en Ubuntu 18.04, es fundamental seguir una serie de pasos cuidadosos que garanticen la estabilidad y la seguridad del sistema. MongoDB es un sistema de base de datos NoSQL de código abierto que ofrece una alta escalabilidad y flexibilidad, pero es crucial configurarlo correctamente para evitar posibles vulnerabilidades.
Paso 1: Instalación de MongoDB
El primer paso es instalar MongoDB en tu servidor Ubuntu 18.04. Puedes hacerlo siguiendo estos pasos:

-
Actualizar el Índice de Paquetes: Antes de instalar MongoDB, es recomendable actualizar el índice de paquetes del sistema con el siguiente comando:
bashsudo apt update
-
Instalar MongoDB: Una vez actualizado el índice de paquetes, puedes instalar MongoDB ejecutando el siguiente comando:
bashsudo apt install mongodb
-
Verificar el Estado de MongoDB: Después de la instalación, verifica que el servicio de MongoDB esté en funcionamiento utilizando el siguiente comando:
bashsudo systemctl status mongodb
Si MongoDB se instaló correctamente, verás un mensaje indicando que el servicio está activo y en ejecución.
Paso 2: Configuración de la Seguridad
MongoDB, por defecto, no tiene habilitada la autenticación ni el control de acceso, lo que lo hace vulnerable a accesos no autorizados. Para asegurar MongoDB, sigue estos pasos:
-
Crear un Usuario Administrador: El primer paso es crear un usuario administrador que tenga acceso total a la base de datos. Conéctate a la instancia de MongoDB utilizando el shell de Mongo:
bashmongo
Una vez dentro del shell de Mongo, cambia a la base de datos
admin
y crea un nuevo usuario administrador con el siguiente comando:mongodbuse admin db.createUser({ user: "admin", pwd: "tu_contraseña_admin", roles: ["root"] })
Reemplaza
"tu_contraseña_admin"
con una contraseña segura. -
Habilitar la Autenticación: Después de crear el usuario administrador, debes habilitar la autenticación en la configuración de MongoDB. Abre el archivo de configuración de MongoDB utilizando tu editor de texto favorito:
bashsudo nano /etc/mongod.conf
Dentro del archivo de configuración, busca la sección
security
y habilita la autenticación agregando las siguientes líneas:confsecurity: authorization: enabled
Guarda los cambios y cierra el editor.
-
Reiniciar MongoDB: Después de habilitar la autenticación, reinicia el servicio de MongoDB para que los cambios surtan efecto:
bashsudo systemctl restart mongodb
Paso 3: Configuración del Firewall (opcional)
Si estás ejecutando un firewall en tu servidor Ubuntu, es importante configurarlo para permitir el tráfico de MongoDB. Puedes hacerlo abriendo el puerto 27017, que es el puerto por defecto utilizado por MongoDB, con el siguiente comando:
bashsudo ufw allow 27017/tcp
Paso 4: Acceso a MongoDB desde el Exterior (opcional)
Si deseas acceder a MongoDB desde fuera del servidor, debes modificar la configuración para permitir conexiones remotas. Para ello, debes editar el archivo de configuración de MongoDB nuevamente:
bashsudo nano /etc/mongod.conf
Dentro del archivo, busca la opción bindIp
y cámbiala para que escuche en todas las interfaces:
confnet: bindIp: 0.0.0.0
Guarda los cambios y reinicia MongoDB para aplicar la configuración:
bashsudo systemctl restart mongodb
Paso 5: Acceso a MongoDB con Autenticación
Una vez configurada la autenticación, puedes conectarte a MongoDB desde la línea de comandos utilizando el usuario administrador que creaste anteriormente. Para ello, utiliza el siguiente comando:
bashmongo -u admin -p --authenticationDatabase admin
Se te pedirá que ingreses la contraseña del usuario administrador. Después de autenticarte, tendrás acceso al shell de Mongo y podrás administrar tu base de datos MongoDB de manera segura.
Siguiendo estos pasos, habrás instalado y asegurado MongoDB en tu servidor Ubuntu 18.04, lo que garantiza un entorno de base de datos robusto y protegido contra accesos no autorizados. Es importante seguir buenas prácticas de seguridad, como la actualización regular del sistema y el monitoreo de registros, para mantener la integridad y confidencialidad de tus datos.
Más Informaciones
Por supuesto, profundicemos en algunos aspectos adicionales sobre la instalación y la seguridad de MongoDB en Ubuntu 18.04.
Configuración de Réplica y Escalabilidad
MongoDB ofrece capacidades avanzadas de replicación y escalabilidad para garantizar la disponibilidad y el rendimiento de tus bases de datos. Puedes configurar un conjunto de réplicas para proporcionar redundancia y alta disponibilidad de los datos. Esto implica tener múltiples instancias de MongoDB que contienen copias idénticas de los datos, lo que permite la conmutación por error automática en caso de fallo de una instancia.
Para configurar un conjunto de réplicas en MongoDB, debes seguir estos pasos:
-
Inicializar el Conjunto de Réplicas: Configura la instancia primaria y las secundarias especificando sus direcciones IP y puertos en el archivo de configuración de MongoDB. Luego, inicia cada instancia con la opción
--replSet
. -
Iniciar la Configuración del Conjunto de Réplicas: Conéctate a la instancia primaria de MongoDB y utiliza el shell de Mongo para iniciar la configuración del conjunto de réplicas con el comando
rs.initiate()
. Esto establecerá la instancia primaria y configurará las secundarias para que comiencen a replicar los datos. -
Agregar Nodos Secundarios: Después de iniciar el conjunto de réplicas, puedes agregar nodos secundarios adicionales para mejorar la redundancia y la escalabilidad. Utiliza el comando
rs.add()
en el shell de Mongo para agregar nodos secundarios al conjunto de réplicas.
Copias de Seguridad y Restauración
Es fundamental realizar copias de seguridad regulares de tus bases de datos MongoDB para proteger tus datos contra la pérdida accidental o la corrupción. MongoDB ofrece varias opciones para realizar copias de seguridad y restaurar datos:
-
Copia de Seguridad mediante Dump: Puedes realizar una copia de seguridad de tus bases de datos MongoDB utilizando el comando
mongodump
, que crea archivos BSON (formato de serialización de documentos BSON utilizado por MongoDB) de tus bases de datos y colecciones. -
Copia de Seguridad en Tiempo Real con Oplog: MongoDB proporciona una función llamada Oplog (registro de operaciones) que registra todas las operaciones de escritura en la base de datos en un formato de registro. Puedes utilizar herramientas como
mongodump
con la opción--oplog
para realizar copias de seguridad en tiempo real basadas en el Oplog. -
Restauración de Copias de Seguridad: Para restaurar datos desde una copia de seguridad, puedes utilizar el comando
mongorestore
, que toma los archivos BSON generados pormongodump
y los restaura en una instancia de MongoDB.
Monitoreo y Optimización del Rendimiento
Para garantizar un rendimiento óptimo de tu base de datos MongoDB, es importante monitorear y optimizar su funcionamiento. Algunas prácticas recomendadas incluyen:
-
Monitoreo del Rendimiento: Utiliza herramientas de monitoreo como MongoDB Management Service (MMS) o Prometheus junto con Grafana para supervisar el rendimiento de tu base de datos, incluyendo el uso de CPU, memoria y almacenamiento, así como el rendimiento de las consultas.
-
Índices Eficientes: Diseña índices eficientes para mejorar el rendimiento de las consultas y reducir el tiempo de respuesta. Analiza las consultas más frecuentes y crea índices adecuados para mejorar su rendimiento.
-
Ajuste de Parámetros de Configuración: Ajusta los parámetros de configuración de MongoDB según las necesidades de tu aplicación y la carga de trabajo. Esto puede incluir ajustes en el tamaño del caché, el tamaño máximo de los documentos, y otros parámetros relacionados con el rendimiento y la utilización de recursos.
Seguridad Adicional
Además de los pasos mencionados anteriormente, hay otras medidas que puedes tomar para mejorar la seguridad de tu instalación de MongoDB:
-
Encriptación de Datos en Reposo: Utiliza el cifrado de datos en reposo para proteger tus datos mientras están almacenados en el disco. MongoDB Enterprise ofrece opciones de cifrado de datos en reposo que puedes configurar para mejorar la seguridad de tus datos sensibles.
-
Control de Acceso basado en IP: Configura el control de acceso basado en IP para restringir el acceso a tu servidor MongoDB solo a direcciones IP específicas que necesitan acceder a la base de datos. Esto ayuda a prevenir intentos de acceso no autorizado desde direcciones IP desconocidas.
-
Auditoría de Eventos: Habilita la auditoría de eventos en MongoDB para registrar todas las operaciones realizadas en la base de datos, incluyendo intentos de acceso no autorizado y cambios en los privilegios de usuario. Esto te permitirá auditar y monitorear el acceso a la base de datos para detectar actividades sospechosas.
Al seguir estas recomendaciones adicionales, podrás configurar y asegurar MongoDB en tu servidor Ubuntu 18.04 de manera más completa, garantizando la integridad, disponibilidad y seguridad de tus datos. Recuerda mantener tus sistemas y software actualizados regularmente para protegerlos contra posibles vulnerabilidades de seguridad.