Control de navegación por inscripción a grupo
C@mpus - @cademia Linux

Introducción

Es posible configurar squid para permitir la navegación sólo si el usuario está inscrito a un grupo.  Para realizar esto, squid contiene ACL's de caracter externo.  Un ACL externo se sirve de programas de terceros para poder adquirir información. 


Configuración

Para hacer esto se deberá añadir las siguientes líneas al archivo /etc/squid.conf:

external_acl_type InetGroup ttl=10 %LOGIN /usr/lib/squid/squid_ldap_group -R -b "ou=Group,dc=linuxchange,dc=com" -f "(& (cn=%a) (memberUid=%u))" -B "ou=People,dc=linuxchange,dc=com" -s one  -h 127.0.0.1 -S -d

acl InetAccess external InetGroup internet 

#http_access allow InetAccess
http_access allow password InetAccess

El comando external_acl_type obtiene como parámetros el nombre de la regla, un tiempo de caché de los resultados de 10 segundos  y el parámetro %LOGIN que le indica que será para autenticar usuarios.  Los parámetros subsecuentes indican dónde están los grupos y el criterio de búsqueda.  Hay que observar que la sentencia asúme que la inscripción al grupo se hace por medio de la propiedad memberUid.

La setencia acl crea una lista de acceso legible por squid que llamará al ACL externo pasándole el parámetro internet (que es el nombre del grupo en el ejemplo).  El parámetro será substituido por %a.

El comando http_access otorga el permiso para navegar.  Observese que con el comando passwd crea la autenticación automática; passwd es un ACL no definido en este ejemplo que permite la navegación a usuarios autorizados.