Você está na página 1de 9

UNIVERSIDAD TCNICA DE MANAB

FACULTAD DE CIENCIAS INFORMTICAS


CARRERA DE INGENIERA EN SISTEMAS

Docente: Ing. Pablo Flores


Curso: Sexto Nivel A

PROYECTO DE APLICACIN Y MANEJO DE SISTEMAS OPERATIVOS

INSTALACIN Y
CONFIGURACIN
DE UN SERVIDOR
PROXY EN LINUX

RESPONSABLES:

Yandry Pinargote M.
Marcelo Alcvar M.
Jorge Maldonado S.
Jos Andrs Garca M.

2015

Instalacion y configuracion de un servidor


proxy en Linux
Responsables:
Alcvar Molina Marcelo Andres
Garca Morales Jose Andres
Maldonado Salazar Jorge Ivan
Pinargote Moreira Yandry Hector

ResumenEl siguiente artculo muestra una vision clara


sobre lo que consiste un proxy, como funciona y como
se lo puede implementar en un Sistema operativo Linux.
Tambien se explica de manera amplia las herramientas
utilizadas para la creacion de un servidor proxy y se detallan los pasos a seguir para la instalacion y configuracion
de dicho servidor en la plataforma Ubuntu. Ademas se
presenta las formar de bloquear paginas web a traves del
archivo de configuracion del servidor proxy instalado a
traves de Squid3 y los pasos para configurar el Navegador
Firefox para que implemente el proxy.

I. I NTRODUCCI ON
oy en da existen muchas personas que cuenta
con acceso a Internet, especialmente las nuevas
generaciones que ya nacen con este servicio, por lo que
seguramente dentro de un tiempo, el internet sera algo
intrnseco en nuestras vidas, y su crecimiento no lo
podremos detener.

Con los avances tecnologicos y en especial gracias a


que ahora se cuenta con un mayor ancho de banda en
las casas y en los dispositivos moviles, ahora se puede
acceder mas rapido a internet. Pero esta evolucion sigue
creciendo enormemente haciendo que inevitablemente
surjan muchas desventajas, es mas, podramos asegurar
que el internet ha trado muchos inconvenientes, como
toda tecnologa lo hace, y uno de ellos es hacer que las
personas tengan accesibilidad a tipos de informaciones
desagradables como pornografas, spam, accesos a
paginas infectadas con software maliciosos, entre otros.
Ademas puede resultar un distractor dentro del campo
laboral o educativo.
Otras de las desventajas que podramos mencionar es
sin duda alguna el acceso a contenidos para adultos, en
el cual, segun un estudio realizado por Kaspersky, se
asegura que los menores que acceden a internet tienen
a la mano contenidos explcitos o violentos que ponen
de relieve la creciente preocupacion por falta de una
proteccion solida para los ninos en el ciberespacio.
A raz de esto los servidores proxy surgen como
un mecanismo de seguridad para mejorar las falencias

que aun existen y ante la necesidad de tener un mayor


control hacia el acceso a internet y el contenido que
podemos encontrar en la web.
Por este motivo los servidores proxy suelen usarse
en el a mbito de las empresas para filtrar el contenido
que visitan sus trabajadores y en el a mbito de unidades
educativas para impedir que los estudiantes accedan a
ciertas paginas.
Al realizarse todas las peticiones a traves del proxy
se puede determinar facilmente si estas son servidas o
no. En estos casos se tiene una lista de url no permitidas
como por ejemplo url de periodicos online, foros, blogs,
entre otros, y a veces se complementa con un diccionario de terminos prohibidos, en donde, si dicho termino
aparece en la url entonces esa web no se mostrara.
II.

C UERPO

II-A. Que es un proxy?


Un servidor proxy es aquel que permite proteger y
mejorar el acceso a las paginas web, al conservarlas en
la cache. De este modo, cuando un navegador enva una
peticion para acceder a una pagina web, que previamente
ha sido almacenada en la cache, la respuesta y el tiempo
de visualizacion es mas rapido.
Los servidores proxy aumentan tambien la seguridad,
ya que pueden filtrar cierto contenido web y programas
maliciosos.
El filtrado: El filtrado se aplica en funcion de la
poltica de seguridad implementada en la red. Este
permite bloquear sitios considerados maliciosos o
sitios considerados inutiles en relacion a la actividad
de la empresa como por ejemplo pornografa, juegos
distractores, entre otros.
Autenticacion: A fin de limitar el acceso a la red
exterior, y aumentar de este modo la seguridad de la red
local, se puede implementar un sistema de autenticacion
para acceder a recursos externos. Esto es bastante

disuasivo para los usuarios que desean visitar sitios que


esten en contra de las reglas de uso de Internet en la
empresa.
Almacenamiento de logs: El almacenamiento de
logs de los sitios visitados y paginas vistas, permite
al administrador de la red redefinir la poltica de
seguridad de la red y detectar a un usuario que visita
frecuentemente sitios maliciosos o sin relacion con la
actividad de la empresa.

Su patrocinador, Canonical, es una compana


britanica propiedad del empresario sudafricano Mark
Shuttleworth. Ofrece el sistema de manera gratuita, y se
financia por medio de servicios vinculados al sistema
operativo y vendiendo soporte tecnico.

II-B. Principio operativo de un servidor proxy


El principio operativo basico de un servidor proxy es
bastante sencillo: se trata de un servidor que actua como
representantede una aplicacion efectuando solicitudes
en Internet en su lugar. De esta manera, cuando un
usuario se conecta a Internet con una aplicacion del
cliente configurada para utilizar un servidor proxy, la
aplicacion primero se conectara con el servidor proxy
y le dara la solicitud. El servidor proxy se conecta
entonces al servidor al que la aplicacion del cliente
desea conectarse y le enva la solicitud. Despues, el
servidor le enva la respuesta al proxy, el cual a su vez
la enva a la aplicacion del cliente.

Fig 2. Logo de Ubuntu

II-D.

SQUID3

Squid es un servidor proxy para web con cache. Es una


de las aplicaciones mas populares y de referencia para
esta funcion, software libre publicado bajo licencia GPL.
Entre sus utilidades esta la de mejorar el rendimiento
de las conexiones de empresas y particulares a Internet
guardando en cache peticiones recurrentes a servidores
web y DNS, acelerar el acceso a un servidor web
determinado o anadir seguridad realizando filtrados de
trafico.
Aunque orientado principalmente a HTTP y HTTPS
soporta tambien otros protocolos como FTP e incluso
Gopher. Implementa cifrado SSL/TLS tanto en la
conexion al servidor web como a los navegadores y
cualquier cliente web que lo soporte.

Fig 1. Esquema del funcionamiento de un proxy

II-E. Caracteristicas de SQUID3


II-C.

Ubuntu

Ubuntu es un sistema operativo basado en GNU/Linux


y que se distribuye como software libre , el cual incluye
su propio entorno de escritorio denominado Unity. Su
nombre proviene de la e tica homonima, en la que se
habla de la existencia de uno mismo como cooperacion
de los demas.
Esta orientado al usuario novel y promedio, con un
fuerte enfoque en la facilidad de uso y en mejorar la
experiencia de usuario. Esta compuesto de multiple
software normalmente distribuido bajo una licencia libre
o de codigo abierto.

Proxy con cache de HTTP, FTP, y otros protocolos


de Internet: Squid proporciona un servicio de proxy
que soporta peticiones HTTP, HTTPS y FTP a equipos
que necesitan acceder a Internet y a su vez provee la
funcionalidad de cache especializado en el cual almacena
de forma local las paginas consultadas recientemente
por los usuarios. De esta forma, incrementa la rapidez
de acceso a los servidores de informacion Web y FTP
que se encuentran fuera de la red interna.
Proxy para SSL: Squid tambien es compatible con
SSL (Secure Socket Layer) con lo que tambien acelera
las transacciones cifradas, y es capaz de ser configurado
con amplios controles de acceso sobre las peticiones de

usuarios.

generado de forma dinamica.

Jerarquas de cache: Squid puede formar parte de


una jerarqua de caches. Diversos servidores trabajan
conjuntamente atendiendo las peticiones.

Este modo de funcionamiento se conoce tambien


como proxy inverso. Este es el sistema de acceso a los
servidores de la fundacion Wikimedia.

Un navegador solicita siempre las paginas a un solo


proxy y si este no tiene la pagina en su cache, consulta
a sus hermanos, que a su vez tambien podran consultar
con sus padres antes de finalmente ir al servidor web si
fuera necesario. Estas peticiones entre caches se pueden
hacer mediante dos protocolos: ICP y HTCP.

SNMP: Squid permite activar el protocolo SNMP


que proporciona un metodo simple de administracion
de red permitiendo supervisar, analizar y comunicar
informacion de estado entre una gran variedad de
maquinas; permite detectar problemas y proporcionar
mensajes de estado.

ICP, HTCP, CARP, cache digests: Squid sigue los


protocolos ICP, HTCP, CARP y cache digests que tienen
como objetivo permitir a un proxy preguntarle.a otros
caches si tienen almacenado un recurso determinado.

Cache de resolucion DNS: Squid incorpora el


programa dnsserver, que se encarga de las busquedas de
nombres de dominio. Cuando Squid se ejecuta, produce
un numero configurable de procesos dnsserver, y cada
uno de ellos realiza su propia busqueda en DNS. De
este modo, se reduce la cantidad de tiempo que la cache
debe esperar a estas busquedas DNS.

Cache transparente: Squid se puede configurar


para ser usado como proxy transparente empleando un
cortafuegos que intercepte y redirija las conexiones sin
configuracion por parte del cliente, e incluso sin que el
propio usuario conozca de su existencia.
Puerto 3128: De modo predefinido Squid utiliza
el puerto 3128 para atender peticiones, sin embargo
se puede especificar que lo haga en cualquier otro
puerto disponible o bien que lo haga en varios puertos
disponibles a la vez.
WCCP: A partir de la version 2.3 Squid implementa
WCCP (Web Cache Control Protocol). Permite
interceptar y redirigir el trafico que recibe un router
hacia uno o mas proxys cache, haciendo control de la
conectividad de los mismos.
Ademas permite que uno de los proxys cache
designado pueda determinar como distribuir el trafico
redirigido a lo largo de todo el array de proxys cache.

Fig 3. Servidor Proxy Squid

II-F. Navegador Firefox


Control de acceso: Ofrece la posibilidad de establecer
reglas de control de acceso. Esto permite establecer
polticas de acceso en forma centralizada, simplificando
la administracion de una red.
Gestion de trafico: Permite categorizar el trafico
y limitarlo de manera individual o agrupada para
conseguir un mejor aprovechamiento del ancho de
banda disponible en la conexion a Internet.
Aceleracion de servidores HTTP: Se puede asociar
Squid a servidores HTTP determinados. Publicando la
direccion y puerto del cache, que en este caso puede
ser el propio puerto 80, desde el exterior Squid se
percibe como si e l fuera el propio servidor web y as
se reduce la carga soportada por el servidor web. Esto
es especialmente rentable cuando se trata de contenido

Firefox es un navegador web libre y de codigo abierto


desarrollado para Microsoft Windows, Android, OS X y
GNU/Linux coordinado por la Corporacion Mozilla y la
Fundacion Mozilla. Usa el motor Gecko para renderizar
paginas webs, el cual implementa actuales y futuros
estandares web.

II-G.

Caractersticas de Firefox

Entre sus caractersticas incluyen la tradicional navegacion por pestanas, corrector ortografico, busqueda
progresiva, marcadores dinamicos, un administrador de
descargas, lector RSS, navegacion privada, navegacion
con georreferenciacion, aceleracion mediante GPU, e
integracion del motor de busqueda que desee el usuario.
Ademas, se puede instalar tanto sin conexion como

tambien en lnea desde la pagina web, este u ltimo es


utilizado para descargar los componentes de segundo
plano, ideal para para equipos con conexiones mnimas.

como medida prudencial que ha causado controversia, no


incluye compatibilidad con los sistemas ActiveX, debido
a la decision de la Fundacion Mozilla de no incluirlo por
tener vulnerabilidades de seguridad.

II-H. Instalacion y configuracion del servidor Proxy


a traves del shell de Ubuntu
Como primer paso para la creacion del servidor
proxy sera instalar y configurar Squid3 bajo Ubuntu.
Recordamos que Squid3 es un programa con licencia
GPL que implementa un servidor proxy y un demonio
para web cache.
La instalacion de Squid3 puede realizarse mediante
Synaptic o mediante consola. Como nuestra instalacion
y configuracion del servidor Proxy es a traves del shell,
abrimos nuestro terminal de Ubuntu y tecleamos lo
siguiente: sudo apt-get install squid
Fig 4. Logo de Firefox

Como elemento representativo, se pueden anadir


funciones a traves de complementos, uno de cuyos
tipos son las extensiones, desarrollados por la propia
Mozilla o por terceros aficionados y comerciales. Su uso
significativo de usuario se debe a su amplia variedad de
usos a traves de la comunidad Mozilla Addons, lo que
segun algunos estudios lo convierte en el navegador mas
personalizable y seguro del momento. En el repertorio,
los usuarios pueden personalizar el navegador con las
extensiones y temas (extensiones con capacidad para
cambiar la interfaz como fue el caso de las llamadas
Personas).
En total, el sitio addons.mozilla.org posee mas de
6000 extensiones a partir de junio de 2009; entre los
mas conocidos se encuentra Adblock Plus que en 10
anos de desarrollo alcanzo las 100 millones de descargas.

Fig 5. Instalacion de Squid3 por medio del terminal

Una vez instalado Squid3, nos dirigimos a la ruta


en donde se instalo que por defecto es: /etc/squid3
y nos aseguramos que se encuentre el archivo squid.conf.

Estandares web: Es compatible con varios lenguajes


web, incluyendo HTML, XML, XHTML, SVG 1.1
(parcial), CSS 1, 2 y 3, ECMAScript (JavaScript),
DOM, MathML, DTD,XSLT, XPath, e imagenes PNG
con transparencia alfa. Tambien incorpora las normas
propuestas por el WHATWG, y es compatible con el
elemento HTMLCanvas.
Seguridad: Implementa el sistema SSL/TLS para
proteger la comunicacion con los servidores web, utilizando fuerte criptografa cuando se utiliza el protocolo
https. Tambien soporta tarjetas inteligentes para fines de
autenticacion. Cuenta con una proteccion antiphishing,
antimalware e integracion con el antivirus. Tambien y

Fig 6. Vista de los arhivos que contiene la carpeta Squid3

Luego procedemos a editar dicho archivo y para ello


tecleamos lo siguiente: sudo gedit squid.conf

Aqu configuraremos la cantidad de memoria asignada

para la cache de Squid. Esta


valor va a depender de la
cantidad de RAM de la maquina, pero si tenemos 1GB
podemos asignarle unos 256 MB. Borramos el #para
descomentar esa lnea.

Fig 7. Instante en que se edita el archivo squid.conf

Fig 10. Configuracion de la memoria cache de Squid

Luego buscamos la
/var/spool/squid 100 16 256

lnea:

cache dir

ufs

Este parametro se encarga de asignar un espacio en


el disco para almacenar la cache de Squid. Ufs es el
formato con el que Squid guarda la cache en disco,
luego viene la ruta donde se almacenara la misma y, por
ultimo, aparece el tamano maximo en disco que Squid
utilizara.
Fig 8. Archivo de configuracion abierto

Despues buscamos la siguiente lnea: http port


3128. En esta lInea configuramos el puerto por el
cual Squid .escucharalas peticiones. Por defecto
viene el 3128, podemos cambiarlo por ejemplo al 8080.
Pero en nuestro caso, dejaremos el que viene por defecto.

Al primer valor (100) le asignaremos 1000 (MB), este


valor no puede ser menor que el que hemos asignado
antes a la memoria cache. Luego vienen los parametro
de directorio primario (16) y directorio secundario (256)
en niveles. Establecera 16 directorios de primer nivel
y 256 subdirectorios de segundo nivel. Estos valores
conviene dejarlo por defecto.

Fig 11. Asignacion del espacio en disco para el almacenamiento


de la cache del Squid

Fig 9. Puerto 3128 por defecto

Nuevamente en el mismo archivo de configuracion


buscamos la siguiente lnea: cache mem 8 MB

El siguiente paso es asignar listas de control de


acceso. Para ello buscamos la lnea: acl CONNECT
method CONNECT
Aqu crearemos la primera regla que luego
permitiremos (o denegaremos). La regla debe comenzar

con .acl luego elegiremos el nombre de la misma, el


metodo de acceso y por ultimo el rango de acceso. Por
ejemplo: acl redlocal src 192.168.1.0/24

lnea: http access y debajo de la lnea que dice # Only


allow cachemgr access from localhost agregamos:

http access deny web


En e sta regla indicamos cual es el origen de las
conexiones. En este caso es la direccion de red
192.168.1.0 con mascara 255.255.255.0. Lo que abarca
el rango de IP desde 192.168.1.0 hasta 192.168.1.255
(Debemos tener en cuenta que la primera direccion y la
u ltima no deben utilizarse).
Ahora crearemos otra regla para denegar la
conexion a distintas paginas: acl denegado url regex
/ etc/squid/denegado
El metodo url regex es para que el proxy analice las
direcciones de acuerdo a las palabras que anotemos en
una lista. En este ejemplo luego del metodo colocamos
una ruta con un archivo que Squid chequeara antes de
permitir la conexion. Ese archivo estara formado por
todas las palabras que queremos denegar. En lugar de la
ruta podramos escribirlas todas una al lado de la otra,
separadas por espacios, pero si son muchas quedara
bastante desprolijo.

Aqui denegamos la pagina www.taringa.net que


contiene la etiqueta web.en la regla de control de acceso
que creamos en el paso anterior.
http access deny denegado
Esto es para denegar todas las paginas web que
contengan las palabras que escribiremos en nuestro
archivo denegado.
http access allow redlocal
Con esto permitimos las conexiones de nuestra red.
Cabe mencionar que las reglas http access deben
de estar en el orden adecuado. Squid las interpreta de
abajo hacia arriba, por lo que primero debemos definir
las reglas que deniegan algo, y despues las que permiten.

Creamos la tercera regla como otra manera de denegar


paginas: acl web dstdomain www.taringa.net
En este caso estamos denegando el acceso a la pagina
www.taringa.net, si queremos denegar mas paginas
utilizaramos la misma lnea y reemplazariamos solo
la pagina a la que queremos denegar. Aclaramos que
es obligatorio poner una etiqueta al lado de acl, no
necesariamente tiene que ser la palabra webpuede ser
la que se desea. En nuestro ejemplo utilizamos dicha
palabra como etiqueta o referencia a la pagina a denegar.
As mismo en el caso anterior con la palabra denegado.
Entonces, las 3 reglas que creamos quedaron de la
siguiente forma:

Fig 13. Creando las directivas http access

A continuacion cerramos el archivo de configuracion


guardando los cambios efectuados y nos dirigimos a la
terminal para editar el archivo denegado.

Fig 14. Instante en el que se edita el archivo denegado


Fig 12. Creacion de reglas de control de acceso

Despues, para permitir o denegar las reglas que


creamos en el paso anterior debemos buscar la siguiente

Una vez abierto nuestro archivo denegado, aqu


escribiremos todas las palabras que queremos denegar.
En nuestro caso como somos Emelexistas escribiremos
la palabra barcelonapara que impedir el acceso a todas

las paginas web que contengan dicha palabra.

continuacion.

En este mismo archivo tambien podemos escribir


las paginas web directamente, como por ejemplo:
www.eldiario.ec para denegar dicha pagina, o bien lo
podemos hacer de la misma manera que denegamos
a la pagina de taringa, directamente en el archivo de
configuracion de Squid3 cuando creamos las listas de
control de acceso o ACL

Fig 17. Logo de Firefox

Luego accedimos a preferencia y escogemos la opcion


Avanzado como en el grafico siguiente.

Fig 15. Archivo denegado y las palabras que serviran como


referencia para denegar paginas web

Por u ltimo debemos reiniciar el servicio del Squid para


que se efectuen los cambios. Para ello tecleamos en la
terminal la siguiente lnea: sudo service squid3 restart
Dependiendo de la version de Ubuntu, se
puede reiniciar el servicio con el comando: sudo
/etc/init.d/squid restart sino en /etc/default/squid.
As que si no llega a funcionar el paso anterior se
puede probar directamente con sudo squid restart(En
caso de que salga el mensaje de Squid is already
running!se debera primero matar.el proceso con sudo
kill NumeroProcessID)

Fig 18. Logo de Firefox

Dentro de la opcion Avanzado apareceran cinco


pestanas, escogeremos la que dice Red, y damos click
en configurar... para configurar el acceso de Firefox a
Internet.

Fig 16. Instante en el que se reinicia el servicio de Squid3


Fig 19. Logo de Firefox

II-I. Configuracion del Navegador Firefox para que


implemente el proxy creado
Para configurar el Navegador Firefox que viene
al instalar el sistema operativo Ubuntu, abrimos el
navegador y nos dirigimos al menu como se muestra a

Aqu nos aparecera un recuadro en el cual, en la


parte donde dice Configurar proxies para el acceso a
internet, escogemos la casilla que dice Configuracion
manual del proxy:

En el cuadro de Proxy HTTP: colocamos la direccion


de la maquina y en el puerto escribimos el numero de
puerto por el cual se conecta el proxy, que en nuestro
caso utilizamos el que vena por defecto en el archivo de
configuracion del SQUID, es decir, el 3128. Le damos
click en aceptar y listo. Ya tenemos nuestro servidor
proxy funcionando en nuestro navegador Firefox.

Fig 22. Bloqueo de una pagina web

IV.

C ONCLUSI ON

Como conclusion podemos decir que el uso de un


servidor proxy tiene dos propositos; el primero es mejorar el desempeno de la red ya que los servidores proxy
pueden mejorar en gran medida el desempeno para un
grupo de usuarios, debido a que ahorra la obtencion de
los resultados de todas las solicitudes para una cierta
cantidad de tiempo; y el segundo proposito que tiene
el proxy es el de filtrar solicitudes, ya que de esta
manera puede ofrecer un servicio de seguridad basico,
muy importante para proteger una intranet o un sistema
de informacion conectado a una red publica.
Fig 20. Activacion del proxy en el Navegador Firefox

V.

III.

R ESULTADOS

A continuacion se muestra como funciona el proxy


al querer ingresar a una pagina web que se encuentre
denegada, es decir, que no cumpla con las reglas de
control de acceso.

Fig 21. Bloqueo de una pagina que contenga palabras ingresadas


en el archivo denegado

R EFERENCIAS B IBLIOGR AFICAS

Proxy by Peter Sotos Pornography, 1993-2000


The SQUID Handbook: Fundamentals and Technology of SQUIDs and SQUID Systems by John
Clarke, Alex I. Braginski
Squid Proxy Server 3.1: Beginners Guide by Kulbir
Saini
Utilization of Squid by M. Sugiyama
Ubuntu 14.04 LTS Server: Administration and Reference by Richard Petersen
VI.

R EFERENCIAS W EB

http://www.ubuntufacil.com/2013/04/instalarservidor-proxy-con-squid/
http://es.ccm.net/faq/613-instalar-un-servidorproxy-http-squid
https://www.youtube.com/watch?v=pyUIQZnbCXM
http://shakaran.net/blog/2012/10/como-crear-unservidor-proxy-con-squid-en-ubuntu/
http://hayardillasenlared.blogspot.com/2011/03/instalary-configurar-proxy-squid-en.html
http://thebitdeveloper.com/2010/02/12/instalaciony-configuracion-de-squid3/
https://es.wikipedia.org/wiki/Mozilla Firefox
https://help.ubuntu.com/community/Squid

Você também pode gostar