Instalación básica de Proxy Squid y configuración en navegadores

Squid es un popular programa de software libre que implementa un servidor proxy y un dominio para caché de páginas web, publicado bajo licencia GPL. Tiene una amplia variedad de utilidades, desde acelerar un servidor web, guardando en caché peticiones repetidas a DNS y otras búsquedas para un grupo de gente que comparte recursos de la red, hasta caché de web, además de añadir seguridad filtrando el tráfico. Está especialmente diseñado para ejecutarse bajo entornos tipo Unix.                                                                                               Definición Wikipedia.

Vamos a instalar Squid en un servidor CentOS y posteriormente configurar los navegadores web (Firefox y Chrome) para que utilicen este proxy para la navegación.

Instalación Proxy Squid en CentOS

Podemos elegir la opción de compilar a mano o instalarlo a través de yum, elegimos por comodidad la segunda opción:

# yum install squid

Configuramos squid para que arranque automáticamente y arrancamos el proxy:

# chkconfig squid on
# /etc/init.d/squid start

Ahora debemos asegurarnos que el puerto TCP utilizado por squid está abierto en el firewall, el puerto es el TCP 3128:

tcp        0      0 0.0.0.0:3128                0.0.0.0:*                   LISTEN

En CentOS el fichero de configuración de Squid se encuentra en «/etc/squid/squid.conf«, por defecto veréis que hay una configuración estandar de acl y puertos permitidos que podéis modificar como queráis:

#Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http

acl CONNECT method CONNECT

Debemos configurar el proxy para permitir acceso a un determinado rango de IPs, en este caso lo abrimos para todo el mundo, podéis ver como he comentado «http_access deny all» y añadido «http_access allow all«, esto se configura según los requerimientos de cada uno:

# Example rule allowing access from your local networks. Adapt
# to list your (internal) IP networks from where browsing should
# be allowed
#acl our_networks src 192.168.1.0/24 192.168.2.0/24
#http_access allow our_networks

# And finally deny all other access to this proxy
http_access allow all
#http_access deny all

Esta es la configuración más básica, reiniciamos Squid y ya podemos comenzar a configurarlo en el navegador de nuestro PC. Recomiendo leer detenidamente el fichero de configuración, cuenta con buenas explicaciones de cada uno de los parámetros.

Configurar Proxy Squid en Firefox

Para configurar nuestro navegador Firefox para que navegue a través del proxy, haremos lo siguiente:

Menú editar —> preferencias —> red —> configuración —> Configuración manual del proxy….

Los parámetros a configurar son:

PROXY HTTP: IP del proxy
Puerto: 3128

Marcamos la casilla «usar proxy para todos los puertos» si deseamos usar el proxy para todo.

Configurar Proxy Squid en Google Chrome

Preferencias —> Avanzadas –> Cambiar la configuración del proxy —> Configuración manual del proxy

PROXY HTTP: IP del proxy
Puerto: 3128

Marcamos la casilla «usar proxy para todos los puertos» si deseamos usar el proxy para todo.

Con este sencillo tutorial ya deberíamos poder navegar por Internet desde el proxy Squid en nuestros navegadores.