Políticas de contraseñas y autenticación multifactor
Comprenda los requisitos de contraseñas seguras, los factores de MFA (algo que sabe, tiene o es) y por qué combinar factores reduce drásticamente el riesgo de compromiso de cuentas.
Políticas de contraseñas y autenticación multifactor es una lección gratuita de Security+ Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Security+ Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Security+ Academy incluye 4 lecciones en total.
Contraseñas: el eslabón más débil
Las contraseñas siguen siendo el mecanismo de autenticación más común, a pesar de ser el que se compromete con mayor frecuencia. Los atacantes roban contraseñas mediante phishing, credential stuffing (reutilización de credenciales filtradas), ataques de fuerza bruta y keyloggers. Incluso una contraseña «segura» ofrece una protección limitada si un atacante puede capturarla de forma silenciosa. Las políticas de contraseñas establecen requisitos mínimos de complejidad y renovación para reducir el riesgo, pero la mejora de seguridad más significativa consiste en añadir un segundo factor, porque conocer la contraseña ya no es suficiente para obtener acceso.
Requisitos de complejidad de las contraseñas
Las políticas eficaces de complejidad de contraseñas definen estándares mínimos que dificultan su descifrado. Los requisitos tradicionales incluyen: longitud mínima (entre 12 y 16 caracteres como mínimo; la longitud importa más que la complejidad), tipos de caracteres obligatorios (mayúsculas, minúsculas, números y símbolos), prohibición de contraseñas comunes (diccionarios de contraseñas) y prohibición de incluir el nombre de usuario o de la organización en la contraseña. Las directrices NIST SP 800-63B, actualizadas en 2017, recomiendan priorizar la longitud frente a reglas de complejidad arbitrarias y comprobar las contraseñas con bases de datos de credenciales filtradas, en lugar de exigir renovaciones frecuentes.
# Check if a password appears in known breach databases
# NIST recommends this approach vs forced periodic rotation
# Example: Using Have I Been Pwned (HIBP) API
# Hash the password first (k-anonymity model - sends only first 5 chars of SHA-1)
echo -n 'mysecretpassword' | sha1sum
# Returns: e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4 -
# Send first 5 chars to HIBP API:
# GET https://api.pwnedpasswords.com/range/E5E9F
# Response includes suffix of any matching hashes
# If found: this password is compromised - reject itDirectrices modernas de contraseñas de NIST SP 800-63B
NIST SP 800-63B (Directrices de identidad digital) revisó significativamente las prácticas recomendadas para las contraseñas. Actualizaciones principales: no exigir renovaciones periódicas a menos que haya indicios de compromiso; la renovación obligatoria lleva a los usuarios a realizar cambios predecibles (Password1! → Password2!); comprobar las contraseñas en bases de datos de filtraciones al crearlas y permitir que los usuarios vean su contraseña mientras la escriben; permitir frases de contraseña largas de hasta 64 caracteres; eliminar las reglas de complejidad arbitrarias que producen patrones predecibles; e implementar el bloqueo o la limitación de intentos de la cuenta para evitar ataques de fuerza bruta, en lugar de depender únicamente de la complejidad.
Los tres factores de autenticación
La autenticación se basa en uno o más de tres tipos de factores. Algo que usted sabe (factor de conocimiento): contraseñas, PIN, preguntas de seguridad y frases de contraseña. Algo que usted tiene (factor de posesión): token físico, smartphone con una aplicación de autenticación, tarjeta inteligente o clave de hardware (YubiKey). Algo que usted es (factor de inherencia): huella dactilar, escaneo de retina, reconocimiento facial, patrón de voz o biometría conductual. A veces se añade una cuarta categoría: algún lugar en el que usted está (ubicación). El uso de un factor de dos o más categorías constituye la autenticación multifactor (MFA). Dos factores de la misma categoría (como dos contraseñas) no constituyen MFA.
Por qué la MFA es tan eficaz
La autenticación multifactor (MFA) es uno de los controles de seguridad más eficaces disponibles. Las investigaciones de Microsoft indican que la MFA bloquea el 99,9 % de los ataques de compromiso de cuentas. La razón es que el phishing o el robo de credenciales proporciona al atacante «algo que usted sabe» (la contraseña), pero normalmente no puede obtener también el segundo factor (un código de un solo uso enviado al smartphone o una clave de hardware). Aunque la contraseña de un usuario se publique en una base de datos de filtraciones, la cuenta sigue protegida si la MFA está habilitada. Las organizaciones que han implementado MFA rara vez aparecen en informes de filtraciones relacionados con la toma de control de cuentas mediante credenciales.
OTP por SMS y sus debilidades
Las contraseñas de un solo uso por SMS (OTP) son el método de MFA más implementado: un código de 6 dígitos enviado por mensaje de texto. Son mejores que no utilizar MFA, pero presentan debilidades documentadas. Ataques de intercambio de SIM: los atacantes se hacen pasar por la víctima ante el operador móvil y transfieren el número de teléfono a su propia SIM, interceptando los futuros códigos OTP. Vulnerabilidades del protocolo SS7: el protocolo de señalización de la red telefónica presenta fallos conocidos que permiten interceptar SMS. Phishing en tiempo real: proxies de phishing sofisticados retransmiten los OTP en tiempo real y los eluden. NIST SP 800-63B ha limitado los OTP por SMS a la categoría de «autenticador restringido». Se prefieren las aplicaciones de autenticación o los tokens de hardware.
TOTP: contraseñas de un solo uso basadas en el tiempo
TOTP (contraseñas de un solo uso basadas en el tiempo), estandarizado en RFC 6238, genera códigos de 6 dígitos a partir de un secreto compartido y la hora actual. Aplicaciones como Google Authenticator, Authy y Microsoft Authenticator implementan TOTP. El código cambia cada 30 segundos y solo es válido para un intento de autenticación. A diferencia de los OTP por SMS, TOTP no atraviesa la red telefónica, por lo que es inmune a los intercambios de SIM y a los ataques contra SS7. El secreto compartido se intercambia una sola vez (mediante un código QR durante la configuración) y se almacena en la aplicación de autenticación, por lo que se requiere acceso físico al dispositivo registrado para generar códigos.
# TOTP algorithm (RFC 6238) conceptual implementation
import hmac, hashlib, time, struct, base64
def totp(secret_b32, digits=6, interval=30):
# Decode the base32 secret
secret = base64.b32decode(secret_b32, True)
# Time counter: number of 30-second intervals since epoch
counter = int(time.time()) // interval
# HMAC-SHA1 of counter with secret
msg = struct.pack('>Q', counter)
digest = hmac.new(secret, msg, hashlib.sha1).digest()
# Dynamic truncation to get 6 digits
offset = digest[-1] & 0xf
code = struct.unpack('>I', digest[offset:offset+4])[0] & 0x7fffffff
return str(code % (10**digits)).zfill(digits)FIDO2 y WebAuthn: MFA resistente al phishing
FIDO2 (Fast Identity Online 2) y su implementación web, WebAuthn, representan el estándar de autenticación más resistente al phishing disponible. FIDO2 utiliza criptografía de clave pública en el dispositivo: el autenticador (una clave de hardware como YubiKey o la biometría del dispositivo como Windows Hello) almacena una clave privada que nunca sale del dispositivo. La autenticación está vinculada criptográficamente al origen específico (el sitio web), lo que la hace inmune al phishing: aunque se engañe a un usuario para que visite un sitio falso, el desafío de autenticación fallará porque el origen no coincide. FIDO2 es el estándar de oro para la autenticación de alta seguridad.
Tokens de hardware: HOTP y tarjetas inteligentes
Los tokens de hardware físicos proporcionan «algo que usted tiene» independientemente de los smartphones. HOTP (OTP basado en HMAC), estandarizado en RFC 4226, genera un código a partir de un contador y un secreto compartido; el contador aumenta cada vez que se pulsa el botón. A diferencia de TOTP, los códigos HOTP no caducan según un temporizador, pero deben utilizarse en secuencia. Las tarjetas inteligentes (como las tarjetas PIV utilizadas por empleados del Gobierno de Estados Unidos) almacenan claves privadas en hardware resistente a manipulaciones y requieren un PIN para desbloquearse, combinando «algo que usted tiene» (la tarjeta) con «algo que usted sabe» (el PIN). La autenticación mediante tarjetas inteligentes es el estándar para el acceso privilegiado en entornos de alta seguridad.
Gestores de contraseñas: resolver el problema humano
Los gestores de contraseñas resuelven la tendencia humana a reutilizar contraseñas al generar y almacenar contraseñas únicas y aleatorias para cada sitio. La contraseña maestra desbloquea una bóveda cifrada que contiene todas las credenciales. Los gestores de contraseñas empresariales (1Password Teams, Bitwarden Business, CyberArk) añaden funciones como la aplicación centralizada de políticas, registros de auditoría, uso compartido seguro y acceso de emergencia. Los equipos de seguridad deberían fomentar activamente o exigir la adopción de gestores de contraseñas; es poco frecuente encontrar un control de seguridad que mejore tanto la seguridad (contraseñas únicas en todas partes) como la facilidad de uso (no es necesario recordar decenas de contraseñas). Combinados con MFA, los gestores de contraseñas reducen drásticamente el compromiso de cuentas basado en credenciales.
Bloqueo y limitación de intentos de cuentas
El bloqueo de cuentas deshabilita una cuenta después de un número definido de intentos fallidos de inicio de sesión, lo que evita ataques de fuerza bruta. Las políticas habituales bloquean una cuenta después de 3-10 intentos fallidos, con una duración del bloqueo que va desde un periodo fijo (30 minutos) hasta la necesidad de que un administrador la desbloquee. La limitación de intentos es una alternativa menos estricta: en lugar de bloquear las cuentas, aumenta progresivamente el tiempo de espera entre los intentos de inicio de sesión, haciendo que los ataques de fuerza bruta tarden años en lugar de minutos sin afectar a la experiencia del usuario como lo hacen los bloqueos. Las aplicaciones web deberían implementar ambas medidas: limitación de la tasa en el nivel de la API y limitación de intentos en el nivel de la cuenta, para evitar ataques automatizados contra credenciales.
# Configure account lockout policy via Windows Group Policy
# Computer Configuration > Windows Settings > Security Settings
# > Account Policies > Account Lockout Policy
#
# Account lockout threshold: 5 invalid logon attempts
# Account lockout duration: 30 minutes
# Reset account lockout after: 30 minutes
# Linux PAM-based lockout (/etc/pam.d/common-auth)
# auth required pam_tally2.so deny=5 unlock_time=1800
# auth required pam_faillock.so preauth deny=5 unlock_time=1800Comprobación rápida
Compruebe su comprensión de los conceptos de CompTIA Security+ (SY0-701) tratados en esta lección.
Resumen de la lección
En esta lección ha aprendido que NIST SP 800-63B recomienda utilizar frases de contraseña largas y comprobarlas frente a filtraciones, en lugar de aplicar políticas de renovación complejas; los tres factores de MFA son algo que sabe, algo que tiene y algo que es; las aplicaciones TOTP son más seguras que los OTP por SMS; FIDO2/WebAuthn es resistente al phishing; y el bloqueo de cuentas evita los ataques de fuerza bruta. A continuación, exploraremos la biometría y la autenticación basada en tokens.
Preguntas frecuentes
¿La lección «Políticas de contraseñas y autenticación multifactor» es gratis?
Sí — el texto completo de «Políticas de contraseñas y autenticación multifactor» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Security+ Academy, actualiza a CoddyKit PRO. El curso de Security+ Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Políticas de contraseñas y autenticación multifactor»?
Comprenda los requisitos de contraseñas seguras, los factores de MFA (algo que sabe, tiene o es) y por qué combinar factores reduce drásticamente el riesgo de compromiso de cuentas. Practicas Security+ Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Security+ Academy?
No se requiere experiencia previa. Security+ Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Políticas de contraseñas y autenticación multifactor»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Security+ Academy?
Sí. Cada lección de Security+ Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Políticas de contraseñas y autenticación multifactor
- Biometría y autenticación basada en tokens
- Modelos de autorización: RBAC, MAC y DAC
- Identidad federada: SAML, OAuth y OpenID Connect