[Software] Autenticando Squid3 con usuarios de servidor LDAP

meme7154211686Hola 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).

Enlace permanente a este artículo: http://sasousuke.cubava.cu/2016/09/29/software-autenticando-squid3-con-usuarios-de-servidor-ldap-parte-i/

3 comentarios

  1. 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

    1. 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

    • Yosbel Marín en vie Oct 7, 2016 a las 10:25 AM

    +1 Cencillo y legible

Los comentarios han sido desactivados.