Hola lector y/o seguidor. En Cuba, en el sector estatal, es normal el uso de Squid para montar el servicio de proxy web en servidores con sistema operativo GNU / Linux, y Windows ¿por qué no?. Una de las problemáticas a las cuales nos enfrentamos a la hora de implementar este servicio es en cuanto a los usuarios que van a hacer uso del mismo y que en menor o mayor cuantía ya existen en otros servicios de la red, dígase correo y jabber; los cuales a veces tienen de trasfondo el uso LDAP. Pues hoy pongo a conocimiento como hacer para que nuestro servicio proxy utilice dichos usuarios.
Empezaré diciendo que el escenario que utilizaré es una PC con sistema operativo Debian 7 en el cual usted ya tiene instalado el servicio Squid (versión 3.1.20) y generalmente un LDAP local (versión 3). Como siempre aconsejan los que saben, primero lea la documentación oficial de estas herramientas para luego ponerse a usarlas. Si es así manos a la obra.
Lo primero que debes saber es que squid3 viene con unos helpers (o programas externos) que le ayudan con el proceso de autenticación, y que sus respectivos manuales se encuentran en la documentación del paquete squid3 una vez instalado, por supuesto en inglés. Por tanto lo que haremos es configurar squid3 para que utilice a esos helpers.
El helpers que nos facilitará esté proceso es squid_ldap_auth el cual nos permite autenticar mediante nombre de usuario y contraseña que serán proporcionados por el cliente de peticiones web, ya sea un navegador web, cliente de correo electrónico, proxy web, lector de RSS, etc). Para ello agregamos a nuestra configuración la siguiente linea:
auth_param basic program /usr/lib/squid3/squid_ldap_auth -v 3 -b “ou=Usuarios,dc=midominio,dc=cu” -u uid -h 127.0.0.1
donde:
/usr/lib/squid3/squid_ldap_auth es la ruta donde se encuentra el helper
-v 3 es la versión del protocolo LDAP que estamos consultando
-b “ou=Usuarios,dc=midominio,dc=cu” es la ruta en el servidor LDAP donde se localizan los usuarios
-u uid le indicamos que el campo a tomar como principal es el nombre de usuario
-h 127.0.0.1 es el IP del servidor LDAP, en este caso la misma PC.
Luego declaramos una ACL que utilice la autenticación de los usuarios:
acl autenticarse proxy_auth REQUIRED
donde:
autenticarse es el nombre de la ACL
proxy_auth es el tipo de ACL que indica que se utlizará la autenticación
REQUIRED establece que la ACL es obligatoria
Por último nos queda permitir solo aquellas conexiones que pasaron satisfactoriamente por el proceso de autenticación, lo cual se hace así:
http_access allow autenticarse
http_access deny all
Aquí en esta última línea (en negrita) se aconseja ponerla siempre al final ya que esto nos asegura que squid3 denegará todo aquello que no haya sido permitido con antelación y así cerrar los posibles huecos que en nuestro servicio pudieran estar abierto por mal uso de las reglas (leáse mala configuración del administrador de red).





3 comentarios
El articulo de autenticar esta muy bueno, pero pregunto yo.
Sabes como configurar la herramienta sarg para ver los log del squid? o existe otra herramienta para hacer ese trabajo
Autor
Bueno yo uso lightsquid que viene en el repositorio. No es tan exacto como el sarg pero al menos resuelve. El que si te aseguro que funciona es el Sawmill
Gracias por llegarte y comentar.
Salu2
+1 Cencillo y legible