🔒 Seguridad y autenticación

Seguridad y autenticación en MongoDB

🔒 Seguridad y autenticación

La seguridad en MongoDB es crucial para proteger tus datos de accesos no autorizados. Esto incluye autenticación de usuarios, control de roles y permisos, y cifrado de la información.


📘 1️⃣ Autenticación de usuarios

MongoDB requiere que los usuarios se autentiquen antes de acceder a las bases de datos. Esto asegura que solo usuarios autorizados puedan leer o modificar datos.

MongoDB soporta varios mecanismos de autenticación:

  • SCRAM-SHA-1 y SCRAM-SHA-256: Predeterminados y seguros para la mayoría de aplicaciones.
  • LDAP: Integración con servidores corporativos para autenticación centralizada.
  • Certificados X.509: Autenticación mediante certificados TLS para conexiones seguras.

⚙️ 2️⃣ Conexión segura con TLS/SSL

Para proteger los datos en tránsito, MongoDB permite cifrar las conexiones mediante TLS/SSL. Esto asegura que la información no pueda ser interceptada por terceros.

// Ejemplo de conexión segura en Node.js
const uri = "mongodb+srv://usuario:contraseña@cluster0.mongodb.net/miDB?tls=true";
const client = new MongoClient(uri);
await client.connect();
  

🧩 3️⃣ Control de acceso basado en roles (RBAC)

MongoDB utiliza el modelo RBAC (Role-Based Access Control) para definir permisos de manera granular:

  • Asignar roles a usuarios según lo que necesiten hacer.
  • Roles predefinidos: read, readWrite, dbAdmin, userAdmin, root, etc.
  • Roles personalizados para necesidades específicas de la aplicación.

🧠 4️⃣ Ejemplo práctico de usuario seguro

use tiendaonline
db.createUser({
  user: "appUser",
  pwd: "ContraseñaFuerte123!",
  roles: [ { role: "readWrite", db: "tiendaonline" } ]
});
  

Este usuario solo puede leer y escribir en la base de datos tiendaonline, y no tiene permisos administrativos.


🔧 5️⃣ Buenas prácticas de seguridad

  • Habilitar autenticación siempre en servidores de producción (security.authorization: enabled).
  • No usar usuarios con permisos de administrador para aplicaciones normales.
  • Usar contraseñas fuertes y cambiarlas regularmente.
  • Habilitar TLS/SSL para cifrar la comunicación entre cliente y servidor.
  • Auditar accesos y revisar roles periódicamente.
  • Evitar exponer MongoDB directamente a internet; usar firewalls o redes privadas.

🧭 6️⃣ Resumen rápido

  • MongoDB requiere autenticación de usuarios.
  • Se recomienda usar SCRAM-SHA-256 o certificados X.509 para mayor seguridad.
  • Aplica RBAC para controlar permisos de manera granular.
  • Habilita TLS/SSL para proteger los datos en tránsito.
  • Sigue buenas prácticas de seguridad en producción.

Publicar un comentario

0 Comentarios