Configuración de Squid: ACLs, control de acceso y autenticación por contraseña
Configuración de ACLs en Squid
ACL de origen (SRC)
1) acl redlocal src 192.168.1.0/24.
2) acl redlocal src 192.168.1.0/24.
3) acl sistemas src "/etc/squid/permitidos".
ACL de destino (DST)
1) acl webmail dst www.gmail.com www.yahoo.com.
2) acl iplocales dst 192.168.1.109 192.168.1.103.
ACL por dominio (DSTDOMAIN)
acl intranet srcdom_regex -i factor.
dstdom_regex
acl google_todos dstdom_regex -i google.
Reglas de tiempo (TIME)
Códigos de días: S = Domingo, M = Lunes, T = Martes, W = Miércoles, H = Jueves, F = Viernes, A = Sábado.
acl horario time MTWHF 09:00-18:00.
Expresiones regulares en URL (URL_REGEX)
Creamos un archivo txt que contenga las palabras y:
acl descargas url_regex "/etc/squid/listas/descargas.txt".
Expresiones regulares en la ruta de la URL (URLPATH_REGEX)
Creamos un archivo txt que contenga extensiones de archivos.
Puertos (PORT)
1) acl SSL-port port 443.
2) acl No-registrados port 1024-65535.
Direcciones MAC (MACADDRESS)
acl adminmac arp 09:00:2b:23:45:67 00:1f:3c:5f:fd:b1 00:1e:ec:70:7e:24.
Autenticación por contraseña (Password)
1) Creamos el archivo que contiene las claves: touch .claves
2) Permisos de lectura/escritura y usuario encargado del archivo: chmod 600 .claves | chown proxy:proxy .claves
3) Creación de usuario y contraseña para el acceso a Internet: htpasswd .claves clientes
4) Habilitamos las siguientes opciones en el fichero de configuración del servidor Squid:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/.claves o authenticate_program /usr/lib/squid/ncsa_auth /etc/squid/.claves.
Con esta línea se indica la aplicación que controla la autenticación y dónde se encuentra el archivo que contiene las cuentas de los usuarios.
5) Habilitamos la regla ACL encargada de la autenticación por contraseña: acl password proxy_auth REQUIRED.
Control de acceso
Ejemplo 1
acl all src 0.0.0.0/0.0.0.0
acl jefes src 192.168.1.23 192.168.1.25
http_access allow jefes
http_access deny all
Ejemplo 2
acl all src 0.0.0.0/0.0.0.0
acl jefes src 192.168.1.23 192.168.1.25
acl red-local src 192.168.1.0/255.255.255.0
acl laboral time MTWHF 09:00-15:00
acl no-permitidos url_regex "/etc/squid/listas/paginas.txt"
http_access allow jefes
http_access allow red-local laboral !no-permitidos
http_access deny all
Importante: colocar primero las reglas más particulares, dejando para el final las más generales.