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

Documentos relacionados