Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Características principales:
- Proxy con caché 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 caché
especializado en el cual almacena de forma local las páginas consultadas recientemente por
los usuarios. De esta forma, incrementa la rapidez de acceso a los servidores de información
Web y FTP que se encuentran fuera de la red interna.
Squid también es compatible con SSL (Secure Socket Layer) con lo que también acelera las
transacciones cifradas, y es capaz de ser configurado con amplios controles de acceso sobre
las peticiones de usuarios.
- Caché transparente
Squid se puede configurar para ser usado como proxy transparente empleando un cortafuegos
que intercepte y redirija las conexiones sin configuración 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.
- Gestión de tráfico
- Control de acceso
Ofrece la posibilidad de establecer reglas de control de acceso. Esto permite establecer
políticas de acceso en forma centralizada, simplificando la administración de una red.
Sintaxis de las ACL's (acces control list) (vamos a ver las opciones más utilizadas)
- Tipo src: Especifican una o varias direcciones IP de origen o un segmento de red con su máscara:
acl [nombre] src [contenido]
Ejemplos:
acl redlocal src 192.168.1.0/24
acl usuarios_VIP src 192.168.1.10 192.168.1.20
- Tipo dst: Especifican una IP de destino y máscara.
acl [Nombre] dst [contenido]
Ejemplo:
acl denegados dstdomain www.youtube.com www.as.com www.marca.com
- Tipo time: Establece límites relacionados con franjas horarias dentro de una semana, de esta
forma hasta podemos habilitar o deshabilitar la navegación externa a nuestro antojo.
acl [Nombre] time [días][Horas]
Ejemplo:
acl horario time MTWHF 09:00-18:00
- Tipo url_regex: permite especificar expresiones regulares para comprobar una url, de esta forma
podemos deshabilitar páginas con un contenido temático.
acl [Nombre] url_regex "path"
De esta forma ponemos un fichero.txt con varias palabras como “deporte, futbol, baloncesto,
deportivo” y controlamos el acceso a páginas que salgan en búsquedas de google, con estas palabras.
acl deporte url_regex "/etc/squid/listas/deporte.txt"
Ejemplo práctico:
De las ACL que hemos creado anteriormente cogemos la usuarios_VIP les vamos a permitir el
acceso a Internet.
http_access allow usuarios_VIP
De esta forma los usuarios permitidos podrán navegar sólo a las páginas permitidas por el
administrador en el horario de oficina.
Dentro del archivo /etc/squid/permitidas escribiríamos las páginas web permitidas. Por ejemplo:
www.juntadeandalucia.es …
En esta última regla, establecemos que se le negará el acceso a Internet a los usuarios, excepto en el
horario permitido y a las páginas permitidas, así como las descargas de ficheros multimedia.
1. Para instalarlo:
3. Ejecutamos:
#gedit /etc/squid3/squid.conf
Y el contenido de dicho archivo será el siguiente:
#parametros generales
#control de acceso
http_access deny nopermitidas
http_access deny nowebs
http_access allow acceso
ARCHIVO nopermitidas
ARCHIVO nowebs
www.youtube.com
www.youtube.es
http://youtube.com
4. Reiniciamos el servicio
# /etc/init.d/squid restart
Si configuramos un proxy transparente, tenemos que poner en la configuración IP del cliente como
puerta de enlace la dirección IP del proxy
En iptables del servidor tenemos que añadir:
iptables -t nat -A PREROUTING -o eth0 -p tcp –dport 80 -j REDIRECT –to-port 3128
APLICACIÓN PRÁCTICA SERVIDOR SQUID
También podemos usar un web proxy en nuestro ordenador o nuestro navegador web,
enmascarando nuestra IP, para acceder a ciertos contenidos bloqueados por país, hacer más difícil
que puedan localizar el lugar desde donde estamos conectados, etc.
Mi caso
En mi caso la necesidad era poder acceder al contenido bloqueado en España de NBA League
Pass. Cansado de tener que buscar streamings todos los años y de no poder disfrutar debido a los
cortes, mala calidad y demás problemas, este año me decidí a comprar por 10 € la oferta del NBA
League Pass para ver los Playoffs de esta temporada sin ningún tipo de problema. Para solucionar el
tema del blackout en España estuve probando unos cuantos proxys gratuitos, pero ninguno llegó a
funcionar correctamente, y sabiendo que muchos de estos proxys guardan la información que pasa
por ellos, no tenía ganas de seguir probando suerte y comprometiendo la seguridad de mi equipo,
así que aprovechando la disponibilidad de una máquina con Ubuntu en otro país decidí montarme
mi propio proxy…
modifiqué algunas lineas y añadí otras del archivo de configuración, que está en
/etc/squid/squid.conf, voy explicando paso a paso:
Después de la línea acl CONNECT method CONNECT añadí la siguiente línea con mi di-
rección IP externa (en el ejemplo cambiado por X todos los números):
acl mired src XX.XX.XX.XX
Antes de la linea http_access allow manager localhost añadí la siguiente línea, para que
Squid tuviese en cuenta la IP escrita anteriormente y le diese acceso:
http_access allow mired
Fui buscando las propiedades que necesitaba cambiar, algunas estaban comentadas (las li-
neas comentadas aparecen con # delante), las descomenté, y las fui modificando para que
quedasen del siguiente modo:
http_port 3128
cache_mem 64 MB
cache_dir ufs /var/spool/squid 256 16 256
error_directory /usr/share/squid/errors/Spanish
forwarded_for off
Por último sólo quedaba reiniciar Squid con el siguiente comando:
sudo /etc/init.d/squid restart
Y ya tenía el Proxy configurado y funcionando. En mi máquina tuve que configurar el proxy en
Firefox y con eso ya accedía con la IP enmascarada.
Con estos sencillos pasos he conseguido saltar el bloqueo de contenido en España, lo malo es la
necesidad de un servidor o una máquina a la que tengamos acceso en otro país o lugar que no sufra
este bloqueo