Configuración Avanzada de Squid: Reglas ACL para Control de Acceso
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,97 KB
Este documento detalla la configuración avanzada de Squid, centrándose en las reglas ACL (Listas de Control de Acceso) para una gestión eficaz del proxy.
Limpieza Inicial de Reglas Iptables
Antes de comenzar, es crucial limpiar las reglas existentes de iptables
para evitar conflictos:
iptables -f
iptables -x
iptables -z
iptables -t nat -f
Establecimiento de Políticas por Defecto
Se establecen políticas por defecto para las cadenas predefinidas:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
Parámetros de Configuración de Squid
Parámetro http_port
Define el puerto de escucha del servidor Squid. Por defecto, es el 3128, pero puede cambiarse al 8080.
Ejemplos:
http_port 3128
: Todos los equipos de la red pasarán por este puerto.http_port 192.168.1.100:3128
: Solo el equipo con la IP 192.168.1.100 pasará por este puerto.
Parámetro cache_mem
Establece la cantidad de memoria RAM dedicada a almacenar los datos más solicitados.
cache_mem 50 MB
Parámetros cache_swap
Indican a Squid que mantenga los niveles del espacio de intercambio (swap).
cache_swap_low 90
cache_swap_high 95
Parámetro maximum_object_size
Indica el tamaño máximo para los objetos a almacenar en caché.
maximum_object_size 10240 MB
Parámetro cache_dir
Establece el tamaño de la caché de disco.
cache_dir ufs /var/spool/squid 700 16 256
Ejemplo: 700MB de caché con 16 directorios subordinados y 256 niveles cada uno.
Reglas ACL Detalladas
Regla tipo src
Especifica una o varias IPs de origen o un segmento de red con su máscara de red.
Ejemplos:
La regla llamada
redlocal
asigna un segmento de red 192.168.1.0/24.acl redlocal src 192.168.1.0/24
La regla llamada
jefes
incluye algunas IPs del segmento de red.acl jefes src 192.168.1.10 192.168.1.20
La regla llamada
sistemas
hace referencia a un archivo (/etc/squid/permitido
) que contiene las IPs del personal del área de sistemas.acl sistemas src "/etc/squid/permitido"
Regla tipo dst
Especifica una dirección de destino en formato IP y máscara o el nombre de dominio del destino.
Ejemplos:
La regla llamada
webmail
contiene las direcciones de webmail más conocidas de Internet.acl webmail dst www.gmail.com www.gmail.com www.yahoo.com
La regla llamada
iplocales
contiene algunas IPs del segmento de red local.acl iplocales dst 192.168.1.109 192.168.1.103
Regla tipo dstdomain
Se refiere a dominios que pueden estar en Internet.
Ejemplo: La regla intranet
recoge todos los dominios locales con la palabra "factor" (en mayúsculas y minúsculas).
acl intranet srcdom_regex -i factor
Regla tipo dstdom_regex
Ejemplo: La regla google_todos
recoge todos los dominios de destino que contienen la palabra "google" (en mayúsculas o minúsculas).
acl google_todos dstdom_regex -i google
Regla tipo time
Establece un rango de tiempo definido en los días de la semana. Los parámetros para los días son: s
=domingo, m
=lunes, t
=martes, w
=miércoles, h
=jueves, f
=viernes, a
=sábado.
acl horario time mtwhf 09:00-18:00
Regla tipo url_regex
Permite especificar expresiones regulares para comprobar la URL. Requiere un archivo que contenga las palabras clave a recoger.
Ejemplo: Se crea una regla descargas
que llama a un archivo que contiene palabras relacionadas con pornografía.
acl descargas url_regex "/etc/squid/listas/descargas.txt"
Regla tipo urlpath_regex
acl extensiones urlpath_regex "/etc/squid/listas/extensiones.txt"
Regla tipo port
Permite comprobar el puerto de destino.
Ejemplos:
- La regla llamada
ssl-port
recoge el número de puerto para el servicio web seguro HTTPS.
acl ssl-port port 443
- Otra regla llamada
no-registrados
recoge el rango de puertos no registrados, usados generalmente por la parte del cliente.
acl no-registrados port 1024-65535