馃敀 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