Servidor Proxy Caché: Squid, funcionamiento y configuración

Servidor Proxy Caché

¿Qué es un Proxy?

Un Proxy es un servidor que centraliza el tráfico entre Internet y una red local. De esta forma, los ordenadores de la red local no necesitan una conexión directa a Internet. También se utiliza para controlar los accesos no permitidos desde Internet hacia la red local.

¿Qué hace un Proxy?

El proxy transforma las direcciones de entrada y salida. Cuando un ordenador de la red local realiza una petición web, el proxy la intercepta y la procesa. Esto oculta la dirección IP del ordenador real que hace la solicitud, mostrando en su lugar la IP del proxy.

Proxy-Caché

El proxy-caché se sitúa entre la máquina del usuario y otra red (generalmente Internet). Actúa como elemento de separación y como caché para acelerar el acceso a páginas web o restringir el acceso a contenidos.

Zona Caché

La zona caché es una parte de la memoria RAM que almacena una copia de los datos a los que se accederá con frecuencia. Esto reduce el tiempo de acceso, ya que el acceso a la RAM es más rápido que al disco duro.

Funciones de los Servidores Proxy-Caché

  • Permiten el acceso web a máquinas privadas (con IP privada) que no están conectadas directamente a Internet.
  • Controlan el acceso web aplicando reglas (según la máquina, página, día, hora, etc.).
  • Registran el tráfico web desde la red local hacia el exterior.
  • Controlan el contenido web visitado y descargado para detectar posibles ataques (virus, gusanos, troyanos, etc.).
  • Controlan la seguridad de la red local ante posibles ataques e intrusiones.
  • Funcionan como caché de páginas web, almacenando las páginas visitadas para que el servidor las envíe directamente si otro usuario las solicita.

Ventajas de usar un Proxy-Caché

  • Mayor velocidad de navegación: si la página está en la caché, el servidor la entrega sin acceder al servidor original.
  • Uso más eficiente del ancho de banda: si la página está en caché, solo se usa la red local.
  • Cortafuegos: el proxy se comunica con el exterior y puede funcionar como cortafuegos.
  • Filtrado de servicios: se pueden habilitar solo los servicios configurados en el proxy (HTTP, FTP, etc.).

Utilización de un Proxy-Caché

  1. El navegador web (cliente) solicita una página (HTML, por ejemplo) a un servidor web o un archivo a un servidor FTP. La petición se dirige al proxy-caché.
  2. El proxy-caché recibe la petición y busca la página en la caché (disco duro del servidor proxy).
  3. Si es la primera vez que se accede a la página, el servidor no la tiene almacenada. El proxy reenvía la petición al servidor web, que la devuelve. El proxy la guarda en caché y la envía al navegador.

Squid

Instalación

sudo apt-get install squid

Directorios

  • /usr/sbin/: Archivos ejecutables.
  • /var/run/squid.pid: PID del proceso Squid.
  • /var/log/squid/: Archivos de logs de Squid.
  • /var/spool/squid/: Caché.
  • /etc/squid/squid.conf: Archivo de configuración de Squid.
  • /usr/lib/squid/: Complementos, autenticación, etc.
  • /usr/share/doc/squid/: Documentación de Squid.

Configuración de Squid

El archivo de configuración es /etc/squid/squid.conf.

  • cache_effective_user squid / cache_effective_group squid: Establecen el usuario y grupo para Squid.
  • http_port 8080: Puerto de escucha de Squid.
  • cache_mem 8 MB: Cantidad de RAM para la caché.
  • cache_dir ufs /var/spool/squid 500 16 256: Localización y tamaño de la caché en disco.
  • visible_hostname servidor: Nombre de la caché.

Listas de Control de Acceso (ACL)

El parámetro ACL permite:

  • Proteger al proxy de conexiones externas.
  • Proteger a los clientes de accesos a puertos peligrosos.
  • Establecer una jerarquía de cachés.
  • Definir la red como conjunto de trabajo o máquinas individuales.

Ejemplos de ACL

  • acl [nombre_lista] src [componentes_lista]
  • acl [nombre_lista] time marco_horario
  • acl [nombre_lista] srcdomain/dstdomain domain
  • acl [nombre_lista] url_regex patron
  • acl [nombre_lista] maxconn limite

nombre_lista: Nombre de la ACL.
src: Dirección IP del cliente.
[componentes_lista]: Direcciones IP de redes o archivos con direcciones IP.
time: Permite o deniega conexiones en una franja horaria.
srcdomain/dstdomain: Establece permisos sobre dominios web origen y destino.
url_regex: Define ACL que identifican sitios web según la URL.
maxconn: Establece un número máximo de conexiones por IP.

Archivos de Log

  • cache_access_log /squid/cache/logs/access.log
  • cache_store_log /squid/cache/logs/store.log
  • cache_log /squid/cache/logs/cache.log

access.log: Almacena peticiones al proxy.
store.log: Almacena información sobre la gestión de la caché.
cache.log: Almacena información general del funcionamiento de la caché.

Comandos

  • /usr/sbin/squid -z
  • /etc/init.d/squid start
  • ps aux | grep squid

Proxy Transparente

Es un software para el filtrado de paquetes situado entre una red local e Internet, del cual la red local no tiene constancia. Consiste en una redirección de las peticiones de la red local modificando la dirección de la conexión. Utiliza NAT.

Ventajas del Proxy Transparente

  1. Obliga a los usuarios a usar el proxy sin que lo sepan.
  2. Elimina la necesidad de configurar cada navegador web.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.