19.3. Modo en que funciona Kerberos

Kerberos es diferente de los métodos de autenticación de nombre de usuario/contraseña. En vez de validar cada usuario para cada servicio de red, Kerberos usa encriptación simétrica y un tercero, un KDC, para autentificar los usuarios a un conjunto de servicios de red. Una vez que el usuario se ha autentificado al KDC, se le envía un ticket específico para esa sesión de vuelta a la máquina del usuario y cualquier servicio kerberizado buscará por el ticket en la máquina del usuario en vez de preguntarle al usuario que se autentifique usando una contraseña.

Cuando un usuario en una red kerberizada se registra en su estación de trabajo, su principal se envía al KDC en una petición para un TGT desde el servidor de autenticación (AS). Esta petición puede ser enviada por el programa de conexión para que sea transparente al usuario o puede ser enviada por el programa kinit después de que el usuario se registre.

El KDC verifica el principal en su base de datos. Si lo encuentra, el KDC crea un TGT,el cual es encriptado usando las llaves del usuario y devuelto al usuario.

El programa login en la máquina del cliente o kinit descifra el TGT usando la contraseña del usuario La contraseña del usuario es usada únicamente en la máquina del cliente y no es enviada sobre la red.

El TGT, se configura para que caduque después de un cierto período de tiempo (usualmente 10 horas) y es almacenado en la caché de credenciales de la máquina del cliente. Se coloca un tiempo de caducidad de manera que un TGT comprometido sólo es de utilidad para un intruso por un período corto de tiempo. Una vez que el TGT es emitido, el usuario no tiene que reingresar la contraseña al KDC sino hasta que el TGT caduque o se desconecte y vuelva a conectarse.

Cuando el usuario necesita acceder a un servicio de red, el software cliente usa el TGT para pedir un nuevo ticket para ese servicio en específico al servidor de otorgamiento de tickets, TGS. El ticket para el servicio es usado para autentificar el usuario a ese servicio de forma transparente.

AvisoAviso
 

El sistema Kerberos se vuelve vulnerable cada vez que un usuario en la red se valida contra un servicio no kerberizado y envía una contraseña en la red en texto plano. Por lo tanto no se recomienda el uso de servicios no kerberizados. Estos servicios incluyen Telnet y FTP. Se acepta el uso de otro tipo de protocolos encriptados, tales como SSH o servicios seguros SSL, pero no es ideal.

Esto es sólo una descripción general de cómo funciona la autenticación Kerberos. Si necesita una explicación más detallada sobre el funcionamiento de kerberos, vea la Sección 19.7.

NotaNota
 

Kerberos depende de ciertos servicios de la red para trabajar correctamente. Primero, Kerberos necesita una sincronización de reloj entre los ordenadores de la red. Por lo tanto, se debería cofigurar un programa de sincronización de reloj para la red, como por ejemplo ntpd. Para más información sobre la configuración de ntpd, vea /usr/share/doc/ntp-<version-number>/index.htm para detalles sobre cómo configurar un servidor de protocolos de hora de red (reemplace <version-number> con el número de versión del paquete ntp instalado en su sistema).

Ya que ciertos aspectos de kerberos se apoyan en el Servicio de nombres de dominio (Domain Name System, DNS), debe asegurarse de que las entradas DNS y los hosts en su red están configuradas correctamente. Vea el Manual del administrador de Kerberos V5 , proporcionado en PostScript y formatos HTML en /usr/share/doc/krb5-server-<version-number> para más información (reemplace <version-number> con el número de la versión del paquete krb5-server instalado en su sistema).