Proxy Squid, control de accesos ACL (II)
Reglas ACL Squid (Access Control List )
Establecen reglas de control de acceso, son políticas centralizadas para una cómoda y efectiva administración de la red. Hay de diferentes tipos:
Tipo src: Especifican una o varias direcciones IP de origen o un segmento de red con su máscara:
acl [nombre] src [contenido]
Ejemplos:
1- Direcciones IP que consideramos red local:
acl redlocal src 192.168.1.0/24
2- Directiva que especifica un rango de acceso VIP para limitarles menos los permisos o por temas de seguridad:
acl usuarios_VIP src 192.168.1.10 192.168.1.20
3- Directiva con la cual configuramos direcciones IP fijas en un fichero:
acl domain_admins src "/etc/squid/allowed"
Tipo dst: Especifican una IP de destino y máscara.
acl [Nombre] dst [contenido]
Ejemplos:
Configuramos diferentes páginas de correo:
acl webmail dst www.gmail.com www.hotmail.com www.yahoo.com
Tipo dstdomain: Establecen permisos sobre dominios web de destino:
acl [Nombre] dstdomain [Contenido]
Ejemplo:
acl denegados dstdomain www.youtube.com www.as.com www.marca.com
Tipo dstdom_regex: análisis de palabras de salida y expresiones regulares:
acl [Nombre] dstdom_regex [contenido]
Ejemplo:
acl google_search dstdom_regex -i google..*
Tipo time: Establece límites relacionados con franjas horarias dentro de una semana, de esta forma hasta podemos habilitar o deshabilitar la navegación externa a nuestro antojo.
acl [Nombre] time [días][Horas]
Ejemplo:
acl horario time MTWHF 09:00-18:00
Tipo url_regex: permite especificar expresiones regulares para comprobar una url, de esta forma podemos deshabilitar páginas con un contenido temático.
acl [Nombre] url_regex "path"
De esta forma ponemos un fichero.txt con varias palabras como «deporte, futbol, baloncesto, deportivo» y controlamos el acceso a páginas que salgan en búsquedas de google, con estas palabras.
acl deporte url_regex "/etc/squid/listas/deporte.txt"
Tipo urlpath_regex: permite la administración de descargas por extensiones de ficheros.
acl [Nombre] urlpath_regex "path"
Ejemplo con extensiones.txt: .avi$ .mpg$ .mpeg$ .exe$ .bat$ .mp3$
acl multimedia urlpath_regex "/etc/squid/listas/extensiones.txt"
Tipo req_mime: permite comprobar el tipo de petición que realiza un cliente.
acl [Nombre] req_mime "mime"
Ejemplo:
acl MSN req_mime type application/x-msn-messenger
Tipo macaddress: Permite administrar las MAC que acceden a través de squid.
acl [Nombre] arp "Mac Address"
Ejemplo:
acl mac-allowed arp 08:00:09:ab:fd:b5 04:ba:cb:0a:05:24
Tipo password: controla el acceso a internet por usuario y password. Para este método hay que realizar varios pasos:
1 creamos archivo que contendrá las claves.
# touch /etc/squid/claves
#chmod 600 /etc/squid/claves
#chown squid:squid /etc/squid/claves
Creamos el usuario y contraseña:
#htpasswd /etc/squid/claves clientes
En el squid.conf descomentamos y configuramos la siguiente directiva para configurar la aplicación de squid que nos pedirá autenticarnos y el fichero de claves:
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/claves
Configuramos la ACL, esta línea estaba comentada por defecto:
acl password proxy_auth REQUIRED
Configuración de control de acceso:
Así definimos si una regla se permite o se deniega y configuramos toda la estructura
http_access allow/Deny regla
Ejemplo práctico:
De las ACL que hemos creado anteriormente cogemos la usuarios_VIP les vamos a permitir el acceso a Internet.
http_access allow usuarios_VIP
Los demás usuarios se lo denegamos:
http_access deny redlocal
Todavía podemos complicarlo un poco más, ya que como algunas configuraciones el http_access admite «!» para indicar lo contrario precediendo una ACL
http_access deny redlocal !horario !allowed
De esta forma los usuarios permitidos podrán navegar sólo a las páginas permitidas por el administrador en el horario de oficina.
En resumen con ambas partes del artículo tenemos los dos puntos principales necesarios para configurar reglas en el proxy squid. Este es un ejemplo de una configuración real.
– Los equipos de nuestra red están en el segmento 192.168.1.0/24
– Los jefes de los departamentos tienen salida sin restricción a Internet y sus IPs están en el rango 192.168.1.10 – 192.168.1.20
– El resto de la red solamente tiene acceso a la página de la empresa en horario de oficina de 08:00 a 19:00 horas y no pueden bajarse contenido multimedia.
1 – Creamos las ACL
acl redlocal src 192.168.1.0/24
acl jefes src 192.168.1.10 192.168.1.20
acl permitidas dstdomain "/etc/squid/permitidas"
acl horario time MTWHF 08:00-19:00
acl extensiones urlpath_regex "/etc/squid/extensiones
2- configuramos el control de accesos:
http_access allow jefes
http_access deny redlocal !permitidas !horario extensiones
En esta última regla, establecemos que se le negará el acceso a internet a los usuarios, excepto en el horario permitido y a las páginas permitidas, así como las descargas de ficheros multimedia.
Esta es la pantalla que nos saldría si por ejemplo hacemos una acl para denegar el acceso a google:
Saludos!
Parte Anterior: Proxy Squid, Configuración (I)
# Si necesitas un manual del LPIC no dudes en descargarlos de lpic-documentacion-oficial
Deja un comentario