sábado, 12 de junio de 2010

Un pequeño Glosario



Términos implicados en el porceso :


AAA :
La tupla “autenticación, autorización y registro” es más conocida
como AAA, al ser éste su acrónimo de su denominación original inglesa
“Authentication, Authorization, and Accounting”. Veamos a continuación a qué se
refiere cada uno de estos términos:

•
Autenticación (authentication) hace referencia al proceso por el cual se
determina si un usuario tiene permiso para acceder a un determinado servicio de
red del que quiere hacer uso. El proceso de autenticación se realiza mediante la
presentación de una identidad y unos credenciales por parte del usuario que
demanda acceso.

Un tipo habitual de credencial es el uso de una contraseña (o password) que
junto al nombre de usuario nos permite acceder a determinados recursos. El
nombre de usuario es nuestra identidad, que puede ser públicamente conocida,
mientras que la contraseña se mantiene en secreto, y sirve para que nadie
suplante nuestra identidad. Otros tipos más avanzados de credenciales son los
certificados digitales.

Existen muchos métodos concretos que implementan el proceso de la
autenticación. Algunos de ellos, soportados por RADIUS, son:
- autenticación de sistema (system authentication), típica en un sistema
Unix, normalmente realizada mediante el uso del fichero /etc/passwd;
- los protocolos PAP (Password Authentication Protocol), y su versión
segura CHAP (Challenge Handshake Authentication Protocol), que son
métodos de autenticación usados por proveedores de servicios de Internet
(ISPs) accesibles vía PPP;
- LDAP (Lightweight Directory Access Protocol), un protocolo a nivel de
aplicación (sobre TCP/IP) que implementa un servicio de directorio
ordenado, y muy empleado como base de datos para contener nombres
de usuarios y sus contraseñas;
- Kerberos, el famoso método de autenticación diseñado por el MIT;
- EAP (Extensible Authentication Protocol), que no es un método concreto
sino un entorno universal de autenticación empleado frecuentemente en
redes inalámbricas y conexiones punto a punto;
- por último, también se permite la autenticación basada en ficheros
locales de configuración del propio servidor RADIUS.


• Autorización (authorization)
se refiere a conceder servicios específicos (entre
los que se incluye la “negación de servicio”) a un determinado usuario,
basándose para ello en su propia autenticación, los servicios que está solicitando,
y el estado actual del sistema. Es posible configurar restricciones a la
autorización de determinados servicios en función de aspectos como, por
ejemplo, la hora del día, la localización del usuario, o incluso la posibilidad o
imposibilidad de realizar múltiples “logins” de un mismo usuario.

El proceso de autorización determina la naturaleza del servicio que se concede al
usuario, como son: la dirección IP que se le asigna, el tipo de calidad de servicio
(QoS) que va a recibir, el uso de encriptación, o la utilización obligatoria de
túneles para determinadas conexiones.

Los métodos de autorización soportados habitualmente por un servidor de
RADIUS incluyen bases de datos LDAP, bases de datos SQL (como Oracle,
MySQL y PostgreSQL), o incluso el uso de ficheros de configuración locales al
servidor.

No se debe confundir los términos autenticación con autorización. Mientras que
la autenticación es el proceso de verificar un derecho reclamado por un
individuo (persona o incluso ordenador), la autorización es el proceso de
verificar que una persona ya autenticada tiene la autoridad para efectuar una
determinada operación.



•Registro (accounting, a menudo traducido también como contabilidad) se refiere
a realizar un registro del consumo de recursos que realizan los usuarios. El
registro suele incluir aspectos como la identidad del usuario, la naturaleza del
servicio prestado, y cuándo empezó y terminó el uso de dicho servicio.

Es interesante el uso del protocolo RADIUS cuando tenemos redes de dimensiones
considerables sobre las que queremos proporcionar un servicio de acceso centralizado
(aunque posiblemente jerarquizado por medio de diversos servidores RADIUS). Por
este motivo, uno de los principales usos de RADIUS se encuentra en empresas que
proporcionan acceso a Internet o grandes redes corporativas, en un entorno con diversas
de tecnologías de red (incluyendo módems, xDSL, VPNs y redes inalámbricas) no sólo
para gestionar el acceso a la propia red, sino también para servicios propios de Internet
(como e-mail, Web o incluso dentro del proceso de señalización SIP en VoIP).

Un uso de RADIUS que queremos enfatizar, al ser el que realizaremos en esta práctica,
es la autenticación en redes inalámbricas (Wi-Fi), sustituyendo métodos más simples de
clave compartida (pre-shared key, PSK), que son bastante limitados al gestionar una red
cuando ésta alcanza un determinado tamaño.

Aunque RADIUS es el protocolo para AAA más extendido en la actualidad, ya existe
un nuevo protocolo que está llamado a sustituir a RADIUS. Su nombre es DIAMETER,
y también proporciona manejo de errores y comunicación entre dominios.





NAS:

Un Network Access Server (NAS) es un sistema que proporciona acceso a la red. En
algunos casos también se conoce como Remote Access Server (RAS) o Terminal Server.
En general, NAS es un elemento que controla el acceso a un recurso protegido, que
puede ser desde un sencillo teléfono para VoIP o una impresora, hasta el acceso a una
red inalámbrica o a Internet (proporcionado por un ISP).

Cuando un cliente quiere hacer uso de uno de estos servicios se conecta a NAS, quien a
su vez se conecta a un servidor de AAA (típicamente RADIUS) preguntando si los
credenciales proporcionados por el cliente son válidos. Basándose en su respuesta, además
le permitirá acceder o no a este recurso protegido. El sistema NAS no contiene ninguna
información sobre los usuarios que se pueden conectar ni sus credenciales, sino que
utiliza esta información para enviarla a RADIUS, y que éste le informe sobre los
permisos del cliente.

Observa que nos encontramos en un escenario en el que hay dos niveles de la
arquitectura cliente-servidor. Desde un punto de vista más global, tenemos la típica
arquitectura en la que un usuario quiere acceder a un servicio, siendo el usuario el
cliente, y el servidor el sistema que proporciona dicho servicio. Sin embargo, si nos
centramos en el proceso de AAA, el cliente sería el sistema que proporciona el acceso a
la red (por ejemplo NAS), mientras que el servidor es el sistema que autoriza o no dicho
acceso (por ejemplo RADIUS). Como esta práctica se centra en este proceso, nosotros
hablaremos de servidores RADIUS cuyos clientes son los elementos a proteger (por
ejemplo, un punto de acceso para la conexión inalámbrica). Por tanto, desde nuestro
punto de vista, los usuarios que quieren acceder al recurso protegido (por ejemplo, la persona que se desea conectar a la red inalámbrica por medio del punto de acceso), no
son clientes de RADIUS sino que se denominan suplicantes.

Una ventaja del uso de RADIUS es que sus clientes tan sólo tienen que implementar el
protocolo de comunicación con RADIUS, y no todas las posibilidades de AAA
existentes (PAP, CHAP, LDAP, kerberos, mySQL, etc.). En el ejemplo del punto de
acceso, tan sólo necesitamos implementar una solución NAS que realice las consultas a RADIUS.

Otra ventaja del protocolo RADIUS es que, en su comunicación con NAS, nunca
transmite las contraseñas directamente por la red (lo que se conoce como en cleartext),
ni siquiera al usar PAP, sino que usa algoritmos para ocultar las contraseñas como
MD5. Sin embargo, al no ser considerado MD5 un sistema de protección de
credenciales demasiado seguro, es aconsejable utilizar sistemas adicionales de
protección para cifrar el tráfico de RADIUS, como puede ser túneles de IPsec.

NOTA:

Es importante no confundir la definición de NAS que hemos dado en este
apartado con el NAS como “Network-Attached Storage”, que comunmente se refiere a
discos duros conectados directamente a una red.

Seguridad en tecnologías de red inalámbrica

En redes inalámbricas con infraestructura se utiliza un punto de acceso (wireless access
point, WAP o simplemente AP) para interconectar todos los dispositivos inalámbricos
de la red. Usualmente un AP se conecta también a una red cableada, transmitiendo datos
entre los dispositivos conectados a la red por cable y los dispositivos inalámbricos.

La seguridad es un tema importante en las redes inalámbricas porque, al contrario que
en una red cableada a la que sólo tienen acceso las personas que físicamente pueden
conectarse, cualquier persona de la calle o pisos o edificios vecinos pueden conectarse a
una red inalámbrica o ver el contenido de los paquetes que circulan por ella si ésta no
está convenientemente protegida.

Algunos de los principales protocolos estándar para proporcionar seguridad en redes
inalámbricas IEEE 802.11 son:

•
WEP (Wired Equivalent Privacy).
Fue introducido en 1997 con objeto de
proporcionar un nivel de confidencialidad similar al de las redes cableadas.
Usa una clave estática de 64 ó 128 bits con el algoritmo RC4. Su uso se
desaconseja completamente, ya que aunque es muy fácil de configurar y está
muy extendido al ser el primero que surgió, presenta graves fallos de
seguridad.



•WPA (Wi-Fi Protected Access) fue creado para corregir los múltiples fallos
detectados en el protocolo WEP. WPA fue diseñado por el consorcio Wi-Fi
Alliance basándose en un borrador del estándar 802.11i (es un subconjunto
del mismo), y utiliza TKIP (Temporal Key Integrity Protocol) como
protocolo de cifrado que sustituye a WEP sin necesidad de modificar el
hardware existente (podría funcionar actualizando el firmware).
En concreto, WPA sigue usando RC4 como algoritmo de cifrado con claves
de 128 bits, pero usa TKIP para cambiar dinámicamente estas claves.

WPA fue diseñado para ser usado junto a un servidor AAA (habitualmente
RADIUS), de manera que se asignan claves distintas a cada uno de los
posibles usuarios. Sin embargo, para entornos domésticos o pequeñas
oficinas también se puede usar, de forma menos segura, con una única clave
compartida (pre-shared key, PSK). En este caso hablamos de WPA-PSK.



•
WPA2 se basa en el nuevo estándar 802.11i, y el cambio más significativo
respecto a WPA es que usa el protocolo de cifrado AES en lugar de RC4.
Mientras que WAP puede ejecutarse en el hardware que soporte WEP (tras
actualizar el firmware), WAP2 necesita un hardware más nuevo (posterior al
2004). Sin embargo, se sabe que WAP también terminará siendo
comprometido a medio plazo y por tanto sólo se recomienda como transición
a WAP2.

Otro concepto relacionado con la seguridad en redes inalámbricas que merece la pena
destacar es EAP (Extensible Authentication Protocol). EAP es un marco general de
autenticación, y no un mecanismo de autenticación concreto. EAP proporciona algunas
funciones comunes y un método para negociar el mecanismo de autenticación a usar.
Actualmente hay más de 40 métodos distintos. En esta práctica haremos uso del
denominado EAP protegido (PEAP) para la autenticación de nuestro usuario en la red
inalámbrica. Como nuestro suplicante es una máquina con WindowsXP, usaremos
MSCHAPv2, la versión de PEAP empleada por Microsoft en este S.O.

No hay comentarios: