Configuración en Linux de la autenticación por Active Directory en un proxy ISA Server

Inicialmente encontré información para poder acceder desde la línea de comandos a páginas web a través del proxy de la empresa estableciendo unas variables de entorno:

Esto basta para que desde la línea de comandos se pueda hacer un wget hacia Internet utilizando el proxy de la empresa.

Sin embargo, esto no sirve para que yum pueda acceder a repositorios de paquetes en Internet. Para indicar a yum el proxy a utilizar hay que hacerlo en su propio fichero de configuración yum.conf, pero la autenticación no funciona.

Buscando en Google se encuentra rápidamente este hilo de los foros de CentOS, que da la solución exacta y detallada que copio vilmente a continuación para facilitarme la vida y sin ningún mérito por mi parte. Únicamente puedo aportar que las variables de entorno http_proxy y https_proxy deben establecerse ~/.bashrc, en lugar de en ~/.bash_profile, haciendo que estén disponibles en cualquier ventana de terminal y no solo en los inicios de sesión por SSH o en la terminal local.

En primer lugar se debe instalar el paquete cntlm que según la descripción es un rápido y eficiente proxy NTLM. Este paquete se encuentra en el repositorio EPEL, y se puede obtener desde aquí. Con este paquete se despliega un proxy local que puede redirigir las peticiones hacia el proxy del dominio Active Directory, delegando en este proxy local la correspondiente autenticación en el proxy del dominio.

Una vez instalado se proporcionan en el fichero /etc/cntlm.conf los datos del proxy del dominio y de autenticación del usuario y listo.

Desde luego, dejar la contraseña de acceso al dominio en claro en el fichero no es la mejor opción, por eso, se puede en su lugar poner los hashes que el propio cntlm puede generar:

Si el proxy utiliza autenticación por el método NTLMv2 será necesario especificar correctamente el usuario y el dominio, teniendo en cuenta que el dominio será el nombre de dominio NetBIOS (DOMINIO), y no el nombre de dominio Active Directory (dominio.tld).

Una vez obtenidos los hashes se comenta la línea Password y se pegan estos en /etc/cntlm.conf.

Para ejecutar el servicio correspondiente basta con lanzar el ejecutable cntlm. Una vez disponible, podemos cambiar nuestro proxy en las variables de entorno para utilizar el ofrecido por cntlm.

Nótese que el proxy HTTPS sigue utilizando HTTP como protocolo, ya que, al menos por defecto, cntlm no soporta peticiones por HTTPS. Esto no es ningún problema para acceder a páginas por HTTPS, simplemente afecta a la conexión con el proxy local de cntlm.

Viendo la salida de wget se observa que la resolución de localhost proporciona en primer lugar la dirección IPv6 ::1, en la que no está escuchando cntlm, por tanto, es mejor proporcionar directamente la dirección IP local 127.0.0.1 y evitar el intento fallido de acceso a la dirección ::1:3128.

El uso de cntlm evita además la exposición de la contraseña de usuario del dominio, ya que no es necesario establecerlas en las variables de entorno y están protegidas contra lecturas de usuarios que no sean root en el fichero /etc/cntlm.conf.

Con cntlm corriendo ya solo queda indicarle a yum que el proxy a utilizar es el proporcionado por cntlm en el fichero /etc/yum.conf.

Y listo.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.