🔒 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.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias