Anda di halaman 1dari 41

P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

SERVIDOR PROXY
CON SQUID



P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

QU ES UN PROXY?
Un proxy es un programa o dispositivo que realiza una tarea acceso a Internet en lugar de
otro ordenador. Un proxy es un punto intermedio entre un ordenador conectado a
Internet y el servidor al que se est accediendo. Cuando navegamos a travs de un proxy,
nosotros en realidad no estamos accediendo directamente al servidor, sino que
realizamos una solicitud sobre el proxy y es ste quien se conecta con el servidor que
queremos acceder y nos devuelve el resultado de la solicitud.

La siguiente imagen ilustra la tarea principal de un proxy








P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

TIPOS DE PROXY
Servicio Proxy o Proxy Web
Su funcionamiento se basa en el del Proxy HTTP y HTTPs, pero la diferencia fundamental
es que la peticin se realiza mediante una Aplicacin Web embebida en un Servidor HTTP
al que se accede mediante una direccin DNS, esto es, una pgina web que permite estos
servicios.
Proxy Cach
Su mtodo de funcionamiento es similar al de un proxy HTTP o HTTPs. Su funcin es
precargar el contenido web solicitado por el usuario para acelerar la respuesta Web en
futuras peticiones de la misma informacin de la misma mquina u otras.
Proxy transparente
Es transparente en los trminos de que su direccin IP est expuesta, no es transparente
en los trminos de que no se sabe que lo est utilizando. Combina un servidor proxy con
NAT (Network Address Translation) de manera que las conexiones son enrutadas dentro
del proxy sin configuracin por parte del usuario. Este es el tipo de proxy que utilizan los
proveedores de servicios de internet (ISP)
Proxy inverso
Un reverse proxy es un servidor proxy instalado en el domicilio de uno o ms servidores
web. Todo el trfico entrante de Internet y con el destino de uno de esos servidores web
pasa a travs del servidor proxy. Hay varias razones para instalar un "reverse proxy":
Seguridad: el servidor proxy es una capa adicional de defensa y por lo tanto
protege los servidores web.
Cifrado / Aceleracin SSL: cuando se crea un sitio web seguro, habitualmente el
cifrado SSL no lo hace el mismo servidor web, sino que es realizado por el "reverse proxy",
el cual est equipado con un hardware de aceleracin SSL (Security Sockets Layer).
Distribucin de Carga: el "reverse proxy" puede distribuir la carga entre varios
servidores web. En ese caso, el "reverse proxy" puede necesitar reescribir las URL de cada
pgina web (traduccin de la URL externa a la URL interna correspondiente, segn en qu
servidor se encuentre la informacin solicitada).
Cach de contenido esttico: Un "reverse proxy" puede descargar los servidores
web almacenando contenido esttico como imgenes u otro contenido grfico.
P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.


Proxy NAT (Network Address Translation) / Enmascaramiento
Es un mecanismo de intermediario en una red. Modifica la direccin original de fuente o
destino de los paquetes IP, sustituyndola por otras.
Proxy abierto
Este tipo de proxy es el que acepta peticiones desde cualquier ordenador, est o no
conectado a su red.
En esta configuracin el proxy ejecutar cualquier peticin de cualquier ordenador que
pueda conectarse a l, realizndola como si fuera una peticin del proxy. Por lo que
permite que este tipo de proxy se use como pasarela para el envo masivo de correos de
spam.
VENTAJAS Y DESVENTAJAS DEL USO DE UN PROXY
Ventajas:
Control: Solamente el intermediario hace el trabajo real, por lo tanto se pueden limitar y
restringir los derechos de los usuarios, y dar permisos solamente al proxy.
Ahorro: Por lo tanto, solamente uno de los usuarios (el proxy) debe estar equipado para
hacer el trabajo real.
Velocidad: Si varios clientes piden el mismo recurso, el proxy puede hacer de cach:
guardar la respuesta de una peticin para darla directamente cuando otro usuario la
pidiera. As de sta manera no tiene que volver a contactar con la destinacin, y acaba
siendo ms rpido.
Filtrado: El proxy puede negarse a responder algunas peticiones si detecta que estn
prohibidas, gracias a las polticas de seguridad.
Modificacin: Como intermediario que es, un proxy puede falsificar informacin, o
modificarla siguiendo un algoritmo.
Anonimato: Si todos los usuarios se identifican como uno solo, es difcil que el recurso
accedido pueda diferenciarlos. Pero eso puede ser malo, por ejemplo cuando hay que
hacer la identificacin.

P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.


Desventajas:
Abuso: Al estar dispuesto a recibir peticiones de muchos usuarios y responderlos, es
posible que haga algn trabajo que no toca. Por lo tanto, debe controlar quien tiene
acceso y quien no, cosa que normalmente es muy difcil.
Carga: Un proxy debe hacer el trabajo de muchos usuarios. Intromisin (es un paso ms
entre el origen y el destino), y algunos usuarios pueden no querer pasar por el proxy. Y
menos si hace de cach y guarda copias de los datos.
Irregularidad: El hecho de que el proxy represente a ms de un usuario da problemas en
muchos escenarios, en concreto los cuales suponen una comunicacin directa entre un
emisor y un receptor (como TCP/IP).















P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

PROXY CON SQUID
A continuacin se describe como se realiza la instalacin del proxy squid en un sistema
operativo Linux (Ubuntu), as como la configuracin de dicho proxy para fines prcticos en
una red.
1.-INSTALACIN
Escribimos en una terminal de comandos lo siguiente:

Si uno ya se encuentra como root, no es necesario escribir sudo, con el resto de la lnea
bastara para comenzar la instalacin.
En caso de haber ejecutado el comando anterior y no se realice la instalacin, tendremos
que actualizar los repositorios de los paquetes de software, con el siguiente comando:
sudo apt-get update
Una vez que finalice la instalacin debemos de tomar en cuenta cuales son los ficheros y
directorios ms importantes de squid, los cuales se describen a continuacin
-El directorio /etc/squid es donde se guardan los ficheros de configuracin: por ejemplo el
fichero squid.conf
-La documentacin se encuentra en /usr/share/doc/squid-x.x.x/
-En /var/spool/squid se van a encontrar las pginas cacheadas, es decir, las tradas
desde Internet y que se almacenan para la prxima vez que las solicite alguien y no hayan
cambiado.
-En /var/log/squid se guardan los accesos de nuestros usuarios a Internet a travs del
proxy, as como los posibles errores que hayan ocurrido.





P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.


2.-PREPARAR EL SERVIDOR PROXY
Configuracin de las tarjetas de red
El servidor Proxy Squid necesita tener al menos 2 tarjetas de red
La primer tarjeta de red (eth0), ser la que conecte a la red local de ordenadores y que
posteriormente accedern a Internet a travs del servidor proxy Squid. Por ejemplo la red:
172.26.0.0/16 red de Clase B.
La segunda tarjeta de red (eth1), ser la que est conectada directamente a Internet, por
ejemplo a travs de un router ADSL, por ejemplo la red 192.168.1.0/24 red de Clase C,
supongamos que el acceso a Internet nos lo proporciona la direccin IP 192.168.1.1, que
es la IP del router.
De esta forma tenemos aislada la red local de la red que permite el acceso a Internet, de
forma que si un usuario de la red local quiere acceder a Internet lo tiene que hacer a
travs del servidor proxy Squid y de esta forma podremos filtrar el contenido al que puede
acceder, e incluso impedirle el acceso segn nos convenga.
Activar el enrutamiento
Con esto se consigue comunicar las dos tarjetas de red eth0 y eth1 entre s, ya que si no
sera imposible conectar la red local de ordenadores y la red que tiene acceso a Internet.
-Activar enrutamiento de forma temporal

-Tambin se puede hacer permanentemente, descomentando la siguiente lnea en el
fichero de configuracin /etc/sysctl.conf:

Configurar el Cortafuegos
Hay que configurar correctamente el cortafuegos del servidor Squid, para que permita
enviar paquetes y recibir desde la red local, enmascarar la red local (NAT) para poder usar
la nica direccin IP pblica que normalmente se tiene para acceder a Internet.

P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.


Configuracin bsica de todas las reglas de filtrado
Supondremos que el interfaz de red conectado a Internet es eth1 y el de la red local eth0
con direccin: 172.26.0.0/16. Un posible script de configuracin puede ser (puedes
incluir el script en /etc/rc.local para Ubuntu):

Configuracin avanzada para el cortafuegos
La configuracin anterior de cortafuegos permite que los clientes usen el servicio del
proxy Squid, pero y si desea algn cliente saltarse el proxy?, con las reglas del
cortafuegos en el ejemplo anterior conseguira saltrselo, para evitar esto se deben aadir
algunas reglas ms que refuercen la seguridad de nuestro equipo en la red.
Para este ejemplo se tendr la siguiente configuracin en un ordenador con dos tarjetas
de red:
-eth0: interfaz que se conecta a Internet a travs de la dir. IP: 192.168.1.131/24
-eth1: interfaz de la red local de ordenadores que usan el proxy: 10.42.43.1/8
El fichero /etc/rc.local tendr las siguientes lneas:
P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.


Esta configuracin permite detener a Ultrasurf, una aplicacin que salta la
configuracin del proxy y cortafuegos de la red, mediante el uso de tneles SSL y proxys
annimos.
Artculo principal: http://linuxerotijolero.blogspot.com/2011/11/bloquear-ultrasurf.html

3.-CONFIGURACIN
El archivo de configuracin que utiliza Squid es /etc/squid/squid.conf, pudiendo
encontrarse en otras localizaciones dependiendo de la instalacin.
Primero hay que realizar una copia de seguridad del fichero squid.conf, mediante el
comando:






P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Qu puerto utilizar para Squid?
Squid por defecto utilizar el puerto 3128 para atender peticiones, sin
embargo se puede especificar que lo haga en cualquier otro puerto o bien que lo haga
en varios puertos a la vez.
En el caso de un Proxy Transparente, regularmente se utilizar el puerto 80 y se valdr del
re direccionamiento de peticiones de modo tal que no habr necesidad alguna
de modificar la configuracin de los navegadores Web para utilizar el servidor Proxy.
Bastar con utilizar como puerta de enlace al servidor. Es importante recordar que los
servidores Web, como Apache, tambin utilizan dicho puerto, por lo que ser necesario
reconfigurar el servidor HTTP para utiliza otro puerto disponible, o bien desinstalar o
deshabilitar el servidor HTTP.
Hoy en da ya no es del todo prctico el utilizar un Proxy Transparente, a menos que se
trate de un servicio de Caf Internet u oficina pequea, siendo que uno de los principales
problemas con los que lidian los administradores es el mal uso y/o abuso del acceso a
Internet por parte del personal. Es por esto que puede resultar ms conveniente
configurar un servidor Proxy con restricciones por contrasea, lo cual no puede hacerse
con un Proxy Transparente, debido a que se requiere un dilogo de nombre de usuario y
contrasea.
Regularmente algunos programas utilizados comnmente por los usuarios suelen traer
por defecto el puerto 8080 -servicio de cacheo WWW- al configurar que servidor
proxy utilizar. Si queremos aprovechar esto en nuestro favor y ahorrarnos el tener que
dar explicaciones innecesarias al usuario, podemos especificar que Squid escuche
peticiones en dicho puerto tambin. Siendo as localice la seccin de definicin de
http_port, y especifique:

Si se desea incrementar la seguridad, puede vincularse el servicio a una IP que solo se
pueda acceder desde la red local. Considerando que el servidor utilizado posee una IP
192.168.1.254, puede hacerse lo siguiente:


P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Parmetro cache_mem
Define la cantidad de memoria RAM que deseamos asignar a las funciones de Squid, por
defecto se establecen 8 MB. Puede especificarse una cantidad mayor si as se considera
necesario, dependiendo esto de los hbitos de los usuarios o necesidades establecidas por
el administrador.
Si se posee un servidor con al menos 128 MB de RAM, establezca 16 MB como valor para
este parmetro:

Parmetro cache_dir: Tamao de la cach
Este parmetro establece que tamao va a tener la cach en el disco duro para Squid.
Para entender esto un poco mejor, responda a esta pregunta: Cunto desea almacenar
de Internet en el disco duro? Por defecto Squid utilizar un cache de 100 Mb, de modo tal
que encontrar la siguiente lnea:

Se puede incrementar el tamao de la memoria cach hasta donde lo desee el
administrador.
Mientras ms grande sea la cache, ms objetos de almacenarn en ste y por lo tanto se
utilizar menos el ancho de banda. La siguiente lnea establece un cache de 700 Mb:

Los nmeros 16 y 256 significan que el directorio del cach contendr 16 subdirectorios
con 256 niveles cada uno. No modifique esto nmeros, no hay necesidad de
hacerlo. El sistema de almacenamiento usado se especifica con el parmetro ufs.
Es muy importante considerar que si se especifica un determinado tamao de cach y este
excede al espacio real disponible en el disco duro, Squid se bloquear inevitablemente.
Sea cauteloso con el tamao de cache especificado.
Controles de acceso.
Es necesario establecer Listas de Control de Acceso que definan una red o bien ciertas
maquinas en particular. A cada lista se le asignar una Regla de Control de Acceso que
permitir o denegar el acceso a Squid, es decir, el acceso a Internet si est disponible.

P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Listas de Control de Acceso (ACL)
Las Listas de Control de Acceso empiezan a definirse a partir de estas lneas, que nunca
deberan ser modificadas, en concreto en la versin de squid 2.6 te puedes encontrar con:

Cada Lista de Control de Acceso (ACL) puede definir a una red, direccin IP, listas de
direcciones IP, un dominio (FQDN), listas de dominios, e incluso palabras o listas de
palabras. Las ACL definidas por el administrador deben ser insertadas a partir de la
siguiente lnea:


P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Regularmente una lista de control de acceso se establece siguiendo la siguiente sintaxis:

Se puede establecer una ACL que defina la red local a travs de la IP que corresponde a la
red y la mscara de red. Por ejemplo, si se tiene la red 192.168.1.0 con mscara de red
255.255.255.0, podemos utilizar lo siguiente:

Tambin se puede definir as en notacin CIDR:

Otro ejemplo de Lista de Control de Acceso (ACL):

Tambin puede definirse una Lista de Control de Acceso invocando un fichero localizado
en cualquier parte del disco duro, y en el cual se en cuenta una lista de direcciones IP.
Ejemplo:

El fichero /etc/squid/permitidos contendra algo como siguiente:

Se puede definir una ACL que est formada por palabras incluidas en la URL o direccin de
la pgina web, por ejemplo:

Igual que en el caso anterior, se pueden definir estas ACL de palabras incluidas en la URL,
mediante un fichero que contenga estas palabras, sobre todo si la lista de palabras es
extensa:


P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.


En este ejemplo el fichero es /etc/squid/denegados que contendr las siguientes lneas:


Tambin se pueden declarar ACL de direcciones de destino o dominios, por ejemplo:

Y por supuesto se puede realizar esto mediante un fichero que contenga un dominio en
cada lnea, si la lista de dominios es muy grande.

Reglas de Control de Acceso
Las Reglas de Control de Acceso se aplican sobre las ACL's creadas anteriormente y
permite o deniega el acceso a internet a cada una de estas Listas de Control de Acceso
(ACL).
Las Reglas de Control de Acceso definidas por el administrador, se deben insertar, a partir
de donde se localiza la siguiente leyenda (al igual que sucede con las ACL):

La sintaxis bsica es la siguiente:



En el siguiente ejemplo consideramos una regla que establece acceso permitido a Squid a
la Lista de Control de Acceso denominada permitidos:


P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.


Tambin pueden definirse reglas valindose de la expresin !, la cual significa excepcin.
En el siguiente ejemplo hay dos listas de control de acceso, una denominada lista1 y otra
denominada lista2 en donde se asigna la expresin ! a una de estas. La siguiente establece
que se permite el acceso a Squid a lo que comprenda lista1 excepto aquello que
establezca lista2:

Este tipo de reglas son tiles cuando se tiene un gran grupo de IP dentro de un rango de
red al que se debe permitir acceso, y otro grupo dentro de la misma red al que se debe
denegar el acceso.
Aplicando Listas y Reglas de control de acceso.
Una vez comprendido el funcionamiento de la Listas y las Reglas de Control
de Acceso, procederemos a determinar cules utilizar para nuestra configuracin.
Permitir el acceso a una red local
Considerando como ejemplo que se dispone de una red local 192.168.1.0/24, habr que
escribir las siguientes lneas en el lugar adecuado, detrs de INSERT YOUR OWN
RULE(S).....

La regla http_access allow redlocal permite el acceso a Internet a la Lista de Control de
Acceso denominada redlocal, la cual est conformada por la red 192.168.1.0/24. Esto
significa que cualquier mquina desde 192.168.1.1 hasta 192.168.1.254 podr acceder a
internet a travs de Squid en caso de que lo haya Y por supuesto la red localhost del
propio ordenador donde se instal Squid.
Permitir el acceso a listas de direcciones IP
Si solo se desea permitir el acceso a Squid a ciertas direcciones IP de la red local,
deberemos crear un fichero que contenga dicha lista. Genere el fichero /etc/squid/lista,
dentro del cual se incluirn solo aquellas direcciones IP que desea confirmen la Lista de
Control de acceso.
P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Ejemplo:

Habr que escribir las siguientes lneas en el lugar adecuado, detrs de INSERT YOUR OWN
RULE(S).


La regla http_access allow listaIP permite el acceso a Squid a la Lista de Control de
Acceso denominada redlocal, la cual est conformada por las direcciones IP
especificadas en el fichero /etc/squid/lista. Esto significa que cualquier mquina no
incluida en /etc/squid/lista no tendr acceso a Internet, salvo la red localhost.
Impedir el acceso a dominios
Existe un caso frecuente, consistente en prohibir el acceso a una lista de sitios
consideramos como "inapropiados". Squid no est optimizado para gestionar una larga
lista de sitios, pero puede gestionar un nmero concreto de sitios sin problemas.

Este ejemplo indica que las URLs playboy.com o sex.com sern denegadas, ya
que as lo especifica la primera lnea de la directiva "http_access". Si se piden otras
URLs, lgicamente la primera lnea no es aplicable, y Squid pasa a considerar la segunda y
tercera. Por tanto, si el cliente se conecta dentro del rango permitido se cursar la
peticin. De lo contrario, la peticin ser rechazada.

P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Idioma de los mensajes mostrados por Squid al usuario.
Squid incluye traduccin a distintos idiomas de las distintas pginas de error e
informativas que son desplegadas en un momento dado durante su operacin. Dichas
traducciones se pueden encontrar en /usr/share/squid/errors/. Para poder hacer uso de
las pginas de error traducidas al espaol, es necesario cambiar un enlace simblico
localizado en
/etc/squid/errors
Para que apunte hacia /usr/share/squid/errors/Spanish en lugar de hacerlo hacia
/usr/share/squid/errors/English.
Elimine primero el enlace simblico actual:

Coloque un nuevo enlace simblico apuntando hacia el directorio con los ficheros
correspondientes a los errores traducidos al espaol.

Importante: Este enlace simblico debe verificarse, y regenerarse de ser necesario, cada
vez que se actualice Squid.
4.-PROXY TRANSPARENTE
Si deseamos disponer de un servicio de proxy en el que los clientes no tengan que
modificar nada en la configuracin del navegador necesitamos montar un proxy
transparente.
Para disponer de esta funcionalidad descomentaremos en el fichero de configuracin de
Squid (/etc/squid/squid.conf) las siguientes lneas:
Versiones de Squid 2.5 y anteriores


P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Tambin sera correcta esta configuracin, si el servidor web de la red local es
192.168.1.254, considerando que se har uso del cach de un servidor HTTP (por ejemplo
Apache) como auxiliar:

Opciones para Proxy Transparente para redes con Internet Exlorer 5.5 y versiones
anteriores.

Versiones de Squid 2.6 y posteriores
Si el servidor http de la red local es 192.168.1.254 y el puerto por el que escucha es el
8080, para no interferir con squid que escucha por el puerto 80.

En caso de no haber un servidor HTTP en la red local, se puede activar directamente el
proxy transparente de la siguiente forma:


Re-direccionamiento de peticiones a travs de iptables y Firestarter.
Si se tiene poca experiencia con guiones de cortafuegos a travs de iptables, sugerimos
utilizar Firestarter. ste permite configurar fcilmente tanto el enmascaramiento de IP
como el cortafuegos.
Firestarter: http://www.fs-security.com/
En un momento dado se requerir tener salida transparente hacia Internet para ciertos
servicios, pero al mismo tiempo se necesitar re-direccionar peticiones hacia servicio HTTP
para pasar a travs del puerto donde escucha peticiones Squid (8080), de modo que no
haya salida alguna hacia servidores HTTP en el exterior sin que sta pase antes por
P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Squid. No se puede hacer Servidor Intermediario (Proxy) Transparente para los
protocolos HTTPS, FTP, GOPHER ni WAIS, por lo que dichos protocolos tendrn que ser
filtrados a travs del NAT.
El re-direccionamiento lo hacemos a travs de iptables. Considerando para este ejemplo
que la red local se accede a travs de una interfaz eth0, el siguiente esquema ejemplifica
un re-direccionamiento:

Lo anterior, que requiere un guin de cortafuegos funcional en un sistema con dos
interfaces de red, hace que cualquier peticin hacia el puerto 80 (servicio HTTP) hecha
desde la red local hacia el exterior, se re-direccionar hacia el puerto 8080 del servidor
Squid (tambin se puede hacer para otro puerto como el 3128 que es ms comn en
Squid).
Utilizando Firestarter, la regla anteriormente descrita se aade en el fichero
/etc/firestarter/user-post.
Ejemplo
Configuracin de todas las reglas de filtrado de paquetes (supondremos que el interfaz de
red conectado a Internet es eth1 y el de la red local eth0 con direccin: 172.26.0.0/16). Un
posible script de configuracin puede ser (muy parecido al que se propuso
anteriormente, salvo por que este incluye el re direccionamiento, puedes incluir el script
en /etc/rc.local para Ubuntu):

En las mquinas clientes solo ser necesario poner la puerta de enlace y las IPs de los
servidores de nombres (si se utiliza un servicio de DHCP se puede hacer
automticamente). Pero ya no hay que optar por configurar nada en los navegadores.

P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Importante
Debemos tener en cuenta que para poder activar el proxy transparente con Squid,
necesitamos una mquina con al menos dos tarjetas de red reales, no vale en este caso
configuraciones de una tarjeta de red real denominada eth0 y otra virtual eth0:0 ya que
las reglas de filtrado no estn permitidas sobre interfaces de red virtual. Esto se puede
resolver con una mquina virtual donde podemos simular otra tarjeta de red, es decir,
tener instalado proxy squid en una mquina virtual donde podemos engaar al sistema
operativo (en este caso Linux) para que crea que tenga dos tarjetas de red (o todas las que
necesites).
5.- INICIO Y PARADA DE SQUID. DEPURACIN DE ERRORES.
Arrancar: sudo /etc/init.d/squid start
Parar: sudo /etc/init.d/squid stop
Reiniciar: sudo /etc/init.d/squid restart
Tambin se puede usar el comando en Ubuntu 10.04: # service squid {start | stop |
restart}
El formato general de Squid es: # /etc/init.d/squid {force-reload reload restart start
stop}
Por defecto, el servidor Squid en Ubuntu se iniciar automticamente al arrancar el
ordenador. Si no te interesa esto, puedes deshabilitar esta opcin mediante:
# update-rc.d -f squid remove
Y para que de nuevo vuelva a iniciarse Squid al arrancar el ordenador:
# update-rc.d squid






P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Depuracin de errores
Cualquier error al inicio de Squid solo significa que hubo errores de sintaxis o bien se estn
citando incorrectamente las rutas hacia los ficheros de las Listas de Control de Acceso
.Puede realizar diagnstico de problemas indicndole a Squid que vuelva a leer
configuracin, lo cual devolver los errores que existan en /etc/squid/squid.conf.

Tambin puede iniciar Squid directamente desde la lnea de mandato, especificando el
modo de depuracin:


6.- CONFIGURACIN DE LOS CLIENTES
Para poder acceder a Internet a travs de un navegador web desde el cliente, habr que
configurar dicho navegador, indicando la direccin IP del servidor proxy Squid y el puerto
por el que escucha.
Por ejemplo, si nuestro servidor proxy Squid tiene la direccin IP: 192.168.55.200 y
escucha por el puerto 3128. Hay que configurar el navegador Mozilla accediendo al
men:
EditarPreferenciasAvanzadasProxyConfiguracin Manual del Proxy, pulsamos Ver
y en los distintos protocolos ponemos el host : 192.168.55.200 por el puerto 3128 que
es por el que escucha el Squid peticiones de sus clientes. Podemos ponerlo en todos los
protocolos menos en el socks.








P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

En el caso de Google Chrome damos clic, en configuracin, despus en opciones
avanzadas y seleccionamos el apartado de red donde nos saldr una imagen como la
siguiente:










Despus de eso damos clic en configuracin LAN, donde podremos poner la direccin IP
de nuestro servidor Squid as como el puerto correspondiente al proxy.










P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

7.-WEBMIN PARA MODO GRAFICO DE SQUID
Webmin es una interfaz web para la administracin de sistemas Linux (Unix). Usando
cualquier navegador podemos configurar las cuentas de usuario, Apache, DNS, apagado
del equipo, compartir archivos, etc. Adems, elimina la necesidad de editar manualmente
los archivos de configuracin (como /etc/passwd) y nos permite manejar el sistema desde
el propio equipo o remotamente.
1.-Instalacin de Webmin.
Para la instalacin de webmin habremos de proceder de la siguiente manera, podremos
bien dirigirnos directamente a la pgina de Webmin (www.webmin.com) y seleccionar
downloads
.

En esa pgina procederemos a seleccionar la descarga que sea compatible con nuestra
distro de Linux, en este caso para deban, Ubuntu y otros derivados Linux, tal y
como se observa en la captura, haremos clic para descargar.





P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Una vez descargada y en el sistema Ubuntu si hacemos doble clic sobre el archivo,
aparecer la opcin de abrir con (tal y como se aprecia en la captura) el instalador de
paquetes Gdebi que es el predeterminado para instalar descargas con la extensin
.deb como es el caso de nuestra descarga webmin_1620_all.deb, pulsamos
aceptar.

Cargara el instalador de paquetes GDebi y haremos clic en Instalar paquete arriba a
la derecha.




P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Lo que dar comienzo a la instalacin propiamente dicha, si hacemos clic en terminal
veremos el progreso de la instalacin.


Despus nos notificara de la finalizacin exitosa de la instalacin de webmin.


P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Una vez instalado podemos acceder a la interfaz web de Webmin usando un
navegador y escribiendo la direccin IP del equipo donde est instalado seguida del
puerto donde est escuchando, por defecto, el 10.000.
Eso s, debemos estar atentos porque en vez de usar el protocolo HTTP, usaremos el
HTTPS, en nuestro caso la IP ser https://192.168.0.199:10000 o lo que es lo mismo
https://servidorweb:10000.
Nos encontraremos con la siguiente advertencia si accedemos desde Firefox y aadiremos
una excepcin, por lo que hacemos clic sobre Obtener certificado y despus sobre
Confirmar excepcin de seguridad.






P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Iniciaremos sesin en Webmin y nuestro nombre de usuario ser el usuario del sistema
con privilegios de administrador.

Y as accedemos a la interfaz de Webmin.






P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

2.-INSTALACIN DE SQUID DESDE WEBMIN
La instalacin del servidor proxy Squid ser llevado a cabo desde Un-used Modules de la
herramienta de administracin web Webmin donde seleccionaremos Squid Proxy Server
en la lista de mdulos no usados, y haremos clic en l, con lo que se nos mostrara la
pantalla de la captura, en la cual habremos de hacer clic en click here (marcado en
cuadro rojo) para que se realice su instalacin.


Una vez realizado el clic se procede a la instalacin del servidor de manera no asistida por
el usuario, el sistema entiende que le has dado competencias para realizar la
instalacin sin necesidad de confirmacin u otra intervencin del usuario (ntese la
opcin en los parmetros de instalacin -y --force -yes -f a continuacin de apt-get).





P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.


El sistema nos informa no solo de la correcta instalacin del servidor en s, sino tambin
de los paquetes necesarios para el correcto funcionamiento del servidor proxy tal y como
se muestra en las siguientes capturas, instalacin correcta de squid-langpack, squid-
common, el propio squid, tal y como se muestra a continuacin.

P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Por ltimo y una vez instalado el servidor poder acceder a la interfaz grfica de
administracin y configuracin que provee Webmin.












P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.


3.-CONFIGURACIN DE SQUID Y PRUEBAS REALIZADAS.
Para la configuracin de Squid proxy server se ha partido de cero sin que existiera
ninguna acl ni restriccin proxy en el servidor, habiendo suprimido todas aquellas que
aparecan por defecto en la configuracin del mismo.
Una vez realizado esto, haremos clic en Access Control (marcado en cuadro rojo en la
captura) para proceder a configurar nuestras listas de control de accesos.

Una vez en la pantalla de Control de Acceso, para crear una nueva lista de control de
acceso habremos de seleccionar el tipo de lista en el desplegable de la derecha (marcado
rojo), y una vez seleccionado el tipo pulsar el botn crear nuevo de la izquierda. (Marcado
azul)


P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.


Para definir la siguiente lista de control de acceso seleccionaremos el tipo, Direccin de
Cliente (client address) y pulsaremos crear nuevo, una vez nos presenta la imagen
siguiente, en esta ocasin para el nombre de la lista (acl name) introduciremos all es
una acl que verifica todos los equipos de la red, es equivalente a acl all src
0.0.0.0/0.0.0.0
Posteriormente se utilizara para establecer una poltica preestablecida para denegarlo
o aceptarlo todo, por lo tanto introduciremos 0.0.0.0 en el espacio (From ip), el espacio
hasta ip (to ip) lo dejaremos vacio, y por ultimo introduciremos 0.0.0.0 en el espacio de
mascara de red (netmask), y acto seguido pulsaremos salvar, y volveremos a acl haciendo
clic en return to acls.






P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.



La siguiente lista de control de acceso seleccionaremos el tipo, Direccin de Cliente
(client address) y pulsaremos crear nuevo, una vez nos presenta la imagen siguiente, en
esta ocasin para el nombre de la lista (acl name) introduciremos localhost y en el
espacio desde ip (from ip) introduciremos la ip loopback del sistema 127.0.0.1 esta lista
tiene por objeto registrar nuestra maquina como origen de conexiones y acto seguido
pulsaremos salvar, y volveremos a acl haciendo clic en return to acls.






P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.


Para la siguiente lista de control de acceso seleccionaremos el tipo url_regex el cual
permite especificar expresiones regulares para comprobar una url completa, desde el
http:// inicial, y pulsaremos crear nuevo, en el nombre de esta lista introduciremos
las iniciales de nuestro nombre y apellidos, marcaremos la opcin de ignore case para
que ignore las maysculas, no introduciremos nada en el cuadro de expresiones, y en la
ltima fila store acl values in file almacenar valores en archivo marcaremos separate
file archivo separado y haremos clic en el cuadro con los tres puntos para seleccionar el
archivo de configuracin y su ubicacin y acto seguido pulsaremos salvar, y volveremos a
acl haciendo clic en return to acls.


Previamente a la seleccin del archivo que contendr las expresiones a comprobar, habr
que crearlo e introducir en l lo que queramos comprobar, en este caso queremos que se
bloquee el acceso a las pginas que contengan pornografa, para conseguirlo crearemos
mediante la terminal bash un archivo llamado porno.acl en la carpeta /etc/squid/,
para ello desde la terminal realizaremos cd /etc/squid y una vez en la carpeta deseada
nano porno.acl con lo que nos creara dicho archivo.



P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Una vez en dicho archivo el cual estamos editando aadiremos tantas expresiones
como deseemos en este caso se han incluido 10 URLs de pginas de contenido
pornogrfico, y aparte de estas 18 expresiones que pudieran conducir a una bsqueda de
contenido pornogrfico por medio de un buscador cualquiera, una vez configurado a
nuestro gusto el archivo pulsaremos control+o para guardar el contenido escrito en el
archivo seleccionado y control+x para salir de nano.







Una vez realizado lo anterior el aspecto que tendr la pantalla de listas de control de
acceso ser el de la captura siguiente, una vez aqu seleccionaremos la pestaa Proxy
restrictions (marcada en rojo) y haremos clic en ella.


P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.


Una vez en Editar restricciones de proxy, crearemos dos reglas de control de acceso, la
primera de ellas ser allow autorizar y seleccionaremos la acl all con ello habremos
conseguido una regla en la que todos tengan acceso, sin que se realice ninguna
comprobacin de expresin.






P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

A continuacin crearemos la regla que comprobara las expresiones que hemos
introducido en el archivo y si coincide alguna de ellas no permitir la conexin, para ello
seleccionaremos deny denegar y en la lista de coincidencias acl (match acl)
seleccionaremos nuestra lista de control de acceso JCTS, y en la lista de no coincide acl
(dont match acl) localhost que es el equipo origen de las conexiones.


Solo queda ordenar las reglas de acceso para un correcto funcionamiento de nuestro
servidor proxy squid, para ello por medio de las flechas pondremos en primer lugar
la regla deny JCTS!localhost por encima de allow all, ya que si no se realizase esto no
se comprobara expresin alguna, ya que si no se coloca la regla ms restrictiva primero,
no pasa a analizar la segunda regla.


P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Con ello tendramos configurado el servidor proxy squid solo deberamos pulsar
apply changes , a continuacin stop squid y una vez parado el servidor ponerlo en
marcha de nuevo haciendo clic en start squid.
Una vez configurado y en marcha nuestro servidor proxy, solo nos queda configurar
nuestro navegador para que haga uso de l, para ello en Firefox, en la opcin de la barra
de mens Editar haremos clic en preferencias, en la ventana que cargara, haremos clic en
avanzado, y una vez all, seleccionaremos la pestaa red en la que haremos clic en
configuracin.

En la ventana de configuracin de conexin, seleccionaremos la configuracin
manual del proxy e introduciremos los datos del mismo, nuestra direccin ip
192.168.0.199 y el puerto de escucha es el definido por defecto para squid 3128, hacer
notar que se configurara el no usar proxy para localhost ni para 127.0.0.1 de manera
automtica. Una vez configurado pulsaremos aceptar.


P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

PRUEBAS
En Firefox una vez realizado lo anterior, introduciremos la url de una pgina pornogrfica,
la cual hemos hecho mencin especfica dentro del archivo porno.acl en concreto
es.pornhub.com, comprobamos que el proxy bloquea el acceso a dicha pgina.

Comprobaremos ahora si la bsqueda en google de una de las expresiones nombradas en
el archivo nos devuelve algn tipo de direccin, en este caso haremos la bsqueda
con la expresin sex, y comprobamos como ha sido bloqueada por squid.







P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Sin embargo cualquier otra bsqueda no coincidente con las expresiones del archivo
porno.acl devuelve resultados y permiten el acceso normalmente, como se aprecia
en la imagen.

Por ultimo una captura de ventana del sistema con una bsqueda bloqueada por el
servidor proxy, una bsqueda no bloqueada, la pgina de inicio de Firefox, y la
informacin de la conexin del sistema.

P.ING.COMPUTACIN JESS ELISEO JIMNEZ ROBLES Creative Commons.

Referencias
-Paginas consultadas en Internet
http://www.linuxparatodos.net/
http://www.josedomingo.org/web/file.php/41/2/entrega2.pdf
http://es.wikipedia.org/wiki/Squid
http://www.idesoft.es/www2/squid/control.php

Anda mungkin juga menyukai