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.