VIE, 22 / FEB / 2013

Seguridad en redes: Autenticación con servidores AAA

Una forma de obtener autenticación en redes, ya sean cableadas o no, es mediante protocolos especiales denominados AAA. Aquí veremos tres de ellos.

La sigla AAA puede traducirse en español como Autenticación, Autorización y Auditoría (originalmente, Authentication, Authorization y Accounting). Cuando hablamos de AAA (triple A), no nos estamos basando en un solo protocolo o en algunos en especial, sino en una familia de protocolos que proveen los servicios anteriormente mencionados. Si le adicionamos el concepto de Auditoría, tendríamos lo que a veces se conoce como AAAA, o cuádruple A. Para comprender mejor estos sistemas de autenticación, debemos recordar primero los conceptos que representan.

Autenticación

La autenticación es el proceso por el que una entidad demuestra que es quien dice ser, probando así su identidad frente a un sistema u otra entidad. En general, una entidad es un cliente, y la otra es un servidor ante el cual se requiere autenticación. Al presentar alguno de los factores de autenticación ya conocidos ―algo que uno tiene (por ejemplo, un token), algo que uno sabe (por ejemplo, un password) y algo que uno es (por ejemplo, una huella dactilar)­―, se logra que el sistema valide al usuario en cuestión.

En algunos casos, también puede darse el requisito de la presentación de dos de los tres tipos de factores, para obtener lo que se denomina autenticación Two Factors. Vale la pena destacar que, en muchos casos, no es indispensable enviar por la red las credenciales de autenticación (usuario y contraseña, por ejemplo), sino que se cuenta con mecanismos que ofrecen mayor seguridad, como los sistemas de Challenge-Response (desafío-respuesta), utilizados ampliamente en redes inalámbricas. Estos se basan en el envío de información por parte del servidor, que el cliente procesa para, luego, devolver una respuesta única posible, cuya verificación reflejará el hecho de que el cliente conocía la forma de resolver el desafío. Así se valida que es quien decía ser.

El segundo elemento de los sistemas de triple A es la autorización, que se refiere a que, una vez que el usuario fue autenticado, pueda acceder a determinados recursos basado en los privilegios específicos que el sistema le provee.

Existen diversos métodos para garantizar los privilegios correspondientes a las diferentes entidades, desde sistemas mandatorios, hasta sistemas discrecionales o basados en roles, reglas y contextos. En esta instancia, un usuario de un sistema o red pasará a tener acceso a los diferentes recursos, como ancho de banda, carpetas y archivos, servicios y aplicaciones, y más.

Accounting

Finalmente, tenemos el concepto de accounting, que como bien decíamos, no se refiere a contabilidad en el sentido de lo que uno podría imaginarse (contadores realizando tareas de liquidación de sueldos o temas impositivos), ni a auditoría en el sentido de listas de verificación de cumplimiento de tareas realizada por un auditor. En este caso se refiere a la capacidad de un sistema de registrar eventos, normalmente soportada por los sistemas de logs, que no son más que registros secuenciales que permiten determinar las acciones realizadas por una entidad activa en una red (usuario, servicio, proceso, etcétera).

Por lo general, esta información se utiliza luego para la correcta administración de los recursos, la planificación de la capacidad y, también, para la recopilación de información en caso de incidentes que la requieran.

Existen diversos protocolos bien conocidos que implementan estos conceptos, entre los cuales mencionaremos los más utilizados: RADIUS, DIAMETER, TACACS y su sucesor, TACACS+.

RADIUS

RADIUS es el acrónimo en inglés de Remote Authentication Dial-In User Server, y es quizás el más conocido. Utiliza el puerto UDP 1812 UDP y funciona como cliente-servidor. Su éxito residió, probablemente, en su implementación en proveedores de acceso a Internet (ISP), que fueron los que primero debieron incluir una instancia de autenticación remota a través de la red para validar las conexiones de sus clientes.

Estas conexiones pueden ser tanto inalámbricas como por medio de cablemódems, líneas ADSL o accesos dial-up. RADIUS recibe la información de credenciales de acceso por medio del protocolo PPP a través de un servidor conocido como Network Access Server, que redirige el pedido a un servidor RADIUS con el propio protocolo RADIUS. Este comprueba que la información sea correcta mediante otros mecanismos de autenticación (PAP, CHAP o EAP) y, en caso de ser aceptada, autoriza al cliente a acceder al sistema y le provee los recursos necesarios, como una dirección IP. RADIUS permite manejar sesiones, lo cual es útil para la medición de tiempo para facturación, como en hoteles o ISPs.

DIAMETER

Más adelante se creó DIAMETER, basado en el mismo concepto que RADIUS y tomando muchas de sus funcionalidades e ideas. De hecho, así como RADIUS equivale a la palabra radio en inglés (en referencia a la mitad del diámetro de un círculo), el nombre DIAMETER hace evidente referencia a “el doble del radio”, es decir, “el doble de RADIUS”.

Está pensado para trabajar tanto de modo local como en el llamado estado de alerta, sondeo y captura (AAA roaming), con lo cual puede ofrecer servicios dinámicos y flexibles. DIAMETER no es retrocompatible, pero ofrece un método de actualización para quienes parten de RADIUS. Algunas de sus diferencias son: usa TCP en vez de UDP, puede usar IPSEC o TLS, es peer-to-peer en vez de cliente-servidor, permite negociar capacidades, y tiene notificación de errores.

El último es TACACS, acrónimo de Terminal Access Controller Access Control System, creado por Cisco y usado, normalmente, en sistemas UNIX y descrito en el RFC 1492. Posteriormente surgió TACACS+, que pese a su nombre similar, es muy diferente y no es compatible con este último.

Más sobre RADIUS

Livingston Enterprises desarrolló el protocolo RADIUS para sus productos de la serie PortMaster de servidores NAS. Dada su popularidad, se publicó como RFC 2138 y RFC 2139 al poco tiempo. Hoy en día, existen muchas implementaciones de servidores RADIUS, incluyendo algunas de código abierto. También se implementan servidores proxy RADIUS para administración centralizada, que permiten rescribir paquetes al vuelo, ya sea por temas seguridad o por intercompatibilidad entre fabricantes. En la actualidad, lo definen principalmente el RFC 2865 para autentificación y autorización, y el RFC 2866 para accounting.

Este post fue extraído de la colección Técnico en Redes y Seguridad, que está compuesta por 24 fascículos, 4 libros, 3 ebooks y un coleccionador. Para conocer más detalles o adquirir este curso,visitar el sitio oficial en USERShop.

¡Comparte esta noticia!