domingo, 12 de noviembre de 2017

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.

Caracteristicas de Kerberos:
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