Introducción
La autentificación es importante en una red, pues es
necesario evitar la intercepción de los mensajes y proteger su integridad. Los
servicios de autentificación garantizan que el emisor y el receptor de un
mensaje, sea quien dice ser o verdadera. Aparte de que al enviar un mensaje para
proteger aun mas su integridad es necesario encriptarlo al enviarlo y desencriptarlo
al recibirlo. Kerberos es una forma eliminar la necesidad de aquellos
protocolos que permiten métodos de autenticación inseguros, y de esta forma
mejorar la seguridad general de la red.
¿Qué es Kerberos?
Es un servicio de seguridad o Protocolo de Autentificación
de redes, que emplea un sistema de claves secretas compartidas para
autentificar de forma segura un usuario en una red insegura. Fue desarrollado originalmente para el Proyecto
Athena del MIT en la década de 1980 y ha crecido hasta convertirse en el
sistema más ampliamente implementado para autenticación y autorización en redes
informáticas modernas. Fue abierto a todo el público en 1987 y se
convirtió en un estándar IETF en 1993.
Usa cifrado de tipo simétrico
y el servicio de kerberos es un sistema de inicio de sesión único, debe emplear
una infraestructura de red de kerberos V5
La administración de los ID de usuario se simplifica porque
el KDC aloja un repositorio central para identificadores individuales. A las
claves que usa el sistema de kerberos se les llama tickets.
Funcionamiento:
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).
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 en la red.
El TGT, se configura para que caduque después de un cierto
período de tiempo (usualmente 10 horas). 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.
Solo se autentifica con el servicio una vez (inicio de
sesión)
Los tickets de servicio existen en la red durante un periodo
limitado.
Sólo el cliente y el servidor puede descifrar estas claves,
por lo que los datos están protegidos si los tickets se interceptan desde la
red.
La entrada del nombre de usuario y contraseña está limitada
a la sesión de inicio de sesión inicial, lo que reduce el riesgo de una posible
interceptación de credenciales de texto claro.
Ventajas:
- Lamentablemente, la información de autenticación para muchos servicios se transmite sin estar encriptada. Para que un esquema de este tipo sea seguro, la red tiene que estar inaccesible a usuarios externos, y todos los usuarios de la red deben ser de confianza.
- Aún en este caso, una vez que la red se conecte a la Internet, ya no puede asumir que la red es segura. Cualquier intruso del sistema con acceso a la red y un analizador de paquetes puede interceptar cualquier contraseña enviada de este modo, comprometiendo las cuentas de usuarios y la integridad de toda la infraestructura de seguridad.
- El primer objetivo de Kerberos es el de eliminar la transmisión a través de la red de información de autenticación. Un uso correcto de Kerberos erradica la amenaza de analizadores de paquetes que intercepten contraseñas en su red.
Desventajas:
- Kerberos es sólo parcialmente compatible con los Pluggable Authentication Modules (PAM) usados por la mayoría de los servidores Red Hat Enterprise Linux.
- Si se usa kerberos, se debe recordar que si se transmite cualquier contraseña a un servicio que no usa Kerberos para autenticar, se corre el riesgo de que el paquete pueda ser interceptado. Para asegurar su red con Kerberos, solo debe utilizar las versiones kerberizadas (que funcionen con Kerberos) de todas las aplicaciones cliente/servidor que envíen contraseñas sin encriptar o no utilizar ninguna de estas aplicaciones en la red.
- Si cualquier otro usuario aparte del usuario adecuado, tiene acceso a la máquina que emite tickets usados para la autenticación llamado: "Centro de distribución de llaves (KDC)", el sistema de autenticación de Kerberos completo está en riesgo.
Conclusión:
El servicio de kerberos es una forma de autenticación
más segura que muchas otras, por su forma de envió. Si no existiera podría ser
complicado defenderse de las intercepciones para quienes lo usan. Ya
que incluye la encriptación en su envió. Pues su principal objetivo es a
seguridad del mensaje. Tal vez aún tengo brechas abiertas contra los intrusos,
pero son muy pocas. Y si lo mejoran llegaría a ser más importante que el estándar
que es hoy en día.
Referencias:
IBM, recuperado el 12 de noviembre de 2017, Protocolo de Autentificación de Kerberos, https://www.ibm.com/support/knowledgecenter/es/SSGU8G_12.1.0/com.ibm.sec.doc/ids_sso_002.htm
Oracle, recuperado el 12 de noviembre de 2017, ¿Qué es el servicio de Kerberos?, https://docs.oracle.com/cd/E24842_01/html/E23286/intro-5.html
Web Mit, recuperado el 12 de noviembre de 2017, Capítulo 19. Kerberos, http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-kerberos.html
Kerberos, 2013, Documentación Kerberos, http://www.kerberos.org/docs/index.html
No hay comentarios:
Publicar un comentario