ACL (Control de Acceso) sintaxis de un acl: SRC acl [ nombre de la lista ] src [lo que compone la lista] acl miredlocal src 192.168.10.0/255.255.255.0 # definimos toda la red local acl permitidos src "/etc/squid/permitidos" # definimos un archivo | Dirección origen de una conexión en formatio IP/máscara acl google_es dst 216.239.0.0/24 # definimos la red de google | Dirección destino de una conexión en formatio IP/máscara Expresión
regular que verifican los dominios de destino. La expresión regular
hace distinción entre mayúsculas y minúsculas salvo que incluyamos la
oción "-i" que evita dicha distinción. acl porno dstdom_regex -i sex\..* # busca sex en cualquier parte de la url Permite especificar expresiones regulares para comprobar una url completa, desde el http:// inicial, por ejemplo podemos definir un todas las url que contengan http://mail. url_regex ^http://mail.* En otro ejemplo podemos ver una acl que verifique las peticiones de ficheros mp3: url_regex -i mp3$ acl sitiospermitidos url_regex "/etc/squid/sitiosp" # definición de url de sitios denegados acl sitiosnegados url_regex "/etc/squid/sitiosn" # definicion de url de sitios permitidos Este tipo de acl perimite especificar una franja horaria concreta dentro de una semana. La sintaxis es la siguientes acl nombre_acl_horaria time [dias-abrev] [h1:m1-h2:m2] Donde la abreviatura del día es: S - Sunday (domingo) M - Monday (lunes) T - Tuesday (martes) W - Wednesday (miércoles) H - Thursday (jueves) F - Friday (viernes) A - Saturday (sábado) además la primera hora especificada debe ser menor que la segunda, es decir h1:m1 tiene que ser menor que h2:m2 Por ejemplo: acl horario_laboral time M T W H F 8:00-15:00 Estarímos especificando un horario de 8 a 15 y de lunes a viernes. rep_mime_typeEste tipo de acl se utiliza para verificar el tipo de respuesta recibida por el proxy. Este tipo de acl, analiza una respuesta del servidor por lo que sólo le afectas las reglas de respuesta como http_reply_access y no las reglas http_access que se aplican a las peticiones. Por ejemplo: acl video_no rep_mime_type -i ^video/x-flv$ #Bloquear youtube acl radio1_no rep_mime_type -i ^application/x-mms-framed$ #Bloquear RPP acl radio2_no rep_mime_type -i ^video/x-ms-asf$ #Bloquear otras radios acl javascript rep_mime_type -i ^application/x-javascript$ #Aplicaciones java acl ejecutables rep_mime_type -i ^application/octet-stream$ #Algunos ejecutables acl audiompeg rep_mime_type -i ^audio/mpeg$ #Audio en mpeg Para
este tipo de ACL es importante resaltar que a la hora de hacer la regla
en lugar de usar http_access se debe usar http_reply_access por ejemplo: http_reply_access deny video_no acl password proxy_auth REQUIRED # solicitud de autenticacion (hay que definir) acl extencionesn urlpath_regex "/etc/squid/extencionesn" # definicion de extenciones . ## ACLs para usuarios autenticados acl grupo_gerentes proxy_auth juanperez acl grupo_usuarios proxy_auth junalaloca Ejemplos de Acl y http_accessDenegar las peticiones de ficheros de tipo exe, pif, bat y cmd acl tipoexe url_regex -i exe$ pif$ bat$ cmd$ http_access deny tipoexe Denegar el acceso a todos los servidores cuyo nombre comience por "popup", "banner" o "ads" acl incordios url_regex http://popup.* http://ads.* http://ads.* http_access deny incordios Denegar todos los ficheros de tipo exe que provengan de virus_fijo.com acl anti_exe url_regex -i exe$ acl vfijo dstdomain virus_fijo.com http_access deny anti_exe vfijo Denegar las conexiones a las url completas o incompletas que hay en el fichero "/etc/squid/lista_negra_1.txt" acl ln1 url_regex "/etc/squid/lista_negra_1.txt" http_access deny ln1 TIPO A Red con 3 Niveles de reglas Gerentes, Nivel_B, Nivel_C donde: Gerentes tiene acceso a todo, Nivel_B a todo menos páginas prohibidas y msn. Nivel_C sólo a páginas permitidas. acl ipgerentes src "/etc/squid/ipgerentes" acl ipnivel_b src "/etc/squid/ipnive_b" acl ipnivel_c src "/etc/squid/ipnivel_c" acl permitidos url_regex -i "/etc/squid/sitios-permitidos" acl nopermitidos url_regex "/etc/squid/sitios-nopermitidos" acl especificas url_regex "/etc/squid/sitios-especificas" =====>>>>> http_access allow localhost http_access allow CONNECT !SSL_ports http_access allow ipgerentes http_access deny messenger http_access allow nivel_b !nopermitidos http_access deny nivel_c !permitidos http_access deny all --------------------------------------------------------------------------------------- TIPO B : restricciones por extención: acl extencionesn urlpath_regex "/etc/squid/extencionesn" # definicion de extenciones =====>>>>> http_access allow localhost http_access allow CONNECT !SSL_ports http_access deny extencionesn # Nadie baja lista de extenciones http_access allow ipgerentes http_access deny messenger http_access allow nivel_b !nopermitidos http_access deny nivel_c !permitidos http_access deny all ---------------------------------------------------------------------------------------- TIPO C : restricciones por horario: acl noche time MTWHF 18:00-24:00 acl extencionesn urlpath_regex "/etc/squid/extencionesn" # definicion de extenciones =====>>>>> http_access allow localhost http_access allow CONNECT !SSL_ports http_access deny extencionesn # Nadie baja lista de extenciones http_access allow ipgerentes http_access deny messenger http_access allow nivel_b !nopermitidos http_access allow nivel_c noche http_access deny nivel_c !permitidos http_access deny all |
