apt-get detrás de proxy con autenticación NTLM

Milton Mazzarri bio photo By Milton Mazzarri

Por motivos que no vienen al caso discutir en este artículo tuve que instalar Debian GNU/Linux detrás de un proxy que aún utiliza NTLM como medio de autenticación, aunque NTLM ya no es recomendado por Microsoft desde hace años en pro de usar Kerberos.

Una vez instalada la distribución quería utilizar apt-get para actualizarla e instalar nuevos paquetes, el resultado fue que apt-get no funciona de manera transparente detrás de un proxy con autenticación NTLM. La solución fue colocar un proxy interno que esté atento a peticiones en un puerto particular en el host, el proxy interno se encargará de proveer de manera correcta las credenciales al proxy externo.

La solución descrita previamente resulta sencilla al utilizar cntlm. En principio será necesario instalarlo vía dpkg, posteriormente deberá editar los campos apropiados en el fichero /etc/cntlm.conf

  • Username
  • Domain
  • Password
  • Proxy

Seguidamente reinicie el servicio:

# /etc/init.d/cntlm restart

Ahora solo resta configurar apt-get para que utilice nuestro proxy interno, para ello edite el fichero /etc/apt.conf.d/02proxy

Acquire::http::Proxy "http://127.0.0.1:3128";

NOTA: Se asume que el puerto de escucha de cntlm es el 3128.

Ahora puede hacer uso correcto de apt-get:

# apt-get update
# apt-get upgrade
...

NOTA FINAL: Es evidente que cualquier comando o herramienta que necesite autenticarse contra el proxy externo deberá configurarlo para que utilice el proxy interno, lo explicado en este artículo no solo aplica para el comando apt-get.