Autenticación
📌 ¿Qué es IAM (Identity and Access Management)?
IAM es el sistema que permite gestionar "quién" puede hacer "qué" dentro de los sistemas y recursos de una empresa.
Ejemplo de la vida real (analogía):
Imagina que estás en un hotel.
-
Identidad: Tu DNI o pasaporte → Prueba de que eres tú.
-
Autenticación: Tu llave o tarjeta de la habitación → Demuestras que puedes entrar.
-
Autorización: Solo puedes abrir tu habitación → No puedes acceder a la habitación de otro huésped ni a las áreas de personal.
IAM es exactamente lo mismo aplicado a cuentas de usuario, servidores, dispositivos y aplicaciones.
📌 Parte 1 - Autenticación (Quién eres y cómo demuestras que eres tú)
🔑 Métodos de autenticación
Método Ejemplo
Contraseña (lo que sabes) Usuario + contraseña
Biometría (lo que eres) Huella, reconocimiento facial
Token (lo que tienes) App en móvil, tarjeta
Ubicación o comportamiento (contexto) VPN detecta si estás en otro país
🔒 Autenticación Multifactor (MFA)
MFA significa combinar mínimo dos tipos diferentes de factores para reforzar la seguridad.
Ejemplo en la vida real:
-
Usuario + contraseña → (Conocimiento).
-
App de autenticación con código temporal → (Posesión).
Incluso si alguien roba tu contraseña, sin tu móvil no pueden entrar.
📌 Parte 2 - Autorización (A qué puedes acceder)
Aquí hablamos de los permisos y privilegios que se otorgan a las identidades.
Método de Autorización Ejemplo
Listas de control de acceso (ACLs) Permitir solo lectura en carpetas
Basado en roles (RBAC) Administrador, Finanzas, Soporte Técnico
Basado en atributos (ABAC) Acceso según localización, hora, tipo de dispositivo
Principio de mínimo privilegio
Dar a cada usuario solo el nivel de acceso que necesita para hacer su trabajo, ni más ni menos.
📌 Parte 3 - Soluciones Federadas e Inicio de Sesión Único (SSO)
En entornos modernos, un usuario necesita acceder a:
-
Aplicaciones en local (Intranet).
-
Aplicaciones en la nube (SaaS).
-
Aplicaciones móviles.
Es muy incómodo iniciar sesión cada vez → Aquí entra el SSO (Single Sign On) y Federation.
Ejemplo práctico:
✅ Ingreso en el portal corporativo → Me autentico.
✅ Automáticamente accedo a correo, CRM, ERP sin tener que iniciar sesión nuevamente.
Esto se consigue gracias a tecnologías como:
-
SAML (Security Assertion Markup Language).
-
OAuth / OpenID Connect (OIDC).
-
Active Directory Federation Services (AD FS).
⚡ Beneficio → Más fácil para el usuario, más seguro para la organización.
🚨 Errores comunes en IAM (lo que NO debe pasar)
-
Usuarios con permisos excesivos → Facilitan movimientos laterales en un ataque.
-
Cuentas huérfanas o inactivas no eliminadas → Puertas abiertas para atacantes.
-
Contraseñas débiles o sin MFA → Phishing y fuerza bruta fácil.
-
SSO sin revisión de permisos → Puede generar acceso excesivo sin querer.
✅ Resultados de una buena implementación de IAM (Blue Team)
-
Detecto accesos anómalos en tiempo real.
-
Garantizo que solo personas autorizadas accedan a recursos críticos.
-
Evito que cuentas comprometidas escalen privilegios fácilmente.
-
Simplifico la vida del usuario con SSO seguro.
📦 Herramientas y soluciones reales que puedes usar (muy importante para tu carrera)
Herramienta Uso
Active Directory / Azure AD Gestión de identidades centralizadas
Okta Identidad en la nube + SSO
Duo Security MFA
AWS IAM Gestión de identidades en la nube
PAM (Privileged Access Management - CyberArk, Thycotic) Protección de cuentas privilegiadas
🎯 Resumen en mentalidad Purple Team
-
Red Team → Intentará explotar cuentas sin MFA, permisos excesivos o cuentas olvidadas.
-
Blue Team → Debe cerrar estas brechas con MFA, RBAC, revisiones regulares y desactivación de cuentas inactivas.
-
Purple Team → Trabaja conjuntamente para probar y fortalecer la solución.
🔐 Diseño de la Autenticación — Explicado Paso a Paso
📌 ¿Qué es la autenticación?
Es el proceso de verificar que tú eres tú.
Ejemplo real:
-
Entras en un edificio. El vigilante te pide tu tarjeta de identificación.
-
Si coincide con la lista de empleados → Autenticado → Puedes entrar.
-
Si no coincide → No autenticado → No puedes entrar.
En sistemas informáticos es igual → envías tus credenciales → el sistema las compara con lo que tiene → decide si te deja entrar.
📌 Los 3 principios básicos que debe cumplir un diseño de autenticación
1️⃣ Confidencialidad
"Si tus credenciales se filtran, un atacante podría hacerse pasar por ti."
Ejemplo real:
Tu contraseña se filtra → Alguien se hace pasar por ti → Accede a tus datos → Catástrofe.
✅ Solución → Protección de las credenciales:
-
Hash de contraseñas → Nadie (ni administradores) puede ver la contraseña.
-
Salting + Stretching → Para evitar ataques de diccionario o rainbow tables.
-
MFA → Aunque roben tu contraseña, no podrán entrar sin el segundo factor.
2️⃣ Integridad
"El sistema debe ser fiable. Nadie debe poder falsificar las credenciales y acceder."
Ejemplo real:
Un atacante crea un token falso o manipula una cookie → Intenta hacerse pasar por otro → No debe funcionar.
✅ Solución →
-
Firmas digitales en tokens.
-
Validación estricta de sesiones.
-
Verificación de expiración y revocación.
3️⃣ Disponibilidad
"No puede ser tan difícil que los usuarios no puedan trabajar."
Ejemplo real:
Tienes que entrar 20 veces al día en el sistema → Si es lento o molesto, los usuarios buscarán atajos o se quejarán → Mal diseño de seguridad.
✅ Solución →
-
Single Sign On (SSO) → Te autenticas una vez al día → acceso fluido.
-
MFA balanceado → Solo pedir MFA para accesos críticos o desde redes no confiables.
-
Passwordless o biometría para acceso diario rápido.
📌 Factores de autenticación (muy importante)
Algo que sabes → Conocimiento
-
Contraseña.
-
Frase de contraseña.
-
PIN.
✅ Pros → Fácil de implementar.
❌ Contras → Puede ser robado o adivinado.
Algo que tienes → Posesión
-
Token físico (yubikey, tarjeta).
-
Token software (App de autenticación → Google Authenticator).
-
Certificados digitales.
✅ Pros → Muy seguro si se combina con otros factores.
❌ Contras → Si se pierde, acceso bloqueado.
Algo que eres → Biometría
-
Huella.
-
Reconocimiento facial.
-
Iris.
✅ Pros → Difícil de falsificar.
❌ Contras → Problemas de privacidad y falsos positivos/negativos.
Algo que haces → Comportamiento
-
Forma de escribir.
-
Forma de moverse.
✅ Pros → Transparente para el usuario.
❌ Contras → Falta de madurez en la tecnología.
Dónde estás → Ubicación
-
IP.
-
GPS.
-
Red local.
✅ Pros → Muy útil para detectar accesos sospechosos.
❌ Contras → Puede cambiar (VPN, viajes).
📌 El PIN en diseño moderno
Muchos lo confunden → NO es igual que una contraseña:
-
Solo funciona en el dispositivo específico (Ej: PIN de Windows Hello o teléfono).
-
Si roban el PIN → No pueden usarlo en otro lado.
-
Más seguro para autenticación local.
Ejemplo real:
-
PIN del teléfono → Solo ese teléfono → Nadie puede robar tu PIN y desbloquear otro teléfono.
📌 Resumen Visual (Esquema Mental)
📌 RESUMEN DE DISEÑO DE AUTENTICACIÓN
Autenticación:
-
Confidencialidad:
-
Uso de hash + sal (salting).
-
Implementación de autenticación multifactor (MFA).
-
-
Integridad:
-
Uso de tokens firmados digitalmente.
-
Implementación de expiración y revocación de credenciales.
-
-
Disponibilidad:
-
Uso de Single Sign-On (SSO).
-
Métodos passwordless o biometría para accesos rápidos.
-
-
Factores de Autenticación:
-
Algo que sabes → Contraseña, frase de contraseña, PIN.
-
Algo que tienes → Token físico o software, certificados digitales.
-
Algo que eres → Biometría (huella, reconocimiento facial, iris).
-
Algo que haces → Comportamiento (manera de escribir, patrones).
-
Dónde estás → Ubicación (IP, GPS, red local).
-
-
PIN moderno (ejemplo especial):
-
Único para cada dispositivo.
-
Más seguro para autenticación local.
-
No reutilizable en otros dispositivos.
-
✅ Aplicación Blue Team (Defensa):
-
Detecto accesos no válidos analizando factores de riesgo.
-
Bloqueo intentos de fuerza bruta o anomalías.
-
Refuerzo accesos críticos mediante MFA.
-
Simplifico la experiencia para los usuarios con SSO + biometría.
-
Monitorizo patrones de autenticación para detectar anomalías.
✅ ¿Cómo quedo protegido como Blue Team?
-
Detecto accesos no válidos basados en factores de riesgo → Ejemplo: login desde otro país.
-
Bloqueo intentos de fuerza bruta → Ejemplo: múltiples intentos fallidos → bloqueo temporal.
-
Refuerzo accesos críticos con MFA → Ejemplo: acceso a base de datos → siempre MFA.
-
Simplifico para que los usuarios no busquen atajos → SSO + Biometrics.
-
Monitorizo continuamente → análisis de patrones de autenticación anómalos.