VIDEOCONFERENCIAS SOBRE FIREWALLS RAFAEL ARRUEBARRENA Facultad de Ingeniería, UCV E-mail: [email protected] RESUMEN La utilización de sistemas de videoconferencia basados en el protocolo H.323 sobre redes que no garantizan la calidad de servicios se ha multiplicado en el tiempo. Uno de los problemas que presenta el establecimiento y prosecución de una llamada basada en H.323 es el de atravesar los elementos de protección de la red contra intrusos o firewalls. Esta operación se complica por la característica del protocolo H.323 de asignar dinámicamente los puertos TCP y UDP utilizados por los flujos de datos de video. De acuerdo a la tecnología del firewall, se pueden presentar problemas de acceso a los puertos. Estos problemas han sido atacados por proveedores de tecnologías, y las soluciones propuestas se describen brevemente. Todas las tecnologías introducen nuevos elementos en las redes para adpatar los flujos de datos a los firewalls. Se prevé la continuación de una tendencia a incluir capacidades de manejo de tráfico H.323 en los nuevos firewalls para disminuir la complejidad de las soluciones actuales. ABSTRACT Videoconference systems based on H.323 protocol have become more popular over the years. One of the problems associated with call setup and communication is that of traversing firewalls. This task is complicated even further due to the dynamic assignation of TCP and UDP port addresses used by H.323. According to the firewall’s technology, port access problems might arise . Technology suppliers have provided solutions to these problems and these are briefly described. Every technology solution features new network elements for dealing with the firewalls. It is possible to foresee H.323 traffic handling capabilities incorporated into new firewall systems to reduce these solution’s complexity. VIDEOCONFERENCIAS SOBRE FIREWALLS La utilización de sistemas de videoconferencia basados en el protocolo H.323 sobre redes que no garantizan la calidad de servicio se ha incrementado en tiempos recientes. Uno de los problemas más importantes que afrontan este tipo de sistemas es el tránsito sobre los sistemas de seguridad de redes conocidos como firewalls. Las dificultades con los firewalls pueden surgir durante el establecimiento de la llamada, o bien durante el comienzo de la comunicación, aún cuando haya sido posible realizar con éxito la negociación de establecimiento de la llamada. Los principales problemas asociados con la implementación de videoconferencias sobre H.323 en la presencia de firewalls son dos. En primer lugar, los flujos de datos son bastante complejos, lo que implica el uso de una variedad de sub-protocolos que usan sus propios canales de comunicación. En segundo lugar, el estándar prevé una asignación dinámica de las direcciones usadas en la transferencia de información, por lo que es posible que el firewall no sea capaz de detectar el puerto futuro en el cual se recibirá una comunicación, lo cual es especialmente cierto para los mensajes basados en UDP. Asimismo, esta asignación dinámica produce grandes fluctuaciones en el ancho de banda requerido por la videoconferencia. Una visión de los puertos usados por las funciones del protocolo H.323 puede apreciarse en la tabla 1: implica la transferencia de comandos de mouse y teclado que pueden ser usados para insertar comandos en sistemas protegidos por firewalls. También es posible espiar una sesión de chat en este protocolo pues transmite texto que puede ser fácilmente interceptado. Tabla 1: Funciones y puertos H.323. ESTABLECIMIENTO DE LA LLAMADA H.323 Función Gatekeeper discovery Gatekeeper RAS Q.931 call setup H.245 control channel RTP/RCTP (video/audio) H.235 secure signalling T.120 Puerto 1718 Tipo UDP 1719 UDP 1720 TCP 1024-65355 TCP 1024-65355 UDP 1030 TCP Para ilustrar los problemas que pueden surgir durante el establecimiento de la llamada H.323, por causa de la acción de los firewalls, es necesario examinar el establecimiento de una llamada H.323. Los dos protocolos usados son el H.245 y el H.225, quien contiene a su vez el protocolo Q.931, usado para señalización. Se pueden considerar tres fases en este proceso: FASE 1 1503 TCP Al ser el estándar H.323 un “paraguas” que agrupa muchos otros estándares, es necesario involucrarse directamente con cada uno de ellos para estudiar la manera en la que son tratados por los firewalls. Uno de los más problemáticos es probablemente el estándar T.120 usado para transferir archivos, compartir aplicaciones y otras funcionalidades varias como chat o pizarrón. De estas aplicaciones, la más vulnerable es la aplicación de transferencia de archivos FTP (File Transfer Protocol). Esta aplicación hace uso del puerto número 21, al cual se asocian numerosos problemas de seguridad. El uso compartido de aplicaciones también conduce a posibilidades para los intrusos, puesto que El terminal A envía un setup message al terminal B. Éste contiene información de su dirección de destino. El terminal B responde enviando un mensaje Q.931 de alerta (alerting message) seguido de un mensaje de conexión (connect message) si éste es aceptado. Durante esta primera fase de la conexión, el único puerto usado es el TCP 1720. Si el terminal de destino acepta la comunicación, comienza la segunda fase, que usa el protocolo H.245. FASE 2 Durante las negociaciones por medio de H.245, ambos terminales compartirán información acerca de sus capacidades de terminal. Estas capacidades incluyen el tipo de medio, la escogencia de codificador / decodificador (codec) e información de multiplexión. Una vez que han finalizado las negociaciones, se envía un mensaje (terminal capability set ack message). Estas negociaciones pueden repetirse en cualquier momento de la llamada. FASE 3 La fase final de la llamada negocia el establecimiento de una relación maestro esclavo entre los terminales. Esta relación se usa para resolver cualquier conflicto que pueda surgir entre los terminales durante la comunicación. Una vez finalizada la fase 3, se liberan los canales de audio y video, uno para tráfico RTP y otro para tráfico RTCP, y comienza el flujo de datos de la videoconferencia. Los problemas que pueden surgir durante el establecimiento de la llamada se producen en la fase 2 y 3. La fase 1 es relativamente inmune porque usa un único puerto TCP para la conexión. Luego, las fases 2 y 3 usan puertos asignados dinámicamente, lo que implica que cualquier puerto UDP entre 1024 y 65355 puede ser usado. Puesto que el mismo estándar prevé que sean asignados dinámicamente, no se puede establecer con certeza una regla de asignación en el firewall que prediga cuáles serán los puertos usados, por lo que el firewall puede negar por completo el acceso a estas direcciones, al no ser capaz de supervisar la comunicación. Este problema persiste más allá del establecimiento de la llamada, puesto que los flujos de datos de audio y video también usan mensajes UDP dinámicamente asignados en los protocolos RTP y RTCP. Setup Data stream internal H.323 terminal external H.323 terminal Firewall Figura 1. La llamada es establecida pero es imposible enviar el flujo de datos Existen tres estrategias muy difundidas para la instrumentación de firewalls que interactúan de maneras distintas con las videoconferencias basadas en H.323: firewalls que filtran paquetes (packet filtering firewalls), firewalls de gateways de circuitos (circuit gateway firewalls) y firewalls con proxy de aplicación (application proxy firewalls). PACKET FILTERING FIREWALLS Este tipo de firewalls bloquean o permiten conexiones basados enteramente basados en la información contenida en la cabecera IP del paquete recibido. Sin embargo, la información referida a los puertos en H.323 se comunica directamente en el cuerpo del paquete y no en su cabecera, así que el filtrado establecido por el firewall no tiene forma de asociar la solicitud de conexión UDP con la información de enrutamiento. En este caso, la única manera posible de permitir la comunicación a través de este tipo de firewalls es abrir a la comunicación todos los puertos UDP y TCP entre 1024 y 65355, en ambos extremos de la comunicación, por lo que la capacidad de proveer seguridad del firewall se vería severamente afectada. CIRCUIT GATEWAY FIREWALLS Estos firewalls son más adecuados para las comunicaciones de videoconferencia, puesto que permiten el requerimiento de conexiones UDP por un tiempo limitado. La mayoría de estos firewalls permiten el uso de aplicaciones como Telnet o FTP, aunque éstas usan asignaciones de puertos estáticas. En el caso de datos H.323, se debe programar al firewall para descomponer los paquetes UDP e interpretar las direcciones asociadas al paquete, abriendo luego los puertos requeridos. Este proceso implica una complejidad adicionada y posiblemente indeseable al proceso de filtrado, que podría introducir además retardos en la comunicación. de establecerse la comunicación. Si bien en algunos casos tomar esta decisión es inevitable, significa renunciar a la protección que provee un firewall. Muchos de los firewalls más antiguos no toman en cuenta la posibilidad de una comunicación basada en H.323 y por consiguiente no hay más remedio que adoptar esta decisión. Recientemente, la mayoría de los productos prevén la posibilidad de tener tráfico H.323. La estrategia es reconocer el tráfico de videoconferencia y permitirle atravesar el firewall. Para llevar a cabo este propósito existen varias soluciones propuestas por proveedores de sistemas con firewalls. Entre las soluciones usadas en la industria, se tienen los routers Cisco MCM, los servidores de conferencia CuseeMe, y el filtro Aravox H.323. APPLICATION PROXY FIREWALLS ROUTER CISCO MCM El proxy en este firewall realiza la traducción de direcciones entre sus puertos internos y externos, pero puede además participar en el proceso de señalización, lo que le permite actuar en la apertura de los puertos requeridos por la comunicación H.323, al ser asignados dinámicamente. La complicación surge en la traducción de las direcciones enviadas, la cual debe ser negociada al establecerse la comunicación, aunque una vez que ésta empieza, el proxy actúa de manera transparente para los participantes de la comunicación. El Router Cisco MCM es parte de una solución que incluye un firewall para permitir el tráfico H.323 desde y hacia la red. Para su uso se propone una topología de red que tiene dos zonas, una interna y una externa al firewall. En la zona 1, o interna, se consideran todos los equipos de videoconferencia ubicados dentro del firewall. En la zona 2, o externa, se consideran los equipos externos al firewall, según se ve en la figura 2: SOLUCIONES A LOS PROBLEMAS PLANTEADOS POR LOS FIREWALLS La solución más drástica a los problemas de videoconferencias sobre firewalls es abrir todos los puertos UDP y TCP en el momento Figura 2: Introducción de los Routers Cisco (a la derecha) en la topología de red En cada zona se ubica un Router Cisco MCM, el cual es configurado para actuar como el Gatekeeper y el proxy de cada una de las zonas. Entre ambos routers se encuentra el firewall. El tráfico entre ellos es de tipo H.323 y se produce mediante GRE (Generic Routing encapsulation) por medio de un solo puerto fijo que atraviesa el firewall. Para que se produzca una solicitud de videoconferencia H.323, los terminales en la zona 1 deben registrarse con su Router, y lo mismo aplica para los terminales externos al firewall (zona 2). El proceso de llamada para un cliente que se encuentre en la zona 2 y desee iniciar una comunicación con la zona 1 se describe a continuación: 1.- El terminal en la zona 1 (TZ1) contacta a su gatekeeper con el alias o la dirección E.164 del terminal en la zona 2 (TZ2) con el que se quiere comunicar. 2.- El gatekeeper de la zona 1 (GZ1) contacta al gatekeeper de la zona 2 (GZ2) para averiguar si el cliente requerido está registrado y solicita su dirección IP. 3.- El GZ2 responde con la dirección IP del proxy de la zona 2 (P2) en lugar de la dirección IP del TZ2, para preservar su identidad. 4.- El GZ1, con la finalidad de que el TZ1 curse la llamada a través de su propio proxy de la zona 1 (P1), le envía la dirección IP de P1, el cual se comunicará con P2. 5.- El TZ1 contacta a P1 6.-P1 consulta al GZ1 para conocer la dirección de P2. 7.- El GZ1 da a P1 la dirección de P2. 8.- P1 llama a P2. 9.- P2 consulta a GZ2 para conocer la dirección de TZ2. 10.- GZ2 envía la dirección de TZ2 a P2. 11.- P2 se comunica con TZ2, con lo cual se establece la llamada. En la figura 3 se observa el establecimiento de la llamada Figura 3: Establecimiento de la llamada H.323 con Routers Cisco MCM. CUSEEME CONFERENCE SERVERS El CUseeMe conference server es una solución para videoconferencias H.323 basada en software que se basa en la idea de crear cuartos de conferencias virtuales sobre una red IP existente usando el protocolo H.323. El problema del cruce de firewalls se resuelve ubicando servidores a cada lado de éstos. Los servidores reconfiguran el firewall para habilitar sólo los puertos por medio de los cuales compartirán los flujos de datos producidos por la videoconferencia (véase la figura 4). ARAVOX H.323 FILTER. El dispositivo de Aravox es capaz de aislar el tráfico H.323 de otros tráficos para hacerlo pasar por el firewall, para reinsertarlo luego en el flujo de datos original. Este dispositivo está basado en la tecnología desarrollada para aplicaciones de VoIP (voz sobre IP). El dispositivo de Aravox se coloca entre el firewall y el proveedor de servicios de internet asociado (ISP) (figura 5). Figura 4: Configuración de la red con servidores CuseeMe. Asimismo, evitan problemas de seguridad al asegurarse de que los flujos H.323 que atraviesan el firewall sólo puedan provenir de las direcciones asignadas a los servidores. Con esto se consigue crear un túnel de datos para la videoconferencia, con todos los protocolos asociados a éstos conducidos por los servidores a través del firewall. Una vez que se ha establecido la comunicación entre los servidores, se crean los cuartos virtuales de videoconferencias, los cuales pueden ser protegidos por contraseñas, lo que añade un elemento más de seguridad a la red. Al igual que en el caso de los routers Cisco, los clientes internos y externos se registran en los servidores ubicados en sus zonas. Sin embargo, no se producen comunicaciones directas entre los miembros de las zonas, sino que todas las comunicaciones son cursadas por el servidor, con lo que los servicios se centralizan, lo cual podría ser interpretado como una debilidad del sistema. Figura 5: Utilización del dispositivo Aravox para videoconferencias H.323 Todo el tráfico de red se canaliza por el dispositivo, excepto el tráfico H.323 que se filtra y se hace pasar a la red sin atravesar el firewall. El dispositivo tiene medidas de seguridad para evitar que a través del flujo H.323 se filtren amenazas para la seguridad del sistema. Uno de los problemas con esta configuración es que todo el tráfico de datos debe atravesar un dispositivo más, y no sólo el tráfico H.323, lo que aumenta las probabilidades de falla. CONCLUSIONES Al examinar el protocolo H.323 y la manera en la que se establecen las llamadas y se direccionan los flujos de datos, es posible entender las dificultades que se presentan a la hora de instrumentar una videoconferencia que deba cursar tráfico sobre un firewall. Los problemas surgen en particular por la utilización de la asignación dinámica de direcciones TCP y UDP tanto en las fases de establecimiento de la llamada como en el transporte de los flujos de datos. Los problemas son mayores en los casos en los que el firewall debe examinar las direcciones IP del flujo de paquetes entrante para determinar su procedencia antes de permitir el acceso a la red. Se encuentra también que los firewalls de tecnología un poco más antigua tienen más dificultades para manejar el tráfico H.323. Para evitar estas dificultades, los proveedores han ideado varias soluciones que evitan los problemas de la asignación dinámica de puertos. En las tres soluciones descritas, se instala un dispositivo o software antes del firewall. habilitar, o bien se encargan de hacer que el flujo de datos H.323 no tenga que atravesar el firewall. Es obvio que la instalación de una cantidad de dispositivos adicionales es capaz de aumentar la complejidad de las redes, y multiplicar las posibilidades de falla. Además implican una inversión importante para darle a la red las facilidades de videoconferencias sobre H.323. Es de prever que en el futuro los mismos firewalls vendrán habilitados de manera tal de permitir el flujo de datos H.323 sin permitir una degradación de las características de seguridad de la red y evitando a los clientes la necesidad de hacer múltiples inversiones. BIBLIOGRAFÍA Cypher, S, Traversing firewalls with H.323, tomado de: www.giac.org/practical/GSEC/Steve_Cyphe r_GSEC.pdf Stoeckigt,K y Schwenn,U, H.323 & firewalls, tomado de: www.vide.net/conferences/spr2004/ presentations/stoeckigt/stoeckigt.ppt Setup Setup Data stream Data stream internal H.323 terminal Gartmann, R, The H.323 – firewall riddle, tomado de: www.switch.ch/vconf/ws2003/h323firewallr iddle.pdf external H.323 terminal Gatekeeper/Proxy Firewall Figura 6: Configuración típica de redes para permitir el paso de tráfico H.323, con un terminal externo, un gatekeeper-proxy y un terminal interno. Éstos se encargan de presentar al firewall un rango limitado de direcciones que se puedan Cisco, Deploying H.323 Applications in Cisco Networks, tomado de: www.cisco.com/warp/public/ cc/pd/iosw/ioft/mmcm/tech/h323_wp.htm H.323 and Firewalls: Problems and solutions, tomado de: www.surfnet.nl/innovatie/surfworks/showca se/h4.html