Kerberos: Protocolo de autenticación predeterminado en Active Directory

Entendiendo Kerberos en entornos Active Directory

Cuando inicias sesión en un equipo unido a dominio Windows, accedes a una carpeta compartida o te autenticas en una aplicación web integrada con Active Directory (AD), casi con certeza estás usando Kerberos —el protocolo de autenticación predeterminado para Active Directory desde Windows 2000. Entender su funcionamiento es esencial para administradores de sistemas, profesionales de seguridad y desarrolladores que crean aplicaciones integradas con AD.

¿Qué es Kerberos?

Kerberos es un protocolo de autenticación de red desarrollado en el MIT en los 80. Usa criptografía de clave secreta y un tercero de confianza para proporcionar autenticación mutua fuerte entre clientes y servicios sobre redes inseguras. El nombre viene de la mitología griega —Cerbero, el perro de tres cabezas que guarda el inframundo— representando las tres partes involucradas: cliente, servidor y Centro de Distribución de Claves (KDC).

Componentes principales

  • Cliente: El usuario o servicio que solicita acceso
  • Centro de Distribución de Claves (KDC): La autoridad de confianza que se ejecuta en Controladores de Dominio, compuesta por dos servicios:
    • Servicio de Autenticación (AS): Emite Ticket Granting Tickets (TGT)
    • Servicio de Concesión de Tickets (TGS): Emite tickets de servicio para recursos específicos
  • Servicio objetivo: El recurso al que se accede (servidor de archivos, SQL, app web, etc.)

Flujo de autenticación

  1. Petición AS: El cliente envía nombre de usuario al KDC (AS)
  2. Respuesta AS: El KDC devuelve TGT cifrado (con hash de contraseña del cliente) y clave de sesión
  3. Petición TGS: El cliente presenta TGT al KDC (TGS) solicitando acceso a un servicio
  4. Respuesta TGS: El KDC devuelve ticket de servicio (cifrado con clave secreta del servicio) y clave de sesión
  5. Petición AP: El cliente presenta ticket de servicio al servicio objetivo
  6. Respuesta AP (opcional): El servicio se autentica al cliente para autenticación mutua

¿Por qué Kerberos sobre NTLM?

CaracterísticaKerberosNTLM
AutenticaciónMutua (cliente y servidor se verifican)Unidireccional (servidor verifica cliente)
RendimientoCaché de tickets reduce carga en DCCada autenticación va al DC
DelegaciónSoporta delegación restringida/no restringidaSoporte limitado de delegación
Tarjeta inteligente/PKISoporte nativo (PKINIT)No soportado
MultiplataformaSí (Linux, macOS, Unix)Centrado en Windows

Conceptos clave para administradores

  • Nombres Principales de Servicio (SPN): Identificadores únicos para servicios (ej. HTTP/webserver.dominio.com). Críticos para que Kerberos encuentre la cuenta de servicio correcta.
  • Delegación: Permite a servicios suplantar usuarios para acceder a recursos backend (ej. app web → SQL). Configurar con cuidado —la delegación restringida es más segura.
  • Sincronización horaria: Kerberos falla si los relojes difieren >5 min (por defecto). Asegura sincronización NTP en el dominio.
  • Tipos de cifrado: AES256/AES128 preferidos. RC4-HMAC deshabilitado por defecto en Windows moderno por seguridad.
  • Pre-autenticación: Previene ataques de fuerza bruta offline en peticiones TGT. Siempre activada.

Solución de problemas comunes

  • KRB_ERR_GENERIC / KRB_AP_ERR_MODIFIED: SPN mal configurado, SPNs duplicados o contraseña errónea
  • KDC_ERR_PREAUTH_FAILED: Contraseña incorrecta o bloqueo de cuenta
  • Errores de desfase horario: Corregir sincronización horaria
  • Fallback a NTLM: Verificar SPNs, DNS y que cliente/servidor estén unidos al dominio

Mejoras modernas

  • Kerberos Armoring (FAST): Protege la pre-autenticación con túnel anónimo
  • PKINIT: Autenticación basada en certificados para tarjetas inteligentes
  • Delegación Restringida Basada en Recursos: Modelo de delegación más seguro controlado por propietarios de recursos

Kerberos sigue siendo la columna vertebral de la autenticación de dominios Windows. Mientras protocolos como OAuth/OIDC y SAML dominan el SSO web, Kerberos es insustituible para la autenticación integrada de Windows, comunicación servicio-a-servicio en la empresa y escenarios híbridos en la nube con Azure AD Domain Services o AD on-prem.