PROPUESTA E IMPLEMENTACION DE UN APPLIANCE DE SEGURIDAD A PARTIR DEL RE-USO TECNOLOGICO DANIEL ECHEVERRY MATIAS UNIVERSIDAD CATOLICA DE PEREIRA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍAS PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES PEREIRA 2011 1 PROPUESTA E IMPLEMENTACION DE UN APPLIANCE DE SEGURIDAD A PARTIR DEL RE-USO TECNOLOGICO DANIEL ECHEVERRY MATIAS Informe Final TUTOR: INGENIERO DANIEL FELIPE BLANDON UNIVERSIDAD CATOLICA DE PEREIRA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍAS PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES PEREIRA 2011 2 RESUMEN Este proyecto, busca desarrollar y construir una solución de seguridad, usando el re-uso tecnológico, aprovechando aquellas maquinas que cumplieron su vida util, pero que aun así pueden llegar a cumplir ciertas funciones dentro de una red. Usando esta tecnología antigua, el proyecto aporta una alternativa de solución a la grande problemática que está viviendo el mundo actual, en cuanto a los desechos tecnológicos, de esta forma, se beneficiaran las pequeñas y medianas empresas, implementando soluciones de seguridad a bajo costo, y adicionalmente, se beneficiara el medio ambiente. Palabras claves: Dispositivo de seguridad, UTM, Firewall, Seguridad informatica, Redes, appliance de seguridad. ABSTRACT This project seeks to develop and build a workaround of security, using the technological reuse, taking advantage of these machines that complete their useful life, but these yet are useful to perform certain functions within a network. Using this old technology, the project contribute an alternative of workaround to the big problematic that is living the today's world, with regard to technological waste, thus, to benefit small and medium enterprises, implementing security workarounds at low cost, and additionally, will benefit the environment. Keywords: Security device, UTM, Firewall, networking, security appliance, Information security. 3 TABLA DE CONTENIDO 1 Introducción 10 2 Formulación del problema 12 3 Objetivos 14 4 Justificación 15 5 Cronograma de actividades 18 6 Marco Contextual 19 6.1 “Implementación De Clusters Beowulf Como Firewall” 6.2 “Modelo de solución de enrutamiento de datos a bajo costo basado en 19 software libre” 20 6.3 “Purdue Firewall Appliance” 21 6.4 Solución Fortinet 22 6.5 Solución SonicWall 24 6.6 Diferencias entre el proyecto y las soluciones comerciales 25 7 Marco Teórico 27 4 7.1 Appliance 27 7.2 Tipos de Appliance 27 7.2.1 Appliance de telefonía IP 27 7.2.2 Appliance de correo 28 7.2.3 Appliance de Monitoreo 29 7.3 UTM 29 7.4 Servicios de seguridad 29 7.4.1 Firewall 29 7.4.2 IDS/IPS 30 7.4.3 VPN 31 7.4.4 Proxy 33 7.5 34 Sistemas operativos embebidos 7.5.1 Sistemas embebidos 34 7.5.2 Sistemas operativos embebidos 34 5 7.6 Algunos sistemas operativos embebidos 35 7.6.1 Symbian OS 35 7.6.2 DD-WRT 35 7.6.3 OpenWRT 36 7.7 El reuso tecnológico en Colombia 36 8 Definición operacional de términos 38 9 Enfoque metodológico 39 9.1 Instalación del sistema operativo 39 9.2 Instalación de servicios 45 9.2.1 Configuración Básica 45 9.2.1.1 Configuración de la interfaz WAN 47 9.2.1.2 Configuración de la interfaz LAN 49 9.2.1.3 Actualizando el gestor de paquetes 52 9.2.2 Instalación Firewall 57 6 9.2.2.1 Objetivos de un firewall 59 9.2.3 Instalación IDS 63 9.2.3.1 Snort 64 9.2.4 Instalación VPN 67 9.2.5 Instalación Proxy 68 9.2.5.1 Squid 70 9.3 72 Pruebas de rendimiento 9.3.1 Escenario de las pruebas 74 9.4 77 Análisis de los resultados 10 Conclusiones 90 11 Recomendaciones 91 12 Referencias bibliográficas 92 13 Bibliografía 94 7 TABLA DE IMAGENES. Figura 1. Desechos tecnológicos 13 Figura 2. Numero de transistores por chip a escala logarítmica 15 Figura 3. Appliance Fortinet 23 Figura 4. Diagrama VPN 32 Figura 5. Diagrama PROXY 33 Figura 6. Equipo usado para el proyecto 42 Figura 7. Equipo usado para el proyecto 43 Figura 8. Instalación OpenWRT 44 Figura 9. Pruebas de ping 45 Figura 10. Ventana de logueo OpenWRT 46 Figura 11. Cambiando el password de root 46 Figura 12. Interfaz WEB 47 Figura 13. Configuración de las interfaces 48 Figura 14. Diagnósticos 49 Figura 15. Configuración DHCP 50 Figura 16. Configuración interfaz de red equipo cliente 50 Figura 17. Pruebas de ping 51 Figura 18. Pruebas de Traceroute 51 Figura 19. Esquema NAT 52 Figura 20. Reglas por defecto del firewall 52 Figura 21. Menu paquetes 54 8 Figura 22. Paquetes instalados 55 Figura 23. Paquetes disponibles 56 Figura 24. Backup y restaurar 57 Figura 25. Esquema Firewall 59 Figura 26. Cadenas básicas de firewall 60 Figura 27. Targets de un firewall 61 Figura 28. Menu Firewall 62 Figura 29. Snort 64 Figura 30. Instalacion SNORT 65 Figura 31. Paquete OPENVPN 68 Figura 32. Paquete OPENVPN-DEVEL 68 Figura 33. Esquema Proxy 69 Figura 34. Paquete Squid 70 Figura 35. Laboratorio A 74 Figura 36. Laboratrio B 76 Figura 37. Grafica Consumo CPU 77 Figura 38. Grafica Consumo CPU 78 Figura 39. Grafica Consumo CPU 78 Figura 40. Grafica Rendimiento interfaces 79 9 1. INTRODUCCIÓN Hoy en día, la seguridad informática juega un papel fundamental en cualquier empresa, ya que estas se concientizan de cuidar su activo más importante: “La información”. Sin embargo, implementar la infraestructura necesaria (hardware y software) para reducir los riesgos y aumentar la protección de los datos requiere de una cantidad de dinero que algunas empresas no tienen, o los recursos no son destinados, o simplemente no están dispuestas a pagar por algo que ven como un gasto y no como una inversión. En el mercado existen appliances de seguridad (también llamadas UTM), que proporcionan toda la seguridad perimetral necesaria para cualquier sistema informático, estos equipos trabajando a nivel de aplicación, analizan y permiten el paso del tráfico en función de las políticas implementadas en el dispositivo, en otras palabras estos equipos son una “caja negra” en la cual están todos los servicios de seguridad integrados. Existen muchos fabricantes de este tipo de equipos, desde Cisco1 hasta Fortinent2, pero los precios son algo elevados, por ejemplo, un equipo Fortigate F110C, ideal para redes de 150 usuarios, cuesta 2.800 USD3 con todas las licencias activas, mientras que un equipo Cisco ASA 5505 con características similares cuesta alrededor de 2.100 USD4 Ahora bien, hay una problemática que surge en las empresas ¿Qué hacer con los PC's obsoletos?, generalmente los equipos catalogados como obsoletos terminan en la basura, sin darse cuenta que están cometiendo dos grandes errores. El primero es la contaminación del medio ambiente, ya que los dispositivos electrónicos no se pueden tratar como basura convencional, dado su contenido de sustancias tóxicas como el cromo, el cadmio y el mercurio5. Y el segundo error 1 2 3 4 5 http://www.cisco.com/en/US/products/ps6120/index.html http://www.fortinet.com/products/fortigate/111C.html http://www.avfirewalls.com/FortiGate-110C.asp http://www.router-switch.com/Price-cisco-firewalls-security-cisco-asa-5500-series_c26 http://www.elmundo.es/elmundosalud/2006/06/30/industria/1151687483.html 10 que cometen las empresas, es asumir que dichos equipos por ser de tecnología antigua, no se les puede dar otra utilidad, esto es un error grave ya que si bien no son equipos de última tecnología, son equipos que pueden soportar una función limitada. Este proyecto plantea una solución a dicha problemática. proponer e implementar una solución de seguridad perimetral, En primer lugar, usando aquellas máquinas de tecnología antigua, y en segundo lugar, hacer re-uso de aquellos equipos anticuados, pero todavía útiles, contribuyendo así al medio ambiente. 11 2. FORMULACIÓN DEL PROBLEMA Debido a que en la actualidad la información importante de cualquier empresa se encuentra sistematizada, existe cada vez más el riesgo de que personas no autorizadas observen o roben dicha información, por tal motivo; hay soluciones de Hardware y Software que tienen como único fin minimizar los riesgos de que suceda un acceso no autorizado a la información o una fuga de la misma. Desafortunadamente este tipo de soluciones son costosas, e inasequibles para pequeñas empresas. Por tal motivo hay empresas que no están protegiendo su información de forma adecuada, poniendo así en riesgo la privacidad no solo de la organización sino también de sus clientes, Esto se deriva por carencia de recursos económicos, o por factores como: Desconocimiento, o simplemente porque no se cuenta con el personal capacitado para administrar este tipo de herramientas. Un problema con el que se enfrentan las empresas es , qué hacer con aquellos equipos que ya han llegado a un nivel de obsolescencia . Es claro que estos dispositivos electrónicos se demoran varios años en descomponerse y además de esto si son desechados pueden contaminar el medio ambiente por las sustancias toxicas con las que fueron diseñados. 12 Figura 1: Desechos tecnológicos6 La idea principal de este proyecto es ayudar en la solución de estas dos problemáticas que hoy en día son más evidentes. Se Usarán equipos con tecnología obsoleta para configurar un appliance que se encargue de proteger la seguridad de la información en las PYMES (pequeñas y medianas empresas), las cuales, por alguna razón no pueden tener un equipo de marca dedicado para este fin. 6 http://greennaturebook.blogspot.com/2011/05/desechos-tecnologicos.html 13 3. OBJETIVO GENERAL Proponer un Appliance de seguridad que provea servicios de: IDS, VPN, proxy, Firewall y enrutamiento a partir del re-uso tecnológico, para suplir las necesidades que tienen las pymes en cuanto a la seguridad de su información. OBJETIVOS ESPECÍFICOS Proponer una nueva alternativa a la grave problemática ambiental que sufre hoy en día el mundo, referente a los desechos tecnológicos. Indagar sobre antecedentes de trabajos similares que se hayan realizado en este sentido. Consultar sobre cual es el mejor Hardware y software para implementar la solución Definir cuales son los requerimientos mas urgentes para las pymes en cuanto a seguridad. 14 4. JUSTIFICACIÓN Con este proyecto, se demostrará que con aquellos equipos catalogados como “obsoletos” se pueden construir dispositivos muy útiles para cualquier empresa u organización, contribuyendo de esta forma al reciclaje de equipos electrónicos, pero ¿qué se puede definir como “Obsoleto”? (Tubella, I. & Vilaseca, J. (2005)) Según la ley de Moore, fundador y primer directivo de INTEL, cada 3 años la potencia de los ordenadores se multiplica por 4. Esto quiere decir, que un equipo de cómputo fabricado en el año 1998, será 16 veces más limitado que un equipo actual. Figura 2. Numero de transistores por chip a escala logarítmica. Autor: (Tubella, I. & Vilaseca, J. (2005)) Cabe resaltar que si un equipo es viejo no quiere decir que ya no sirve, se debe explotar la tecnología al máximo, antes de darla como obsoleta. Hay funciones o servicios los cuales no requieren una capacidad de procesamiento considerable y son estos equipos los adecuados para prestar dichos servicios. La pertinencia y la innovación del proyecto, radican en que fácilmente se puede construir y administrar una plataforma de seguridad a un costo muy bajo, sin necesidad de adquirir hardware adicional como dispositivos físicos dedicados a servicios de seguridad; con esta propuesta, las empresas que no velaban por la seguridad de sus sistemas, argumentando lo costoso que es adquirir la infraestructura necesaria, se darán cuenta que económico no es un obstáculo para preocuparse por su seguridad informática. 15 el factor Asimismo, es muy importante crear una cultura del re-uso tecnológico, ya que así se concientiza sobre lo importante que es no desechar irresponsablemente dispositivos electrónicos. Los países desarrollados generan miles de toneladas de basura tecnológica cada día. Estos dispositivos contienen elementos altamente tóxicos, que al entrar en contacto con la naturaleza causan daños irreversibles en la salud y el medio ambiente. Estas sustancias son nocivas para el ser humano, y al desechar estos equipos pueden llegar a hidrográficas las fuentes y ocasionar serios problemas ambientales, para la población. (Jose luis, Gallego, 2009, P85) Los ciudadanos europeos generamos anualmente más de 15 kilos de chatarra tecnológica por persona, se trata de ordenadores personales, teléfonos celulares, agendas electrónicas y toda una larga serie de consumibles que entran en desuso al dejar de funcionar o ser sustituidos por un modelo con mayores prestaciones. Estos productos se han incorporado en pocos años al sector del gran consumo generando un importante problema ambiental debido a su especial circunstancia en el mercado. Y es que a menudo antes de poner un pie fuera del comercio donde lo acabamos de adquirir, se quedan obsoletos. Actualmente se busca una forma efectiva de realizar el reciclaje tecnológico. Y no es tan complicado. Este proyecto da una alternativa a colaborar con el reciclaje tecnológico dando otra forma de uso a estos equipos viejos y alargando el tiempo de vida útil de los mismos, evitando así, la contaminación, y el desperdicio.7 En el desarrollo de este proyecto se podrán aplicar conceptos vistos a lo largo de la formación profesional como ingenieros de sistemas y telecomunicaciones. Se aplicarán no solo los temas relacionados con las telecomunicaciones sino también relacionados con la formulación de proyectos, conceptos que en el mundo laboral son fundamentales para un Ingeniero de sistemas de la actualidad. Algunos de estos son: 7 http://www.uv.mx/cienciahombre/revistae/vol23num1/articulos/basuras/index.html 16 Innovación. Emprendimiento. Pro actividad. Recursividad. Creatividad. Investigación. 17 5. CRONOGRAMA DE ACTIVIDADES A A1 A2 A3 A4 A5 A6 A7 A8 A9 A0 Junio Julio Agosto Septiembre Octubre 1 2 3 4 1 2 3 4 1 2 3 4 1 X X X X X X X X X X X X X A1: Elaborar Marco teórico A2: Realizar el estado del arte A3: Elección del hardware disponible. A4: Elección del sistema operativo. A5: Instalación sistema operativo base. A6: Configuración básica del dispositivo. A7: Instalación de los servicios propuestos. A8: Pruebas benchmark del dispositivo. A9: Algunas modificaciones y customizaciòn. A10: Puesta en marcha dispositivo UTM 2 3 4 Noviembre 1 2 3 4 1 2 3 4 X X X X X X X X X X 6. MARCO CONTEXTUAL Antes de entrar materia, es necesario hacer un recorrido por el mundo de la tecnología, buscando aquellas entidades, universidades, y otras organizaciones las cuales han investigado sobre el amplio tema de la seguridad, diseñando, o estudiando la forma de implementar equipos (Hardware) a bajo costo, los cuales integren todos los servicios que ayuden aumentar la protección de las redes LAN. En cuanto al re-uso tecnológico, en Colombia se han hecho grandes esfuerzos, por brindar una solución a tantos artefactos electrónicos (computadores) que quedan en desuso debido la tecnología entrante, por esta problemática nace “Computadores para educar”, un proyecto el cual trata de darle un uso a aquellos computadores que no se utilizan en las grandes compañías, reensamblandolos y enviándolos a diferentes zonas alejadas del país, con el fin de que aquellas personas que se encuentran alejadas de las ciudades, puedan aprender, estudiar, y navegar a través de Internet. Esta es una buena solución para los desechos tecnológicos, educando y dándole la oportunidad a las personas a usar un computador. En nuestro país, no se han evidenciado proyectos cuyo objetivo, tengan como fin aprovechar el hardware en des-uso para construir una plataforma integral de seguridad (también llamada UTM). No obstante, se han desarrollados proyectos similares que han buscado implementar soluciones de seguridad de diferente índole. A continuación, algunos de los proyectos relacionados que se han realizado: 6.1 “IMPLEMENTACIÓN DE CLUSTERS BEOWULF COMO FIREWALL” “La Seguridad Computacional es un aspecto de vital importancia hoy en día en las redes de datos, la necesidad de proteger la privacidad y autenticidad de la información manejada ha llevado a buscar mecanismos que resguarden el interior de la red de las amenazas presentes en Internet. Uno de los mecanismos preferidos son los denominados “Firewalls“ya que permiten mantener control 19 sobre el funcionamiento de la red y la información que esta intercambia con el exterior. El presente artículo muestra la forma en que la tecnología de computación distribuida “Clusters BeoWulf” puede utilizarse para servir de soporte a la seguridad de las redes de datos, específicamente como sistema Firewall. ” [1] La primera impresión de este proyecto, consiste en que no tiene ninguna similitud con el propuesto, su filosofía y la metodología empleada, radica en que usando poca tecnología se pueden desarrollar soluciones muy interesantes. 6.2 “MODELO DE SOLUCIÓN DE ENRUTAMIENTO DE DATOS A BAJO COSTO BASADO EN SOFTWARE LIBRE” “La dificultad que poseen las empresas pequeñas para adquirir soluciones de enrutamiento propietarios las hace vulnerables a hacer un uso inadecuado de las redes, una deficiencia en la comunicación y seguridad. Por esta razón se desea ofrecer una solución de enrutamiento económica aprovechando las bondades del software libre. Además se busca aprovechar equipos de computo considerados obsoletos para usar uno como maquina dedicada y allí colocar en funcionamiento el enrutador.”[2] Este proyecto, desarrollado en la universidad Tecnologica de Pereira (UTP), es muy similar (quizás el que más se asemeja a este ya que concuerda con muchos de los objetivos planteados. Sin embargo la gran diferencia es el resultado final, ya que nuestro appliance será una maquina de seguridad UTM, mientras que el proyecto encabezado por Jhon Alexis Guerra, consiste en crear una maquina de routing usando Software libre. Revisando, alrededor del mundo, se ha investigado un poco mas en cómo construir un [ [ 1] FLETSCHER BOCANEGRA,Luis Alejandro. Implementación de clusters beowulf como firewall 2] GOMEZ GUERRA, John Alexis. modelo de solución de enrutamiento de datos a bajo costo basado en software libre 20 firewall usando pocos recursos físicos, desgastados y obsoletos, pero que aun así, sirvan para cumplir con funciones de seguridad. A continuación, algunos proyectos similares que se han encontrado en otros países: 6.3 “Purdue Firewall Appliance” “The IT Security & Policy department at Purdue University has developed a firewall appliance based on open source software and recycled PCs from oncampus labs. The software consists of a customized OpenBSD platform configured to run as a bridging firewall. These bridging firewalls are also known as stealth firewalls because, unlike traditional routing firewalls, they can be configured without IP addresses, which means they are largely invisible to other devices outside the physical network. The platform used for the firewall appliance is a customized installation of OpenBSD. Additional installation tasks were added to the base install to ease configuration of the machine as a bridging firewall and further secure the distribution. OpenBSD was chosen for this platform because of the secureby-default nature of the distribution. Firewall functions are performed by the in-kernel stateful packet filter, pf, which is controlled by the pfctl tool. Firewall logging is done in pcap format, which allows for easy viewing and filtering of logs using tcpdump. The logging is also done through a virtual interface called pflog, so that log records can be viewed in real time by using tcpdump to listen on the virtual interface. This can be very helpful in troubleshooting firewall policy issues. • The hardware used for these devices are recycled lab PCs with additional network interfaces. These mid-range Pentium II desktop machines now act as bridging firewalls for small groups of servers or labs of machines and have been shown in tests to handle a fully saturated 100 Mbps full duplex link without significant performance impact. They have become point solutions for protecting domain controllers from NetBIOS account enumeration, preventing infection of Windows machines used to control real21 time devices that cannot be patched without breaking their functionality, and protecting newly installed Windows machines from infection before patches can be applied. ”[3] Este proyecto realizado en el 2004, es el más similar a este proyecto , ya que radica en la construcción de un Firewall basado en OPENBSD, usando los PC'S reciclados de toda la universidad de “PURDUE”. Es evidente que los dos proyectos tienen el mismo fin, aprovechar al máximo, aquellos equipos de computo que de una u otra forma han sido catalogados como obsoletos, que aun pueden ser útiles para la organización, con solo hacerles algunas modificaciones y personalizándolos para que cumplan una función en especifico. Cambiando radicalmente de sector, si nos enfocamos en el ámbito comercial, podemos encontrar infinidad de compañías que ofrecen dispositivos UTM como negocio, es decir fabrican hardware (incluso en muchos casos, hardware genérico) o también desarrollan su propio sistema operativo ( algunos de ellos basándose en GNU/Linux) con el fin de ofrecer en una misma maquina todos los servicios de seguridad integrados. Estos son algunos fabricantes reconocidos en el mercado por sus productos UTM: • “Fortigate” • “SonicWALL” • “CISCO” • “CheckPoint” • Cyberoam • Astaro En esta caso, se van a definir las características de las marcas mas relevantes en el mercado, debido a que si se habla de cada una de ellas, se tendría que realizar otro estudio más completo, el cual no es objeto de este proyecto. 6.4 SOLUCIÓN FORTINET. [ 3] SCHROLL, Addam. Effective Practice: Purdue Firewall Appliance 22 “FortiGate es un Cortafuegos basado en hardware con funciones de Antivirus que proporciona protección a la red en tiempo real. Basado en el revolucionario chip FortiASIC de Fortinet, el sistema de FortiGate es el único sistema que puede detectar y eliminar virus, gusanos y otras amenazas basadas en contenido, sin afectar al rendimiento de la red, incluso para aplicaciones en tiempo real como la navegación Web. Las soluciones de FortiGate también incluyen Firewall, filtrado de contenido, VPN, detección y prevención de intrusos y gestor de tráfico, haciendo de FortiGate la más rentable, conveniente, potente y segura de las soluciones de seguridad de red disponibles.”[4] Fortinet, ofrece appliances llamados Fortigate, las cuales son desarrolladas 100% por Fortinet, desde el hardware, hasta su sistema operativo, y cada uno de los servicios que las integran. Figura 3. Appliances Fortinet8 Los servicios que prestan los appliances fortigate son: • [ 8 Firewall, VPN, and Traffic Shaping 4 http://www.abox.com http://www.fortinet.com 23 • Intrusion Prevention (IPS) • Antivirus/Antispyware/Antimalware • Integrated Wireless Controller • Application Control • IPv6 Support • Web Filtering • Antispam • VoIP Support • Layer 2/3 routing • WAN Optimization & Web Caching 6.5 SOLUCIÓN SONICWALL “SonicWALL, Inc. ofrece soluciones de seguridad de redes integral, acceso remoto seguro, seguridad de correo electrónico y Web, copias de seguridad y recuperación de datos y política y administración. Las extensivas soluciones de SonicWALL, que integran productos basados tanto en software como en dispositivos, además de servicios de suscripción de valor añadido, permiten a las empresas asegurar una protección integral sin comprometer el rendimiento de la red. SonicWall es reconocido internacionalmente como líder de los mercados de la pequeña y mediana empresa, y sus soluciones se distribuyen entre entornos empresariales distribuidos, instituciones gubernamentales y los segmentos de salud y puntos de venta minoristas, así como a través de los proveedores de servicios.”[5] Sonicwall por su parte, desarrolla sus propios servicios y hardware pero, en algunos casos usa productos de terceros para brindar un servicio en específico, un ejemplo claro de esto: el antivirus de perímetro que brindan como servicio, los dispositivos de seguridad de SonicWALL usan las firmas de virus de McAfee. Otro ejemplo:, el filtrado web que proveen las cajas de Sonicwall, puede ser integrado con Websense (servicio de filtrado de contenido en línea), en fin, hay varias situaciones en las [ 5 Http://www.sonicwall.com 24 que Sonicwall delega la responsabilidad de desarrollo a otras empresas. Como se puede ver, en el ámbito comercial, las empresas son muy similares, cada una con ventajas y desventajas, ofreciendo un dispositivo de seguridad que en algunos casos puede ser visto como “bastante costoso”, costo que pequeñas empresas no estarían dispuestas a pagar o que no lo consideran de importancia. El gran reto de este proyecto de grado, consiste en demostrar que con muy pocos recursos y con software libre, se puede lograr una solución robusta y similar a las soluciones de los grandes fabricantes. Aquellos fabricantes que como negocio cobran millones por una PC con GNU/Linux disfrazada de una “gran y robusta solución” 6.6 DIFERENCIAS ENTRE EL PROYECTO Y LAS SOLUCIONES COMERCIALES. Después de haber hecho un recorrido por el amplio mercado de las soluciones de seguridad que existen hoy, e identificando las características y el plus de cada una de ellas, pertinente realizar una comparación entre el es appliance libre que se propone, y las demás marcas comerciales, ya que de esta manera, se podrá determinar y conocer qué hace único e innovador este proyecto. Las principales diferencias entre una solución comercial, sin importar la marca, con el proyecto que se plantea son: • Haciendo énfasis sólo a nivel de software (debido a que muchos fabricantes cierran sus drivers), este proyecto es totalmente libre, el proyecto busca implementar una solución de seguridad a muy bajo costo usando software libre, y por ende aprovecha las bondades del código abierto para construir un appliance, seguro, confiable y con un rendimiento adecuado. • Los grandes fabricantes enfocan gran parte de su trabajo en desarrollar hardware especializado. Sin embargo, desarrollar Hardware no es el objetivo, ni hace parte del proyecto, ya que el Hardware que se usará en la implementación del dispositivo de seguridad serán componentes obsoletos de equipos de cómputo, los cuales han sido 25 declarados inservibles. • El objetivo principal de todas las soluciones comerciales, es lucrarse económicamente, producir y comercializar su producto, posicionarse en el mercado, aumentar sus activos, en fin todo lo relacionado con el dinero. El proyecto aquí descrito, tiene un fin social, que consiste en reutilizar aquella tecnología catalogada por la mayoría de las empresas como “obsoleta”, para disminuir los problemas ambientales que se puedan presentar debido al mal manejo que muchas empresas dan a dichos residuos tecnológicos. • Todos los aplicativos, usados en el proyecto, son desarrollados por diferentes comunidades, ubicadas en diferentes partes geográficas, los cuales al unirlos, forman una excelente solución de seguridad. 26 7. MARCO TEÓRICO Para que un sistema de protección de información sea seguro, debe contar con algunos servicios de seguridad, que nos ayuden a minimizar los riesgos de fuga de información, sin embargo, implementar cada uno de estos servicios en un hardware diferente, implica gastos y muchas horas de trabajo. Afortunadamente en la actualidad se cuenta con appliances o utm's los cuales se caracterizan por ofrecer todos los servicios de seguridad en un solo equipo. Pero ¿según los autores expertos en el tema, que es una Appliance? 7.1 APPLIANCE Es un término común en inglés, utilizado en el lenguaje cotidiano, que se traduce a menudo como “dispositivo” o “aplicación”. Sin embargo, en el mundo de las TIC “appliance” es un término técnico. Una appliance destaca por el hecho de que ofrece una interacción óptima entre hardware y software, es decir, hardware y software están adaptados perfectamente entre sí. Una appliance no es un “sabelotodo” sino que está destinada a un solo campo de actividades que domina perfectamente. Un ejemplo de la vida cotidiana: Con una lavadora no se puede ni telefonear ni hacer café. 9 7.2 TIPOS DE APPLIANCE Teniendo clara, la definición del término appliance, se deben nombrar los diferentes tipos que existen en el mercado, ya que aunque en este documento el objetivo principal es un appliance de seguridad, es importante conocer que existen otros tipos, los cuales pueden ser interesantes y útiles: 7.2.1 Appliance de Telefonia IP: Un Appliance VoIP proporciona todas las características que se esperan de una PBX. Trabaja con voz sobre IP en varios protocolos (SIP, H323) e interopera con casi todo el equipo estándar basado en telefonía IP. Provee servicios de correo de voz, comunicación de llamada, respuesta 9 http://www.dallmeier-electronic.com/es/productos/dvr-nvr/videoip-appliance-smatrix/que-es-unaappliance.html 27 interactiva de voz, cola de llamados, servicio de identificación de llamados, etc. 7.2.2 Appliance de Correo: Este Appliance permite ser utilizado como servidor de correo para realizar filtrado de correos, ya sea de spam o de virus. Esto es gracias a las herramientas de antivirus y antispam que posee; lo que mantiene el correo de los usuarios libre de virus y con una mínima tasa de spam. La otra posibilidad de uso de este Appliance es como suite de colaboración de correo, incluyendo la capacidad de compartir calendarios para poder agendar reuniones y otros. 7.2.3 Appliance de Monitoreo: Este Appliance de monitoreo contiene un conjunto de aplicaciones de software que permiten obtener información útil para el análisis y monitoreo de enlaces y dispositivos de red. Con este dispositivo se pueden monitorear aspectos importantes como: • Host • Puertos • HTTP • Conectividad a base de datos • FTP • SMTP • POP • IMAP • Servicios personalizados • Entre otros Como pueden ver, un appliance se puede diseñar para cumplir cualquier función o necesidad, es decir, cualquier servicio informático se puede instalar en una “caja negra” la cual será destinada única y exclusivamente, para cumplir dicho servicio. Ahora bien, el objetivo primordial de este proyecto, es implementar un appliance de 28 seguridad. Este tipo de appliance es más conocido como UTM y se describe a continuacion: 7.3 UTM: (Robert, Newman, 2009, P281) Gestión unificada de amenazas o algunas veces llamados “Firewall de la proxima generacion”. Los equipos UTM traen múltiples servicios de seguridad en una sola plataforma. Una plataforma UTM típica provee servicios de Firewall, VPN, antivirus, filtrado de contenido, un sistema de detección y prevención de intrusos, y antispam. Estos appliances fueron derivados de productos de empresas como: • 3COM • CISCO • JUNIPER • SONICWALL • FORTINET La principal ventaja de un UTM, es que incluye múltiples características de seguridad en un solo aparato, esto hace que el administrador o el cliente final tenga facilidades como: • Fácil administración • Administración centralizada • servicios integrados. • Alto nivel de seguridad Debido a que el termino appliance es un termino estandar para describir un aparato o artefacto, en el siguiente apartado, se describiran los servicios de seguridad y redes que proveen los dispositivos UTM, los cuales hacen de este appliance una Solución demasiado robusta y eficiente, y por tanto son los aspectos fundamentales que hacen que el dispositivo sea un appliance de seguridad. 7.4 SERVICIOS DE SEGURIDAD 7.4.1 FIREWALL: (Maria, España, 2003 P295) Es un sistema de seguridad desarrollado 29 para ubicarse en una red publica (Generalmente Internet) y una red interna perteneciente a una organización, o bien entre diferentes secciones de una red interna. Esta compuesto por Hardware y Software que controlan el trafico entre las dos redes, autorizando o impidiendo su transito de una a otra. Para construir un firewall existen básicamente dos posibilidades: Realizar un filtrado de paquetes a nivel de red. Esta modalidad suele ubicarse en enrutadores, consiste en un filtro que examina cada paquete que llega al dispositivo y dictamina si aceptar o no su paso hacia uno de los puertos de salida, en función de si cumple ciertas reglas especificadas en una base de datos. En la actualidad existen niveles que trabajan a niveles superiores, y admiten una mayor cantidad de criterios como por ejemplo, la ip de origen, la ip destino, el protocolo entre otros. Cortafuegos intermediario en la capa de aplicación. Actúa a nivel de aplicación, generalmente intermediando la comunicación, entre un proceso cliente y un proceso servidor. Uno de los cuales pertenece a la red que se desea proteger y el otro a una red externa. 7.4.2 IDS/IPS: (Miquel, Colobran, 2008 P152) Los sistemas de detección de intrusos (IDS), monitorizan los contenidos del flujo de información, a través de la red, en la búsqueda y rechazo de posibles ataques. Pueden combinar Hardware y Software, y normalmente se instala en los dispositivos más externos de la red. Como firewall y proxies. Admiten dos clasificaciones: • según la actividad que realizan: • Basados en RED: Monitorean una red, suelen ser elementos pasivos que no sobrecargan la red en exceso. • Basados en Hosts: Monitorean un host o un conjunto de ellos y permiten un control mas detallado, registrando los procesos y los usuarios implicados en las actividades registradas por el IDS, consume recursos e incrementa el flujo de la red. • Basados en aplicaciones: Monitorean los ficheros de registro o logs de una 30 aplicación en específico, para detectar actividades sospechosas • según el tipo de análisis que realizan: • Basados en firmas: De forma similar a los programas antivirus, estos tipos de IDS, monitorean la red en busca de patrones(firmas de ataques) que permitan identificar un ataque previamente conocido, estos requieren que la base de datos de firmas, se encuentre constantemente actualizada • Basados en anomalías: El IDS buscara comportamientos anómalos en la red (un escaneo de puertos, paquetes malformados etc.) Puede producir falsos positivos, debido a la ambigüedad de la que se podría considerar un “comportamiento anómalo”, pero permite adaptarse a nuevos ataques sin necesidad de añadir nuevas firmas. Uno de los IDS mas conocido tiene como nombre SNORT(SNORT es una aplicación libre que funciona como IDS, en captiulos posteriores se entrará mas en detalle en su definición e instalación) . 7.4.3 VPN: (Angel, Cobo, P187) Una red privada virtual, se puede definir como una extensión de una red privada, que utiliza enlaces a través de redes publicas o compartidas como Internet, y que posibilita la transmisión de datos como si se tratase de un enlace punto a punto. Para realizar esto, los datos son encapsulados utilizando un protocolo de túnel que consiste en añadir al paquete original una cabecera que proporciona la información de enrutamiento lo cual permite que éste pueda llegar a su destino. Para que el enlace sea privado, los datos viajan cifrados, lo que garantiza la confidencialidad, aun así si estos son interceptados por terceros. 31 Figura 4. Diagrama VPN Básicamente existen 3 tipos o esquemas de VPN: • VPN de acceso remoto (Damian, Ferrer, 2005) Este es quizás el modelo más usado actualmente y consiste en usuarios o proveedores que se conectan con la empresa desde sitios remotos (oficinas comerciales, domicilios, hoteles, aviones, etc.) utilizando Internet como vínculo de acceso. Una vez autenticados tienen un nivel de acceso muy similar al que tienen en la red local de la empresa. Muchas empresas han reemplazado con esta tecnología su infraestructura "dial-up" (módems y líneas telefónicas), aunque por razones de contingencia todavía conservan sus viejos módems. • VPN sitio-a-sitio (Damian, Ferrer, 2005) Este esquema se utiliza para conectar oficinas remotas con la sede central de organización. El equipo central VPN, que posee un vinculo a Internet permanente, acepta las conexiones vía Internet provenientes de los sitios y establece el "túnel" vpn. Los servidores de las sucursales se conectan a Internet utilizando los servicios de su proveedor local de Internet, típicamente mediante conexiones de banda ancha. Esto permite eliminar los costosos vínculos punto a punto tradicionales, sobre todo en las comunicaciones 32 internacionales. • VPN Interna(Damian, Ferrer, 2005) Este esquema es el menos difundido pero uno de los más poderosos para utilizar dentro de la empresa. Es una variante del tipo "acceso remoto" pero, en vez de utilizar Internet como medio de conexión, emplea la misma red Lan (Red de área local) de la empresa. Sirve para aislar zonas y servicios de la red Lan interna. Esta capacidad lo hace muy conveniente para mejorar las prestaciones de seguridad de las empresas. 7.4.4 PROXY (David, Martinez, 2009, P147) Es un servidor que separa dos redes diferentes, entre sus funciones se destacan: 2. Centralizar el tráfico en ambas redes. 3. Acelerar el acceso a contenidos WEB 4. Restringir cierto tipo de tráfico, según una serie de reglas establecidas en el archivo de configuración. 5. Permitir el acceso a otras redes, como Internet, a servidores ubicados en una red privada. 6. Guardar un registro del tráfico de red. Figura 5. Diagrama Proxy Tal y como se mencionaba anteriormente el proxy puede servir para acelerar la carga de paginas WEB, esto se logra mediante la memoria cache que utiliza. En este tipo de memoria se almacenan datos obtenidos de otras peticiones anteriores con el fin de no tener que 33 conectarse a la página WEB original para descargar un dato requerido, puesto que la información ya la tiene almacenada localmente. El acceso a este dato es muy rápido y por lo tanto la pagina web carga con mayor rapidez y se disminuye el tráfico que circula por la red, el proxy mas conocido recibe el nombre de SQUID y es software libre. 7.5 SISTEMAS OPERATIVOS EMBEBIDOS Conociendo ya la definición de UTM, y los servicios que presta, es necesario hablar sobre aquella plataforma o sistema operativo, el cual hace posible construir este tipo de Appliance, ya que por razones de rendimiento, capacidad, y personalización, no es viable instalar un sistema operativo convencional en un Appliance. Por tal motivo, existen sistemas operativos denominados embebidos, diseñados, personalizados y configurados, única y exclusivamente para este tipo de aparatos. 7.5.1 Sistemas embebidos: (David, Perez, 2009, P4): Un sistema embebido posee hardware de computador junto con software embebido como uno de sus componentes más importantes. Es un sistema computacional dedicado para aplicaciones o productos. Puede ser un sistema independiente o parte de un sistema mayor, y dado que usualmente su software está embebido en ROM (Read Only Memory) no necesita memoria secundaria como un computador. Un sistema embebido tiene tres componentes principales: 1. Hardware. 2. Un software primario o aplicación principal. Este software o aplicación lleva a cabo una tarea en particular, o en algunas ocasiones una serie de tareas. 3. Un sistema operativo que permite supervisar la(s) aplicación(es), además de proveer los mecanismos para la ejecución de procesos. En muchos sistemas embebidos es requerido que el sistema operativo posea características de tiempo real. 7.5.2 Sistemas operativos embebidos: (Andrew, Tanenbaum, 2001): Un sistema operativo embebido es un sistema operativo que se ejecuta sobre un sistema embebido, los 34 cuales han sido descritos previamente. Los sistemas operativos embebidos generalmente se ejecutan sobre dispositivos que difieren de un computador común, como televisores, hornos microondas, y teléfonos móviles. Usualmente tienen algunas características de sistemas de tiempo real, pero a la vez tienen restricciones de tamaño, memoria y energía que los hacen especiales. Otra definición interesante: “Un sistema operativo para un sistema embebido usualmente es diseñado para una aplicación específica, y por lo tanto es más estático que un sistema operativo de propósito general”. 10 7.6 ALGUNOS SISTEMAS OPERATIVOS EMBEBIDOS Si bien la mayoría de fabricantes desarrollan su propio sistema operativo para construir sus Appliances, existen sistemas operativos libres, para estos dispositivos, desarrollados por la comunidad del software libre, algunos de estos sistemas son: 7.6.1 Symbian OS: el sistema operativo Symbian es una colección compacta de código ejecutable y varios archivos, la mayoría de ellos son bibliotecas vinculadas dinámicamente (DLL por sus siglas en inglés) y otros datos requeridos, incluyendo archivos de configuración, de imágenes y de tipografía, entre otros recursos residentes. Symbian se almacena, generalmente, en un circuito flash dentro del dispositivo móvil. Gracias a este tipo de tecnología, se puede conservar información aun si el sistema no posee carga eléctrica en la batería, además de que le es factible reprogramarse, sin necesidad de separarla de los demás circuitos. Pagina web: http://www.symbian.org/ 7.6.2 DD-WRT: DD-WRT es un firmware basado en Linux, una alternativa OpenSource 10 Friedrich, L. “A Survey on Operating System Support for Embedded Systems Properties”. Departamento de Informática e Estatística. 35 propicia para una gran variedad de routers WLAN y sistemas embebidos. El énfasis principal reside en proporcionar la forma más fácil posible, la manipulación y al mismo tiempo apoyar a un gran número de funcionalidades en el marco de la respectiva plataforma de hardware utilizada. La interfaz gráfica de usuario es lógicamente estructurada, y es operado a través de un navegador Web estándar, por lo que incluso aquellos usuarios sin conocimientos técnicos pueden configurar el sistema en tan sólo unos sencillos pasos. Pagina web: http://www.dd-wrt.com 7.6.3 OPEN-WRT: OpenWrt se describe como una distribución de Linux para dispositivos embebidos. En lugar de tratar de crear un firmware único, estático, OpenWrt proporciona un sistema de archivos totalmente modificable con la gestión de paquetes. Esto le libera de la selección de aplicaciones y la configuración proporcionada por el proveedor y le permite personalizar el dispositivo mediante el uso de paquetes para adaptarse a cualquier aplicación. Para el desarrollador, OpenWrt es el marco para construir una aplicación sin tener que construir un firmware completo alrededor de ella, para los usuarios esto significa la capacidad de personalización completa, para usar el dispositivo en formas que nunca imaginó. Pagina web: http://openwrt.org/ 7.7 RE-USO TECNOLOGICO EN COLOMBIA Desde hace algun tiempo atras cada uno de los grandes fabricantes iniciaron una carrera sin control en la creación de productos tecnológicos, esta etapada, denominada por algunos autores como la revolución tecnológica, se basa fundamentalmente en la evolucion de la electrónica y su incorporación a la vida cotidiana de todos los seres humanos, haciendo la vida mucho mas facil diseñando dispositivos como teléfonos moviles, PC'S, impresoras, etc. En Colombia existen millones de articulos electronicos, que con el paso del tiempo se convertirán en una gran amenaza al medio ambiente, y es importante que la generacion actual, se pregunte a donde irar a para esta basura tecnologica o tambien llamada E-Waste. Debido al consumismo y a los grandes fabricantes, hoy en dia, es muy comun cambiar de 36 celular o PC en muy corto tiempo, gracias a que siempre llegan al mercado nuevos equipos con nuevas funcionalidades, ¿Pero a donde iran a parar todos estos equipos que se dejan de usar, que son reemplazados por un equipo de mejor tecnologia? Hay varias formas de concientizar a la sociedad, y colaborar con esta gran problemática, inicialmente se deben seguir los siguientes consejos: Rehúso. Reducción. Donación. Reciclaje. Actualmente, en nuestro país se cuenta con un proyecto el cual busca, re-usar estos equipos obsoletos en la educación de todos los niños alejados de las zonas urbanas. Se trata de “Computadores para educar” “Es un programa de reuso tecnológico cuyo objetivo es brindar acceso a las tecnologías de información y comunicaciones a instituciones educativas públicas del país, mediante el reacondicionamiento y mantenimiento de equipos, promoviendo su uso y aprovechamiento significativo en los procesos educativos, a través de la implementación de estrategias de acompañamiento educativo y apropiación de TIC’s.”11 Como se puede observar, computadores para educar brinda una alternativa para la problemática de la E-waste, Sin embargo, en este proyecto, se mostrara otra alternativa, usando equipos obsoletos, para desarrollar una solución de seguridad, robusta y confiable 11 http://www.computadoresparaeducar.gov.co 37 8. DEFINICIÓN OPERACIONAL DE TÉRMINOS SEGURIDAD INFORMATICA: (Jose, Salvador, 2003, P101)La seguridad informática es definida por 3 aspectos fundamentales. • La confidencialidad → Asegura que la información no este disponible o sea descubierta por personas no autorizadas. En otras palabras, se refiere a la capacidad del sistema para evitar que terceros puedan acceder a la información. • La disponibilidad → Un sistema seguro debe mantener, la información disponible para los usuarios, significa que el sistema, tanto en hardware y software se debe mantener funcionando eficientemente, y que es capaz de recuperarse rápidamente en caso de fallo. • La integridad → Garantiza que la información pueda ser modificada, incluyendo su creación y borrado, solo por el personal autorizado. El sistema no debe modificar o corromper la información, que almacene, o permitir que alguien no autorizado lo haga. El orden de importancia de estos tres factores es diferente, e incluso entran en juego otros elementos como la autenticidad, y el no repudio. 38 9. ENFOQUE METODOLOGICO. 9.1 Instalación del sistema operativo. Es claro que todo Hardware necesita de un software que lo controle y administre los recursos físicos de la mejor manera, con el único fin de cumplir las tareas para las cuales el dispositivo fue diseñado. Hablando específicamente de los routers, los fabricantes crean su propio firmware, cerrado, para que controle sus maquinas. Sin embargo, gracias al software libre, existen firmware libres, los cuales son mantenidos por la comunidad, estos en muchos casos mejoran el rendimiento de los dispositivos, debido a que algunos fabricantes, restringen funciones y capacidades de sus equipos. Pero al instalar algún firmware libre, se evidencian características que con el firmware propietario no es posible realizar. Existen muchos firmware libres, entre los más destacados están: • DD-WRT: DD-WRT es un firmware no-oficial para Linksys WRT54G/GS/GL y otros routers 802.11g basados en un diseño de referencia similar o igual al Broadcom. Todos estos routers están diseñados para utilizar linux en el firmware oficial y su código fuente esta disponible bajo licencia GPL. El firmware lo desarrolla BrainSlayer y su página web es dd-wrt.com. Las primeras versiones de DD-WRT se basaron en el firmware "Alchemy" de Sveasoft Inc, que a su vez se basa en el firmware original GPL de Linksys y en otros proyectos. DD-WRT se creó debido a que Sveasoft comenzó a cobrar 20$ por descargar su software. Entre otras características que el firmware oficial de linksys no incluye, DD-WRT añade el Demonio Kai para el Kai Console Gaming network12, WDS Puente de red/repetidor, Autenticación Radius para comunicaciones Wireless más seguras, avanzado control de balanceo de cargas o Calidad de servicio (QOS), y software para que funcionen las tarjetas SD/MMC que se le pueden instalar haciendo algunas modificaciones al dispositivo.13 12 Kai es una red global de juegos que reúne a diferentes consolas, en una comunidad integrada. Se trata de software que se ejecuta en su PC que le permite jugar con interconexión de sistemas de juegos habilitados en línea de forma gratuita. http://www.teamxlink.co.uk/ 13 http://www.dd-wrt.com/wiki 39 • Sveasoft: firmware Sveasoft suele ser anunciada como la posibilidad de aumentar el radio de transmisión de energía de un router a partir del 28 mW a 251 mW, así como la posibilidad de utilizar 14 canales para 802.11b transmisiones en lugar de los 11 normalmente permitidas en EE.UU. o 13 permitidos en otras partes. Las modificaciones de potencia y frecuencia pueden interferir con otros aparatos electrónicos, y puede ser ilegal en algunas jurisdicciones. Otras características incluyen la calidad de servicio, Sistema de Distribución Inalámbrico, bridging inalámbrico, el modo de soporte al cliente (CPE), un servidor PPTP VPN y el cliente, los paquetes descargados y soporte IPV6. La última versión del firmware Talisman admite hasta 16 VLANs Ethernet, hasta 15 VLAN virtual inalámbrico cada uno con su propia gestión de ancho de banda WEP, WPA o WPA2 y el SSID, y ya cuenta con servidor de seguridad. Sveasoft ha lanzado varias nuevas versiones de firmware Talisman incluyendo Talismán / hotspot, Talismán / VPN (con soporte IPSec), Talismán / malla (red de malla automática). • Openwrt: Se describirá posteriormente. Para este proyecto , se eligió OpenWRT, por las razones que se explicaran seguidamente. ¿Que es OpenWRT? En lugar de tratar de crear un firmware único y estático, OpenWrt proporciona plenamente el sistema de archivos con permisos de escritura de gestión de paquetes. Esto libera las restricciones de la selección de aplicaciones y la configuración proporcionada por el proveedor y le permite utilizar los paquetes para personalizar su dispositivo adaptándose a cualquier aplicación. Para los desarrolladores, OpenWrt proporciona un marco para crear una aplicación sin tener que crear una imagen completa del firmware y la distribución. Algunas características son: • Libre y de código abierto. El proyecto es totalmente libre y de código abierto, 40 licenciado bajo la GPL. El proyecto tiene intención de ser siempre alojado en un sitio de fácil acceso, con el código fuente completo disponible y fácil de construir. • Impulsado por la comunidad. No se trata de "nosotros" que ofrece algo a "ti", es casi todo el mundo unido para trabajar y colaborar hacia una meta común. OpenWrt ha sido establecido como la mejor solución de firmware de su clase. Es muy superior a otras soluciones integradas en el rendimiento, la estabilidad, extensibilidad, robustez y diseño. Es la meta clara de los desarrolladores OpenWrt seguir ampliando el desarrollo y garantizar que OpenWrt sea el marco principal para las soluciones innovadoras y genuinas.14 OpenWRT, se puede instalar en diferentes arquitecturas y multiples dispositivos, si se desea ver el listado completo de los dispositivos soportados pueden visitar este link http://wiki.openwrt.org/toh/start ¿Por que OpenWRT? Se decidió usar OpenWRT por las siguientes razones: 14 • Software Libre • Impulsado por la comunidad. • Gestor de paquetes incluido • Gran cantidad de aplicaciones disponibles. • Estable y mejor rendimiento. • El mas usado actualmente. • Disponible para instalar en arquitecturas X86 • Amplio soporte de Hardware. • Interfaz web de administración Http://www.openwrt.org 41 Proceso de instalación. OpenWRT Se instalará en un PC con las siguientes características: • Disco duro de 10GB • Memoria RAM 128MB • Procesador Intel Celeron 333MHZ • 2 tarjetas de Red. • Unidad de CD Figura 7. Equipo usado para el proyecto. Elaboración propia 42 Figura 8. Equipo usado para el proyecto. Elaboracion Propia • Se descarga la imagen precompilada de OpenWRT para arquitecturas X86: http://downloads.openwrt.org/kamikaze/8.09.2/x86/openwrt-x86-ext2.image • Se copia la imagen a un dispositivo USB: “cp openwrt-x86-ext2.image /media/USB/” • Instalamos la imagen, para esto es necesario usar un LiveCD cualquiera, en este caso usaremos Slitaz por que es un LiveCD de muy poco tamaño. • Iniciamos desde el LiveCD • Montamos la unidad USB • Instalamos la imagen en nuestro Disco duro. 43 "dd if=/media/USB/openwrt-x86-ext2.image of=/dev/hda bs=1M count=100" Donde: /media/USB → es la unidad USB /dev/hda → es el disco duro donde se desea instalar la imagen Reiniciamos el equipo y ya tendremos nuestro sistema operativo instalado. Figura 9. Instalación OpenWRT. Elaboración propia 44 9.2 INSTALACIÓN DE SERVICIOS 9.2.1 Configuración Básica Después de tener el sistema operativo instalado (OpenWRT), es necesario realizar una configuración básica con el fin de que el dispositivo tenga salida a Internet y poder descargar cada uno de los servicios de seguridad haciendo uso del gestor de paquetes incluido en OpenWRT denominado OPKG. (Jesus, Niño, P 198) La descarga e instalación de paquetes se realiza mediante el sistema de gestión de paquetes que también se conoce como gestor de paquetes, cada uno de estos programas (o Administradores de paquetes) sirven para gestionar paquetes de instalación/desinstalación de diversas aplicaciones de forma muy sencilla haciendo uso de paquetes precompilados que se encuentran en los repositorios oficiales. En primer lugar, OpenWRT asigna la ip 192.168.1.1/24 en la interfaz principal; para ingresar al Appliance desde un PC, es necesario conectarse físicamente con un cable utp directo, y configurar una dirección IP de esa red, en la interfaz del equipo. Para este caso se usará la dirección 192.168.1.2/24. Después de aplicar esta configuración en el PC, comprobamos que el dispositivo responda adecuadamente. Figura 10. Pruebas de Ping. Elaboración propia Ahora ingresamos a la IP 192.168.1.1 a través de un navegador: 45 Figura 11. Ventana de logueo de OpenWRT. Elaboracion propia Previamente, para ingresar vía web, o SSH, fue necesario asignar una contraseña al usuario ROOT de forma local con el comando passwd, de la siguiente forma: Figura 11. Cambiando el password de root. Elaboracion propia Ingresamos a través del navegador, con el usuario ROOT y la contraseña, que se asigno en el paso anterior: 46 Figura 12. Interfaz WEB OpenWRT. Elaboración propia Este es el panel de administración del dispositivo, este panel, da información importante del appliance, como versión del firmware, kernel, y su respectiva arquitectura, entre otros. 9.2.1.1 Configuración de la interfaz WAN. Teniendo acceso al panel de administración vía WEB, el siguiente paso es configurar la interfaz WAN, la cual será al encargada de recibir el servicio de INTERNET que brindara el proveedor respectivo. OpenWRT, permite diferentes modos con los cuales recibir el servicio de internet que nos brinda el proveedor, es decir, es necesario tener claro con que tecnología y de que forma, el proveedor entrega el servicio, para así realizar la configuración adecuada en la interfaz WAN. Los modos de configuración que trae el sistema operativo son: IP estática → Adecuado cuando el proveedor entrega una IP estática, generalmente una publica. DHCP → El proveedor entrega el servicio con una IP dinámica. PPPoE → Es útil cuando el proveedor, entrega un servicio de banda ancha mediante servicios como cablemodem y xDSL. 47 PPPoA → Es útil cuando el proveedor, entrega un servicio de banda ancha mediante servicios como cablemodem y xDSL. Tiene ventajas de calidad sobre PPPoE PPTP → Protocolo de Microsoft, se usa cuando el proveedor da el acceso a Internet a través de una VPN. WWAN → Cuando la conexión es inalámbrica. De acuerdo al proveedor de servicio, para este caso se configurará la interfaz WAN, por medio del DHCP. Posteriormente, se realiza la conexión física, del cablemodem al dispositivo por la interfaz WAN, y se comprueba que el dispositivo tenga salida a internet. 48 Figura 13. Diagnosticos Con esto se verifica que el dispositivo ya tiene acceso a internet. 9.2.1.2 Configuración de la Interfaz LAN Ahora que el dispositivo tiene salida a internet, el siguiente paso, es configurar la interfaz local, la cual brindara la conexión a internet a toda la red LAN, es decir, a todos los computadores que conforman la red. Desde la interfaz web, en el apartado de red- DHCP, se activa el servidor DHCP para la interfaz local, de esta forma, cualquier equipo que se conecte, tomara la IP, la ruta por defecto y los DNS de forma automática. 49 Figura 14. Configuración DHCP. Elaboración propia Se guardan los cambios, y se verifica conectando un equipo a dicha interfaz, y se comprueba que le haya asignado una dirección valida, y por ende que exista acceso a INTERNET. Figura 15.Configuracion interface equipo cliente. Elaboración propia En la imagen se puede evidenciar, la dirección IP que asigno el dispositivo: 192.168.1.184. 50 Por último verificamos conexión a internet. Figura 16. Pruebas de Ping. Elaboración propia Y si es necesario, se verifica que el trafico si este pasando a través del appliance OpenWRT, por medio del comando traceroute, el cual es usado para identificar cada uno de los saltos que hace un paquete, antes de llegar a su destino. Figura 17. Pruebas de traceroute. Elaboracion propia En algunos dispositivos, es necesario configurar manualmente lo que se denomina NAT, con el fin de enmascarar la dirección IP local para acceder a internet, esta salida debe hacerse desde una dirección IP pública, por ello se usa el NAT. (Luis, Corrales, 2006, P83), NAT, es un servicio por el que cualquier dispositivo o aplicación software, puede cambiar la dirección IP origen o destino, por otra dirección previamente definida, se puede utilizar para dar salida a redes publicas a ordenadores que se encuentran con direccionamiento privado o para proteger maquinas publicas. 51 Figura 18. Esquema NAT. Elaboracion propia Sin embargo, debido a que OpenWRT es un sistema operativo para router, en la configuración por defecto, trae incluidas las reglas necesarias para hacer el NAT respectivo. Figura 19. Reglas por defecto firewall . Elaboración propia 9.2.1.3 Actualizando Gestor de paquetes Antes de empezar a configurar cada uno de los servicios, es necesario actualizar la lista de repositorios del gestor de paquetes que trae OpenWRT: OPKG, con el fin de obtener las últimas versiones de cada uno de los diferentes aplicativos. Para realizar dicha tarea, se debe realizar el siguiente proceso: En el apartado Sistema – Packages, se pueden encontrar algunos procesos muy útiles para el manejo de los paquetes de OPKG. Entre estas opciones se tienen: 52 Añadir un nuevo repositorio: Con esta opción, es posible añadir un nuevo servidor donde se encuentren algunas aplicaciones empaquetadas para OPKG, es decir, un servidor generalmente publicado en Internet, donde hay una gran recopilación de programas y utilidades adaptadas para instalarlas en OpenWRT haciendo uso de OPKG. Instalar paquete desde URL: En algunos casos, hay herramientas que no se encuentran en ninguno de los repositorios de OpenWRT publicados en Internet; sin embargo, algún miembro de la comunidad se ha tomado la tarea de adaptar dicha aplicación para OPKG, y ha publicado el paquete en su blog personal, para estos casos, esta opción es la adecuada, ya que con la simple url, se instala el paquete, sin necesidad de descargarlo en nuestro appliance directamente. Actualizar lista de paquetes: Este proceso permite mantener una lista actualizada de todos los paquetes que están incluidos en los diferentes repositorios. Paquetes instalados: Muestra una lista de todos los paquetes que están instalados en el Appliance. Paquetes disponibles: Muestra una lista de todos los paquetes que están disponibles en los repositorios y listos para ser instalados. 53 54 Paquetes instalados. Figura 20. Paquetes instalados. Elaboración propia 55 Figura 21. Paquetes disponibles. Elaboración propia Para actualizar la lista de paquetes disponibles en los repositorios, simplemente se debe dar click en el boton: “Update package list”. No esta de más aclarar, que para actualizar la lista de paquetes, es necesario que el appliance tenga acceso a Internet, y que tenga configurados los DNS adecuados. Con estos sencillos pasos, se ha realizado la configuración básica del appliance, y ya se encuentra lista para empezar a instalar y configurar cada uno de los servicios de seguridad que se van a implementar en el UTM. Es muy importante realizar esta configuración ya que facilita mucho el trabajo de instalación de la aplicación, es decir, si no se configurara el gestor de paquetes OPKG, la única opción de instalar los aplicativos, seria compilar, y como es sabido, la compilación lleva mucho tiempo y esfuerzo, solucionando problemas de librerías, entre otros. Teniendo el dispositivo listo, con conexión a internet, y la lista de paquetes actualizada, el siguiente paso, es la instalación de los servicios de seguridad que va a prestar el UTM. Cabe recordar que para efectos de este proyecto, los servicios que se van a instalar son: FIREWALL IDS VPN 56 PROXY Antes de iniciar con el proceso, es muy recomendable realizar un backup de la configuración básica del dispositivo, con el fin de poder restablecerla, en caso de que la instalación de alguna aplicación, dañe el buen funcionamiento y rendimiento del dispositivo. Gracias a la interfaz web que provee OpenWRT, realizar un backup de la configuración es bastante sencillo, en la opcion sistema – Backup & restore, simplemente asignamos un nombre al backup y se da click en el boton backup: Figura 22. Backup y restaurar. Elaboración propia Este archivo configuracion-inicial.tgz, es el resultado del backup, en el se encuentra la configuración básica actual. En caso de restaurarlo, se debe ir a sistema – Backup & restore y restaurar la configuración. 9.2.2 Instalación Firewall. Implementar un firewall o un cortafuegos (como se conoce en el idioma español), en una red LAN, es quizás la política de seguridad más usada a nivel corporativos por los directores 57 de IT. Normalmente, de acuerdo a la experiencia, muchos ingenieros piensan que implementar un firewall en su red, los protegerá de todas las amenazas que existen en Internet, sin embargo, es un error grave, pensar de esa forma, por que hoy en día, existen técnicas muy avanzadas que permiten evadir sin ningún problema un firewall convencional, además el firewall tiene limitantes como: No protege la red de ataques internos. Con un firewall no es posible proteger una red lan contra la transferencia de archivos infectados por virus o algún tipo de software malicioso. Por esta razón es fundamental, implementar todo un conjunto de mecanismos de seguridad en la red LAN, y no quedarse simplemente con un firewall que puede ser evadido, esto es posible sin necesidad de tener altos conocimientos en técnicas de intrusión. Un firewall, es un dispositivo o software, que permite aplicar diferentes politicas de seguridad entre la red LAN e Internet, El sistema determina gracias a la configuracion realizada por el administrador, que servicios de red pueden ser accedidos, desde la red LAN hacia Internet y viceverza. El esquema tradicional de un firewall en la red LAN, se muestra a continuación: 58 Figura 22. Diagrama firewall. Elaboración propia 9.2.2.1 Objetivos de un Firewall Todo el trafico, desde el interior (LAN) hacia exterior (Internet) debe pasar a través del firewall, para que la red este completamente protegida, es decir, si la organización tiene varias salidas a Internet, o a otra red externa, es necesario implementar otro firewall, con el fin de proteger cada una de las entradas por las cuales se comunican redes diferentes. Así mismo, ocurre cuando dentro de la organización, ciertos funcionarios, tienen acceso a Internet a través de un Modem 3G, dichas situaciones, representan un riesgo potencial para la organización, puesto que de esta forma, abren una puerta no segura, que cualquier delincuente informático, podría aprovechar. Se permitirá pasar solamente el trafico autorizado previamente por medio de las políticas implementadas por el administrador de red. Siempre se buscara, que el firewall sea muy seguro hasta tal punto que sea inmune a la penetración, es claro que ningún sistema será 100% seguro, pero se hará lo posible por que el sistema tenga muy poco riesgo de intrusión. Teniendo claro, qué es un firewall o cortafuegos, podemos continuar con el proceso de 59 instalación, en el dispositivo UTM. En OpenWRT, y en cualquier GNU/Linux en general, viene incluido dentro del kernel, un sistema de procesamiento de paquetes de red denominado IPTABLES, el cual se caracteriza por su rendimiento y buen funcionamiento. IPTABLES, permite al administrador definir reglas acerca de que hacer con los paquetes de red, dichas reglas se agrupan en cadenas, una cadena es una lista ordenada de reglas, y así mismo dichas cadenas se agrupan en tablas, cada tabla esta asociada con un tipo diferente de procesamiento de paquetes. Generalmente se manejan 5 cadenas básicas, sin embargo, en cualquier momento, se pueden crear cadenas. Las cadenas básicas son: Figura 23. Cadenas de firewall. Gregor N. Purdy – “Linux Iptables” Gregor N. Purdy en su libro “Linux Iptables: Pocket Reference” nos muestra una tabla la cual muestra las 5 cadenas básicas, y describe los puntos en el flujo de paquetes donde se puede especificar el procesamiento. Básicamente, las cadenas son: Forward: (Cadena de REDIRECCIÓN) — Todos los paquetes pasan por este sistema para ser encaminados a su destino 60 Input: (Cadena de ENTRADA) — Todos los paquetes destinados a este sistema Ouput: Todos los paquetes creados por este sistema Postrouting: Los paquetes salientes pasan por esta cadena después de haberse tomado la decisión del ruteo (SNAT) Prerouting: Todos los paquetes que logran entrar a este sistema, antes de que el ruteo decida si el paquete debe ser reenviado Adicionalmente, iptables define targets o destinos, los cuales consisten en la acción que se el sistema deberá realizar cuando un paquete, concuerde con algunas de las reglas preestablecidas, existen 4 tipos de targets: Figura 24. Targets del firewall. Gregor N. Purdy Básicamente, cada uno de los targets son: Accept: Este target hace que iptables acepte el paquete Drop: Este target hace que iptables descarte el paquete 61 Queue: Este destino hace que el paquete sea enviado a una cola Return: Hace que el paquete en cuestión deje de circular por la cadena en cuya regla se ejecutó el destino RETURN Implementar y administrar el firewall (IPTABLES), en OpenWRT, es demasiado sencillo, ya que, si se desea se puede hacer de forma tradicional, es decir, desde la consola, entrando al equipo por SSH, o se puede configurar mucho más fácil a través de la interfaz WEB, muy útil para aquellos usuarios que no se sienten muy familiarizado con la consola: Figura 25. Menu firewall. Elaboración propia Para entrar a este menú, se debe hacer click, en RED – FIREWALL, desde allí, se pueden crear todas las reglas necesarias por el administrador, cada regla debe tener los siguientes parámetros: Name: Un nombre que describa la función o el objetivo de la regla. Source: Interface de origen 62 Destination: Interface de destino. Protocolo: Ya sea TCP, UDP o ambos IP source: Dirección IP de origen IP Destination: Alguna dirección ip de destino, si no se tiene una se deja en blanco. Port: Numero de puerto por donde se establece la conexión Action: Que función cumplirá la regla, descartar, aceptar, rechazar etc. 9.2.3 Instalación IDS Un sistema de detección de intrusos, también conocido como un IDS, es un sistema encargado de vigilar todo el perímetro de red, ante ataques o intrusiones, previamente conocidos, es decir, el sistema contiene un gran número de ataques conocidos, ya sea por experimentados delincuentes informáticos, o scriptkiddies, usando herramientas automáticas. Cuando el IDS, detecta un patrón similar, a alguno de los ataques que tiene en su base de datos, lanza una alarma, que puede ser un sonido o un email al administrador, donde muestra información relevante sobre el ataque. Gonzalo Asensio, en su libro “Seguridad en Internet: Una guía practica para proteger su PC” define varios tipos de IDS: 1. HIDS (Host IDS): Es un IDS que controla una sola maquina, se encarga de monitorear el comportamiento de dicha maquina, gracias a este IDS es posible detectar, problemas de malware y virus, entre otros. 2. NIDS (Network IDS): Son IDS que analizan todo el trafico de la red 3. DIDS: Este es un hibrido que mezcla el HIDS con NIDS, Funcionamiento. El funcionamiento de un Sistema de Detección de intrusos, básicamente consiste en el análisis muy detallado del tráfico de red, el cual al entrar al sistema y es comparado con firmas de ataques conocidos, o comportamientos sospechosos, como pueden ser: 63 el escaneo de puertos. paquetes malformados vulnerabilidades conocidas El IDS no sólo analiza qué tipo de tráfico es, sino que también revisa el contenido y su comportamiento. Normalmente esta herramienta se integra con un firewall. El detector de intrusos es incapaz de detener los ataques por sí solo, excepto los que trabajan conjuntamente con otros servicios de seguridad, como el firewall, convirtiéndose en una herramienta muy poderosa ya que se une la inteligencia del IDS y el poder de bloqueo del firewall, al ser el punto donde forzosamente deben pasar los paquetes y pueden ser bloqueados antes de penetrar en la red. Los IDS suelen disponer de una base de datos de “firmas” de ataques conocidos los cuales sirven como patrón para comparar el trafico con todos estos tipos de ataques.. Dichas firmas permiten al IDS distinguir el trafico normal, de cualquier trafico invasivo que desee atacar la red, y poder enviar una alerta al administrador del evento ocurrido. 9.2.3.1 SNORT Figura 26. Snort. http://snort.org Es claro que, en el mercado actual, existen diversas alternativas de IDS, unas opciones privativas y otras libres, cada una con sus ventajas y desventajas. Sin embargo, para efectos de este proyecto, se usara Snort, un IDS completamente libre, para sistemas UNIX (Aunque también es posible instalar en plataformas Microsoft) el cual se caracteriza, por su poder, eficacia y rendimiento. 64 La página oficial del proyecto http://www.snort.org, dice: Snort® is an open source network intrusion prevention and detection system (IDS/IPS) developed by Sourcefire. Combining the benefits of signature, protocol, and anomaly-based inspection, Snort is the most widely deployed IDS/IPS technology worldwide. With millions of downloads and nearly 400,000 registered users, Snort has become the de facto standard for IPS. El proceso de instalación en nuestro appliance es bastante sencillo, simplemente se debe hacer uso de OPKG; para esto vamos a la interfaz web, y en el menú Sistema-Packages , damos click en el boton “update package list” Si todo ha salido bien, debe salir en pantalla un mensaje como este: Figura 27.Instalacion SNORT. Elaboración propia Si por alguna razón, no sale un mensaje de esta forma debe ser por alguno de los siguientes aspectos: El appliance no esta conectado a internet: Para poder usar el gestor de paquetes OPKG, es necesario que el dispositivo este conectado a Internet, por tal motivo se deben hacer pruebas de ping desde el prompt de OpenWRT hacia Internet, si el ping 65 no responde, habrá que configurar nuevamente el equipo para que tenga salida a internet. Si el ping hacia internet responde, es necesario hacer ping hacia un dominio, con el fin de verificar problemas de DNS. Si el dominio no responde, pero el ping a una ip si, se debe configurar los dns en el archivo /etc/resolv.conf de OpenWRT Después de que hemos actualizado los repositorios, en la lista de paquetes disponibles buscamos snort, y se instalan dos paquetes esenciales para el buen funcionamiento del IDS: Figura 28. Instalación SNORT. Elaboración propia Por último se deben descargar las reglas actualizadas del IDS, para ello descargamos el paquete disponible en la página web oficial del proyecto, sin embargo para realizar la descarga, es necesarios suscribirse al proyecto. https://www.snort.org/signup Luego de suscribirse, procedemos a descargar las reglas necesarias para el IDS: https://www.snort.org/downloads/1189 Teniendo ya el paquete con las reglas en nuestro PC, es necesario enviar dicho paquete a nuestro dispositivo, se puede hacer de muchas formas, con una simple usb, o a través de SSH: scp paquete-rules.tar.gz root@192.168.1.107:/home De esa forma enviaremos el paquete-rules a nuestro appliance, cabe resaltar que se debe reemplazar la dirección IP y el usuario por el que se haya configurado para el appliance. Solo nos queda descomprimir el archivo en el directorio /etc/snort/rules/ lo hacemos de la 66 siguiente forma: cd /home tar xvvf paquete-rules.tar.gz cp rules/* /etc/snort/rules cp prepoc_rules/* /etc/snort/prepoc_rules cp etc/* /etc/snort/ Con esto nuestro IDS quedara listo para configurar y empezar a vigilar la red local. 9.2.4 Instalación VPN El siguiente servicio a instalar, es el servidor VPN, a lo largo del documento se ha definido que es una VPN, y cada uno de los tipos existentes, por tal motivo no se entrara a definir qué es y cómo funciona Para brindar el servicio de conectividad VPN en nuestro dispositivo, se instalara el paquete OPENVPN. OpenVPN es un aplicación libre licenciada bajo la licencia GPL la cual permite ofrecer conectividad punto-a-punto con validación jerárquica de usuarios y host conectados remotamente. En su página oficial http://www.openvpn.net define: “OpenVPN Access Server is a full featured SSL VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, and Linux OS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.. ” El proceso de instalación es muy sencillo, en la lista de paquetes disponibles, buscamos el paquete openvpn-devel y procedemos con la instalación: 67 Figura 29. Paquete OPENVPN. Elaboración propia De esta manera, el servidor VPN estará instalado y listo para ser configurado. Figura 30. Paquete OPENVPN. Elaboración propia Como se puede observar en la imagen, cada uno de los paquetes necesarios ya se encuentran instalados: openvpn openvpn-devel openvpn-easy-rsa snort snort-mysql 9.2.5 Instalación Proxy 68 El último servicio a instalar, es el servidor proxy, este servicio es fundamental para cualquier red local a nivel corporativo, debido a que gracias a este se puede controlar el tráfico web que circula por la red, es decir, con el servidor proxy, es posible controlar a que sitios web los usuarios pueden acceder y a cuáles no. El funcionamiento de un servidor proxy es sencillo, el cliente establece la conexión con el servidor proxy, que a su vez establece otra conexión, como cliente, con el servidor final, cuando el proxy recibe el mensaje de petición del cliente puede generar una respuesta propia o retransmitirlo al servidor final. En otro caso, el servidor puede realizar modificaciones en la petición según la aplicación para que esté diseñado, y cuando reciba la respuesta del servidor final, la retransmitirá al cliente, también con la posibilidad de efectuar cambios: Figura 31. Esquema proxy. Jose M. Barcelo: Protocolos y aplicaciones Internet Segun Jose M. Barcelo en su libro “protocolos y aplicaciones Internet”, existen diversas aplicaciones de un servidor proxy, las más importantes son: Actuar como un cortafuegos que aísle la red local de las demás redes externas, en esta configuración, los clientes no tienen acceso directo al exterior de su red y toda comunicación con los servidores remotos tiene lugar por medio del proxy. Tener una memoria cache compartida entre los usuarios de la red local. Si diferentes clientes, solicitan directamente un mismo recurso, por norma general guardara la 69 misma copia de la respuesta en sus respectivas memorias cache, si lo solicitan por medio de un proxy, la primera petición necesitará un acceso al servidor remoto. Sin embargo, las siguientes pueden aprovechar la copia ya guardada en la memoria cache del servidor proxy, aunque provengan de clientes diferentes. Construir una jerarquía de memorias cache de proxies. En el nivel mas bajo se encuentran los proxies a que acceden directamente los clientes, en un segundo nivel existen los proxies a los que acceden los de primer nivel, y así sucesivamente, incluso pueden haber proxies a escala de todo un país. 9.2.5.1 Squid Squid es una aplicación multiplataforma libre, la cual brinda el servicio de Proxy, en el mundo tecnológico, squid es ampliamente reconocido por ser la solución proxy líder, por su rendimiento y amplias características. E n su página oficial15 lo definen como: “Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. It reduces bandwidth and improves response times by caching and reusing frequently-requested web pages. Squid has extensive access controls and makes a great server accelerator. It runs on most available operating systems, including Windows and is licensed under the GNU GPL.” La instalación de Squid en OpenWRT, se hace igual que otras aplicaciones, usando el gestor de paquetes OPKG, en la lista de paquetes disponibles buscamos squid y damos click en instalar. 15 http://www.squid-cache.org/ 70 Figura 32. Instalacion SQUID. Elaboración propia De esta forma, tendremos nuestro servidor proxy listo para configurar bajo los parámetros que el administrador de red crea conveniente. Hasta este punto, hemos descrito el proceso de instalación de cada uno de los servicios propuestos, como se pudo evidenciar, administrar nuestro appliance desde la interfaz web es muy sencillo, además haciendo uso del poder de OPKG, este ultimo quizás fue el factor mas determinante para seleccionar un sistema operativo liviano pero que tuviera la suficiente robustez para instalar servicios como proxy y VPN. Antes de continuar es pertinente aclarar, que el objetivo del proyecto es demostrar cómo de manera sencilla se puede construir un appliance de seguridad con los servicios principales usando aquellos equipos que generalmente se encuentran archivados en un cuarto de la empresa, por esta razón, en ningún servicio se describió como realizar la configuración, ya que es responsabilidad del administrador de red configurar cada uno de los aplicativos de la forma que lo requiera. 71 9.3 PRUEBAS DE RENDIMIENTO. Es importante, que a estos equipos que funcionan como gateway de la red, se les realicen algunas pruebas de rendimiento, con el fin de diagnosticar y dimensionar, la cantidad de equipos que pueden llegar a proteger. Para esto, se realizan las pruebas de rendimiento Benchmark como se le conoce en Inglés. En general, la realización de pruebas benchmark no suele ser una tarea fácil debido a que se requiere hacerlo de forma repetitiva para llegar a conclusiones útiles, encontrar patrones de comportamientos similares, y deducir de acuerdo a los resultados, ademas, asi como es complicado realizar las pruebas, es mas difícil aun interpretar los resultados de las mismas, se debe tener conocimiento del campo. Dentro del amplio espectro de pruebas de benchmarking existen infinidad de pruebas metodologías y aplicaciones para evaluar el rendimiento de casi cualquier componente software o hardware, como por ejemplo: Bases de datos Networking Servicios WEB Computadores de escritorio Tarjetas Graficas Sistemas operativos Entre otros.. De igual forma, existen aplicaciones, desarrolladas para realizar este tipo de test, de forma automatizada, las cuales lo realizan, y organizan toda la información recolectada para mostrarla de una manera mas amigable al tester. Algunas de estas aplicaciones son: TPC BenchmarkTM C (TPC-C): Aplicación propietaria utilizada para el procesamiento online de transacciones (en inglés, OLTP). Es considerado como el estándar para OLTP en cuanto a benchmarks para gestores de bases de datos. http://www.tpc.org 72 eWeek’s Nile benchmark: diseñado para comparar los resultados de varios gestores de bases de datos (entre otros MySQL, Microsoft SQL Server, IBM DB2, Oracle y Sybase)”. http://www.eweek.com/article2/0,4149,293,00.asp ApacheBench: Herramienta libre, diseñada para evaluar servidores HTTP de Apache. En particular muestra cuantas peticiones por Segundo es capaz de servir (viene incluida con el servidor Apache). http://httpd.apache.org/docs/2.0/programs/ab.html LoadRunner: Herramienta propietaria para la evaluación del comportamiento y rendimiento de aplicaciones web. Puede simular miles de usuarios y utiliza monitores de rendimiento para identificar y aislar problemas. Evaluación de servidores de aplicaciones web, servidores de streaming, gestores de bases de datos, aplicaciones Java y ERP. http://www-svca.mercuryinteractive.com/products/loadrunner Mausezahn: Es un generador de tráfico licenciado bajo la licencia GPL, escrito en C para GNU/Linux, muy versátil y rápido, que permite generar y enviar prácticamente todos los paquetes posibles con una sintaxis bastante sencilla. principalmente se utiliza para probar VoIP o redes multicast, aunque también puede usarse en auditorías de seguridad para chequear si los sistemas están suficientemente fortificados o, para comprobar los IDS, y demás elementos de seguridad perimetral. http://www.perihel.at/sec/mz/ D-ITG: (Generador de Tráfico distribuido en Internet) es una plataforma capaz de producir tráfico a nivel de paquetes con precisión, replicando apropiadamente los procesos estocásticos tanto para IDT (Entre la hora de Salida) y PS (Tamaño del paquete) variables aleatorias (exponencial, uniforme, cauchy, normal, Pareto, ...). DITG soporta la generación de tráfico IPV4 e IPV6 y es capaz de generar tráfico en las capas de red, transporte y aplicación. Se Cree que D-ITG muestra propiedades interesantes cuando es comparado con http://www.grid.unina.it/software/ITG/index.php 73 otros generadores de tráfico. Para este proyecto, se usaran las últimas 2 herramientas mencionadas, ya que son las herramientas adecuadas para medir el rendimiento en la red. 9.3.1 Escenario de las pruebas Se realizaran 2 laboratorios, uno por cada aplicación , es necesario hacer 2 esquemas diferentes, puesto que cada herramienta funciona de forma diferente, y lo mejor es simular el entorno ideal, para que las pruebas tengan los resultados esperados: Laboratorio A: Internet llega al dispositivo a través de un cableModem que entrega el proveedor, en este caso UNE, dicho cableModem entrega una dirección IP publica por medio de un servidor DHCP. Igualmente, detrás del appliance de seguridad, se encuentra un equipo el cual será el encargado de generar el tráfico. La siguiente es la topología del laboratorio: 74 Figura 32. Laboratorio A. Elaboracion propia Básicamente, en este laboratorio se busca medir la carga del sistema de nuestro appliance, a medida que viajan paquetes de red, por medio de él. Se hicieron los siguientes envíos de paquetes usando la herramienta Mausezahn: Para 1.000.000 de paquetes: epsilon@C3PO:~$ sudo mz eth0 -c 1000000 \ "ff:ff:ff:ff:ff:ff ff:ff:ff:ff:ff:ff cc:dd 00:00:00:ca:fe:ba:be" 4.25 seconds (235294 packets per second) Para 10.000.000 de paquetes: epsilon@C3PO:~$ sudo mz eth0 -c 10000000 \ "ff:ff:ff:ff:ff:ff ff:ff:ff:ff:ff:ff cc:dd 00:00:00:ca:fe:ba:be" 40.24 seconds (248509 packets per second) Para 100.000.000 de paquetes: epsilon@C3PO:~$ sudo mz eth0 -c 100000000 \ "ff:ff:ff:ff:ff:ff ff:ff:ff:ff:ff:ff cc:dd 00:00:00:ca:fe:ba:be" 436.54 seconds (229074 packets per second) Laboratorio B: Para esta prueba, el esquema es similar, sin embargo, ya que la herramienta D-ITG trabaja bajo una arquitectura cliente/servidor, es necesario contar con un servidor externo publicado en Internet el cual tendrá corriendo la aplicación servidor de D-ITG y el PC detrás del appliance lanzará la aplicación cliente de dicha 75 herramienta: Figura 33. Laboratorio B. Elaboración propia En este laboratorio, se genera diferente tipo de tráfico VoIP, Telnet y DNS hacia dos destinos diferentes, con el fin de medir el throughput de nuestro dispositivo. Se realizaron los siguientes pasos: 1. Iniciar la aplicación servidor. 2. Se debe crear un script donde se definen cada tipo de tráfico que será generado. 3. Se ejecuta la aplicación cliente recibiendo como parámetro el script previamente creado. 4. Se cierra la aplicación servidor. 5. Se decodifica el archivo de log, con el fin de observar los datos. 76 9.4 ANALISIS DE LOS RESULTADOS Laboratorio A. Para este laboratorio, cuando se realizo cada uno de los envíos de paquetes, se evidencio un aumento en la carga del sistema, lo cual se puede observar en las graficas del consumo de CPU Para 1.000.000 de paquetes: Figura 34. Grafica Consumo CPU. Elaboracion propia Como se puede ver en las graficas de carga del sistema, en el momento que se envía 1.000.000 de paquetes, la carga de la CPU aumenta considerablemente. 77 Para 10.000.000 de paquetes Figura 35. Grafica consumo CPU. Elaboración propia En este envió, la carga aumenta demasiado, hasta tal punto que se empieza a observar el dispositivo bloqueado, y el servicio de Internet empieza a sufrir latencias. Para 100.000.000 de paquetes Al momento de iniciar el envió de esta cantidad de paquetes, el equipo queda totalmente bloqueado, no hay gestión del equipo, y el servicio de Internet quedo inoperativo. Para restablecer el servicio se procedió a apagar el dispositivo físicamente, y volver a encenderlo. 78 Laboratorio B Para este laboratorio, el tráfico por las interfaces aumentó, como se evidencia en la siguiente gráfica: Figura 35. Grafica consumo de red . Elaboración propia Y los resultados que arrojo la aplicación usada, fueron los siguientes: Resultados de envió: /---------------------------------------------------------Flow number: 2 From 192.168.0.184:41136 79 To 190.14.237.248:10002 ---------------------------------------------------------Total time = Total packets 2.300197 s = 250 Minimum delay = 0.000000 s Maximum delay = 0.000000 s Average delay Average jitter = 0.000000 s = 0.000000 s Delay standard deviation = Bytes received = Average bitrate = Average packet rate Packets dropped 0.000000 s 510 1.773761 Kbit/s = = Average loss-burst size = 108.686343 pkt/s 0 (0.00 %) 0.000000 pkt ------------------------------------------------------------------------------------------------------------------80 Flow number: 1 From 192.168.0.184:44417 To 190.14.237.248:10001 ---------------------------------------------------------Total time = Total packets 9.980082 s = 500 Minimum delay = 0.000000 s Maximum delay = 0.000000 s Average delay Average jitter = 0.000000 s = 0.000000 s Delay standard deviation = Bytes received = Average bitrate = Average packet rate Packets dropped 0.000000 s 58000 46.492604 Kbit/s = = Average loss-burst size = 50.099789 pkt/s 0 (0.00 %) 0.000000 pkt 81 ------------------------------------------------------------------------------------------------------------------Flow number: 3 From 192.168.0.184:45356 To 190.14.237.248:10003 ---------------------------------------------------------Total time = Total packets 8.930380 s = 6 Minimum delay = 0.000000 s Maximum delay = 0.000000 s Average delay Average jitter = = 0.000000 s 0.000000 s Delay standard deviation = Bytes received = Average bitrate = Average packet rate 0.000000 s 1176 1.053483 Kbit/s = 0.671864 pkt/s 82 Packets dropped = 0 (0.00 %) Average loss-burst size = 0.000000 pkt ---------------------------------------------------------- __________________________________________________________ **************** TOTAL RESULTS ****************** __________________________________________________________ Number of flows Total time Total packets = = 3 10.049101 s = 756 Minimum delay = 0.000000 s Maximum delay = 0.000000 s Average delay Average jitter = = 0.000000 s 0.000000 s Delay standard deviation = Bytes received = 0.000000 s 59686 83 Average bitrate = 47.515494 Kbit/s Average packet rate = Packets dropped 75.230610 pkt/s = 0 (0.00 %) Average loss-burst size = Error lines = 0 pkt 0 ---------------------------------------------------------Resultados de recibo: ITGDec version 2.8.0-rc1 (r457:458) Compile-time options: ----------------------------------------------------------Flow number: 2 From 186.0.57.251:41136 To 190.14.237.248:10002 ---------------------------------------------------------Total time Total packets = 2.311910 s = 250 84 Minimum delay = 351.036319 s Maximum delay = 351.078388 s Average delay Average jitter = 351.051827 s = 0.006865 s Delay standard deviation = Bytes received = Average bitrate = Average packet rate Packets dropped 0.008848 s 510 1.764775 Kbit/s = = Average loss-burst size = 108.135697 pkt/s 0 (0.00 %) 0.000000 pkt ------------------------------------------------------------------------------------------------------------------Flow number: 1 From 186.0.57.251:44417 To 190.14.237.248:10001 ---------------------------------------------------------- 85 Total time = Total packets 9.980597 s = 499 Minimum delay = 351.036498 s Maximum delay = 351.060237 s Average delay Average jitter = 351.038024 s = 0.000940 s Delay standard deviation = Bytes received = Average bitrate = Average packet rate Packets dropped 0.002069 s 57884 46.397225 Kbit/s = = Average loss-burst size = 49.997009 pkt/s 1 (0.20 %) 1.000000 pkt ------------------------------------------------------------------------------------------------------------------Flow number: 3 From 186.0.57.251:45356 86 To 190.14.237.248:10003 ---------------------------------------------------------Total time = Total packets 8.932953 s = 6 Minimum delay = 351.036942 s Maximum delay = 351.051918 s Average delay Average jitter = 351.041095 s = 0.006623 s Delay standard deviation = Bytes received = Average bitrate = Average packet rate Packets dropped 0.004997 s 1176 1.053179 Kbit/s = = Average loss-burst size = 0.671670 pkt/s 0 (0.00 %) 0.000000 pkt ---------------------------------------------------------- 87 __________________________________________________________ **************** TOTAL RESULTS ****************** __________________________________________________________ Number of flows Total time = = Total packets 3 10.046120 s = 755 Minimum delay = 351.036319 s Maximum delay = 351.078388 s Average delay Average jitter = 351.042619 s = 0.003004 s Delay standard deviation = Bytes received = Average bitrate = Average packet rate Packets dropped 0.008426 s 59570 47.437220 Kbit/s = = Average loss-burst size = 75.153393 pkt/s 1 (0.13 %) 1.000000 pkt 88 Error lines = 0 ---------------------------------------------------------- 89 10. CONCLUSIONES Por medio de este proyecto se pudo demostrar que existe una alternativa para el reuso de los equipos de computos catalogados como obsoletos, y que son una bomba de tiempo para el ambiente, es importante concientizar a todas las personas, de que un dispositivo (en este caso un computador) puede llegar a ser muy util sin importar la condicion, solo es necesario adaptarlo y configurarlo para que realice una funcion especifica de forma eficiente. Si bien, en nuestro páis existen proyectos similares, ninguno de los indagados, tienen como objetivo usar los equipos de computo obsoletos para desarrollar una solucion de seguridad para las pymes, no obstante hay proyectos los cuales buscan darle una solucion a la grave situación de los desechos tecnologicos. Se pudo evidenciar, que para implementar una solución de seguridad, no es necesario tener hardware sofisticado, ni equipos costosos, si por algún motivo no es posible adquirir una solución de seguridad profesional, proyectos de este tipo brindan una buena alternativa. Gracias a las pruebas se identificó que con un equipo utilizado en la elaboración del prototipo: Disco duro de 10GB Memoria RAM 128MB Procesador Intel Celeron 333MHZ 2 tarjetas de Red. Unidad de CD Es posible implementar una solución de seguridad que proteja alrededor de 25 a 30 usuarios, es decir, el equipo esta en la capacidad de soportar el trafico generado por este numero de maquinas, ,de ahi en adelante, podran aparcer problemas de saturación y sobrecarga del procesador. Alli se puede concluir, que existe una relacion directamente proporcional entre el Hardware usado y la cantidad de usuarios que el equipo pueda soportar, de esta forma, entre mejor sea el hardware usado, mayor sera 90 la cantidad de usuarios que pueda proteger. De acuerdo a las investigaciones e indagaciones, se pudo observar, que los requerimientos mas urgentes en el campo de la seguridad informatica son: Proteger el activo mas importante: La informacíon Controlar las aplicaciones de ocio que a diario usan los usuarios de la red. Ya que hoy en dia, es fundamental estar siempre conectado a sus sistemas de información se debe cifrar todas las conexiones. Realizar un analisis de trafico en tiempo real, con el fin de evitar ataques previamente establecidos y conocidos. 11. RECOMENDACIONES La única recomendación para instalar el firmware utilizado, es determinar si el kernel de Linux, trae soporte para el hardware en donde se desea instalar, ya que este seria el unico inconveniente que se puede presentar a la hora de implementar OpenWRT. Igualmente es recomendable, que si desea implementar la solución se tenga conocimientos basico en el manejo y administracion de GNU/Linux. Es fundamental, concientizar a las pymes, que con muy poco se puede llegar a construir soluciones adecuadas e innovadoras. 91 12. REFERENCIAS BIBLIOGRAFICAS http://www.cisco.com/en/US/products/ps6120/index.html http://www.fortinet.com/products/fortigate/111C.html http://www.elmundo.es/elmundosalud/2006/06/30/industria/1151687483.html FLETSCHER BOCANEGRA,Luis Alejandro. Implementación de clusters beowulf como firewall GOMEZ GUERRA, John Alexis. modelo de solución de enrutamiento de datos a bajo costo basado en software libre SCHROLL, Addam. Effective Practice: Purdue Firewall Appliance http://www.abox.com Http://www.sonicwall.com http://www.dallmeier-electronic.com/es/productos/dvr-nvr/videoip-appliancesmatrix/que-es-una-appliance.html Robert, Newman, 2009: Computer Security: Protecting Digital Resources Maria, España: Firewall 2003, P95 Miquel, Colobran: Administración de sistemas operativos en red, 2008 P152 Angel, Cobo: Estudio científico de las redes de ordenadores, P187 Damian Ferrer: Servicios en red, 2005 92 David Martinez: UNIX a base de ejemplos. 2009, P159 Andrew Tanenbaum: Sistemas operativos embebidos, 2001 Friedrich, L. “A Survey on Operating System Support for Embedded Systems Properties”. Departamento de Informática e Estatística. http://www.symbian.org/ http://www.dd-wrt.com http://openwrt.org/ http://www.computadoresparaeducar.gov.co Jose, Salvador: Ingeniera de procesos informáticos. 2003, P101 Jesus Niño: Sistema operativo monopuesto, P198 Luis, Corrales: Diseño e implantacion de arquitecturas seguras,2006, P186 http://www.snort.org/ http://www.openvpn.net/ http://www.squid-cache.org/ 93 13. BIBLIOGRAFÍA Sistemas operativos Modernos – Andrew Tanenbaum Linux appliance design: a hands-on guide to building Linux appliances - Bob Smith,John Hardin,Graham Phillips,Bill Pierce Network Security Using Linux - Michael Sweeney TCP/IP – John Ray Security Sage's guide to hardening the network infrastructure - Andrés, S., Kenyon, B., Marc Cohn, J., Johnson, N. & Dolly, J. Network security hacks - Andrew Lockhart Intrusion detection systems with Snort: advanced IDS techniques using Snort. Escrito por Rafeeq Ur Rehman Linux iptables: pocket reference - Escrito por Gregor N. Purdy Combat Training 2.0 Base 4 security. 94