Firewalls y Sistemas de detección/prevención de intrusos en la red German Larrosa – CI 4.561.973-5 Gastón Nicassio – CI 3.179.525-0 Contenido Definición.. 4 Que es un firewall de red ?.. 4 Por qué nos sería de utilidad ?.. 4 De que nos protege un firewall ?.. 4 Qué pasa con los virus ?.. 4 Cuales son los distintos tipos de firewalls ?.. 5 Listas de control de acceso.. 5 Proxy firewalls:. 5 Firewalls de inspección de estado:. 5 Firewalls de manejo unificado de amenazas (UTM) por su sigla en ingles:. 5 Qué es y cómo funciona un servidor proxy ?.. 5 Recursos importantes para el firewall 5 Cómo bloqueamos todo lo “malo” ?.. 6 Diseño e implementación.. 6 Ataques. 6 Que es la denegación de servicio ?.. 6 Funcionamiento de firewalls modernos. 6 Tecnicas comunes de filtrado de información..8 Filtrado de paquetes. 8 Application gateway. 8 Circuit level gateway. 8 Servidores proxy. 8 Firewalls sobre Linux. 8 Sistema de deteccion de intrusos ( IDS - Intrutiondetectionsystem). 9 Sistema de prevencion de intrusos (IPS - Intrusionpreventionsystem). 9 Testing de firewalls. 9 StoneSoftEvader. 10 Escenario de prueba. 10 Scapy. 10 Conclusion.. 10 Firewalls tradicionales vs Firewalls NGFW... 10 Introduccion.. 11 Firewalls tradicionales - Intregracion de herramientas. 11 Firewalls NGFW - Integracion de herramientas. 11 Firewalls tradicionales - Manejo de SSL.. 12 Firewalls NGFW - Manejo de SSL..12 Firewalls tradicionales - CaracteristicasApplication-aware. 12 Firewalls NGFW - Caracteristricas Application-aware. 12 Firewalls Tradicionales - Caracteristricas Application-aware. 12 Firewalls NGFW - Caracteristicas Application-aware. 13 Definición Un firewall es un sistema de seguridad que tiene como objetivo prevenir el acceso no autorizado a redes privadas; los firewalls pueden ser implementados como software o hardware. Los firewalls han pasado de ser algo super complejo, manejado por los implementadores de sistemas de seguridad, a ser utilizados por cualquier usuario con algunos conocimientos de informática, a nivel hogareño . Que es un firewall de red ? Básicamente lo podríamos ver como dos componentes, uno que bloquea el tráfico entre dos redes y otro que lo habilita controlando el acceso. Dicho acceso se permite bajo una determinada política, y cuando no tenemos bien claras las reglas que queremos establecer, probablemente fracasemos en su utilización. Por qué nos sería de utilidad ? Internet refleja algunos males de nuestra sociedad, por ejemplo: robo, vandalismo, contaminación, etc. El equivalente electrónico de lo que hacemos en términos de seguridad para mantener a esta gente alejada, sería el uso de firewalls. De que nos protege un firewall ? En gral los usamos para protegernos de conexiones no autenticadas del mundo exterior, para prevenir ataques a nuestro sistema. Algunas de sus funciones más importantes son proveer un log del tráfico, auditar y armar un resumen con los intentos de ataques, cantidad de tráfico, etc. Claramente no nos protege de cualquier ataque que no pase a través de él. Se pone el ejemplo de tener una puerta blindada cuando la casa es de madera; con esto se indica que la empresa en su integridad debe seguir normas de seguridad. Alcanza con un pendrive para que pueda filtrarse información sensible. Sistemas con información secreta o altamente sensible deberían estar aislados de los componentes en la red corporativa. Tampoco nos protege contra tunneling con los protocolos de otras aplicaciones. Así que tener un firewall no es excusa para no implementar seguridad a nivel de aplicación. Qué pasa con los virus ? Hay tantas formas de codificar archivos binarios para transferirlos por la red y tantas diferentes arquitecturas que se hace casi imposible prevenir estos ataques. Para esto las empresas deben generar conciencia en los usuarios y utilizar antivirus en sus máquinas. Surge la pregunta si IPSEC (IP SECurity) va a reemplazar el uso de los firewalls, pero en resumen, fueron diseñados para cosas distintas. Cuales son los distintos tipos de firewalls ? Conceptualmente se dividen en 2 grupos: capa de aplicación y capa de red. Sus diferencias radican en los mecanismos que se usan para dejar pasar el tráfico. ● Los de capa de red : Generalmente los inputs importantes son las direcciones de origen y destino y los puestos utilizados en los paquetes IP. Un router común sería un ejemplo de firewall simple de capa de red. Obviamente los más nuevos se han vuelto muy sofisticados. ● Los de capa de aplicación: Son generalmente clientes corriendo servidores proxy, que permiten el tráfico entre redes realizando un logueo y auditoría del mismo. Listas de control de acceso: Fueron las primeras en existir y son muy distintas a cualquier firewall utilizados hoy. Pero su idea principal se mantiene en los diseños actuales, filtrar paquetes. Se permite o rechaza el pasaje de paquetes revisando el header. Proxy firewalls: Estos son los más seguros. Funcionan a nivel de capa de aplicación, filtrando paquete a paquete. Con el costo de enlentecer un poco al sistema. Firewalls de inspección de estado: Son como una versión mejorada de las listas de control de acceso. También llamados Firewall de filtros dinámicos de paquetes. En este caso no solo chequean los haeders sino que monitorean el estado de las conecciones, pudiendo cerrar los puertos hasta saber que se abrio una coneccion y nuevos paquetes llegaran. Firewalls de manejo unificado de amenazas (UTM) por su sigla en ingles: En el firewall viene incluido en un antivirus, supuestamente son las mejores soluciones en seguridad , aportando dataleakprevention, balanceo de carga, anti-spam, vpn, etc. El producto resultado es una sola consola, minimizando el trabajo en mantenimiento, etc. Qué es y cómo funciona un servidor proxy ? Es una aplicación que hace de intermediario en el tráfico entre una red protegida e internet. Deben “entender” los protocolos de aplicación utilizados, pudiendo entonces implementar seguridad basada en dicho protocolo, por ejemplo para FTP podriamos configurar el bloqueo de tráfico saliente , pero permitr el entrante. Si queremos soportar un nuevo protocolo, debemos desarrollar un proxy para ese protocolo. Recursos importantes para el firewall Es importante identificar los recursos críticos de la arquitectura de nuestro firewall, así al momento de hacer mejoras de performance por ejemplo, sabemos exactamente que debemos modificar. Recordar que es en muchos casos nuestro cuello de botella, por lo que gastar grandes cantidades de dinero en mejores y más rápidas CPU no necesariamente representan una mejora. En sistemas con mucha actividad la memoria es de vital importancia, necesitamos suficiente ram para soportar cada instancia de programa, ya que si no tenemos suficiente espacio el sistema realizará swapping deteriorando la performance. Un sistema que realiza mucho swapping es candidato a ser atacado, generando denegación de servicio. Cómo bloqueamos todo lo “malo” ? Para los firewalls el énfasis está en la seguridad y no en la conectividad, por lo que deberíamos considerar bloquear por defecto todo e ir viendo caso a caso que servicios realmente necesitamos. De este modo solo vamos a necesitar lidiar con un conjunto acotado de servicios. Antes de habilitar un servicio debemos hacernos un par de preguntas: Está usando un protocolo conocido ? Que tan conocido es el servicio y producto ? Como cambia la arquitectura de nuestro firewall al permitir este nuevo servicio? Diseño e implementación Los diseños son numerosos y generalmente se basan más en decisiones políticas que de ingenierìa. Dado que refleja los mecanismos de seguridad de la empresa. Los niveles de monitoreo, control y redundancia que queremos son medidas claves para el hacer el diseño, reflejan el nivel de riesgo que aceptamos (que tan paranoicos somos). Luego hacemos una checklist de lo que vamos a bloquear, permitir y monitorear. De este modo y con una buena gestión de los riesgos asociados, comenzamos a diseñar nuestro firewall desde los objetivos más generales. En cuanto al costo que implica adquirir o desarrollar el firewall, el rango puede ir de cero con alguna versión libre a 100 mil dólares. En todos los casos hay que considerar el costo de mantenimiento. Ataques Una forma es “sourceroutedtraffic” donde el atacante marca como source cualquier sistema interno al firewall. Redirecciones ICMP : Manipulando ICMP redirectpackages, podríamos modificar la tabla de ruteo, modificando el flujo deseado. Bloquearlo no sería la mejor idea , pero por lo menos deberíamos asegurarnos que los routers y host no respondan a broadcast ping packets. Que es la denegación de servicio ? Es cuando por algún motivo nuestro servidor se cae (deja de funcionar) . Prevenir que esto pase es casi imposible dada la naturaleza de las redes. Cada nodo está conectado a otros y el atacante puede intentar tirar tanto nuestra red como otras intermedias a las que si tenga acceso. Hay muchísimas formas de lograr la denegación de servicio, desde ataques por “fuerza bruta” a otros mucho más complejos. Si necesitamos dar soporte a un sistema critico o de tiempo real, debemos tener un plan B por si el principal es dañado. Funcionamiento de firewalls modernos Muchos creen que un firewall funciona por si solo, como si fuera un guardia en la entrada a nuestra red al que no hay que explicarle nada. Que es un firewall en su forma más simple ? Una barrera que deja pasar ò bloquea el trafico ò lo permite basandose en IP/subred origen y destino y puertos de aplicaciones. Los firewalls que realizan inspeccion de paquetes , a diferencia de los routers comunes que realizan por defecto forwarding basado en ip y desconocen si los paquetes tienen algo en comùn, si vienen en secuencia ò estan repetidos. Los Statefull firewalls por otro lado inspeccionan los paquetes, sobrepasando las tareas de capa 3 y procesando paquetes (capa 4) inspeccionando sesiones TCP/IP. Esto permite al firewall tener control sobre la continuidad al procesar paquetes. Los firewalls actuales trabajan hasta capa 7, permitiendose monitorear datos de las aplicaciones. Las redes sociales son un perfecto ejemplo de esto, permitiendonos acceder a determinados sitios pero gestionando los accesos a cada parte. Podriamos permitir por ejemplo el acceso a facebook, pero bloquear el contenido flash o java para evitar que los empleados pierdan tiempo con los juegos. Los zonebased firewalls permitieron lidiar con algunos problemas como IP spoofing. Estos utilizan buffers separando en secciones, como funcionan las dobles puertas de seguridad en una prisión.Si detecta una ip ingresando de una zona desconocida, rechaza el paquete. Técnicas comunes de filtrado de información Filtrado de paquetes Se analiza todos los paquetes que entran o salen de la red y el firewall acepta o declina a estos paquetes en base a ciertas reglas definidas. De todas maneras esta tecnica no es la mas utilizada dado que puede llegar a ser dificil de configurar y susceptible a tecnicas de hackeo como elIP spoofing (técnica encargada de enviar paquetes a un red tal que la ip definida en los headers de estos paquetes sea una ip conocida y de confianza para la red destino) Applicationgateway Tecnica de filtrado de informacion en la cual existe un proxy que se encarga de negociar las peticiones realizadas por aplicaciones clientes y luego (en caso de que la peticion sea valida) esta es re-dirigida hacia la aplicacion destino. De esta manera se crean dos conexiones: la primera es entre el cliente y el proxy y la segunda entre el proxy y la aplicacion destino. Este metodo se considera muy seguro, el lado negativo es que puede llevar a la degradacion de la performance ya que en general los gateways requieren de gran cantidad de recursos para su buen funcionamiento. Circuitlevelgateway Aplica seguridad cuando una conexión TCP o UDP se establece, una vez establecida la conexion y el gateway determina que la session establecida es legitima entonces los paquetes que fluyen sobre la misma lo hacen libremente sin ningun tipo de chequeo por parte del firewall. El gateway mantiene una tabla de desessiones legitimas abiertas haciendo que la informacion pueda fluir libremente si la informacion asociada a la session se corresponde con una de las entradas de la tabla del gateway; una vez que la session se temrina el gatewayelmina la entrada correspondiente de su tabla y elimina el circuito usado por la sesion. Ademas de las ventajas ofrecidas por esta tecnica es que su implantacion es relativamente bajo en costos. Servidores proxy Servidores proxy firewalls permiten a los usuarios ejecutar determinados servicios (como ser http, ftp, telnet, entre otros) obligando a los usuarios a autenticarse, fitrado de informacion, etc. Por ejemplo: en caso de querer solamente conexion a internet para los usuarios de una red interna entonces el proxy server debera tener habilitado solamente el servicio http; de esta manera los usuario de la red interna a la hora de acceder a sitios del mundo exterior lo haran a traves del proxy server. Dicho de otra manera la peticion realizada por el usuario interno tendra como ip origen la ip del servidor proxy escondiendo/protegiendo a los usuarios internos de la red. Hoy en día típicamente los firewalls implementan dos o mas de estas tecnicas. Firewalls sobre Linux Como venimos hablando en capitulos anteriores los firewalls son sistemas que filtran el trafico basado en diferentes reglas como ser direcciones ip, protocolos y puertos haciendo posible habilitar/desabilitar servicios que basdos por ejemplo en los protocolos HTTP, FTP, SMTP, etc. Dentro de la familia de sistemas Linux podemos encontrar una variedad de sistemas relacionados al area de seguridad. Sistema de deteccion de intrusos ( IDS Intrutiondetectionsystem) y Sistema de prevencion de intrusos (IPS -Intrusionpreventionsystem) Los IDS son sistemas encargados de encontrar patrones en las conexiones de red reconociendo escaneo de puertos, firmas especificas de ciertas amenazas. Este sistema se basa en un motor de inspección en conjunto con el estandar NAT a fin de poder reconocer patrones en el trafico de las redes. Por otro lado los sistemas IPS tambien conocidos como sistemas de deteccion de intrusos; basicamente este sistema esta encargado de encontrar actividad maliciosa, loguearinformacion sobre este tipo de actividad, intento de bloqueo y reporte de la misma. Este sistema es considerado como la extension del sistema IDS, ambos se encargan de monitorear el trafico de red pero los sistemas IPS ademas tienen como funcion prevenir/bloquear intrusos detectados. Clasificación de sistemas IPSs NIPS (Sistema de prevención de intrusos basado en la red) Monitorea toda la red en busca de trafico sospechoso analizando trafico basado en los protocolos HTTP, TCP, RDP, etc. WIPS (Sistema de prevencion de intrusos inalambrica) Monitorea el trafico de la red analizando protocolos inalambrico de redes tales como ser DHCP (Dinamyc host configurationprotocol) NBA (Analisis del comportamiento de la red) Luego de establecer un benchmark para lo que es un trafico normal de cierta red este tipo de sistemas se encarga pasivamente de monitorear el trafico de red en busca de actividad inusual o nueva que pueda indicar la presencia de una amenaza. Ademas se encarga de predecir el uso protocolos de red y ancho de banda de la red. Sistema de prevencion de intrusos basado en un host Es basicamente un software instalado en cierto host que se encarga de monitorear actividad sospechosa analizando los eventos ocurridos en ese host. Clasificación de sistemas IDSs IDSs basados en la red Son estratégicamente puestas en los puntos de entrada y salida para detectar ataques a los hosts en esa red. A su vez este tipo de IDSs se dividen en 2 grupos: anomalías estadísticas e identificación de patrones. El primero intenta ver que usuarios están teniendo comportamiento inusual, disparando en ese momento una alarma de intruso. Una de las virtudes de este mecanismo es que pueden detectar comportamientos que no tengan precedente, haciendo que se puedan detectar nuevos tipos de ataque. La contra es que genera un gran número de falsas alarmas. IDs basados en patrones mantienen una base de datos de los tipos de ataque, y mientras analizan los paquetes que pasan por la red si encuentran algo que coincide con alguno de estos patrones, dispara la alarma. Este mecanismo genera menos falsos positivos, pero a diferencia del método anterior no pueden detectar nuevos tipos de ataques. Para minimizar este riesgo las bases de datos son actualizadas con frecuencia. Ejemplos de algunos de los IDS mas famosos son: Real Secure, SecureNet y Snort. Otra NIDS es la basada en reglas, mas avanzada y con un funcionamiento al estilo de la mente humana. Hay una base de conocimiento programada cono reglas, que decide la salida junto con un motor de interfaz. Lo que asume el sistema es el resultado del motor, aca no solo existe como resultado de evaluar ciertas reglas el SI ó NO, tambièn hay un tal vez. Esta interfaz agrega inteligencia permitiendo sospechar sobre un posible ataque. IDSs basados en los hosts Como el nombre lo indica, son instaladas en un host en particular y monitorean el tráfico que entra y sale de él. Cualquier ataque a otra parte de la red no será detectado. Algunas de las ventajas son : Permiten verificar si el ataque tuvo éxito, mientras que las que operan sobre la red solo disparan alarmas. Monitorean la actividad del usuario, tienen la habilidad de monitorear trafico encriptado y son económicas si la red tiene pocos hosts. Como desventajas podemos nombrar que consumen recursos del host en el que residen , disminuyendo el poder de procesamiento. Acciones realizadas por un sistema IPS/IDS Los ataques mas comunes realizados para el cual los sistemas IPS/IDS previenen son: - Violaciones de políticas: reglas, protocolos y disenio de paquetes que son violados. Un ejemplo podría ser un paquete IP que tiene su largo incorrecto. -Exploits: Intento de explotar una vulnerabilidad del sistema; un ejemplo de esto podría ser un ataque en base a desborde de buffers (overflow buffer attacks) -Reconocimiento: Metodo de detección utilizado para ganar información sobre la red o el sistema en base a scaneo de puertos a fin de saber cuales están utilizados y cuales no. -DOS/DDOS:Metodo que se encarga de enviar una cantidad inmensa de información al sistema victima a fin de tirarlo abajo, un ejemplo seria el ataque de inundación de paquetes SYN (SYN floodattacks) Técnicas de defensa de sistemas IPS Sistemas IPS utilizan técnicas a fin de inspeccionar el cabezal y porciones de información del tráfico de la red a fin de encontrar actividad sospechosa que pueda llegar a indicar actividad maliciosa. Las soluciones IPS/IDS tiene la habilidad de detectar amenazas en base a bases de datos de firmas conocidas, en base a técnicas de detección de anomalías en búsqueda de comportamiento inesperado respecto a protocolos además de integrarse con anti virus a fin de detectar malware. La detección de anomalías apuntan a un tráfico que no es necesariamente malo pero es usado con intenciones negativas como por ejemplo el mencionado TCP SynFloodattack. Sistemas IPS tienen la habilidad de tomar acciones como ser bloqueos de conexiones, proveer alertas, loguear eventos sospechosos, poner en cuarentena ciertos hosts, entre otras. Reglas especifican que debería ser detectado y la respuesta esperada; estas reglas en general están basadas en firmas y anomalías a fin de aprender sobre el tráfico típico de la red y poder configurar umbrales. Como fue comentado anteriormente, los sistemas IPS proveen mecanismos de logueos y alertas a fin de poder entender y rastrear los ataques para luego poder sumar herramientas encargadas de bloquear esos ataques detectados. Sistemas IPS brindan la posibilidad de proveer información detallada sobre el ataque y las posibles maneras de contrarrestarlo; a fin de buscar ataques estos se basan en características como el nombre del atacante, las aplicaciones víctima, entre otras. Otro de los puntos a tener en cuenta a la hora de utilizar sistemas IDS/IPS es la configuración de los mismos; si un administrador configura estos sistemas activando todas sus características esta acción seguramente detecte y elimine las amenazas pero tendrá como efecto negativo el uso intensivo de los recursos como ser cpu, memoria, ancho de banda entre otras. Es por eso que idealmente este tipo de sistemas deberían ser configurados dependiendo fuertemente del contexto, dicho de otra manera se debería activar solamente los características necesarias en base a la realidad puntual. Un escenario de ejemplo podría ser la protección de un servidor web, en este caso solamente serian activadas solamente las funciones necesarias como ser protección sobre protocolos HTTP, RDP, entre otros aplicables a servidores web. IDS vs IPS Los sistemas IDS solamente detectan intrusiones, loguean el ataque y envian una alertas al administrador; además no enlentecen la red como los IPS ya que no son inline. Muchas companias prefieren sistemas IDS sobre IPS, aunque intuitivamente no tiene mucho sentido. Se podría asumir que la mayoría de las companias prefieren que un sistema se encargue de manera automática a bloquear ataques y tomar acciones en vez permitir el acceso de la amezana y simplemente loguear una alerta hacia el administrador. Aunque parezca anti-intuitivo hay varias razones por las cuales muchas veces se prefiere un IDS sobre un IPS: - La primera es el posible falso positivo que producen este tipo de sistemas si no están bien configurados. Un sistema IPS produciendo falsos positivos puede causar que trafico legitimo de red sea bloqueado, de lo contrario un sistema IDS solamente se encargara de enviar alertas y loguear el falso ataque. - La segunda es que hay algunos administradores que no quieren un sistema que tome decisiones a su nombre, prefieren simplemente recibir una alerta a fin de que ellos puedan investigar sobre el posible ataque y tomar decisiones por ellos mismos. Por otro lado, algunas compañías ante la duda terminan optando por sistemas IPS ya que la visibilidad tiene sentido solo si tenemos tiempo para analizar el resultado. Esto no implica que podemos olvidarnos y creer que los sistemas IPSs funcionan por sis solos; para hacer el mejor uso de esta tecnología debemos customizarla en base a las necesidades específicas de nuestra red y aplicaciones e invertir tiempo analizando lo que nos dice. Los sistemas IDS pueden ser usados inicialmente a fin de analizar como el sistema se comporta sin la necesidad de bloquear absolutamente nada. Una vez que el sistema esta correctamente tuenado la característica IPS se puede encender a fin de proveer una protección completa. IPS/IDS Deployment Las IPS pueden ser deployadas en modo span/tap, inline o IPS on a stick En el modo span/tap el sensor recibe una copia de los paquetes y genera alertas si hay ataque pero no hace ningún bloqueo. Este método es útil cuando estamos en la etapa de testeo y customización de las políticas del sistema. Inline ya permite tomar acción si detecta un ataque , como puede ser bloquear esa conección. IPS on a stick puede ser utilizado sobre infraestructuras Cisco Ethernet channel, cuando los paquetes pueden ser enviados a múltiples sensores IPS usando tecnología Cisco Ethernet Channel. Firewalls de aplicación Este tipo de firewalls surgen como una nueva opcion a los firewalls de capa de red y transporte agregando mas potencia a este tipo de sistemas a la hora de detectar amenazas en la red. Categorizando estos tipos de firewalls podemos encontrar los firewalls de aplicaciones web (WAF - web application firewalls) y firewalls de base de datos (Data base firewalls) WAF (Web application firewalls) Los waf son basicamente filtros en la cual se aplican reglas sobre una conversacion HTTP; estas reglas nos permiten evitar diferentes tipos de ataques como ser: crosssite scripting (código malicioso en el cliente que consulta al servidor web), sqlinjection (introducir en el código sentencias sql en que lleguen a ejecutarse en la BD), denegación de servicio (el servidor queda fuera de servicio, no pudiendo atender las solicitudes) Este tipo de sistemas puede funcionar en diferentes modos: modo de aprendizaje (carga normal, carga maxima, valores permitidos en los campos) y modo bloqueo. Ejemplo de WAF en modo aprendizaje Supongamos que tenemos corriendo un sitio web de compras y cada cierto tiempo el waf detecta peticiones get (el cual incluye un parametro ‘id’ de tipo ‘int’) al sitio a fin de obtener el catalogo de productos disponibles. Dado que el waf fue definido en modo aprendizaje este creará una regla la cual especifica que la url encargada de obtener los productos del catálogo contiene una variable de nombre id de tipo entero. Por tanto, en caso de que en algun momento se realize una peticion con información inconsistente el waf detectara la anomalia y bloqueara esa peticion inconsistente o la redirijira a una pagina previamente configurada (como por ej. Error 404) cuando el sistema se active en modo bloqueo. Peticion al sitio detectada como legitima por el WAF GET http://sitepath.com/show_article.php?id=15 Peticion al sitio detectada como anomaila por el WAF GET http://sitepath.com/show_article.php?id=15' or 1=1 -- Ya que los sistemas WAF bloquean trafico de red cuando detectan comportamiento extranio en la red, se sugiere que los WAFs se activen en modo de aprendizaje por un tiempo considerable (depende del contexto pero en general se habla del orden de meses) a fin de poder “entrenar” al sistema y el dia de maniana evitar el bloqueo de peticiones legitimas (falsos positivos) Ejemplos de WAFs en el mercado No comerciales -ModSecurity-www.modsecurity.org. El WAF más utilizado es el proyecto de código abierto ModSecurity. ModSecurity normalmente se basa en denegar todas las peticiones y solamente dejar pasar las que son consideradas un ataque (modelo de seguridad negativo). Actualmente existen desarrollos basados en este tipo de WAFs como por ejemplo la compania Apache la cual a su sistema le aniadio un modulo que contiene los servicios de ModSecurity. Contiene un grupo de reglas que detectan los ataques web más comunes. El sistema recolectar logs y alertas, analizando el tráfico web y creando perfiles que pueden ser utilizados para implementar un modelo de seguridad positivo. -Microsoft URLScan Se trata de un filtro ISAPI (Los filtros de Interfaz de programación de aplicaciones para servidores de Internet) encargados de leer la configuración de un archivo .ini en el que se definen las restricciones, este tipo de sistemas corren exclusivamente en el servidor web. Comerciales Dentro de las herramientas WAF comerciales podemos mencionar las siguientes: F5 (su módulo ASM para plataformas BIG-IP), rWeb o sProxydeDenyAll, Imperva, IBMDataPower (exclusivamente para servicios Web), Barracuda, Citrix (después de comprar Teros), Breach Security, entro otros. DBF (Data base firewalls) Básicamente un sistema DBF se puede definir como un filtro el cual aplica reglas sobre peticiones sql a fin de poder prevenir ataques SQL. FIrewall de base de datos (Oracle) En el siguiente diagrama se puede observar en ejemplo de arquitectura de un sistema el cual utiliza, entre otros sistemas de seguridad, un DBF de Oracle además de un sistema F5 BIG-IP ASM de tipo WAF. Se puede observar como el DBF es deployado entre el servidor de aplicaciones web y la BD. De esta manera se protege de ataques que fueron originados desde dentro o desde fuera de la red; cada peticion SQL dirigida hacia la BD es analizada por el DBF de Oracle y filtrado en caso de ser necesario. Este escenario incluye ambos sistemas de seguridad seguridad (WAF Y DBF) a fin de proveer al sistema con los beneficios de ambos productos haciendo que estos puedan trabajar en paralelo a fin de detectar y prevenir distintos tipos de ataques. Otra de las ventajas de usar WAF y DBF en paralelo es la información adicional que podria registrar el DBF; esto es posible dado que el WAF colocado delante del servidor web puede registrar informacion adicional (como ser la direccionip, el nombre de usario obtenidos de la peticion web) a fin de que el DBF pueda registrar esa informacion cuando la peticion por parte del servidor web es una sentencia sql no autorizada. En base a lo anterior, si el DBF recibe peticiones destinadas a la BD potencialmente maliciosas este se encargara de loguear la informacion necesaria junto con la adicional aportada por el BIG-IP-ASM ASM WAF. Esta informacion recolectada y logueadapor el DBF puede ser obtenida a fin de tener un panorama general sobre las posibles peticiones no autorizadas y tomar medidas adicionales en base a ellas. FIrewalll de base de datos (GreenSQL) Otro de los ejemplos en cuanto a firewalls de base de datos es el firewall GreenSQL, es un firewall software open source especialmente diseñado para proteger bases de datos MySQL; el firewall previenen el ataque de tecnicas nocivas nocivas hacia la base de datos como ser SQL injection. Comofunciona ? Este sistema funciona como un proxy sobre comandos sql, se basa en una matriz de riesgos en base a puntajes a fin de decidir si un comando sql podría llegar a ser una amenaza. La idea es que las aplicaciones dejen de conectarse directamente a la base de datos apuntando directamente al firewall GreenSQL, luego este analizara las consultas y en caso de que estas no sean una amenaza GreenSQL re re-enviará enviará la petición hacia la BD. Posibles modos de uso ● ● ● ● Modo simulacion (database IDS) Bloqueo de comandos sospechosos Mode aprendizaje Protección activa de consultas desconocidas (db firewall) A continuación se muestra un diagrama el cual ejemplifica el uso de GreenSQL en una compañía: Firewalls tradicionales vs Firewalls NGFW Introduccion Un firewall NGFW (Nextgeneration firewalls) es un software o hardware el cual se diferencia del los firewalls de primera generación ya que son capaces de detectar y bloquear ataques sofisticados ya que hacen hincapié en las políticas de seguridad a nivel de puerto, protocolo y aplicación. Este tipo de firewalls integran tres características claves en lo que seguridad respecta: capacidades de versiones corporativas de firewall, un sistema de prevención de intrusos (IPS) y control de aplicaciones. Los firewalls de primera generación introdujeron el concepto de inspección en base a estado, filtrado de paquetes, NAT (traduccion de direcciones de red), bloqueos de url y VPNs entre otros; los firewalls NGFWs incluyen todas las características mencionadas brindando ademas un contexto adicional a la hora de tomar decisiones haciendo que estos nuevos sistemas tengan la capacidad de poder entender detalles del tráfico de la web a fin de poder tomar acciones más inteligentes y bloquear el tráfico que potencialmente atacaria las vulnerabilidades de los sistemas víctimas. Estos firewalls de última generación incluyen funcionalidades especiales como ser QoS (calidad de servicios), prevención de intrusos, inspección de protocolos SSL y SSH, inspección de paquetes en profundidad y detección de malware en base a su reputación. Firewalls tradicionales - Intregracion de herramientas Como se menciono anteriormente, los firewalls tradicionales solo proveen de parte de lo que realmente una organizacion necesita. Organizaciones que todavia hacen uso de este tipo de firewalls se ven en la necesidad de utilizar como complemento otro tipo de tecnologias para la seguridad de la red como ser gateways anti-malware, sistemas de deteccion de intrusos (IPS), paquetes de filtrado de URLs, entre otros, a fin de poder protegerse de malware, detectar ataques, prevenir a los usuarios el acceso a sitios con malware a fin de que los sistemas de la organización puedan contar con un nivel aceptable de proteccion. Lo negativo de este tipo de ambientes es que para llegar a tener un nivel aceptable de seguridad se requiere de varios sistemas corriendo en simultáneo haciendo que la seguridad sea costosa principalmente por la necesidad de licencias. Otro de los puntos en contra es la administración de las diferentes herramientas, con esta configuración una compañía podría llegar a necesitar un especialista por cada una de las herramientas de seguridad generando un costo alto de administración a la hora de mantener a todos los productos correctamente configurados y funcionando debidamente. Por último, este tipo de configuración hace dificil de coordinar el uso de las diferentes herramientas de protección cuando se trata de responder a un ataque hacia la organización. Firewalls NGFW - Integracion de herramientas Los firewalls NGFW proveen de múltiples sistemas de seguridad en un solo paquete, todas estas herramientas de seguridad incluidas en este tipo de firewalls pueden ser configuradas, deployadas y administradas como una unidad reduciendo de esta manera todo el costo administrativo mencionado anteriormente; ademas todo la informacion sobre el comportameinto de la red, ataques y demasesta disponible en un solo reporte haciendo que sea sencillo su interpretacion, identificacion de las posibles amenazas agilitando de esta manera las medidas necesarias a tomar antes de que la seguridad de la organizacion haya sido comprometida. Firewalls tradicionales - Manejo de SSL Algunas organizaciones utilizando el protocolo SSL (Secure Socket Layer) a fin de proteger información sensible sobre sus cliente, proveedores, etc cuando esta fluye en la red; por otro lado existen companias que no pueden bloquear el tráfico SSL dado que cierto tipo de información legitima y de uso necesaria para ciertas companias viaja en base a este protocolo de comunicacion. Los firewalls tradicionales no son capaces de desencriptar e inspeccionar este tipo de trafico, esto hace posible que hackers y cybercriminales puedan hacer viajar malware a traves del firewall de una compania por medio de SLL. Ademas, botnets muchas veces crean tuneles SSL a fin de intermcambiar mensajes de tipo control y comando con sus servidores. Firewalls NGFW - Manejo de SSL Este tipo de firewalls implementan una tecnicadenominandaInspeccion de paquetes en profundidad (DPI) a fin de poder desencriptar e inspeccionar el trafico SSL que entra y sale de la red. De esta manera los firewalls NGFW pueden bloquear malware contenido en el trafico SSL, detener mensajes de tipo control y comando hacia losbotnets, prevenir que APTs (amenazas avanzadas persistentes) utilizen SSL a fin de obtener informacion confidencial de las companias, entre otras. Firewalls tradicionales - CaracteristicasApplication-aware Los firewalls tradicionales no pueden asociar el comportamiento del trafico de la red con aplicaciones específicas, dicho de otra manera no poseen la caracteristicacomunmente llamada application-aware. Es por eso que este tipo de firewalls no poseen la habilidad de poder bloquear aplicaciones potencialmente peligrosas, controlar aplicaciones que tienen uso legitimo pero podrian llegar a ser objeto de abuso, visualizar y controlar el trafico por aplicacion, entre otros. Dicho de otra manera los firewalls tradicionales carecen de habilidades de control de aplicaciones especificas teniendo una deficiencia muy importante en seguridad teniendo en cuenta que hoy dia la cantidad de aplicaciones maliciosas es enorme y crece dia a dia. Firewalls NGFW - CaracteristricasApplication-aware Este tipo de firewalls ofrecen inteligencia de aplicación y control; son capaces de reconocer trafico de red perteneciente a aplicaciones específicas y en base a ese conocimiento reforzar aceptables politicas corporativas de uso. Ademas en base a este tipo de informacion pueden alocar ancho de banda para ciertas aplicaciones de alta prioridad para la compania. Tambien permite a administradores de red el monitoreo y visualizacion de trafico, filtrar el volumen de trafico por aplicacion, determinar fluctuaciones de ancho de banda durante ciertos periodos y el porque. Todas estas nuevas caracteristicas hacen que estos nuevos tipos de firewalls provean de nuevas herramientas a fin de poder solucionar problemas de manera masrapida y efectiva a la vez de incrementar el poder de administracion de la red. Firewalls Tradicionales - CaracteristricasApplication-aware Otra de las carenciasde los firewalls tradicionales es la posiblidad de poder relacionar el trafico de red con los usuarios; no es posible asociar el trafico sospechoso contra usuarios a no ser por el empleo de tecnicas muy costosas como por ejemplo el analisis de archivos log. En resument, estos firewalls no tiene la capacidad de: ● ● ● ● ● Hacer cumplir las politicas aceptables del uso de internet. Proveer información en cuanto al uso de aplicaciones. Poder identificar cuales usuarios comprometen el uso de la red al hacer uso de aplicaciones potencialmente peligrosas o al navegar en la red sobre sitios peligrosos Limitar aplicaciones de redes sociales agrupandolas pudiendo de esta manera diferenciar cuales aplicaciones estan permitidas y cuales no. Mejorar la performance general de la red agrupando aplicaciones utiles para la empresa en grupos de alta prioridad. Firewalls NGFW - CaracteristicasApplication-aware Firewalls de siguiente generacion permiten tener control sobre las aplicaciones a nivel invdividual y grupos de usuarios permitiendo de esta manera reforzar las politicas aceptables de uso de modo mas granular. Poniendo como ejemplo a aplicaciones como Facebook, Twiter, LinkedIn y otras sitios sociales, estos podrian llevar a varias horas de inproductividad de un gran porcentaje de empleados de una organizacion; de todas maneras es bien sabido que muchas veces este tipo de sitios son buenas herramientas para cierto personal de la compania (claro ejemplo podria ser el departamenteo de RRHH) a la hora de por ejemplo promove productos y servicios, busqueda de recursos, entre otras. De esta manera firewalls NGFW nos permite: ● ● ● ● Hacer cumplir las politicas de la companiadandole acceso solamente a ciertos grupos de empleados a sitios especificos (social media) y bloqueando el acceso a usuarios que no pertenezcan a esos grupos. Limitar el uso de las caracteristicas de ciertos sitios (configurable), como por ejemplo habilitar el poder postear mensajes en Twitter pero no permitir el poder reproducir videos en ese sitio. Habilitar el steaming de videos a ciertos grupos de empleados de la compania en horario laboral y por otro lado al resto de empleados no pertenecientes a esos grupo permitirles el streaming de videos solamente por la noche. Tener la capacidad de alocar mas o menos ancho de banda a determinados usuarios de la compania o grupos de empleados; ngfwademas de identificar el trafico de red por aplicaciontambien permite identificar usuarios especificos que son riesgos potenciales en cuanto al ancho de banda (como por ejemplo usuarios que tienden a hacer streaming de videos o descarga de archivos de manera regular) Firewalls tradicionales – Security vs Performance Los firewalls tradicionales usualmente se penalizan la seguridad a fin de lograr una mejore performance en la red; cuando los administradores de red activan todas las reglas de seguridad de este tipo de firewalls contienen el trafico de red malicioso de manera eficaz pero NO eficiente. En consecuencia los usuarios experimentan una mala performance en al red a nivel global, haciendo que se tengan respuestas lentas en tiempo, demoras en descarga de archivos, entre otras malas experiencias de uso sobre la red en cuestión. A fin de mejorar el nivel general de la red, administradores de red se ven obligados a desactivar ciertas características de los firewalls, como por ejemplo: dejar de chequear puertos, deshabilitar la inspección en profundidad de paquetes, entre otras. Tomando estas acciones se contrarresta exitosamente la mala performance del sistema pero por otro lado se compromete la seguridad general de la red. Firewalls NGFW – Security vs Performance Los firewalls de siguiente generación tiene un rendimiento bastante mayor respecto a los tradicionales, haciendo que administradores de red no tengan que penalizar seguridad a fin de lograr una buena performance global de la red. Algunos de los factores que hacen posible esta mejora son: - Mejoras en los procesadores utilizados - Diseño mejorado del CPU a fin de entender de mejor manera las comunicaciones de red a fin de mejorar el escaneo de seguridad - Mejora en la arquitectura de procesamiento en paralelo - Mejoras en las técnicas de inspección paquetes en profundidad. Sistemas UTM (Manejo unificado de amenazas) vs. NGFW: Los sistemas UTM incluye prevención de intrusos, bloqueo de URLs, gateway antivirus, entre otras; pensados principalmente para companias de pequenio y mediano porte. El problema detectado fue que aunque estos sistemas abarcaban la mayoría de las características necesarias sobre seguridad no contemplaban les requerimiento necesarios en cuanto a la velocidad de procesamiento que las empresas de alto porte necesitan. Es por esto que los sistemas NGFW incluyen todas las características de los sistemas UTMspero mejorando las técnicas de seguridad a fin de resolver los ataques de manera más optima haciendo que no se degrade la performance general de la red. Podemos decir que la diferencia entre sistemas UTM y NGFW es practicamente mínima, la única diferencia tangible es en cuanto al rendimiento. Dispositivos marcados como UTMs en general se ajustan muy bien a companias de pequenio y mediano porte, mientras que para empresas de alto porte son recomendados sistemas NGFW, por otro lado en cuanto a funcionalidades ambos sistemas son casi idénticos. En conclusión, firewalls NGFW logran lo mejor de ambos mundos: mantener una red que asegura una muy buena seguridad sin degradar la performance general de la misma. A continuacion se muestran alguno de los firewalls de tipo NGFW: Firewalls de siguiente generación de palo alto networks: Testing de firewalls A medida que avanza el tiempo las implementaciones de los firewalls van siendo mejores en base a tests e investigación; de todas maneras muchas veces sucede que los desarrolladores repiten los errores de sus predecesores re introduciendo fallas en los nuevos desarrollos. Es por eso que a continuación se presentaran varios metodos a fin de poder identificar aplicaciones de evasion, su respectivo test y observacion de resultados. Desde la introducion de filtrado de paquetes los investigadores han desarrollado y sugerido metodos para evadir software; ejemplos mastipicos son ataques basados en fragmentacion de paquetes, ofuscacion del payload de paquetes, etc. A continuacion se mostraran algunas técnicas simples y combinadas a fin de intentar evadir el sistema de firewall FortinetFortiGate basándonos en diferentes herramientas tales como: Evader, Wireshark, TCPDump y Scapy, entre otras. StoneSoftEvader Este software tiene como objetivo medir la capacidad de un firewall para prevenir ataques pudiendo ejecutar una o varias técnicas de evasión en simultáneo desde la capa 3 a la 7. Escenario de prueba Se procede a demostrar en escenario en el cual un cliente realiza ataques a una red privada (especificamente a un nodo puntual) la cual cuenta con un firewall hardware FortiGate: A fin de probar la conexion entre el atacante (Evader) y el nodo victima se realiza una peticion ICMP en la cual el nodo victima responde sin problemas confirmando de esta manera al menos conectividad en la capa 3, luego se envia una peticion web de parte del atacante recibiendo una respuesta por parte de la victima confirmando de esta manera conectividad en la capa 7. Luego de comprobar conectividad entre el atacante y la victima se procede a configurar una politica IPS (sistema de prevencion de intrusos) a fin de intentar bloquear los ataques por por parte del Evader, se envia un exploidpayload haciendo que efectivamente el FortiGate bloque el intento de ataque. En el siguiente paso se configura Mongbat (opcion del Evader) dejando que la herramienta elija de manera randomica un conjunto de técnicas de evasion a fin de ponerlas en marcha en simultaneo; de esta manera la herramienta encuentra una manera de evadir la politica IPS del FortiGate cuando las tecnicas de evasion son combinadas (al ejecutar las tecnicas por separado el ataque no fue exitoso). Scapy Otra de las herramientas utilizadas para testear la efectividad de los firewalls es Scrapy, es un sistema basado en Pyhton que viene incorporado con ciertas distribuciones de Linux y permite generar y manipular trafico malicioso basado en un gran número de protocolos a fin de testear la capacidad de los distintos firewalls. Esta herramienta lleva a cabo las tareas más comunes cuando se trata evaluar la seguirdad de los sistemas como ser scaneo, trazado de rutas, pruebas unitarias, ataques combinados, etc. Conclusion Masalla de las diferentes herramientas para generar/manipular trafico malicioso, en general los firewalls utilizados simplemente con la configuración por defecto son vulnerables a ciertas técnicas de evasión; identificación de aplicaciones y control son características claves para los firewalls venideros siendo estas herramientas de uso crítico para los administradores de red. Referencias Firewalls, definition, types, etc http://www.webopedia.com/TERM/F/firewall.html Firewalls FAQ http://www.faqs.org/faqs/firewalls-faq/ Types of firewall http://securitywing.com/types-of-firewall/ Evolution of types of firewalls http://onlinecmag.com/network-security-101-evolution-different-firewall-types/ Network Security Using Linux/Unix Firewallhttp://www.academia.edu/6264950/Network_Security_Using_Linux_Unix_Firewall How Do Modern Firewalls Work?https://www.deepdotweb.com/2016/02/15/modernfirewalls-work/ Web Application Firewalls 1 http://director-it.com/index.php/es/ssoluciones/seguridad/firewall-y-dmz/118-que-es-unwaf-web-applicationfirewall.html The Best Free Firewalls http://www.pcmag.com/article2/0,2817,2422144,00.asp things your next firewall must dohttp://www.informationweek.com/whitepaper/Security/SecurityAdministration/10-thingsyour-next-firewall-must-do-wp1387397138/149813?gset=yes How to conduct a next-generation firewall evaluation http://searchsecurity.techtarget.com/essentialguide/How-to-conduct-a-next-generationfirewall-evaluation Testing Application Identification Features of Firewalls http://www.sans.org/readingroom/whitepapers/firewalls/testing-application-identification-features-firewalls-34402 What is a next-generation firewall? http://www.networkworld.com/reviews/2011/082211palo-alto-next-gen-test-249395.html NGFW 1 http://searchsecurity.techtarget.com/definition/next-generation-firewall-NGFW NGFW 2 http://www.computerweekly.com/guides/Next-Generation-Firewalls-Learning-Guide UTM vs. NGFW: Comparing unified threat management, next-gen firewalls http://searchsecurity.techtarget.com/answer/UTM-vs-NGFW-Comparing-unified-threatmanagement-next-gen-firewalls Network- vs. Host-based Intrusion Detection http://securitywing.com/what-is-ids/ IDS vs IPS http://securitywing.com/host-based-ids-vs-network-based-ids/ Autopsia de una intrusión con éxito http://his.sourceforge.net/trad/varios/floydman/autopsy.html Intrusión Prevention Systems vs Firewalls http://www.internet-computersecurity.com/Firewall/IPS.html Do you need an IDS or IPS, or both? http://searchsecurity.techtarget.com/Do-you-needan-IDS-or-IPS-or-both Waf 1 https://www.blogtecnico.net/web-application-firewall-waf/ Waf 2 http://www.securitybydefault.com Ejemplo de firewall de base de datos - Oracle https://docs.oracle.com/cd/E26572_01/doc.51/e22686/f5_big_ip.htm#FWADM310