10. Seguridad y backups

No puedes ignorar la seguridad y los backups en producción.

Seguridad

MongoDB ahora requiere autenticación por defecto. Si usas MongoDB Atlas, ya está configurado.

Si instalaste MongoDB localmente, debes:

  1. Crear un usuario administrador
  2. Habilitar autenticación
  3. Configurar roles y permisos
  4. Usar TLS/SSL para conexiones
  5. Limitar acceso por IP

Para crear un usuario:

use admin

db.createUser({
    user: "admin",
    pwd: "tu_contraseña_segura",
    roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
})

Para crear un usuario de base de datos:

use learn

db.createUser({
    user: "developer",
    pwd: "contraseña",
    roles: [{ role: "readWrite", db: "learn" }]
})

Backups

Hay varias formas de hacer backups:

mongodump y mongorestore

Son herramientas que exportan/importan datos en formato BSON:

# Backup de toda la base de datos
mongodump -d learn -out backup

# Backup de una colección específica
mongodump -d learn -c unicorns -out backup

# Restaurar
mongorestore -d learn -c unicorns backup/learn/unicorns.bson

mongoexport y mongoimport

Exportan/importan en formato JSON o CSV:

# Exportar a JSON
mongoexport -d learn -c unicorns -o unicorns.json

# Exportar a CSV
mongoexport -d learn -c unicorns --csv --fields name,weight,vampires -o unicorns.csv

# Importar desde JSON
mongoimport -d learn -c unicorns --file unicorns.json

Importante: usa mongodump/mongorestore para backups reales. Son más completos y preservan todos los tipos de datos. Usa mongoexport/mongoimport solo para exportar datos a otros sistemas.

Snapshots (recomendado en producción)

En producción, lo mejor son los snapshots a nivel de disco. MongoDB Atlas hace esto automáticamente.

Buenas prácticas

  • Haz backups regulares (diarios o más frecuentes)
  • Prueba tus backups restaurándolos
  • Almacena backups en otro lugar (no en el mismo servidor)
  • Usa replica sets para alta disponibilidad
  • Monitoriza tu base de datos (memoria, CPU, disco)
  • Mantén MongoDB actualizado a la última versión estable

This work is under a Attribution-NonCommercial-NoDerivatives 4.0 International license.

Desafíos de programación atemporales y multiparadigmáticos

Desafíos de programación atemporales y multiparadigmáticos

Te encuentras ante un librillo de actividades, divididas en 2 niveles de dificultad. Te enfrentarás a los casos más comunes que te puedes encontrar en pruebas técnicas o aprender conceptos elementales de programación.

Buy the book

Will you buy me a coffee?

Comments

There are no comments yet.

Visitors in real time

You are alone: 🐱