Google+

lunes, 22 de junio de 2009

Restricción de usuarios en Squid por grupos de LDAP


Ya hable un poco de como restringir usuarios en Squid, pero claro en un entorno de 300 usuarios no te vas a poner a picar usuarios a mano, a parte de engorroso, sería un desastre, así que lo mejor es añadir a los usuarios en grupos.

He cogido la estructura del árbol de freeIPA para más información. He escrito esto por que he visto que había mucha información acerca de Squid con grupos del active pero no con grupos de un LDAP que no sea de Microsoft. Ahora la cosa esta en editar el fichero de configuración de Squid, añadiendo estas lineas:

Con estas dos lineas de abajo ya autentificaría, pero buscamos hacerlo por grupos
auth_param basic program /etc/squid/squid_ldap_auth
auth_param basic credentialsttl 1 hour
acl password proxy_auth REQUIRED

Os muestro el cat de /etc/squid/squid_ldap_auth, este archivo debe de tener permisos de ejecución:
#!/bin/bash
/usr/lib/squid/ldap_auth -b "cn=users,cn=accounts,dc=linuxadmin,dc=es" -f uid=%s directorio.linuxadmin.es

Volvemos al squid.conf y añadiremos esta otra linea, he puesto una especie de ejemplo para daros pistas de como estaría montado:
external_acl_type ldap_group %LOGIN /usr/lib/squid/squid_ldap_group -b "cn=groups,cn=accounts,dc=linuxadmin,dc=es" -f "(&(objectclass=posixGroup) (cn=%a) (member=%v))" -B "cn=users,cn=accounts,dc=linuxadmin,dc=es"-F uid=%s -h directorio.linuxadmin.es

acl internet external ldap_group Recepcion #Es una acl para el grupo Recepción

Solo quedaría que lo adaptaseis a vuestro árbol LDAP. Entiendo que podreis configurar perfectamente las acls, pero si teneis alguna duda posteadla.