Tema10 (2).pdf
Document Details
Uploaded by ComprehensivePlot
Unizar
Tags
Full Transcript
Seguridad TEMA 10: MECANISMOS DE PREVENCIÓN Introducción Cuando un equipo se conecta a una red informática, se pueden identificar cualquiera de las tres áreas de riesgo siguientes: Primero, se incrementa el número de puntos que se pueden utilizar como origen para realizar un ataque contra cualqui...
Seguridad TEMA 10: MECANISMOS DE PREVENCIÓN Introducción Cuando un equipo se conecta a una red informática, se pueden identificar cualquiera de las tres áreas de riesgo siguientes: Primero, se incrementa el número de puntos que se pueden utilizar como origen para realizar un ataque contra cualquier componente de la red. En un sistema aislado (sin conexión), un requisito necesario para que sea atacado es forzosamente la existencia de un acceso físico hacia el equipo. Pero en el caso de un sistema en red, cada uno de los equipos que pueda enviar información hacia la víctima podrá ser utilizado por un posible atacante. Algunos servicios (como, por ejemplo, Web y DNS) necesitan permanecer públicamente abiertos, de forma que cualquier equipo conectado a internet podría ser el origen de una actividad maliciosa contra los servidores de estos servicios. Introducción Esto hace que sea muy probable la existencia de ataques regulares contra dichos sistemas. La segunda área de riesgo abarca la expansión del perímetro físico del sistema informático al que el equipo acaba de ser conectado. Cuando la máquina está aislada, cualquier actividad se puede considerar como interna en el equipo (y por lo tanto, de confianza). El procesador trabaja con los datos que encuentra en la memoria, que al mismo tiempo han sido cargados desde un medio de almacenamiento secundario. Estos datos están realmente bien protegidos contra actos de modificación, eliminación, observación maliciosa,... al ser transferidos entre diferentes componentes de confianza. Pero esta premisa no es cierta cuando los datos se transfieren a través de una red. Introducción La información transmitida por el medio de comunicación es retransmitida por dispositivos que están totalmente fuera de control del receptor. La información podría ser leída, almacenada, modificada y, posteriormente, retransmitida al receptor legítimo. En grandes redes, y en especial internet, no es trivial la autenticación del origen que se presenta como el de emisor de un mensaje. Por último, la tercera área de riesgo se debe al aumento en el número de servicios de autenticación (generalmente, un servicio de login-password) que un sistema conectado a una red deberá ofrecer, respecto a un sistema aislado. Introducción Estos servicios no dejan de ser simples aplicaciones (con posibles deficiencias de programación o de diseño) que protegen el acceso a los recursos de los equipos del sistema. Una vulnerabilidad en algunos de estos servicios podría comportar el compromiso del sistema al completo. La prevención de ataques supondrá la suma de todos aquellos mecanismos de seguridad que proporcionen un primer nivel de defensa y tratarán de evitar el éxito de los ataques dirigidos contra la red que está bajo su protección. Sistemas cortafuegos Los sistemas cortafuegos (firewalls) son un mecanismo de control de acceso sobre la capa de red. La idea básica es separar nuestra red (donde los equipos que intervienen son de confianza) de los equipos del exterior (potencialmente hostiles). Un sistema cortafuegos actúa como una barrera central, para reforzar el control de acceso a los servicios que se ejecutan tanto en el interior como en el exterior de la red. El cortafuegos intentará prevenir los ataques del exterior contra las máquinas internas de nuestra red denegando intentos de conexión desde partes no autorizadas. Un cortafuegos puede ser cualquier dispositivo utilizado como mecanismo de control de acceso a nivel de red para proteger a una red en concreto o a un conjunto de redes. Sistemas cortafuegos En la mayoría de los casos, los sistemas cortafuegos se utilizan para prevenir accesos ilícitos en el interior de la red. Un cortafuegos es aquel sistema de red expresamente encargado de separar redes informáticas, efectuando un control del tráfico existente entre ellas. Este control consiste, en última instancia, en permitir o denegar el paso de la comunicación de una red a otra mediante el control de los protocolos TCP/IP. A la hora de instalar y configurar un sistema cortafuegos en nuestra red, debemos tener presente lo siguiente: 1) Todo el tráfico que sale del interior hacia el exterior de la red que se quiere proteger, y viceversa, debe pasar por el cortafuegos. Esto se puede conseguir bloqueando físicamente todo el acceso al interior de la red a través del sistema. Sistemas cortafuegos 2) Solo el tráfico autorizado, definido en las políticas de seguridad locales del sistema, podrá traspasar el bloqueo. 3) El propio cortafuegos debe estar protegido contra posibles intrusiones. Esto implica el uso de un sistema operativo de confianza con suficientes garantías de seguridad. Construcción de sistemas cortafuegos En el sentido más general, un sistema cortafuegos consta de software y hardware. El software puede ser propietario, Shareware o freeware. Por otro lado, el hardware podrá ser cualquiera que pueda soportar este software. Actualmente, tres de las tecnologías más utilizadas a la hora de construir sistemas cortafuegos son las siguientes: ❖Encaminadores con filtrado de paquetes. ❖Pasarelas a nivel de aplicación. ❖Pasarelas a nivel de circuito. Encaminadores con filtrado de paquetes Se trata de un dispositivo que encamina el tráfico TCP/IP (router TCP/IP) sobre la base de una serie de reglas de filtrado que deciden qué paquetes se encaminan a través suyo y cuales se descartan. Encaminadores con filtrado de paquetes Las reglas de filtrado se encargan de determinar si a un paquete le está permitido pasar de la parte interna de la red a la parte externa, y viceversa, verificando el tráfico de paquetes legítimo entre ambas partes. Los encaminadores con filtrado de paquetes, al trabajar a nivel de red, pueden aceptar o denegar paquetes fijándose en las cabeceras del protocolo (UP, UDP, TCP,...), como pueden ser: ❖Direcciones de origen y de destino. ❖Tipos de protocolo e indicadores (flags) especiales. ❖Puertos de origen y de destino o tipos de mensaje (según el protocolo). ❖Contenido de los paquetes. ❖Tamaño del paquete. Encaminadores con filtrado de paquetes Estas reglas estarán organizadas en conjuntos de listas con una determinada política por defecto (denegarlo todo, aceptarlo todo,...). Cada paquete que llegue al dispositivo será comparado con las reglas, comenzando por el principio de la lista hasta que se encuentre la primera coincidencia. Si existe alguna coincidencia, la acción indicada en la regla se activará (denegar, aceptar, redirigir,...). Encaminadores con filtrado de paquetes Por contra, si no es posible ninguna coincidencia, será consultada la política por defecto para saber qué acción hay que tomar (dejar pasar el paquete, descartarlo, redireccionarlo, etc). Si se trata, por ejemplo, de una política de denegación por defecto, en el caso de no existir ninguna coincidencia con el paquete, éste será descartado. Una política de denegación por defecto suele ser más costosa de mantener, ya que será necesario que el administrador indique explícitamente todos los servicios que tienen que permanecer abiertos (los demás, por defecto, serán denegados en su totalidad). En cambio, una política de aceptación por defecto es más sencilla de administrar, pero incrementa el riesgo de permitir ataques contra nuestra red, ya que requiere que el administrador indique explícitamente qué paquetes es necesario descartar (los demás, por defecto, serán aceptados en su totalidad). Encaminadores con filtrado de paquetes En la figura siguiente se presenta una posible red en la que se ha implantado la siguiente política de seguridad mediante la configuración de un conjunto de reglas de filtrado de paquetes aplicadas en el mismo encaminador: Encaminadores con filtrado de paquetes Todos los sistemas de la red interna 10.0.0.0 pueden acceder a cualquier servicio TCP de internet. El tráfico ICMP sólo está permitido de salida, no de entrada (para evitar la extracción de información mediante este protocolo). Los sistemas externos no se pueden conectar a ningún sistema interno, excepto al servidor de HTTP (10.0.0.1). Encaminadores con filtrado de paquetes Las reglas de filtrado configuradas en el encaminador corresponden a la siguiente tabla: Puerto Puerto Regla Acción Origen de Destino de indicador Descripción origen destino 1 Permite 10.0.0.0 * * * ICMP Permite tráfico ICMP de salida 2 Permite 10.0.0.0 * * * TCP Permite conexiones TCP de salida 3 Permite * * 10.0.0.1 80 TCP Permite conexiones HTTP de entrada Rechaza cualquier otra conexión a la red 4 Rechaza * * 10.0.0.0 * * interna Encaminadores con filtrado de paquetes Como segundo ejemplo, podemos pensar en la misma red, pero con la siguiente política de seguridad: Todos los sistemas de la red interna 10.0.0.0 pueden acceder a cualquier servicio TCP de la red internet, exceptuando HTTP. Se deben de autorizar accesos al servidor de DNS (10.0.0.3). Los sistemas externos no se pueden conectar a ningún sistema interno, excepto al servidor de HTTP (10.0.0.1) y de SMTP (10.0.0.2). Encaminadores con filtrado de paquetes Las reglas de filtrado de este segundo ejemplo podrían corresponder a las expresadas en la siguiente tabla: Puerto Puerto Regla Acción Origen de Destino de indicador Descripción origen destino 1 Permite 10.0.0.0 * * 80 TCP Rechaza cualquier conexión a servidores HTTP 2 Permite 10.0.0.0 * * * TCP Permite conexiones TCP de salida 3 Permite * * 10.0.0.1 80 TCP Permite conexiones HTTP de entrada 4 Permite * * 10.0.0.2 25 TCP Permite conexiones SMTP entrantes 5 Permite * * 10.0.0.3 53 UDP Permite conexiones DNS entrantes 6 Rechaza * * 10.0.0.0 * * Rechaza cualquier otra conexión a la red interna Ventajas y desventajas de los encaminadores con filtrado de paquetes La construcción de un sistema cortafuegos mediante un encaminador con filtrado de paquetes es realmente económica, ya que generalmente suelen ser construidos con hardware ya disponible. Acemas, ofrece un alto rendimiento para redes con una carga de tráfico elevada. Adicionalmente, esta tecnología permite la implantación de la mayor parte de las políticas de seguridad necesarias. Las políticas de seguridad son el resultado de documentar las expectativas de seguridad. intentando plasmar en el mundo real los conceptos abstractos de seguridad. Se pueden definir de forma procesal (plasmando de forma práctica las ideas o filosofías de la empresa en cuanto a seguridad) o de manera formal (utilizando un modelo matemático que intente abarcar todos los posibles estados y operaciones). Ventajas y desventajas de los encaminadores con filtrado de paquetes Aun con estas ventajas, los encaminadores de red con filtrado de paquetes pueden presentar algunas deficiencias como, por ejemplo: Muchos de los encaminadores utilizados pueden ser vulnerables a ataques existentes (aunque la mayoría de los distribuidores tendrán los correspondientes parches para solucionarlo). Aparte, no siempre activan sus capacidades de registro (logging). Esto provoca que para el administrador sea difícil conocer si su encaminador está siendo atacado. Su capacidad de actuación puede llegar a deteriorarse a causa de la utilización de un filtro excesivamente estricto, dificultando también el proceso de gestión del dispositivo si este número de reglas llegara a ser muy elevado. Las reglas de filtrado pueden ser muy complejas, y en ocasiones sucede que posibles distracciones en su configuración sean aprovechadas por un atacante para realizar una violación de la política de seguridad. Pasarelas a nivel de aplicación Una pasarela a nivel de aplicación, conocida también como servidor proxy, no encamina paquetes a nivel de red, sino que actúa como retransmisor a nivel de aplicación. Los usuarios de la red contactarán con el servidor proxy, que a su vez estará ofreciendo un servicio proxy asociado a una o más aplicaciones determinadas. Pasarelas a nivel de aplicación El servicio proxy se encargará de realizar las conexiones solicitadas con el exterior y, cuando reciba una respuesta, se encargará de retransmitirla al equipo que había iniciado la conexión. Así, el servicio proxy ejecutado en la pasarela aplicará las normas para decidir si se acepta o se rechaza una petición de conexión. Una pasarela separa completamente el interior del exterior de la red en la capa de enlace, ofreciendo únicamente un conjunto de servicios a nivel de aplicación. Esto permite la autenticación de los usuarios que realizan peticiones de conexión y el análisis de conexiones a nivel de aplicación. Estas dos características provocan que las pasarelas ofrezcan una mayor seguridad respecto a los filtros de paquetes, presentando un rango de posibilidades muy elevado. Por el contrario, la penalización introducida por estos dispositivos es mucho mayor. En el caso de una gran carga de tráfico en la red, el rendimiento puede llegar a reducirse drásticamente. Pasarelas a nivel de aplicación En la práctica, las pasarelas y los dispositivos de red con filtrado de paquetes son complementarios. Así, estos dos sistemas se pueden combinar, proporcionando más seguridad y flexibilidad que si se utilizara solamente uno, como se muestra en la siguiente figura Pasarelas a nivel de aplicación Cuando la pasarela verifica al cliente, abre una conexión al servidor proxy, siendo éste el responsable de transmitir los datos que reciba el cliente del servidor proxy. Pasarelas a nivel de aplicación Este funcionamiento particular provoca que las pasarelas a nivel de aplicación presenten un rendimiento inferior que los filtros de paquetes (debido al elevado número de conexiones adicionales que hay que realizar). Para evitarlo, los servidores intermediarios se pueden configurar para realizar una copia de los datos recibidos de un sistema y entregarlos de nuevo más tarde si otro equipo de la red los solicita (cache proxy). El uso de las pasarelas proporciona varios beneficios. De entrada, una pasarela podría permitir el acceso únicamente a aquellos servicios para los que hay un servidor proxy habilitado. Así, si una pasarela contiene servicios intermediarios tan solo para los servicios HTTP y DNS, entonces sólo HTTP y DNS estarán permitidos en la red interna. El resto de servicios serian completamente rechazados. Pasarelas a nivel de aplicación Otro beneficio del uso de pasarelas es que el protocolo también se puede filtrar, prohibiendo así el uso de distintos subservicios dentro de un mismo servicio permitido. Por ejemplo, mediante una pasarela que filtrara conexiones FTP, sería posible prohibir únicamente el uso del comando PUT de FTP, dejando habilitado el resto de comandos. Esta característica no sería posible haciendo uso únicamente de filtros de paquetes. Adicionalmente, los servidores intermediarios también pueden implantar el filtro de conexiones por dirección IP de la misma forma que los filtros de paquetes, ya que la dirección IP está disponible en el ámbito de aplicación en el cual se realizará el filtrado. Pasarelas a nivel de aplicación Aun obteniendo más control global sobre los servicios vigilados, las pasarelas también presentan algunas problemáticas. Uno de los primeros inconvenientes que hay que destacar es la necesidad de tener que configurar un servidor proxy para cada servicio de la red que se debe vigilar (HTTPS, HTTP, DNS, SSH, FTP, FTPS,...). Además, en el caso de protocolos cliente-servidor como, por ejemplo, FTP, pueden llegar a ser necesarios algunos pasos adicionales para conectar el punto final de la comunicación, canal de comandos y canal de datos. Pasarelas a nivel de circuito Las pasarelas a nivel de circuito son un híbrido entre los esquemas de filtrado de paquetes y el uso de servidores intermediarios. Una pasarela a nivel de circuito es un dispositivo similar al de pasarela a nivel de aplicación, donde el usuario establece primero una conexión con el sistema cortafuegos y éste establece la conexión con el equipo de destino. Pero, en contraste con una pasarela tradicional, una pasarela a nivel de circuito opera de manera similar a un filtro de paquetes a nivel de red una vez que la conexión ha sido inicializada. Así, una vez establecida la conexión, el dispositivo se encargará de retransmitir todo el tráfico entre ambas partes sin inspeccionar el contenido de los paquetes a nivel de aplicación Pasarelas a nivel de circuito Pasarelas a nivel de circuito La función de seguridad que ofrece este tipo de dispositivo consiste en determinar qué conexiones están permitidas, antes de bloquear conexiones hacia el exterior. Esta forma de trabajar es mucho más rápida que un sistema tradicional, ya que las conexiones pueden ser restringidas a nivel de usuario sin necesidad de analizar todo el contenido de los paquetes transmitidos. Zonas desmilitarizadas En ciertas instalaciones, no es suficiente un único dispositivo cortafuegos. Aquellas redes formadas por múltiples servidores, accesibles públicamente desde el exterior, juntamente con estaciones de trabajo que deberían estar completamente aisladas de conexiones con el exterior, se beneficiarán de la separación entre dos grupos de sistemas cortafuegos. Supongamos, por ejemplo, la siguiente red Zonas desmilitarizadas En la figura anterior vemos un único sistema cortafuegos como punto de protección, implantado mediante la utilización de un equipo bastión con una arquitectura dual-homed. Un equipo bastión (en inglés bastión host) es un sistema informático que ha sido fuertemente protegido para soportar los supuestos ataques desde un lugar hostil (en este caso, internet) y que actúa como punto de contacto entre el interior y el exterior de una red. Una arquitectura de cortafuegos dual-homed se construye mediante el uso de un equipo dual- homed con la capacidad de encaminamiento desactivada. De esta forma, los paquetes IP de un extremo de la red (la parte hostil) no serán encaminados hacia la parte protegida, y viceversa, a no ser que se indique lo contrario. Zonas desmilitarizadas Mediante esta arquitectura, los equipos de la red interna se pueden comunicar con el equipo dual-homed, los equipos de la red externa pueden comunicarse con el equipo dual-homed, pero los equipos de la red interna y externa no se pueden poner en comunicación directamente, sino que un servidor intermediario se encarga de realizar las conexiones en nombre de estas dos partes. Esto hace que este cortafuegos con arquitectura dual-homed. sea un punto crítico en la seguridad de la red. Si un atacante consigue comprometer cualquiera de los servidores que se encuentre detrás de este punto único, las otras máquinas podrán ser atacadas sin ninguna restricción desde el equipo que acaba de ser comprometido. Zonas desmilitarizadas Para prevenir estas situaciones, es posible la utilización de dos dispositivos cortafuegos, introduciendo el concepto de zona desmilitarizada o DMZ (DeMilitarized Zone). En la instalación que se muestra en la figura anterior, un cortafuegos separa el exterior de la red del segmento desmilitarizado (la DMZ) y los servidores que tienen que ser públicos desde el exterior de la red. El segundo cortafuegos, que hace de punto de contacto entre la red interna y la zona desmilitarizada, se configurará para que rechace todos los intentos de conexión que vayan llegando desde el exterior. Zonas desmilitarizadas Así, si un atacante consigue introducirse en uno de los servidores de la zona desmilitarizada, será incapaz de atacar inmediatamente una estación de trabajo. Es decir, aunque un atacante se apodere del segmento de los servidores, el resto de la red continuará estando protegida mediante el segundo de los cortafuegos. Combinación de tecnologías para una DMZ En la figura siguiente podemos ver el uso de un encaminador con filtrado de paquetes, juntamente con la utilización de un servidor intermediario para el establecimiento de una zona desmilitarizada. Combinación de tecnologías para una DMZ Otra forma de solucionar los mismos problemas planteados consiste en la utilización de un sistema que implemente una inspección de estados en el filtro de paquetes. La inspección de estados (Stateful multy layer inspection), combina (al igual que las pasarelas a nivel de circuito) el rendimiento de los filtros de paquetes con la seguridad adicional que presenta la utilización de servidores intermediarios. De esta forma se puede simplificar el esquema planteado anteriormente y mantener a la vez un nivel de rendimiento sin renunciar a las capacidades de monitorización que ofrece la utilización de un punto de protección único. Características adicionales de los sistemas cortafuegos Como hemos visto, la utilización de un sistema cortafuegos supone una barrera de control que mantendrá la red protegida de todos aquellos accesos no autorizados, actuando como un punto central de control y realizando las tareas de administración más simples. No obstante, este control y protección de la red es únicamente una de las posibilidades que pueden ofrecer los sistemas cortafuegos más modernos. Por el hecho de situarse en un punto de choque, los sistemas cortafuegos pueden ofrecer otras funciones interesantes. Algunas de estas características adicionales incluyen: Filtrado de contenidos. Muchas organizaciones desean evitar que sus usuarios utilicen los recursos corporativos para navegar por determinados sitios web no deseados. El filtrado de contenidos ofrecido por algunos sistemas cortafuegos puede bloquear el acceso a estos sitios web, a la vez que protege la red contra cualquier código malicioso insertado en sus páginas, como por ejemplo ActiveX y código Java hostil. Características adicionales de los sistemas cortafuegos Red privada virtual. Este tipo de funcionalidad ofrecida por la mayoría de los sistemas cortafuegos actuales, permite la construcción de un túnel seguro entre dos puntos de la red, normalmente para proteger las comunicaciones de una red corporativa al atravesar una red hostil (como es el caso de internet). Traducción de direcciones de red. Aunque no se trata estrictamente de una funcionalidad relacionada con la seguridad, la mayoría de los sistemas cortafuegos ofrecen la posibilidad de realizar NAT y poder así asociar direcciones IP reservadas (indicadas en el RFC 1918) a direcciones válidas. Un ejemplo podría ser la traducción de direcciones IP del rango 10.0.0.0/24 de una red privada para que salgan hacia internet como la dirección IP pública 212.46.31.224. Balanceo de la carga. El balanceo de la carga ofrecida por muchos sistemas cortafuegos es la tarea de segmentar el tráfico de una red de forma distribuida. Algunos sistemas cortafuegos ofrecen actualmente funcionalidades que pueden ayudar, por ejemplo, a distribuir tráfico FTP o HTTP de forma totalmente distribuida. Características adicionales de los sistemas cortafuegos Tolerancia a fallos. Algunos sistemas cortafuegos ofrecen actualmente soporte para determinar tipos de fallos. Para ello, se suele utilizar funcionalidades de alta disponibilidad. En estas situaciones, la mayor parte de las estrategias incluyen la utilización de distintos sistemas cortafuegos sincronizados, de manera que uno de los sistemas estará a la espera de que se produzca un fallo en el equipo original para ponerse en funcionamiento y sustituirlo. Detección de ataques e intrusiones. Muchos de los fabricantes de sistemas cortafuegos incorporan a sus productos la capacidad de detectar exploraciones y ataques conocidos. Aunque este tipo de funcionalidad no comporta un problema en sí mismo, deberíamos tener presente que puede llegar a suponer una carga de trabajo adicional y que puede entorpecer la actividad principal del sistema cortafuegos. Características adicionales de los sistemas cortafuegos Autentificación de usuarios. Dado que el sistema cortafuegos es un punto de entrada a la red, puede llevar a cabo una autentificación adicional a la que efectúan los servicios ofrecidos por la misma. Así, la autentificación de usuarios en un sistema cortafuegos tendrá la finalidad de permitir o rechazar la conexión al usuario que solicita una conexión con un servicio interno (normalmente, mediante un mecanismo más fuerte que el implantado por el servicio al que se conecta). Finalmente, cabe comentar que la construcción de servicios adicionales en un sistema cortafuegos incrementa el número de vulnerabilidades sobre éste y, por lo tanto, el riesgo. La práctica de implantar distintos servicios sobre un cortafuegos no es recomendable. Desde el punto de vista de la seguridad es mejor buscar una arquitectura distribuida.