Como configurar Squid proxy

www.onlinetis.com
 

Squid es un servidor proxy web con caché muy popular y de código abierto. Funciona como un intermediario entre los usuarios de una red e internet, guardando copias de las páginas web y otros contenidos a los que se accede frecuentemente.

¿Cómo funciona?

Cuando un usuario pide una página web, la solicitud no va directamente al servidor de la página, sino que primero pasa por Squid. Si Squid ya tiene una copia reciente de esa página en su caché, la envía al usuario de inmediato, lo que acelera la navegación y reduce el consumo de ancho de banda. Si no tiene una copia, la descarga del servidor original, se la entrega al usuario y guarda una copia para futuras solicitudes.


Funciones principales

Las capacidades de Squid van más allá del simple almacenamiento en caché:

  • Aceleración: Almacena contenido estático (imágenes, archivos, etc.) para que la carga de páginas sea más rápida, especialmente en redes con muchos usuarios.

  • Control de acceso: Permite a los administradores de red establecer reglas para restringir el acceso a ciertos sitios web, tipos de contenido o incluso horarios de navegación.

  • Seguridad: Puede ocultar las direcciones IP de los usuarios para proteger su privacidad y funcionar como un firewall simple para filtrar tráfico malicioso.

  • Monitoreo: Registra el tráfico web, lo que facilita el seguimiento del uso de internet en una red.

  • Proxy inverso: También puede configurarse para actuar como un proxy inverso, que se coloca delante de un servidor web para distribuir la carga de tráfico y mejorar el rendimiento de un sitio web.

Squid es compatible con los protocolos HTTP, HTTPS y FTP, y se usa en una variedad de entornos, desde pequeñas oficinas y escuelas hasta grandes empresas y proveedores de servicios de internet.

 

Configurar un servidor Squid proxy implica varios pasos, desde la instalación básica hasta la personalización de las reglas de acceso y el comportamiento de la caché. El archivo clave para toda la configuración es el squid.conf, que se encuentra típicamente en /etc/squid/.


Pasos básicos de configuración

  1. Instalación: Primero, debes instalar Squid en tu sistema operativo. El comando varía según la distribución de Linux que utilices. Por ejemplo, en sistemas basados en Debian (como Ubuntu), usarías sudo apt-get install squid, mientras que en sistemas basados en Red Hat (como CentOS), usarías sudo yum install squid.

  2. Modificar el archivo de configuración: El siguiente paso es editar el archivo squid.conf. Se recomienda hacer una copia de seguridad antes de realizar cualquier cambio (sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.backup).

  3. Configurar el puerto: El puerto predeterminado para Squid es el 3128. Puedes cambiarlo si es necesario. Busca la línea http_port 3128 y modifícala.

  4. Permitir el acceso a la red local: Por defecto, Squid está configurado para denegar todo el tráfico. Para permitir que los clientes de tu red local lo usen, debes definir una Access Control List (ACL). Esto se hace creando una regla ACL con la dirección IP de tu red, y luego permitiendo el acceso a esa ACL. Por ejemplo:

    acl localnet src 192.168.1.0/24  # Define tu red local
    http_access allow localnet       # Permite el acceso a esa red
    http_access deny all             # Deniega todo lo demás
    

    Es crucial que http_access allow localnet esté antes de http_access deny all, ya que Squid procesa las reglas en orden.

  5. Reiniciar el servicio: Después de cada cambio en squid.conf, debes reiniciar el servicio para que los cambios surtan efecto. El comando es sudo systemctl restart squid.


Configuraciones avanzadas

  • Bloqueo de sitios web: Puedes bloquear sitios específicos creando ACLs que contengan los nombres de dominio de las páginas que quieres restringir. Por ejemplo:

    acl sitios_prohibidos dstdomain .facebook.com .youtube.com
    http_access deny sitios_prohibidos
    

    Añade esta línea antes de la regla http_access allow localnet.

  • Autenticación de usuarios: Squid puede requerir un nombre de usuario y contraseña para acceder. Esto se logra configurando un método de autenticación, como htpasswd de Apache, y especificando las ACLs correspondientes en el archivo de configuración.

  • Caché: Para optimizar la caché, puedes ajustar parámetros como el tamaño del directorio de caché (cache_dir) y la cantidad de memoria que Squid puede usar (cache_mem). La configuración por defecto suele ser suficiente, pero se puede afinar para entornos específicos.

  • Proxy transparente: En este modo, Squid intercepta el tráfico web sin que los clientes tengan que configurar manualmente la dirección del proxy en sus navegadores. Esto requiere la configuración de reglas de firewall (como iptables) para redirigir el tráfico del puerto 80 al puerto de Squid.

Entradas populares de este blog

Ciberseguridad y hacking con Whatweb

Como robar contraseñas haciendo un phishing web

Arsenal software hacking NFC