Servidor Proxy Web Bajo Plataforma Java como Soporte Tecnológico en la Educación a Distancia y Virtual

Web Proxy Server Under Java Platform as Technological Support in Distance and Virtual Education

José Augusto Cadena Moreano[1], Manuel William Villa Quishpe[2]

RESUMEN:

El trabajo de investigación plantea una nueva opción para la configuración de un servidor proxy web bajo la plataforma java utilizando el protocolo http en la Dirección de Educación a Distancia y Virtual (DEaDV) de la Universidad Técnica de Ambato (UTA), que permita realizar su administración y configuración de una manera más amigable y fácil de utilizar. En el servidor proxy web utilizando el protocolo http, se efectuó el escenario de pruebas sugeridos, el cual ayuda a ver la facilidad para el trabajo realizado, lo que permitió realizar el análisis de los datos de los usuarios que navegan por internet en la Dirección, para la transmisión de información sea de una manera eficiente y rápida, a través de la red LAN y MAN. El servidor proxy web; Fueron analizados, configurados para poder comprobar a través de su implementación cual es la mejor opción válida de navegación, los parámetros que fueron analizados son los siguientes: Velocidad de navegación, descarga de programas, videos, y acceso a diferentes páginas. Se plantea escenarios los cuales nos permitirá crear pruebas con las cuales estarán establecidas unas en horas picos al navegar por la web y tras cuando exista menos tráfico en la red.

Palabras claves:Base de datos; plataforma java; política de navegación; programación orientada a objetos; protocolos de comunicación.

ABSTRACT:

The research paper poses a new option to the configuration of a web proxy server under the Java platform using the http protocol in the direction of Distance Education and Virtual in the Technical University of Ambato (UTA), which allows them to perform their administration and configuration of a more friendly and easy to use. In the web proxy server using the http protocol, there was a testing scenario suggested, which helps you see the ease for the work done, which allowed for the analysis of data from users who surf on the internet at the address, for the transmission of information to be an efficient and rapid manner, through the network LAN and MAN. The web proxy server; were analyzed, configured to be able to check through their implementation which is the best option for navigation, the parameters that were analyzed are the following: browsing speed, downloading programs, videos, and access to different pages. It presents scenarios which will allow us to create tests with which will be established in peak times when surfing the web and after when there is less traffic on the network.

Keywords:Database;java platform; navigation politics; object oriented programming; communication protocols.

Recibido 14 de febreo de 2021; revisión aceptada 12 de mayo de 2021

1. INTRODUCCIÓN

En el siglo XX navegar o tener acceso a la web se le consideraba un privilegio de pocos, hoy en la actualidad la internet se ha convertido en una herramienta indispensable, en el diario vivir, más aun en el ámbito educativo, lo que se ha originado que los departamentos de Tecnologías de la Información (TI), soliciten herramientas que respalden las políticas de seguridad. [1]

Dentro de esas herramientas, se encuentra el Squid Proxy, un software de libre distribución que ha adquirido una importancia a nivel mundial, siendo necesario para todo departamento de TI. Ante esta situación, se desarrolló una herramienta que permite la configuración y administración del Squid Proxy [1].

El avance de las nuevas tecnologías, están sirviendo de plataforma para la aparición de nuevas formas de comunicación, el internet ha sido, sigue, seguirá siendo una autopista sin fronteras en donde todos los usuarios, sin importar su ubicación geográfica, tienen accesos a una ilimitada fuente de información [2], Es innumerable la cantidad de operaciones que viajan a través de la gran autopista mundial y las ventajas que estas han traído consigo, las empresas van creciendo, estrechando 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 [2].

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 fingir como mediador entre un cliente y un servidor, recibiendo peticiones web de un usuario, procesándolas y brindándole respuestas a sus solicitudes.

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 premisas y disminuyendo los elementos distractores para el recurso humano.

En este contexto, el problema que existe en la Dirección de Educación a Distancia y Virtual de la UTA es que no existe un servidor proxy que administre el internet, ya que depende de una dirección el cual brinda un servicio pésimo en lo que tiene que ver con la seguridad, velocidad de conexión y transmisión de datos.

Un elemento de vital importancia en la Dirección de Educación a Distancia y Virtual, que de aquí en adelante se le denominara DEaDV, es la navegación por el Internet, en la cual se tiene libre acceso de navegación por la Web, como es el caso de “Los caballos de troya modifican los programas existentes en el sistema o inserta nuevos programas o procesos de forma encubierta para realizar acciones no autorizadas. Según Microsoft los delitos que le siguen son los ya conocidos virus informáticos.” [3].

Además lo que ocasiona ingresar a ciertas páginas de internet, que contienen información maliciosa, es decir, sin ningún conocimiento del uso correcto de navegación lo cual se abre la presencia de virus, correo spam, etc. Es así, que en innumerables situaciones en el DEaDV, los daños se manifiestan de forma continua en lo equipos. Las descargas de cualquier tipo de archivo o programas de cualquier índole, han infectado de virus a los equipos, por lo que el DEaDV no tiene un servidor proxy propio para el control total sobre la navegación por la Web. Los prejuicios en todos los equipos informáticos, infra estructura de la red en la parte lógica, ocasiona un bajo rendimiento de los mismos, perjudicando al sistema como tal, hardware y software que se maneja en el DEaDV, ocasionando problemas en las máquinas afectadas, lo que tiene que ver en tiempo de respuestas, reduciendo horas de productividad de trabajo y más aún, referente a costos para cada equipo, cuando se presentan todas las eventualidades maliciosas.

Este estudio constituye la primera fase de una investigación que tiene como finalidad la creación de un servidor proxy web en el cual configurar su administración para lo cual se utilizó un escenario de pruebas apegado a la realidad que permitió obtener resultados los mismos que son analizados e interpretados determinando su funcionamiento y rendimiento.

Objetivo

Desarrollar un Servidor proxy web utilizando el Protocolo HTTP implementado bajo la plataforma Java que mejore la administración y el rendimiento del internet en la Dirección de Educación a Distancia y Virtual de la UTA.

2. METODOLOGÍA

La presente investigación se enmarca dentro de un estudio experimental, ya que se trabajó con grupos intactos, los contenidos al ser enviados en el ambiente de pruebas no se tomaron al azar, si no que se presentaron en escenarios predefinidos antes de ejecutar dicho ambiente, además se trabajó con la variable independiente y se analizó la influencia de ésta sobre la variable dependiente. Su validez es considerada en la medida en que se demuestre qué el servidor web proxy ofrece las mismas prestaciones que un squid proxy en archivo plano, pero en ambiente gráfico, si existe mejora en el grado de conocimientos con respecto al manejo del servidor proxy en ambiente web.

El servidor proxy web toma la solicitud http de una persona, la entrega al servidor web, el resultado final supera al Servidor web [4]. Los servidores proxy se utilizan en la mayoría de las arquitecturas web, y las extensiones del navegador se utilizan comúnmente para cambiar el comportamiento del navegador [5].

El servidorproxy,“Se denomina Servidor Intermediario a un dispositivo o computadora que brinda un servicio de red, el cual consiste en que los clientes puedan realizar conexiones de red indirectas hacia otros servicios de red, para que se pueda efectuar este proceso se debe pasar por varios pasos:” [6]

Ø Conectar hacia un Servidor Proxy.

Ø Solicitar la conexión a un recurso.

Ø El recurso es proporcionado por parte del servidor, el cual puede ser realizando una conexión hacia el servidor destino.

Los servidores proxy trabajan en la Capa de Red, tomando un rol de filtrado de paquetes (iptables), o en su caso en el Capa de Aplicación que en este caso controla los diversos servicios. En la actualidad de han descubierto nuevos ataques que permiten a un censor identificar positivamente los servidores proxy utilizando solo un puñado de sondeos especialmente diseñados [7]. Cuando el cliente realiza una petición de red por medio de una URL (Uniform Resource Locator), el Servidor Intermediario busca dentro de su cache, si es encontrado, le devuelve al cliente con el contenido solicitado, en el caso de no existir en su cache realiza la solicitud a un servidor remoto, a la cual lo entrega al cliente lo que solicito, de igual manera lo guarda para posteriores solicitudes.

Igualmente es importante conocer que todo el tráfico de igual a igual pasa a través de un proxy, cuando se ingresan muchas solicitudes simultáneamente, las respuestas a las solicitudes son lentas. [8]. El proxy web es un mecanismo de almacenamiento en caché entre el navegador del cliente y el servidor web. [9], además los servidores proxy, en breve proxies, actúan como intermediarios para proporcionar comunicación en línea entre usuarios y servicios de Internet (servidores remotos) [10].

La carga de trabajo y la calidad del enlace afectan los tiempos de respuesta que pueden ofrecer estos proxies, por lo que su selección es muy relevante para la percepción final de los usuarios. [11].

Base de datos, en los años 70 se acostumbraba a realizar aplicaciones informáticas por lotes (batch), y estaban destinadas a realizar tareas específicas ya que se relacionaba con muy pocas entidades. [12]

En los años ochenta surgió las bases de datos modernas gracias al inglés Edgar Frank Codd que ofreció en primer modelo relacional, que se describía como se debe relacionar los datos pertenecientes a una base de datos, a la par IBM definía el lenguaje para la base de datos llamados SEQEL, luego se convirtió en el lenguaje más utilizado que en la actualidad conocemos como SQL [13]

Al realizar la actualización de un fichero o en el caso de consultar varios ficheros maestros, esto se lo realizaba de una manera uno a uno es decir solo se podía hacer uno a la vez, los cuales estaban en cintas magnéticas, a la cual se trabajaba con acceso secuencial al momento que se deseaba añadir una aplicación que eran necesarios el uso de unos datos ya existentes y de otros nuevos, era necesario diseñar un nuevo fichero con todos los datos necesarios lo cual generaba redundancia.

Los sistemas operativos (linux), es superior en lo que tiene que ver con seguridad, administración, servidores web y otros frente a cualquiera de Microsoft Windows, si a esto le sumamos su libre distribución, lo convierte en algo sin precedente que cada día va ganando seguidores. [14]

En general, las distribuciones Linux pueden ser:

Ø Comerciales o no comerciales.

Ø Distribuciones fieles al software libre.

Ø Diseñadas a las empresas y al hogar.

Su diversidad de distribuciones en Linux es debido a cuestiones técnicas, organización y de punto de vista diferentes entre usuarios y proveedores. El modo de licenciamiento del software libre permite que cualquier usuario con los conocimientos e interés suficiente pueda adaptar o diseñar una distribución de acuerdo a sus necesidades. [15]

Dentro de la programación orientada a objetos, tenemos el método de cascada (waterfall) que es uno de los más conocidos y utilizados que consta de las siguientes fases:

Ø Análisis.- Encargada definir y analizar el problema en su totalidad, se trata de entender el enunciado del problema para obtener una solución correcta.

Ø Diseño.- Se diseña todos los módulos, patrones, algoritmos. Que nos ayudan a la solución del problema. Abarca desde un 70-80% de la totalidad del proyecto.

Ø Implementación.- En esta fase el diseño es traducido al lenguaje de programación, es donde realmente se programa (codifica).

Ø Pruebas: Periodo en el que el sistema se somete a diferentes tipos de pruebas.

Ø Implantación: Proceso de puesta en producción del software.

Ø Mantenimiento: Realizar mejoras varias sobre el producto desde el punto de vista tecnológico, funcional, etc.

Para programar en red siempre se tomará en cuenta la mayoría de los detalles como son: el software, hardware y los distintos niveles en que se divide la capa de red, y sus diferentes las librerías que se necesitan para programar en cada capa. Pero, la idea simplemente consiste en obtener información desde otra máquina, aportada por otra aplicación software. Por lo tanto, de cierto modo se puede reducir al mero hecho de leer y escribir archivos, con ciertas salvedades.

Unix maneja el sistema de Input/Output un paradigma que se deduce como: Abrir-Leer-Escribir-Cerrar. Lo primero que tiene que hacer es una llamada a Abrir y luego obtener los respectivos permisos del fichero o dispositivo que se desee utilizar. El momento que un fichero o dispositivo está abierto, ingresa un proceso de realizar varias llamadas a leer y escribir los datos. Los datos que son tomados desde el objeto están encargado de procesos de lectura, luego son transferidos al proceso de usuario, mientras que el proceso de escritura los transfiere desde los procesos de usuario al objeto. Una vez terminado la transacción de la información, los procesos de usuario llaman a Cerrar que es informar al sistema operativo que se ha terminado la utilización del fichero o dispositivo. El canal de comunicaciones sockets en un proceso en Unix tiene un conjunto de descriptores de entrada/salida desde donde leer y por donde escribir [16]

El ciclo de vida de un descriptor, aplicado a un canal de comunicación de sockets, está estructurado de tres fases:

o Creación, apertura del socket

o Lectura y Escritura, recepción y envío de datos por el socket

o Destrucción, cierre del socket

La empresa Sun MircoSystem fue la encargada de desarrollar el lenguaje java en el año de 1990, James Gosling era el que estaba al mando del proyecto, su objetivo era de crear un sistema para el control de electrodomésticos y de PDAs, o asistentes personales (pequeños ordenadores) y que además tuviese la posibilidad de interconexión a redes de ordenadores.

Para que los diferentes dispositivos de una red se puedan comunicar, estos deben utilizar un lenguaje que se llama protocolo. Se denomina protocolo al conjunto de estándares o normas las cuales permiten una comunicación entre los diferentes dispositivos en una red.

Los protocolos son segmentos que se deben instalarse en los componentes de la red. Cuando un equipo desea comunicarse con otro equipo la única forma que lo pueden hacer es utilizando el mismo protocolo. Al momento que se intercambia información y esta comunicación no es exitosa esto quiere decir que el protocolo utilizado por el equipo emisor no es compatible con el que se está utilizando en el otro equipo receptor. Existe una amplia lista de protocolos que pueden ser utilizados en la red, cada protocolo facilita una comunicación en la red, pero también cumplen una función específica la cual lleva a cabo diferentes tareas [17].

3. ANÁLISIS DE RESULTADOS

Se propone escenarios que nos permitirá establecer pruebas en las cuales contendrán navegación libre y las otras aplicando las listas de control de acceso basándonos en las políticas de navegación. La administración y configuración del servidor será ponderado, comparado y analizado a través de criterio o parámetros que nos ayudarán a demostrar la hipótesis planteada. Es decir medir los efectos que la variable independiente produce sobre la variable dependiente.

a) Lista de control de acceso

OPERACIONALIZACIÓN

1_Npe_Nip.jpg

[1]

Donde:

: Corresponde al número de peticiones que son solicitadas al servidor Web.

: Corresponde al número de ip que están conectados al internet por medio del servidor proxy Web.

PARAMETRO 1.1: Porcentaje de cumplimiento en las listas de control de acceso (ACL)

CARACTERIZACIÓN: Permitir el control de flujo de la información que pasa por el servidor proxy web.

Nombre del Servicio Web: control de acceso de al servicio del Internet.

Dirección: wilProxy

Descripción: Para la administración en lo referente al control y tráfico, que realiza cada IP que está conectada a la red de DEaDv, que al momento de realizar una petición al servidor proxy web.

Métodos Web

Por lo tanto:

2_Identificacion.jpg

De acuerdo a la tabla, el cumplimiento es del 100%, corresponde a Totalmente.

Los métodos utilizados para la extracción de datos desde el sistema, hacia la web se encuentran totalmente registrados.

b) Registro de acceso de monitoreo (logs).

PARAMETRO 1.1: Porcentaje de cumplimiento en el monitoreo.

CARACTERIZACIÓN: Control del registro de sucesos que genera el servidor proxy web en la Dirección de Educación a Distancia y Virtual de la Universidad, para ello se especifica en la siguiente tabla.

Tabla 1:Reporte de los logs del Sistema

Ip´s que ingresan al Sistema

Número de veces que ingresan

192.168.10.100

18

192.168.10.106

79

192.168.10.109

22

192.168.10.111

45

192.168.10.114

139

192.168.10.116

131

192.168.10.117

481

192.168.10.118

80

192.168.10.12

40

192.168.10.122

164

192.168.10.129

113

192.168.10.137

68

192.168.10.145

103

192.168.10.155

135

192.168.10.158

49

192.168.10.161

241

192.168.10.166

99

192.168.10.167

83

192.168.10.181

189

192.168.10.183

75

192.168.10.192

136

192.168.10.193

102

192.168.10.199

39

192.168.10.203

170

192.168.10.205

125

192.168.10.215

27

192.168.10.230

26

192.168.10.24

47

192.168.10.245

173

192.168.10.26

60

192.168.10.30

24

192.168.10.4

144

192.168.10.42

242

192.168.10.45

82

192.168.10.53

42

192.168.10.55

181

192.168.10.59

162

192.168.10.60

37

192.168.10.65

81

192.168.10.66

98

192.168.10.67

76

192.168.10.68

163

192.168.10.7

125

192.168.10.86

213

192.168.10.87

60

Total general

4989

OPERACIONALIZACIÓN

3_Npe_Nip.jpg

Donde:

Corresponde al número de peticiones que son solicitadas al servidor Web.

Corresponde al número de ip que están conectados al internet por medio del servidor proxy Web.

Nombre del Servicio Web: control de acceso de al servicio del Internet.

Dirección: wilProxy

Descripción: Llevar un registro por cada petición que hace la ip que está conectada, la cual se genera un log en la parte del servidor.

De los resultados obtenidos que indican que el cumplimiento de la administración de las ip´s conectadas, el protocolo utilizado, las listas de control de acceso son satisfactorios, se acepta la variable Independiente.

c) Prueba chi cuadrado de bondad de ajuste.

Como podemos observar después de realizar la prueba chi-cuadrado, se ha podido determinar que existen diferencia significativas del comportamiento del servidor proxy para el servicio de internet cuando se encuentra sin la administración vía web; para la demostración de la hipótesis hemos trabajado con un resultado de 0,05. Se rechaza la hipótesis nula ya que la solución chi-cuadrado nos ayudó a comprobar que se puede tener un mejor control y administración utilizando un servidor proxy web.

Una vez obtenidas las frecuencias esperadas, se aplica la siguiente fórmula de chi cuadrada:

4_X2.jpg

Donde O es la frecuencia observada en cada celda y E es la frecuencia esperada en cada celda, lo cual se determina la siguiente tabla.

Se calcula el valor de

Tabla 2:Tabla de Resultados

PARAMETRO

Frecuencia Obtenida

Frecuencia Esperada

FISEL

FCA

FICM

FCHE

FCS

FJCS

FADE

FISEL

FCA

FICM

FCHE

FCS

FJCS

FADE

Excelente

1,00

1,00

1,00

1,00

1,00

1,00

1,00

1,00

0,00

1,00

4,00

1,00

1,00

1,00

Muy Bueno

0,79

0,79

0,79

0,79

0,79

0,79

0,79

1,88

1,88

0,06

0,06

1,88

0,06

1,88

Bueno

0,14

0,14

0,14

0,14

0,14

0,14

0,14

0,14

0,14

5,14

0,14

0,14

5,14

0,14

Regular

0,07

0,07

0,07

0,07

0,07

0,07

0,07

0,07

12,07

0,07

0,07

0,07

0,07

0,07

Deficiente

2,00

2,00

2,00

2,00

2,00

2,00

2,00

2,00

2,00

2,00

2,00

2,00

2,00

2,00

Donde:

Para saber si el valor de es o no significativo, se debe determinan los grados de libertada mediante la siguiente fórmula:

Donde r es el número de filas de la tabla de contingencia y c es el número de columnas de la tabla de contingencia

Por lo tanto:

De la tabla de distribución de y eligiendo como nivel de confianza se obtiene un . El valor de de esta investigación es de 81.18 que es superior al de la tabla de distribución, por lo que resulta significativa y se acepta la hipótesis.

4. CONCLUSIONES

1. Se demostró a través de las múltiples pruebas y la implementación final detallada en la presente tesis la viabilidad y efectividad del servidor proxy web utilizando el protocolo http bajo la plataforma de JAVA, permitiendo un buen servicios, administración y configuración en la Dirección de Educación a Distancia y Virtual en la Universidad Técnica de Ambato.

2. Se estableció parámetros de políticas de navegación, listas de control de acceso, administración de ancho de banda, los cuales fueron de gran ayuda para escoger la mejor solución que se adaptó al escenario de pruebas para la investigación.

3. La administración de la configuración se simplifico notablemente con la implementación del front-end que permite de una manera ágil, minimizar errores y mejorar el rendimiento, en la Dirección de Educación a distancia y Virtual de la Universidad Técnica de Ambato.

4. El uso de un sistema facilitó la intervención del administrador de la red, mucho más, si este no tiene experiencia en la administración de servidores.

5. Con los resultados obtenidos durante el estudio ratificamos que, se puede mejorar los tiempos de administración y configuración de las políticas de navegación.

5. REFERENCIAS

[1]

C. Albornoz, V. Cabrera, K. Palacios y J. Ramirez, Los Usos de Internet: Comunicación y Sociedad, Quito: FLACSO, 2007.

[2]

G. Bill, N. Myhrvold y P. Rinearson, Camino al Futuro, McGraw-Hill, 1997.

[3]

E. J. Flores Villacrés, M. I. Asanza Molina y M. Berrones Miguez, «Ciberdelincuencia un mal que afecta a la Sociedad actual. Guayaquil, Ecuador,» 2014. [En línea]. Available: https://bit.ly/2PAXrTX.

[4]

P. Ganeshmoorthy, «ENHANCING THE WEB USER PROFILE’S QUALITY,» JOURNAL OF CRITICAL REVIEWS,vol. 7, 2020.

[5]

T. Durieux, «Fully Automated HTML and Javascript Rewriting for Constructing a Self-healing Web Proxy,» pp. 1-28, 2017.

[6]

T. Cabacas García, «¿Qué es un servidor proxy y por qué debería implementarlo en mi empresa?. Madrid, España,» 2014. [En línea]. Available: https://bit.ly/2MJG5pD.

[7]

W. Frolov, «Detecting Probe-resistant Proxies,» Network and Distributed Systems Security, 2020.

[8]

B. Jafari, «Performance improvement of the proxy servers ' cache in distributed systems using session and cookie techniques based on game theory,» Romanian Journal of Information Technology and Automatic Control, vol. 31, pp. 45-56, 2021.

[9]

S. Harika, «Data Extraction from Web Server Logs using Web Usage Mining,» IJIRT,vol. 6, pp. 469-474, 2020.

[10]

J. Choi, «Understanding the Proxy Ecosystem : A Comparative Analysis of Residential and Open Proxies on the Internet,» IEEE ACCESS,vol. 8, 2020.

[11]

B. Gómez, «Estimation of Web Proxy Response Times in Community Networks Using Matrix Factorization Algorithms,» Electronics,2020.

[12]

R. Camps Paré, L. Casillas Santillán y D. Costal Costa, «Base de Datos,» 2005. [En línea]. Available: https://bit.ly/1trrEED.

[13]

M. Sierra, «¿Qué es una Base de Datos y cuáles son los principales tipos? Ejemplo: MySQL, SQLSERVER, ORACLE, POSTGRESQL, INFORMIX,» 2014. [En línea]. Available: https://bit.ly/2BIaDnb.

[14]

K. Laudon y J. Laudon, Sistemas de Información Gerencial, Naucalpan de Juárez: Pearson Educación, 2012.

[15]

R. Azpitarte, P. Jordá y J. Llinares, «Introducción a la Programación Orientada a Objetos con Java,» 2009. [En línea]. Available: https://bit.ly/2NbEt4M.

[16]

Universidad de Valencia, «Sistemas Distribuidos:Sockets en Java. Valencia, España,» 2014. [En línea]. Available: https://bit.ly/2sQrj4e.

[17]

A. Tanenbaum y D. Wetherall, «Redes de Computadoras,» 2012. [En línea]. Available: https://bit.ly/2P1jQJ1.



> [1] Universidad Técnica de Cotopaxi, Latacunga, Cotopaxi, Ecuador, jose.cadena@utc.edu.ec

[2] Universidad Técnica de Cotopaxi, Latacunga, Cotopaxi, Ecuador, manuel.villa@utc.edu.ec