proyecto fin de carrera departamento de ingenier´ıa...

18
Proyecto Fin de Carrera Departamento de Ingenier´ ıaTelem´atica 1. Introducci´ on 1.1. Motivaci´ on En primer lugar, quisiera exponer las causas que a lo largo de los ´ ultimos a˜ nos me han llevado a emprender este proyecto. A mitad del tercer curso me interes´ e por la criptograf´ ıa, que era algo que ya me llamaba la atenci´ on con anterioridad, y decid´ ı inscribirme en un curso online de la Universidad de Stanford. Dicho curso me sirvi´ o como punto de partida y aliment´ o mi curiosidad por el mundo de la seguridad de la informaci´ on. La curiosidad que me gener´ o fue tan fuerte que solo pensaba en cual ser´ ıa mi pr´ oximo paso para aprender m´ as acerca de tan fascinante disci- plina. Indagando en cursos relacionados encontr´ e otro curso llamado ”Information Security and Risk Management”, que a´ un no estaba disponible pero que estaba previsto para seis meses m´ as tarde, cuando de la forma m´ as oportuna e inesperada, apareci´ o un profesor de la Universidad, Godofredo Fern´ andez, que anunciaba un curso de formaci´ on de Seguridad en la Informaci´on. Durante la realizaci´ on de este curso me vino la idea de realizar un proyecto fin de carrera re- lacionado con la seguridad y que, de alguna manera, pudiera satisfacer mis deseos de conocer m´as. Meses despu´ es de haber terminado el curso de Seguridad en la Informaci´ on, surgi´ o la oportu- nidad de realizar un trabajo para el Laboratorio de Software de Comunicaciones de cuarto curso sobre un firewall de capa 7 en un entorno Linux. Durante la realizaci´ on de dicho trabajo me familiaric´ e con los entornos Red Hat y con el funcionamiento del firewall. Fue en ese momento en el que empez´ o a interesarme especialmente c´ omo funcionaban, c´ omo se configuraban, c´omo se gestionaban o c´ omo se implementaban los equipos de seguridad perimetral. Poco despu´ es me volv´ ı a poner en contacto con Godofredo para hablar de un futuro proyecto fin de carrera. En aquella reuni´ on hablamos de la motivaci´ on y el enfoque que yo quer´ ıa que tuviese mi proyecto. Para ser concreto mi intenci´ on era hacer un proyecto grande que me permi- tiera profundizar m´ as en los equipos de seguridad perimetral y que me permitiera crecer como profesional de cara al futuro. Sin dudarlo un instante me coment´ o la posibilidad de hacerlo en una empresa de un profesor del departamento, de ponerme en contacto con ´ el y hablar el tema. Como yo no lo conoc´ ıa en persona en aquel momento, Godofredo intercedi´ o por m´ ı ante el que ha sido mi tutor y mentor durante el proyecto fin de carrera, Pablo Nebrera Herrera, para que pudiera realizar el proyecto en su empresa. A Godofredo le debo la oportunidad de conocer a Pablo y todo lo que para m´ ı ha supuesto esta experiencia. A finales de Julio me reun´ ı con Pablo para abordar un posible proyecto fin de carrera. Le coment´ e que hab´ ıa hecho un trabajo relacionado con un firewall de aplicaci´ on y le habl´ e de mi especial inter´ es en los firewall. La idea de proyecto le pareci´ o interesante desde el primer momento as´ ı que decidimos que el proyecto iba a ser la construcci´ on de un firewall de aplicaci´ on en un entorno Linux. Los intentos de integraci´ on de inspecci´ on en capa 7 en el core de Netfilter realizados hasta la fecha hab´ ıan funcionado pero contaban con serios problemas de seguridad que hac´ ıan su uso inservible puesto que el core de Netfilter est´ a pensado para ser un stateful firewall a nivel 4. El objetivo del proyecto era integrar una herramienta de inspecci´ on en capa 7 y solucionar los problemas de seguridad asociados para conseguir un firewall de aplicaci´ on compatible y con f´ acil configuraci´ on a trav´ es del conocido iptables. 11

Upload: phamthuy

Post on 27-Sep-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

1. Introduccion

1.1. Motivacion

En primer lugar, quisiera exponer las causas que a lo largo de los ultimos anos me han llevadoa emprender este proyecto. A mitad del tercer curso me interese por la criptografıa, que era algoque ya me llamaba la atencion con anterioridad, y decidı inscribirme en un curso online de laUniversidad de Stanford. Dicho curso me sirvio como punto de partida y alimento mi curiosidadpor el mundo de la seguridad de la informacion. La curiosidad que me genero fue tan fuerte quesolo pensaba en cual serıa mi proximo paso para aprender mas acerca de tan fascinante disci-plina. Indagando en cursos relacionados encontre otro curso llamado ”Information Security andRisk Management”, que aun no estaba disponible pero que estaba previsto para seis meses mastarde, cuando de la forma mas oportuna e inesperada, aparecio un profesor de la Universidad,Godofredo Fernandez, que anunciaba un curso de formacion de Seguridad en la Informacion.Durante la realizacion de este curso me vino la idea de realizar un proyecto fin de carrera re-lacionado con la seguridad y que, de alguna manera, pudiera satisfacer mis deseos de conocer mas.

Meses despues de haber terminado el curso de Seguridad en la Informacion, surgio la oportu-nidad de realizar un trabajo para el Laboratorio de Software de Comunicaciones de cuarto cursosobre un firewall de capa 7 en un entorno Linux. Durante la realizacion de dicho trabajo mefamiliarice con los entornos Red Hat y con el funcionamiento del firewall. Fue en ese momentoen el que empezo a interesarme especialmente como funcionaban, como se configuraban, comose gestionaban o como se implementaban los equipos de seguridad perimetral.

Poco despues me volvı a poner en contacto con Godofredo para hablar de un futuro proyectofin de carrera. En aquella reunion hablamos de la motivacion y el enfoque que yo querıa quetuviese mi proyecto. Para ser concreto mi intencion era hacer un proyecto grande que me permi-tiera profundizar mas en los equipos de seguridad perimetral y que me permitiera crecer comoprofesional de cara al futuro. Sin dudarlo un instante me comento la posibilidad de hacerlo enuna empresa de un profesor del departamento, de ponerme en contacto con el y hablar el tema.Como yo no lo conocıa en persona en aquel momento, Godofredo intercedio por mı ante el queha sido mi tutor y mentor durante el proyecto fin de carrera, Pablo Nebrera Herrera, para quepudiera realizar el proyecto en su empresa. A Godofredo le debo la oportunidad de conocer aPablo y todo lo que para mı ha supuesto esta experiencia.

A finales de Julio me reunı con Pablo para abordar un posible proyecto fin de carrera. Lecomente que habıa hecho un trabajo relacionado con un firewall de aplicacion y le hable demi especial interes en los firewall. La idea de proyecto le parecio interesante desde el primermomento ası que decidimos que el proyecto iba a ser la construccion de un firewall de aplicacionen un entorno Linux. Los intentos de integracion de inspeccion en capa 7 en el core de Netfilterrealizados hasta la fecha habıan funcionado pero contaban con serios problemas de seguridadque hacıan su uso inservible puesto que el core de Netfilter esta pensado para ser un statefulfirewall a nivel 4. El objetivo del proyecto era integrar una herramienta de inspeccion en capa7 y solucionar los problemas de seguridad asociados para conseguir un firewall de aplicacioncompatible y con facil configuracion a traves del conocido iptables.

11

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

1.2. ¿Que es un firewall de aplicacion?

El eje central de este proyecto es un firewall de nivel de aplicacion, ası que la pregunta mas in-mediata es ¿Que es un firewall de aplicacion? Sin embargo, hay otras preguntas que considero quedeben de ser formuladas y contestadas antes de explicar en que consiste un firewall de aplicacion.

Para comenzar debemos preguntarnos ¿Que es un firewall? Un firewall no es mas que unsistema o elemento de una red que esta especialmente disenado arbitrar el acceso a unos cier-tos recursos. Para ello un firewall controla el trafico que pasa por el tomando como criterio unconjunto de reglas. La implementacion real de un firewall puede ser hardware, software o unacombinacion de ambos.

Cualquier dispositivo puede implementar un firewall pero dependiendo de donde lo imple-mentemos tendra unas funcionalidades u otras:

En el encaminador: su funcion es controlar los paquetes de las redes que interconecta.

En un servidor: controla las conexiones entrantes y salientes al servidor.

En un cliente (personal firewall): controla principalmente las conexiones salientes de unamaquina aunque tambien puede gestionar el trafico de entrada.

Equipo especializado: No son encaminadores, ni ordenadores de la red, ni servidores. Sonsistemas especialmente disenados para realizar funcion de firewall a gran escala y suelenubicarse entre el encaminador que da acceso a internet y la intranet de la organizacion.El equipo puede hacer tambien NAT aunque no es imprescindible. Tambien es frecuenteencontrarlos entre la zona DMZ de la organizacion y el resto de la intranet.

Figura 1: Ubicacion tıpica de un firewall dentro de una red IP[1]

12

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

Existen dos polıticas basicas de gestion del trafico en un firewall:

Polıtica restrictiva: se rechaza todo aquello que no este explıcitamente permitido. Es lapolıtica que suelen adoptar las empresas y organizaciones gubernamentales.

Polıtica permisiva: se acepta todo aquello que no este explıcitamente restringido. Es lapolıtica que suelen adoptar aquellas organizaciones que deben proporcionar un accesopublico a internet (universidades, servicios publicos, etc..)

Existen diversidad de criterios a la hora de clasificar un firewall en funcion del nivel OSI enel que opera. Puesto que el modelo OSI es un modelo que no se sigue en Internet, en la practicase pueden establecer clasificaciones con el modelo TCP/IP en funcion del nivel en el que aplicanlas reglas:

Firewalls de red: realizan filtrado de paquetes en los niveles 2, 3 y 4 de la pila de protocolosTCP/IP. Estos firewall no tienen porque tener la capacidad de filtrado en todas las capas,pueden existir firewalls que solamente operan a nivel de enlace. Este tipo de firewall sepuede categorizar a su vez en:

• Stateful firewall: Capaces de rastrear conexiones a nivel de transporte. Esto quieredecir que son capaces de seguir el estado de una conexion. Una conexion TCP/UDPpuede ser descrita por una serie de propiedades como son la IP origen/destino, puertoorigen/destino y el ”estado”. Este tipo de firewalls aceleran la inspeccion pudiendobasarse en el estado de dicha conexion como regla primordial.

• Stateless firewall: No son capaces de rastrear una conexion. No detectan cambios enel estado de una comunicacion y por consiguiente no pueden tomar decisiones tancomplejas basadas en este concepto.

Firewalls de aplicacion: trabajan en el nivel de aplicacion de la pila TCP/IP y controlanel trafico desde/hacia una aplicacion y/o servicio. Establecen las reglas de decision inspec-cionando el contenido de un paquete a nivel de aplicacion. Puesto que estos firewall sonlos que mas niveles son capaces de inspeccionar (tambien son firewalls de nivel 2, 3 y 4)son los mas complejos de disenar, construir y configurar.

Figura 2: Necesidad de un firewall de aplicacion[2]

13

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

Esta clasificacion segun los niveles de operacion ha acarreado comercialmente a lo largo dela historia lo que se conoce como las generaciones de firewalls o ”firewall generations”[4]:

Firewall de primera generacion: conocida tambien como la generacion del filtrado de pa-quetes se trata de firewalls simples basados en inspeccion de paquetes hasta el nivel dered. Este tipo de filtrado no tiene en cuenta que un paquete pueda formar parte de una se-cuencia por lo que la decision se realiza en base a la informacion contenida exclusivamenteen el paquete. A esta generacion pertenecen los stateless firewalls.

Firewall de segunda generacion: realizan las funciones de los firewall de la generacionanterior y anaden capacidad de inspeccion hasta la capa de transporte. A esta generacionpertenecen los stateful firewalls capaces de tomar decisiones en reglas basadas en estadosde la conexion.

Firewall de tercera generacion: conocida como la era de los firewall de aplicacion. Lainspeccion en la capa de aplicacion permite ignorar el matching protocolo-puerto que hoyen dıa carece de sentido puesto que cualquier aplicacion puede estar usando cualquierpuerto. La inspeccion en capa de aplicacion tambien detecta abusos producidos por lasaplicaciones infiriendo comportamientos anomalos.

Firewall de nueva generacion: es la generacion en la que se inspecciona mas alla de lacapa de aplicacion. Esto quiere decir que se pueden rastrear aplicaciones que usan comotransporte otros protocolos de aplicacion, se puede realizar una inspeccion profunda de unaaplicacion y permitir/denegar parcialmente su comportamiento o incluso ”detener ciertosataques a nivel de aplicacion”

Figura 3: Firewall de nueva generacion[3]

14

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

Actualmente las funciones de un firewall solapan con las de un IPS (Intrusion PreventionSystem) aunque tienen diferencias importantes. Un IPS es un sistema que complementa la pro-teccion ofrecida por el firewall y puede verse como una segunda lınea de defensa dentro de la red.Lo que diferencia a un IPS de un firewall es la capacidad de detectar ataques mas sofisticadosque los que puede detectar un cortafuegos tradicional, ya que puede implementar y ejecutaralgoritmos matematicos y consultas a bases de datos especializadas.

Cuando se dice que un firewall de nueva generacion es capaz de ”detectar ataques a nivel deaplicacion” es porque implementa un IPS. Con la incorporacion de las nuevas funcionalidadesen los firewalls de nueva generacion, es posible determinar exactamente que aplicacion esta enuso sin importar el puerto, quien la esta usando y que contenido esta generando. Llamamos”Firewall de Nueva Generacion” a la evolucion natural del firewall por incrementar la seguridadperimetral de una red, o lo que es lo mismo a la integracion en una misma maquina de lasfunciones de Firewall, IPS, DLP, etc ...

Volviendo a la pregunta que daba pie a este epıgrafe, ¿Que es un firewall de aplicacion?,resumiendo podemos decir que es un equipo que realiza filtrado e inspeccion de paquetes a nivelde aplicacion, que permite realizar una seleccion del trafico mas exhaustiva puesto que se puedediscriminar en base a las aplicaciones especıficas y que no atiende al matching protocolo-puerto.Es, ademas, sin duda un elemento que debemos tener en cuenta y que nos sirve como primeralınea de defensa a la hora de hacernos cargos de la seguridad de la informacion de una organi-zacion.

La seguridad abarca muchos mas conceptos y niveles que han de ser tenidos en cuenta yque no se resuelven con la mera presencia de un firewall. Los firewalls, hasta la aparicion de lanueva generacion, eran vulnerables a los ataques que se producıan en en nivel de aplicacion yaque su tarea acababa con el permiso o denegacion de un flujo de aplicacion. La seguridad es unproceso en el cual debemos estar constantemente actualizados porque todos los dıas se descubrenvulnerabilidades que pueden afectar a la forma en que protegemos nuestra organizacion.

15

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

1.3. Estado del arte

Cubiertos los aspectos generales de los firewalls, el siguiente paso es preguntarnos quiencomercializa estos equipos, cuales son los productos a la venta, como funcionan o que carac-terısticas tienen entre otras cosas. Para responder a todas las preguntas formuladas, se realizaun estudio de mercado de las distintas soluciones firewall existentes actualmente. Con el objetivofacilitar la lectura, se va a realizar una clasificacion por fabricante y luego se van a responder alresto de cuestiones.

paloalto newtorks

Ofrece firewalls de nueva generacion en una amplia variedad de soluciones, desde pequenas ofi-cinas hasta datacenters. La misma funcionalidad que se oferta con los dispositivos hardware sedispone en soluciones virtualizadas que se adaptan a sistemas virtualizados y a infraestructurascloud. Los firewalls de nueva generacion de paloalto basan su funcionamiento en las siguientescaracterısticas[5]:

App-ID: haciendo uso de la inspeccion profunda de paquetes a nivel de aplicacion detectanprotocolos de aplicacion. Basicamente identifican las distintas aplicaciones.

User-ID: identificacion del usuario que esta usando una cierta aplicacion. Esta caracterısti-ca se orienta a trabajar conjuntamente con servicios de directorio corporativos tipo LDAPpara conocer en todo momento la identidad del usuario de la aplicacion.

Content-ID: tambien conocido como ”Thread Prevention” o como ”Thread Management”consiste en explotar la inspeccion profunda e ir mas alla del nivel de aplicacion. Conello se pueden detectar ataques a nivel de aplicacion e incluso protocolos que usan comotransporte otro protocolo de aplicacion. Genericamente identifican y analizan el contenidodel trafico que generan las aplicaciones.

En cuanto a las especificaciones tecnicas mas relevantes de los equipos paloalto podemosresumirlas en la siguiente tabla:

Performance

App-ID firewall throughput

Threat prevention throughput

Connections per second

Sessions

Max sessions (IPv4 or IPv6)

Policies

Security Rules

NAT Rules)

QoS Rules

DoS protection rules

Cuadro 1: Caracterısticas mas relevantes de los equipos paloalto. [6]

16

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

La eleccion del equipo adecuado depende del escenario y del contexto en el que se empleael firewall. Como existen soluciones diversas en funcion de la envergadura de la organizacion ydel tipo de infraestructura sobre el que se monta el firewall vamos a exponer tres modelos quedarıan cobertura a tres escenarios diferentes:

PA-5050 (Candidato a ser el firewall de una gran corporacion)

Figura 4: Firewall de nueva generacion PA-5050 [6, 7]

Ademas de las caracterısticas generales que se muestran en la Figura 4, este modelo disponede una serie de funciones avanzadas:

Security Features Networking Features Management Features

Antivirus IPv6 Centralized Management

IPS VPN Device Management

Modern Malware Protection Virtualization Security Virtual Systems

Mobile Security Decryption Policy Control

Cuadro 2: Algunas caracterısticas avanzadas del PA-5050 [6]

17

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

VM-1000-HV (Candidato a ser el firewall en entornos virtualizados o cloud)

Figura 5: Firewall de nueva generacion VM-1000-HV [6, 8]

Este modelo cuenta con las mismas caracterısticas avanzadas mostradas en el Cuadro 2.

PA-200 (Candidato a ser el firewall de una pequena organizacion)

Figura 6: Firewall de nueva generacion PA-200 [6, 9]

Este modelo cuenta con las mismas caracterısticas avanzadas mostradas en el Cuadro 2.

Para ver una comparativa mas detallada de los 3 modelos se puede mirar en la seccion 12 en elapartado 12.1

18

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

Check Point

Ofrece firewalls de nueva generacion al igual que paloalto para entornos muy diversos desdepequenas oficinas hasta datacenters. Tambien dispone soluciones virtualizadas que se adaptana sistemas virtualizados y a infraestructuras cloud. Los firewalls de nueva generacion de CheckPoint basan su funcionamiento en las siguientes caracterısticas [10]:

Application Control: Inspeccion y control de protocolos de aplicacion. Se identifican lasdistintas aplicaciones.

Identity Awareness: Proporciona control sobre los usuarios, grupos, maquinas o entidadesque hacen uso de las aplicaciones.

IPS: Permite realizar inspeccion profunda en la capa de aplicacion y prevenir ataques.

En cuanto a las especificaciones tecnicas mas relevantes de los equipos Check Point podemosresumirlas en la siguiente tabla:

Enclosure

Max 1 GbE

Max 10 GbE

Firewall Throughput (Gbps)

Security Power

Cuadro 3: Caracterısticas mas importantes de los equipos Check Point [10]

Ademas de las caracterısticas generales que se muestran en la tabla anterior, los modelosdisponen de una serie de funciones avanzadas:

Access Control

User and Machine Awareness

Authentication

IPS

Integrated Security Management

DLP (opcional)

Cuadro 4: Algunas caracterısticas avanzadas de los firewall Check Point [10]

La eleccion del equipo adecuado depende del escenario y del contexto en el que se emplea elfirewall. Como existen soluciones diversas en funcion de la envergadura de la organizacion y deltipo de infraestructura sobre el que se monta el firewall vamos a exponer tres modelos que darıancobertura a tres escenarios diferentes:

19

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

Check Point 12400 Appliance (Candidato a ser el firewall de un datacenter)

Figura 7: Firewall de nueva generacion Check Point 12400 Appliance [11]

Figura 8: Caracterısticas generales Check Point 12400 Appliance [12]

Check Point 4600 Appliance (Candidato a ser el firewall de una gran organizacion)

Figura 9: Firewall de nueva generacion Check Point 4600 Appliance [13]

20

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

Figura 10: Caracterısticas generales n Check Point 4600 Appliance [14]

Check Point 1140 Appliance (Candidato a ser el firewall de una pequena organizacion)

Figura 11: Firewall de nueva generacion Check Point 1140 Appliance [15]

Figura 12: Caracterısticas generales Check Point 1140 Appliance [16]

21

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

Cisco

Paloalto networks y Check Point son los fabricantes mas potentes del mercado en cuanto afirewalls se refiere, y aunque Cisco es una companıa pionera en seguridad, los firewall de nuevageneracion no son su producto estrella. Pese a todo, Cisco dispone de una solucion de firewallde aplicacion al que anadiendo servicios se puede transformar en un firewall de nueva gene-racion. Estamos hablando de Cisco ASA Next-Generation Firewall Services, el cual basa sufuncionamiento en las siguientes caracterısticas: [17]

End-to-End Network Intelligence: Detecta aplicaciones y a los usuarios que las usan.

Proactive, Intelligent Threat Protection: Recopila inteligencia de mas de 2 millones dedispositivos con el objetivo de proporcionar ”casi” una proteccion en tiempo real contraataques zero-day. Es esencialmente la forma de defensa contra el malware de la que disponeASA.

Intrusion prevention: Funcionalidad IPS que extiende la inspeccion del nivel de aplicaciony permite detectar y prevenir ataques.

En cuanto a las especificaciones tecnicas mas relevantes de los equipos Cisco ASA podemosresumirlas en la siguiente tabla:

Throughput with Cisco AVC and WSE

Maximum concurrent sessions

Connections per second

Supported applications

Cuadro 5: Caracterısticas mas importantes de los equipos Cisco ASA [18]

Ademas de las caracterısticas generales que se muestran en la tabla anterior, los modelosdisponen de una serie de funciones avanzadas:

Application awareness

Identity-based firewalling (along with LDAP solution)

Device-type-based enforcement

Stateful firewall capabilities

Intrusion prevention

Cuadro 6: Algunas caracterısticas avanzadas de los firewall Cisco ASA [18]

En cuanto a la eleccion del equipo apropiado, Cisco tiene un rango mas limitado de equiposque el resto de fabricantes y que operan con caudales entre 200Mbps y 13Gbps por lo que noserıa apropiado para datacenters con gran volumen de trafico. Por ello, se muestran solamenteel modelo mas basico y el mas avanzado de la serie:

22

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

Cisco ASA 5512-X

Figura 13: Cisco ASA 5512-X [19]

Throughput with Cisco AVC and WSE 200 Mbps(multiprotocol)

Maximum concurrent sessions 100,000

Connections per second 10,000

Supported applications More than 1200

Cuadro 7: Caracterısticas generales de Cisco ASA 5512-X [18]

23

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

Cisco ASA 5585-XCX SSP-60

Figura 14: Cisco ASA 5585-XCX SSP-60 [20]

Throughput with Cisco AVC and WSE 13 Gbps(multiprotocol)

Maximum concurrent sessions 4,000,000

Connections per second 160,000

Supported applications More than 1200

Cuadro 8: Caracterısticas generales de Cisco ASA 5585-XCX SSP-60 [18]

24

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

Visto el panorama en el mercado cabe preguntarse que novedades introduce este proyectofin de carrera. En primer lugar hemos visto muchas soluciones comerciales pero en ningun mo-mento se ha hablado de Linux ni del software libre. La idea es crear un firewall de aplicaciona medida, con algunas caracterısticas de nueva generacion, en un entorno Linux que permitaser configurado a traves de iptables. Iptables es una herramienta tremendamente util y a laque estan familiarizados los administradores de sistemas, y eso es un gran punto a favor. Lasdistribuciones de Linux, inclusive en las versiones mas actuales del kernel (3.X), implementanfunciones de stateful firewalls hasta capa 4 pero se olvidan de la inspeccion a nivel de aplicacion.

La idea de convertir Netfilter en un firewall de aplicacion no es novedosa, de hecho, existenaproximaciones como l7-filter que realizan filtrado de paquetes a nivel de aplicacion. Sin embar-go, y puesto que Netfilter esta programado para ser un stateful firewall en capa 4, la extensionde la funcionalidad en aproximaciones como la de l7-filter trae inmediatamente consigo una in-compatibilidad entre las capas de aplicacion y transporte. Para mantener un nivel de seguridadaceptable hay que renunciar a la eficiencia y la aceleracion de reglas que se consigue tomandolas decisiones en base al estado de las conexiones. Este hecho ha supuesto que las extensionesde Netfilter no hayan tenido trascendencia puesto que se limitaban a ser un simple parche yademas ineficiente.

El objetivo de este proyecto, y en ello esta lo verdaderamente novedoso, es modificar elConnection Tracking System de Netfilter para hacerlo compatible con la inspeccion en capa deaplicacion. No solo compatible sino eficiente, ya que es un objetivo poder seguir utilizando laaceleracion de reglas basadas en el estado de la conexion. Para conseguir dicho proposito esnecesario introducir una nueva estructura de estados a nivel de aplicacion de manera que sepuedan rastrear conexiones a nivel de aplicacion de manera independiente al seguimiento en lacapa de transporte. La consecucion de ese objetivo harıa de Netfilter un stateful firewall en capa4 y 7 respectivamente. Con la herramienta de inspeccion adecuada y la versatilidad de Linuxpara integrar servicios, el punto final de este proyecto puede tomarse como punto de partidapara la construccion de un verdadero firewall de nueva generacion.

25

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

1.4. Alcance

Los firewall de Linux son stateful firewalls en capa 4 y no estan pensados para hacer filtradode paquetes a nivel 7. El objetivo de este proyecto es integrar un software de inspeccion pro-funda a nivel de aplicacion en Netfilter para obtener un firewall de aplicacion compatible con elexistente firewall en capa de transporte. Para ello se ha de modificar el software de inspeccionen capa 7 y el core de Netfilter de forma que puedan coexistir reglas definidas para trafico deaplicacion con reglas definidas para trafico en capa 4. Estarıamos por tanto marcando comoobjetivo la implementacion de un sistema que pueda funcionar como firewall tradicional, comofirewall de aplicacion o como una combinacion de ambos sin estropear la funcionalidad que tie-nen ambos por separado. Ademas es preciso mantener la aceleracion de reglas basadas en elestado de las conexiones por lo que se ha de proceder a la construccion de un stateful firewallde nivel 7 con estructura de seguimiento de conexiones en el nivel de aplicacion totalmente nueva.

26

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

1.5. nDPI: Deep Packet Inspection

El software de inspeccion profunda en capa 7 se denomina nDPI (Open and ExtensibleLGPLv3 Deep Packet Inspection Library). Es un gran conjunto de funciones de la bibliotecaOpenDPI que esta mantenido por ntop cuyo objetivo es extender las funcionalidades de la bi-blioteca original anadiendo nuevos protocolos que de otra manera estarıan solamente disponiblesen la version de pago de OpenDPI. [21]

Figura 15: nDPI [22]

La herramienta nDPI nos proporciona capacidad de deteccion en la capa de aplicacion sinatender al puerto en el que este siendo utilizada la aplicacion en concreto, es decir, que podemosdetectar protocolos de aplicacion en puertos no estandares y al reves, en puertos estandaresprotocolos que no son los que deberıan estar. Esta propiedad es de crıtica importancia para eldiseno del firewall porque actualmente el matching protocolo-puerto no tiene sentido.

El software esta disponible tanto para Windows como para Linux. En este proyecto nosquedamos con la version de nDPI para Linux ya que va a ser el framework que vamos a utili-zar para dotar a Netfilter de inspeccion a nivel de aplicacion y convertirlo en un firewall de capa 7.

El grupo de trabajo de ntop esta constantemente extendiendo las funcionalidades de nDPI,anadiendo protocolos nuevos y eliminando los obsoletos. En Mayo de 2014, nDPI contaba consoporte para mas de 165 protocolos de aplicacion. En el siguiente cuadro se muestran de formaresumida algunos de los mas importantes: [21]

27

Proyecto Fin de Carrera Departamento de Ingenierıa Telematica

FTP POP SMTP IMAP

HTTP DNS NETBIOS NFS

SSDP BGP SNMP DHCP

PostgreSQL MySQL VMware eDonkey

Bittorrent XBOX RTSP IRC

Jabber Steam Telnet IPsec

IGMP OSPF RTP RDP

SSL SSH TFTP SIP

Kerberos LDAP Facebook Twitter

Dropbox Gmail Google Maps Youtube

Google Skype NetFlow IPFIX sFlow

Citrix WhatsApp Viber Radius

TeamViewer LotusNotes SAP Oracle

UPnP OpenVPN CiscoVPN TeamSpeak

Tor CiscoSkinny RSYNC Whois-DAS

Cuadro 9: Algunos protocolos que detecta nDPI. [21]

Una caracterıstica muy importante que posee nDPI es la capacidad de inspeccionar traficocifrado sobre SSL/TLS. Es cada vez mas frecuente encriptar el trafico que sale a Internet y amenudo se realiza precisamente sobre SSL/TLS. Para hacer frente a esta cuestion, nDPI incor-pora un decodificador de certificados SSL que permite identificar protocolos encapsulados quede otra manera pasarıan inadvertidos. [21]

Otra habilidad de interes que posee para nosotros nDPI es la capacidad de detectar sub-protocolos o protocolos de aplicacion que utilizan como transporte otros protocolos de aplicacion.Muchos de esos protocolos utilizan como transporte HTTP/HTTPS y pueden ser detectadosdecodificando el certificado SSL o bien analizando el campo Host de la cabecera HTTP. De estamanera, nDPI establece un matching basado en cadenas que proporciona una deteccion muyeficiente y que segun la documentacion oficial de ntop es capaz de operar a tasas de 10Gbps enun hardware apropiado [21].

28