Desarrollo de una Aplicación Web para la Administración de
Transcripción
Desarrollo de una Aplicación Web para la Administración de
Desarrollo de una Aplicación Web para la Administración de Servidores Proxy... La Internet se ha convertido en una necesidad dentro del ámbito empresarial, lo que ha originado que los departamentos de Tecnología de Información (TI) recurran a herramientas que respalden las políticas de seguridad de sus organizaciones DESARROLLO DE UNA APLICACIÓN WEB PARA LA ADMINISTRACIÓN DE SERVIDORES PROXY EN SISTEMAS OPERATIVOS GNU/LINUX. CASO: SQUID PROXY. DEVELOPING A WEB APPLICATION FOR PROXY SERVER MANAGEMENT IN GNU / LINUX. CASE: SQUID PROXY. Autores: Montesino, Pedro; Morales, José. Universidad José Antonio Páez [email protected]; [email protected] RESUMEN La Internet se ha convertido en una necesidad dentro del ámbito empresarial, lo que ha originado que los departamentos de Tecnología de Información (TI) recurran a herramientas que respalden las políticas de seguridad de sus organizaciones. Dentro de esas herramientas, se encuentra a Squid Proxy, un software libre que ha adquirido gran importancia a nivel mundial siendo indispensable para todo departamento de TI. Sin embargo, la carencia de una interfaz de configuración amigable, hace que el Squid pierda valor frente al software propietario equivalente. Ante esta situación, se desarrolló una herramienta bajo software libre que permite la configuración y administración básica de Squid Proxy. Este trabajo se enmarca dentro de la modalidad de proyecto factible apoyado en una investigación documental y es de tipo descriptivo. El desarrollo del sistema fue realizado bajo la metodología Rational Unified Process (RUP). El resultado, una aplicación que responde a las actuales necesidades de la administración de los recursos de red. Palabras Claves: Proxy, GNU, Squid, RUP, Servidor. SUMMARY The Internet has become a necessity within the business, which has caused the departments of Information Technology (IT) to turn to tools that support the security policies of their organizations. Among these tools, is a Squid Proxy, a free software that has become important globally to be essential for all IT department. However, the lack of a friendly configuration interface makes the Squid lose value against the equivalent proprietary software. In this situation, we developed a tool under free software that allows the configuration and basic administration of Squid Proxy. This work is part of the method of feasible project, based on documentary research and descriptive. System development methodology was carried out under the Rational Unified Process (RUP). The result is an application that meets the current needs of managing network resources. Keywords: Proxy, GNU, Squid, RUP, Server. INTRODUCCIÓN El acelerado desarrollo de nuevas tecnologías ha servido de plataforma para la aparición de nuevas formas de comunicación, Internet ha sido y sigue siendo una autopista sin fronteras por donde usuarios, sin importar su ubicación geográfica, pueden tener acceso a una ilimitada fuente de información. Es incontable la gran cantidad de operaciones que viajan a través de la gran telaraña mundial y las ventajas que estas han traído consigo, las empresas han crecido y han estrechado sus lazos comerciales a través de este medio, sin hablar de la automatización de tareas que suprimen la presencia física de un individuo. Pero a medida que crecen las comunicaciones en internet cobra mayor importancia para toda organización que las transacciones sean precisas y seguras tanto dentro como fuera de sus redes. El personal de tecnología de la información, tiene la gran responsabilidad de velar por el buen uso tanto del ancho de banda, como del tránsito que circula en la red, pero en muchas ocasiones se escapan detalles referentes al verdadero uso por parte de los usuarios de Internet. Las aplicaciones de mensajería instantánea se han convertido en programas de uso masivo, al igual que las redes sociales, y los innumerables sitios de ocio disponible en la red de redes. Sin embargo, esto no se considera un problema, hasta el momento en que este comportamiento es emulado dentro de las organizaciones, donde el uso incorrecto del internet como recurso se convierte en un mal que atenta contra los objetivos y metas definidas por las empresas u organizaciones. Proporcionar mecanismos seguros que restrinjan este tipo de accesos y limiten el uso de Internet a solo material pertinente, que vaya orientado al cumplimiento de los objetivos de la empresa puede ser una tarea costosa. Sin embargo, existen herramientas en el mercado que permiten administrar los recursos de la red de forma organizada y centralizada. Algunas de estas herramientas son de software propietario, y otras tantas son software libre. La diferencia entre ellas, es el costo de la licencia, que en el caso del software propietario tiende a ser elevado, en contraposición a las de software libre donde no existe costo por licenciamiento del producto. Dentro de las herramientas que permiten la administración y el control del recurso red, encontramos a Squid Proxy, que es una aplicación que tiene como objetivo fungir como mediador entre un cliente y un servidor, recibiendo peticiones web de un usuario, procesándolas y brindándole respuestas a sus solicitudes. Esto permite que se aligere el tráfico en la red, y disminuya la carga de trabajo de los servidores destino, aumentando la velocidad de respuesta. El servidor Proxy crea una caché que evita transferencias idénticas de la información entre servidores durante un tiempo preestablecido por el usuario administrador. Adicionalmente el Squid Proxy permite definir reglas para restringir el contenido disponible para los usuarios de la red interna, por tanto es posible disminuir el uso indebido de los recursos, aumentando el ancho de banda disponible para transacciones permisadas y disminuyendo los elementos distractores para el recurso humano. El Squid Proxy es una herramienta de gran importancia dentro de las organizaciones, y su uso extensivo a nivel mundial lo ha convertido en una herramienta indispensable de todo departamento de tecnología de la información, sin embargo, este software carece de una interfaz de control, administración y monitoreo, que se ajuste a las necesidades propias de usuarios cada vez más exigentes. Algunas herramientas como el SARG (Squid Analysis Report Generator), permiten obtener información detallada acerca del uso que hacen los usuarios de la red, sin embargo carece de herramientas para la configuración del Proxy Squid, y su interfaz gráfica no es la más idónea para la presentación de datos. La carencia de un http://www.ujap.edu.ve/pasion - Revista Digital Powered by Mambo Generated: 9 December, 2016, 23:31 mecanismo de configuración amigable, y la falta de un generador de reportes adecuado, hace que el Squid pierda valor frente al software privativo equivalente. Ante esta situación, se desarrolló una herramienta bajo software libre que permite la configuración, administración y el control estadístico de la herramienta Squid Proxy, con una interfaz amigable a usuarios de Tecnología de la Información, disponible a la hora de configurar y administrar la herramienta y que proporciona de manera inmediata estadísticas gráficas que revelen el integro uso de las demandas Web, orientado a todo tipo de empresas u organizaciones. Formulación del Problema ¿Cómo mejorar la administración y configuración del Servidor proxy Squid mediante una aplicación de software libre que facilite la interacción y la gestión de la información? OBJETIVO GENERAL Desarrollar una aplicación web para la administración de servidores proxy en sistemas operativos GNU/Linux. Caso: Squid Proxy. OBJETIVOS ESPECÍFICOS · Determinar el alcance, requerimientos básicos y factores de riesgo del sistema propuesto. · Analizar los requerimientos detallados de los procedimientos propuestos. · Construir los módulos e interfaces de la aplicación basado en los diseños propuestos. · Evaluar los resultados obtenidos del sistema propuesto. ALCANCE DE LA INVESTIGACIÓN El sistema se desarrolló bajo código abierto y está dirigido al personal de tecnología de la información de habla hispana de organizaciones empresariales y educativas. Brinda una interfaz para la configuración y administración básica del proxy Squid: inicio, finalización y reinicio del servicio Squid, definición de las listas de usuarios para el control de acceso, creación y modificación de las reglas de control de acceso, definición de los parámetros de la memoria cache y de los puertos empleados para establecer las conexiones. También cuenta con una interfaz que muestra algunas estadísticas: páginas visitadas por usuarios, la página más visitada, horas del día con más consumo de ancho de banda y cantidad de peticiones denegadas. METODOLOGÍA La metodología de esta investigación se enmarca dentro de la modalidad de proyecto factible, apoyada en una investigación de campo, en el manual de Trabajos de Grado de Especialización y Maestría y Tesis Doctorales de la universidad Pedagógica Experimental Libertador (UPEL, 2006) se define como: El proyecto factible consiste en la investigación, elaboración y desarrollo de una propuesta, de un modelo operativo viable para solucionar problemas, requerimientos o necesidades de organizaciones o grupos; puede referirse a la formulación de políticas, programas, tecnologías, métodos, o procesos. El proyecto debe tener apoyo en una investigación tipo documental de campo o un diseño que incluya ambas modalidades. (página 16). Diseño Como anteriormente se mencionó las investigaciones de tipo Proyecto Factible deben de tener un apoyo ya sea de tipo documental, de campo o una modalidad que los incluya a ambos, para la UPEL (2006), la investigación de campo es: El análisis sistemático de problemas en la realidad, con el propósito bien sea de describirlos, interpretarlos, entender su naturaleza y factores constituyentes, explicar sus causas y efectos o predecir su ocurrencia, haciendo uso de métodos característicos de cualquiera de los paradigmas o enfoques de investigación conocidos o en desarrollo. La fuente principal de datos es el sitio donde se presenta el problema, los datos de interés son recogidos en forma directa de la realidad, en este sentido se trata de investigaciones a partir de datos originarios o primarios. (página 8). Así mismo, la investigación documental según la UPEL (2006) “es el estudio de un problema con el propósito de ampliar y profundizar el conocimiento de su naturaleza principal, en trabajos previos, así como información y datos divulgables por medios impresos” (página 6) Dicho esto, se considera que este Proyecto Factible apoya su investigación en un diseño de campo y documental. Ya que los datos para su realización fueron obtenidos directamente del lugar donde se basó la investigación y de otros muchos de material teórico ya existente. El presente trabajo se enmarca en la modalidad de proyecto factible, pues se plantea la solución de un problema real, que presenta mejoras a proyectos ya existentes y componentes nuevos para dar solución a dicho problema. Nivel de la Investigación La presente investigación es de tipo descriptiva, ya que se miden y evalúan diversos aspectos, dimensiones y componentes de un sistema. La investigación descriptiva según la UPEL (2006) "es el tipo de investigación concluyente que tiene como objetivo principal la descripción de algo, generalmente las características o funciones del problema en cuestión". Fases Metodológicas Esta parte corresponde a los pasos que se emplearon para dar respuestas a los objetivos planteados. Se especifican las herramientas usadas en cada fase de la investigación, y se presentan los pasos que amerita el desarrollo con la metodología RUP, llamada así por sus siglas en inglés Rational Unified Process, y cuyo objetivo es asegurar la producción de software de alta calidad que satisfaga la necesidad del usuario final dentro de un tiempo y presupuesto previsible. El proceso RUP se repite en una serie de ciclos. Cada ciclo concluye con una versión del producto (release) y cada ciclo está dividido en 4 fases: concepción o inicio, elaboración, construcción y transición. Cada una de las fases está a su vez dividida en iteraciones, y en cada iteración se realizan 5 procesos o etapas principales: requerimientos, análisis, diseño, implementación, pruebas y entrega o reparación del release (versión). Webmin Fortalezas Debilidades Interfaz Gráfica Esta basada en una arquitectura web que permite administrar de manera gráfica sistemas Unix. Posee una gran http://www.ujap.edu.ve/pasion - Revista Digital Powered by Mambo Generated: 9 December, 2016, 23:31 variedad de módulos de administración para servicios tales como Apache, DNS, Usuarios, y en nuestro caso de estudio Squid Proxy. Manejo inadecuado de los elementos de configuración dispuestos en pantalla, causando en muchos casos saturación visual y confusión por parte del usuario. Usabilidad Es una Herramienta de gran utilidad en la configuración tanto básica de red con experiencia. como avanzada por parte de administradores Es una herramienta orientada a administradores de red con gran experiencia y no para usuarios noveles que aunque no es limitativo, la gran cantidad de parámetros por módulo de configuración hace engorrosa y tediosa la misma. Integración con el Proxy Squid Trabaja bajo su propio servicio web, accesible vía TCP desde el puerto 10000. lo que le concede privilegios dentro del sistema Linux para hacer escritura y lectura del archivo de configuración squid.conf. Debido a sus características de funcionar como su propio proceso y servicio web, la seguridad ha sido en varias ocasiones un punto frágil para la aplicación donde usuarios han conseguido saltarse reglas de control de accesos, obteniendo así información y privilegios sobre módulos de configuración del sistema sin la debida autorización, como lo podría ser el caso del Squid Proxy, ocasionando sabotajes y delitos contra las políticas de seguridad presentes en la organización dependiente de este servicios. Webmin genera un completo informe estadístico relacionado al consumo y tráfico en la red para esto hace uso de una herramienta desarrollada en su mismo lenguaje Perl llamada Calamaris. Presenta la información en formato HTML y ASCII lo que dificulta su entendimiento para usuarios noveles. Sistema de almacenamiento de datos No requiere de un servidor o manejador de Base de Datos para almacenar la información relacionada con el análisis de log. Almacena la información en archivos planos, lo que no permite una óptima manipulación de la Información. Cuadro 1. Fortalezas y debilidades Fase I: Determinación de alcance, requerimientos básicos y factores de riesgo En esta fase, se definió el ámbito y los objetivos del proyecto, así como la funcionalidad y capacidades del producto. Se examinaron algunas herramientas de administración de Squid Proxy Server disponibles en el mercado actual para determinar cuáles son sus fortalezas y debilidades, con la intención de mejorar las funcionalidades de los mismos e incluir en el desarrollo del nuevo sistema aquellos elementos que tengan relevancia para la solución del problema planteado. Se revisó la interfaz gráfica, el sistema de almacenamiento de datos empleados, la usabilidad y la integración con el Proxy Squid. Una vez examinados se determinarán los elementos relevantes para el desarrollo del sistema propuesto, con la finalidad de incluirlos o mejorarlos según el alcance de la investigación. Sarg Fortalezas Debilidades Interfaz Gráficas Resultados estadísticos basados en la web La configuración del mismo no se hace sobre si interfaz web, posee archivos de configuración los cuales se modifican desde consola o mediante el uso de algún editor de texto. http://www.ujap.edu.ve/pasion - Revista Digital Powered by Mambo Generated: 9 December, 2016, 23:31 Usabilidad Interfaz de los resultados estadísticos amigables, sencillos e intuitivos para todo tipo de usuario. Instalación y configuración requieren de conocimientos medios o avanzados en sistemas basados en Unix. Integración con el Proxy Squid El alcance de Sarg con respecto al Squid proxy es a nivel de los archivos log, donde sólo consulta los datos registrados en el access.log generando los reportes estadísticos Su filosofía es sólo gestionar el access.log del Squid proxy sin tener nada que ver con módulos que permitan la configuración del Squid Proxy Sistema de almacenamiento de datos Almacenamiento de la información sin necesidad de servicios de base de datos Archivos planos Pysquila Fortalezas Debilidades Interfaz Gráficas Sencilla basada en la web. No cuenta con interfaz gráfica para su instalación ni configuración. Requiere de librerías especiales para la puesta en pantalla de los gráficos. Usabilidad Intuitiva fácil de manipular Su instalación requiere de conocimientos medios avanzados en administración de equipos Integración con el Proxy Squid Esta desarrollado para solo obtener resultados usados en la generación de estadísticas de consumo y tráfico de red. Sistema de almacenamiento de datos Almacena los resultados obtenidos en una base de datos MySQL. No almacena una bitácora de análisis previos lo que puede ocasionar momento de un nuevo análisis. Fortalezas y debilidades incongruencias en la información, al Cuadro 2. Figura 1 Fase II: Análisis de Requerimientos Seguidamente, en la fase de elaboración se determinó tanto la funcionalidad como el dominio del problema, se definió una arquitectura básica y se planificó el proyecto basado en los recursos disponibles. Se determinaron los requerimientos de forma detallada de cada uno de http://www.ujap.edu.ve/pasion - Revista Digital Powered by Mambo Generated: 9 December, 2016, 23:31 los componentes del sistema propuesto, con la finalidad de hacer explícito el proceso de construcción de los mismos y definir la forma de interacción entre ellos, lo que permitirá conocer que datos intercambiarán y la forma de hacerlo. Fase III: Construcción de Interfaz y Módulos. En esta etapa se construyeron cada uno de los módulos y la interfaz de la aplicación fundamentando su creación a partir de los diseños propuestos y tomando en cuenta el alcance previamente analizado en etapas anteriores de la investigación. Figura 2. Pantalla de Configuración Avanzada Figura 3. Configuración de Puertos Cuadro 3. Diagrama de Arquitectura Final Fase IV: Evaluación de los Resultados del Sistema Propuesto. En esta fase se crearon los medios para la comunicación entre cada uno de los módulos, fundamentando su desarrollo en el diseño planteado para ello en fases anteriores. Esta etapa se enfocó en conformar las partes del sistema en un todo. En esta etapa de la investigación se analizaron los resultados obtenidos del desarrollo del sistema, se evaluó si el sistema cumplía los requisitos inicialmente propuestos y si las expectativas en cuanto a su desarrollo fueron cubiertas. DESARROLLO DE UNA APLICACIÓN WEB PARA LA ADMINISTRACIÓN DE SERVIDORES PROXY EN SISTEMAS OPERATIVOS GNU/LINUX. CASO: SQUID PROXY Casos de Prueba N 1 Estrategia de Prueba Caja Blanca Caja Negra Tipo de Prueba Aplicada Unidad Modular Integración Validación Técnica de Prueba Carga de Datos http://www.ujap.edu.ve/pasion - Revista Digital Powered by Mambo Generated: 9 December, 2016, 23:31 Resultados Al ingresar la dirección IP en el formulario de opciones de red se pudo apreciar que aceptó valores por encima de 255 generando así errores de configuración. Decisión Revisar validaciones en el ingreso de los valores IP Probado por Morales y Montesino CONCLUSIÓN El creciente uso de los servicios de red, y la presencia cada vez mayor de la Web en los ambientes organizacionales, ha conllevado a que el Personal de Tecnología de la Información emplee herramientas que garanticen el buen uso de los recursos y su disponibilidad para los usuarios. La necesidad de control sobre el tráfico de la red es cada vez mayor ante la importancia que cobra en el mundo actual la seguridad de la información. Los servidores Proxy brindan utilidades para establecer normativas, y obtener esa información tan vital que se traduce en decisiones que llevan al mejoramiento en el uso de recursos y a la aplicación de estrategias de seguridad mucho más adecuadas al ambiente organizacional. Squid Proxy es el software libre que brinda a los usuarios todas las ventajas de un servidor Proxy. Al ser un proyecto libre es gratuito, y está siendo mejorado por la comunidad constantemente. Este articulo recopila todo el proceso de investigación y posterior construcción de un software que facilita la administración del Servidor Proxy Squid. Mediante la aplicación web desarrollada el personal de tecnología de la información contara con una herramienta que reducirá el tiempo de configuración, los riesgos de equivocación o daños por manipulación y la capacidad de respuesta ante eventualidades. A lo largo del desarrollo del proceso de investigación y construcción se profundizó el conocimiento en la estructura del sistema operativo Linux, el uso de aplicaciones GNU relacionados a Servidores Proxy y el desarrollo de aplicaciones de servicio. Se enfrentaron retos de desarrollo, y se aplicaron soluciones novedosas, sustentadas en la observación y análisis de los procesos y componentes del software Squid Proxy y de la plataforma sobre el que éste se sustenta. Se alcanzaron los objetivos planteados en la investigación. El resultado, una aplicación que incrementa la usabilidad, disminuye el riesgo de error, reduce la brecha entre el administrador, aumenta la seguridad y actualiza la tecnología de repositorio de datos abriendo un universo de posibilidades en la generación de reportes y la obtención de información en forma eficaz y oportuna. Adicionalmente reduce los costos de implementación y mantenimiento, lo que hace posible llevar este sistema de control a las pequeñas y medianas empresas donde los recursos para la inversión en tecnología son limitados. En conclusión, el resultado es una aplicación que responde a las necesidades de la administración de los recursos de red en los nuevos tiempos. REFERENCIAS BIBLIOGRÁFICAS Balestrini, Miriam, (1998) “Cómo se Elabora El Proyecto De Investigación” Caracas, VENEZUELA, 2 Edición. Bautts Tony, Dawson Terry y Purdy Gregor (2005) Linux. Guía para administradores de redes, Primera Edición, Anaya multimedia/O´reilly Cázares, Chisten y Jaramillo, (2000) “Técnicas actuales de investigación documental”. México. Gallego, Alfredo y Gallego, Miguel, (2004) UNIX/Linux, Segunda Edicion, España, McGraw Hill. Gift, Noah y Jones Jeremy (2009) Python para administración de sistemas Unix y Linux, Primera Edición, España, Anaya Multimedia. Hagen, Bill (2006). Linux Servers Los Mejores Trucos. 1ra edición. Editorial O’Reilly. Perez, Justo y Matas, Abel. (2004), Guia Practica para Usuarios Debian. Primera Edición. Madrid. Anaya Multimedia, S.A. Thompson, Ed y Myer Thomas (2009) PHP 6 Profesional, Primera Edición, España, Anaya Multimedia/Wrox Timothy Boronczyk y Psinas, Martin (2009) Php y Mysql Crea-Modifica-Reutilizar, Primera Edición, España, Anaya Multimedia/Wrox. Universidad José Antonio Páez (2007). Normas para la elaboración y presentación de los anteproyectos, proyectos y trabajos de grado. San Diego: Mijares, Hector. Universidad Pedagógica Experimental Libertador (2006). Manual de Trabajos de Grado de Especialización y Maestría y Tesis Doctorales de la Universidad Pedagógica Experimental Libertador. Wessels, Duane (2001) Web Caching. First Edition. United States of America.O'Reilly & Associates, Inc. Wessels, Duane (2004) Squid: The Definitive Guide. First Edition. United States of America.O'Reilly & Associates, Inc. REFERENCIAS ELECTRÓNICAS Universidad San Martin de Porres - Peru. Metodologia RUP Vs. XP. Consultado en Octubre 2010 en http://www.usmp.edu.pe/publicaciones/boletin Welcome to the Tcl Developer Xchange! (2010). consultado el dia 15 de julio del 2010 de la World Wide Web: http://www.tcl.tk Wessels, Duane y Nordstrom, Henrik (2010) Why should I deploy Squid? Consultado el dia 15 de junio del 2010 de la World Wide Web:http://www.squid-cache.org/Intro/why.dyn http://www.ujap.edu.ve/pasion - Revista Digital Powered by Mambo Generated: 9 December, 2016, 23:31