EUSKADI EN LA SOCIEDAD DE LA INFORMACION
Software Libre: Encuentros Empresariales

Enpresa Digitala

3/6/2005

Soluciones de seguridad wirelesss avanzadas

Clasificado bajo: — pgaraizar @ 10:09 am

Las medidas de seguridad wireless tradicionales son vulnerables. El cifrado WEP es vulnerable a multitud de ataques, entre los que destacan los nuevos ataques de Korek, implementados en herramientas como WepLab (http://weplab.sourceforge.net). Los filtros por IP o por MAC son fácilmente evitables, analizando el tráfico con un sniffer wireless como Kismet (http://kismetwireless.net/) podemos ver qué IPs y qué MACs pertenecen a la “lista blanca” del punto de acceso inalámbrico y hacernos con una de ellas. La seguridad proporcionada por los fabricantes de puntos de acceso ha quedado obsoleta y es necesario tomar nuevas medidas, veamos algunas de ellas.

Señuelos y falsos APs

Una medida bastante utilizada para intentar ocultar una red inalámbrica es no emitir “tramas de señalización” (beacon frames) y esperar que no se publique el SSID o nombre de la red durante la visita de un supuesto atacante. El enfoque totalmente contrario funciona bastante mejor en ocasiones: es muy difícil no hacer ni un solo “ruido” e intentar comunicarte, pero también es difícil que alguien espíe una conversación en un bar atestado de gente, donde hay más de 50 conversaciones a la vez.

Esa es la idea de esta medida de seguridad: simular la existencia de multitud de APs y de tráfico en esas redes, para distraer a los posibles atacantes. Si nuestra casa tiene 200 puertas, 199 falsas y una verdadera, los ladrones que pretendan forzar la cerradura pueden tirarse mucho tiempo hasta lograr romper la verdadera cerradura que da acceso a la casa.

FakeAP es un programa para GNU/Linux que se encarga de hacer precisamente esto. Tiene una lista de los nombres de redes inalámbricas más utilizadas (normalmente los nombres que vienen al comprar el AP en diferentes marcas), y algunas direcciones MAC de origen coherentes con esos nombres. Además se puede configurar el canal en el que queremos que se emitan falsos APs, etc.

Para que funcione correctamente, necesitamos tener una tarjeta que se pueda poner en modo “master” y definir qué lista de SSIDs queremos mostrar.

Esto puede hacer que NetStumbler o Kismet se vuelvan un poco locos para detectar el verdadero AP.

VPNs e IPSEC

Una VPN es una Red Privada Virtual. Normalmente las VPNs se utilizan para interconectar diferentes sedes geográficamente dispersas de una misma organización o empresa, creando una red privada dentro de una red pública como pueda ser Internet. Es privada porque se protege mediante cifrado de los datos y autenticación de los ordenadores que pretenden entrar en la red, y es virtual porque realmente la red no está interconectada directamente, sino que se utilizan túneles cifrados a través de Internet para conseguir que haya conectividad entre las diferentes sedes.

Además de la topología distribuida en diferentes sedes, las VPNs se utilizan para que un cliente móvil, por ejemplo: un comercial de ventas que se desplaza por todo el país, sea capaz de utilizar la red de su empresa desde cualquier punto. Este escenario se asemeja bastante a lo que ocurre cuando queremos dejar utilizar los recursos de nuestra red a clientes que se conectan a través de un AP. Por esta razón, las VPNs tienen total vigencia dentro del mundo inalámbrico y hoy por hoy son una solución de seguridad probada y con bastantes garantías.

Existen multitud de tecnologías para crear VPNs, y diversos protocolos como PPTP (“Point-to-Point Tunneling Protocol”), L2TP (“Layer-2 Tunneling Protocol”) o IPSec “Internet Protocol Security”. Hoy en día la solución más robusta en cuanto a tecnologías VPN es L2TP/IPSec, que proporciona autenticación de usuarios y equipos, una Infraestructura de Clave Pública (“PKI: Public Key Infrastructure”) y asegura la integridad y cifrado en los datos.

Configurar IPSec en GNU/Linux tiene, por el momento, una complejidad elevada y requiere un alto conocimiento del sistema ya que es preciso realizar tareas no triviales como parchear el núcleo, configurar túneles y interfaces, crear claves, etc. El proyecto FreeS/WAN (“Free Secure WAN”) ha desarrollado el soporte IPSec para GNU/Linux y están colaborando en integrar ese soporte en el núcleo del sistema, modificando la arquitectura de componentes que utilizaban hasta ahora. Esto ha quedado demostrado en el soporte de IPSec dentro del núcleo 2.6, mucho más limpio que en versiones anteriores y en las constantes mejoras en el proceso de instalación que van disminuyendo poco a poco la labor de configurar IPSec en GNU/Linux. Si no queremos complicarnos en exceso tratando de configurar IPSec en un sistema GNU/Linux normal, podemos utilizar distribuciones especializadas en seguridad que incluyen el soporte para IPSec de forma nativa, como por ejemplo “Devil-Linux”.

Una vez configurado correctamente el soporte para IPSec, convendría filtrar todo el tráfico que no fuera IPSec o IKE, el protocolo de intercambio de claves para poder entrar en una red IPSec basada en claves. Es decir, en nuestra red inalámbrica podríamos permitir únicamente tráfico convenientemente cifrado y autenticado por IPSec, o bien conexiones al servidor IKE para realizar el proceso de entrada a la red privada. Todo el resto de tráfico se consideraría tráfico no permitido y evitaríamos tanto intentos de intrusión conocidos como desconocidos.

Sin embargo, actualmente está tomando mucha fuerza OpenVPN, un software de VPNs para GNU/Linux (también portado a Microsoft Windows, Mac OSX, BSDs y Solaris) que realiza túneles VPN de forma muy cómoda y sencilla. OpenVPN utiliza los protocolos SSL y TLS para cifrar las comunicaciones, muy probados y usados en otras soluciones de seguridad. Para más información sobre OpenVPN, os recomiendo visitar su página web: http://openvpn.net/.

Portales Cautivos

Un Portal Cautivo es un sistema que permite controlar los accesos a redes Wi-Fi. La arquitectura del sistema de Portal Cautivo es la siguiente: un “gateway” o pasarela encamina las conexiones, mientras que un Servidor de Autenticación define a qué perfil pertenece cada conexión y qué partes de la red podrá visitar en consecuencia.

Se definen tres perfiles dentro de la red inalámbrica protegida por un Portal Cautivo: Invitado, Miembro y Propietario, ordenados de menor a mayor nivel de privilegios en la red. De esta manera, y tomando el ejemplo de la documentación de NoCatAuth (software para implementar Portales Cautivos en GNU/Linux), el sistema se asemeja al acceso a un edificio de una empresa: nosotros entramos por una puerta hasta la recepción del edificio (“gateway” o pasarela) en donde un portero (Servidor de Autenticación) nos pide acreditación. En función de si somos invitados, trabajadores de la empresa (miembros) o el Director General de la empresa (propietario), se nos permitirá acceder a determinadas partes del edificio o no. Así, tal y como dice Toni dlF. Díaz, autor del NoCatBOX-HowTo, un sistema de Portal Cautivo se comporta de la misma forma que “una puerta con portero”

Para implantar un sistema de Portal Cautivo podemos emplear NoCatAuth (http://nocat.net) sobre GNU/Linux, una solución que ya están tomando varias empresas dedicadas a la implantación de accesos de pago a Internet inalámbricos, comúnmente llamados “HotSpots”.

El nuevo estándar de seguridad 802.11i

Después de analizar todos los problemas de las medidas de seguridad implantadas en redes inalámbricas hasta la fecha, el IIIE (“Institute of Electrical & Electronics Engineers”) -un organismo internacional encargado de estandarizar, entre otras cosas, sistemas telemáticos- decidió ponerse manos a la obra y diseñar lo que sería el nuevo protocolo estándar de seguridad para redes inalámbricas, el 802.11i.

Actualmente 802.11i define una serie de sistemas de cifrado y autenticación como AES (“Advanced Encryption Standard”) y TKIP (“Temporal Key Integrity Protocol”) para disminuir la posibilidad de que la clave empleada en el cifrado sea rota por un atacante inalámbrico y aumentar la fortaleza del cifrado. Sin embargo, todavía 802.11i no es una realidad sino más bien un conjunto de buenas intenciones, que están plasmándose en otros protocolos más tangibles como WPA (“Wi-Fi Protected Access”) o la arquitectura de autenticación genérica 802.1x/EAP, que analizamos a continuación.

WPA y 802.1x/EAP

WPA son las siglas elegidas por el consorcio de fabricantes certificados como Wi-Fi para su nuevo protocolo de acceso protegido inalámbrico (“Wi-Fi Protected Access”). Entre sus características más notables destacan la definición de nuevos métodos de cifrado y una autenticación basada en una Infraestructura de Clave Pública con arreglo a la arquitectura 802.1x, que explicaremos a continuación.

802.1x proporciona un sistema flexible de autenticación y autorización en redes, utilizando principalmente EAP (“Extensible Authentication Protocol”), un protocolo de autenticación que permite emplear varios métodos, por ejemplo: EAPOL (“EAP Over LAN”) o EAP sobre una red cableada, EAPOW (“EAP Over Wireless”) o EAP sobre una red inalámbrica, etc.

En principio 802.1x está pensado para funcionar con un Servidor de Autenticación, típicamente un Servidor RADIUS (“Remote Authentication Dial-In User Service”), aunque en entornos en los que no sea posible contactar con un Servidor de Autenticación, podremos utilizar una clave o secreto compartido (“Pre-Shared Key”). El proceso de autenticación en una arquitectura 802.1x se realiza de la siguiente manera: el cliente inalámbrico se comporta como un “suplicante” o “solicitador” de autenticación, y se comunica con el AP para comenzar la autenticación. El AP encamina la petición al Servidor de Autenticación y éste determina si la autenticación es correcta en base a un proceso de desafío-respuesta (así la clave no es transmitida a través de la red). Una vez el Servidor de Autenticación decide si la autenticación ha sido correcta o no, se comunica con el AP, que reencamina el resultado de la autenticación hasta el cliente.

Existen varios tipos de EAP, que por definición se declara “extensible”:

  • LEAP (EAP-Cisco Wireless): requiere una infraestructura Cisco Wireless.
  • EAP-MD5: basado en nombres de usuario y contraseñas.
  • EAP-PEAP: sin certificados, utiliza también TLS para establecer un túnel cifrado.
  • EAP-TLS: requiere la distribución de los certificados digitales a todos los usuarios y Servidores de Autenticación.
  • EAP-TTLS: requiere la distribución de los certificados digitales a todos Servidores de Autenticación, pero no a los usuarios, más flexible.
  • EAP-PEAP: Protected EAP, similar a EAP-TTLS.
  • EAP-SIM: emplea el SIM y el PIN de una tarjeta de teléfono móvil.

Además de 802.1x, WPA incorpora otras mejoras en múltiples aspectos:

    ado: dado que WEP es un protocolo con múltiples vulnerabilidades, WPA exige la utilización de TKIP, un protocolo que corrige las citadas vulnerabilidades pero puede ser calculado con el hardware compatible con WEP. La clave de TKIP es modificada en cada trama de red, por lo que es mucho más complejo romper este sistema de protección.

  • Integridad de los datos: con WEP se almacenaba en cada trama un Valor de Chequeo de la Integridad (“ICV”) para comprobar que los datos no habían sido modificados. Sin embargo esto era vulnerable a ataques de criptoanálisis. WPA introduce “Michael”, un nuevo protocolo que genera un Código de Integridad del Mensaje (“MIC”) de 8 bytes, capaz de proteger la integridad de los datos y evitar ataques de reenvío de tramas antiguas (“replay-attacks”).
  • Tramas de señalización: las tramas de señalización o “beacon frames” han sido modificadas en WPA para proporcionar más información acerca de los protocolos de cifrado soportados, configuración de seguridad, etc.

Para adaptar nuestro hardware a este nuevo estándar de seguridad deberemos actualizar el “firmware” de nuestros equipos. El “firmware” es una pequeña parte de software que se encuentra dentro de tarjetas y APs, que define su modo de funcionamiento. La mayoría de tarjetas del mercado son actualizables para soportar WPA y poder funcionar en una red que utilice este nuevo estándar de seguridad mejorado.

Conclusiones

Como hemos podido ir viendo, proteger una red inalámbrica de los posibles ataques que puede sufrir no es una tarea nada fácil. Existen medidas sencillas que podrán parar los pies a los intrusos más novatos, y sirven como primera línea de defensa, pero que nada tienen que hacer contra un intruso experto o muy motivado.

Una red inalámbrica difícilmente llegará a ser tan segura como su equivalente cableada, por su propia naturaleza abierta. Este es un hecho que deberemos valorar siempre que tengamos que implantar una red Wi-Fi: si los datos que tienen que transmitirse por esa red son críticos, es muy recomendable pensar en otras tecnologías menos vulnerables y más fiables.

Existen tecnologías que dotan a nuestras redes inalámbricas de una protección muy superior a una red cableada que no implemente ningún tipo de cifrado, sin embargo su utilización suele ir en detrimento de la ansiada flexibilidad que prometen las redes Wi-Fi. Una vez más nos encontramos con la balanza que tendremos que equilibrar: en un lado la comodidad y flexibilidad de operar sin cables, de saltar de una red a otra de forma transparente, y en el otro la necesidad de proteger nuestros datos y equipos de las múltiples amenazas que acechan en este tipo de entornos. Decidir qué queremos potenciar depende, como siempre, de cada caso concreto.

Referencias

4 Comentarios

  1. Necesito un ejemplo de configuracion, basado en autenticacion por mac. Usamos un equipo cisco 1310 y cisco workgroup bridge 350, el servidor RADIUS es un windows 2003 server. Si tienen informacion les agradeseria mucho. Desde ya muchas gracias

    Comment por rpettenon — 8/7/2005 @ 8:56 pm

  2. tengo una red inalambrica ya alguien esta ccaseando a lla como lo puedo detener

    Comment por fernando hernandez garcia — 6/11/2005 @ 1:03 am

  3. Necesito urgentemente saber como se hace una simulación de red inalambrica mediante NS 2 y como se desarrolla un codigo en:
    . Desarrolle el código que permita simular una red inalámbrica
    empleando el módulo IEEE802.11 disponible en:
    http://www.tkn.tu-berlin.de/research/802.11e_ns2/

    Comment por Viviana — 2/12/2005 @ 6:25 pm

  4. me gustaria conseguir un tutorial de como configurar ese servicio en el server 2003 L2tp/IPSec con VPN tanto el el servidor como en los clientes

    Comment por chapa — 24/2/2006 @ 4:03 am

RSS de los comentarios de esta entrada.

Deje un comentario

Disculpe, los comentarios están cerrados.

Gestionado con WordPress