Product SiteDocumentation Site

2.6.3. Como Funciona Kerberos

Kerberos se diferencia de los métodos de autenticación de tipo nombre de usuario/contraseña. En lugar de autenticar cada usuario en cada servicio de red, Kerberos utiliza encriptaciones simétricas y un servicio adicional confiable (un KDC), para autenticar usuarios en conjunto de servicios de red. Cuando un usuario se autentica en el KDC, el KDC devuelve a la máquina del usuario en cuestión un comprobante específico para esa sesión, y cualquier servicio kerberizado busca el comprobante en la máquina del usuario, en lugar de pedir que el usuario se autentique utilizando una contraseña.
Cuando un usuario kerberizado de una red se loguea en su estación de trabajo, su principal es enviado al KDC como parte de un pedido para un TGT del servidor de Autenticación. Este pedido puede ser enviado por el programa de logueo de modo que sea transparente para el usuario, o puede ser enviado por el programa kinit luego que el usuario se haya logueado.
El KDC entonces verifica con el principal en su base de datos. Si el principal es encontrado, el KDC crea un TGT, que se encripta usando la clave del usuario y se lo devuelve a ese usuario.
El login, o programa kinit en el cliente, se encarga de desencriptar el TGT utilizando la clave del usuario, que se analiza desde la contraseña del usuario. La clave del usuario es utilizada sólo en la máquina cliente y no se transmite en la red.
El TGT es configurado para que caduque en un determinado período de tiempo (generalmente de diez a veinticuatro horas), y es almacenado en el caché de credenciales en la máquina del cliente. Un tiempo de expiración es definido para que, en el supuesto caso que exista un TGT vulnerado, pueda ser utilizado por un atacante sólo durante un breve período de tiempo. Luego que se ha emitido un TGT, el usuario no necesita reingresar su contraseña hasta que este no expire, o hasta que haya finalizado su sesión, y haya vuelto a iniciarla.
Siempre que el usuario necesite acceso a un servicio de red, el software del cliente utiliza el TGT para pedirle al TGS un nuevo comprobante específicamente para ese servicio. El comprobante del servicio es entonces utilizado para autenticar de manera transparente al usuario frente al servicio en cuestión.

Advertencia

El sistema Kerberos puede ser vulnerado si un usuario en la red se autentica frente a un servicio no kerberizado transmitiendo una contraseña con formato de texto simple. La utilización de servicios no kerberizados es altamente desalentada. Entre tales servicios se encuentra Telnet y FTP. Es preferible la utilización de otros protocolos encriptados, como servicios asegurados mediante SSH o SSL, aunque no es lo ideal.
Este es solamente una presentación general de cómo funciona la autenticación de Kerberos. Vaya a la Sección 2.6.10, “Recursos adicionales” para conocer otros enlaces hacia información más detallada.

Nota

Kerberos depende de los siguientes servicios de red para funcionar correctamente.
  • Sincronización de reloj aproximado entre las máquinas de la red.
    Un programa de sincronización de relojes debería ser configurado para la red, como por ejemplo ntpd. Consulte /usr/share/doc/ntp-<version-number>/index.html (donde <version-number>, es el número de versión del paquete ntp instalado en su sistema) para obtener más detalles acerca de cómo definir servidores de Protocolos de Horarios de Red.
  • Servicio de Nombre de Dominio (DNS).
    Debe asegurarse que las entradas DNS y los equipos en la red se encuentren todos configurados adecuadamente. Vea Kerberos V5 System Administrator's Guide en /usr/share/doc/krb5-server-<version-number> para obtener más información, (donde <version-number> es el número de versión del paquete krb5-server instalado en su sistema).