CNTLM guia rápido
O ecosistema Windows nem sempre lida bem com sistemas não Microsoft. Um dos problemas mais comuns nos ambientes empresa é o uso de um proxy HTTP com autenticação NTLMv2 em máquinas linux.
Felizmente existe um projecto chamado cntlm.
Ubuntu/Debian
$ sudo apt-get install cntlm
Arch Linux Install
O CNTLM não está nos repositórios oficiais do Arch, mas felizmente está nos Arch User Repositories.
$ git clone https://aur.archlinux.org/cntlm.git
$ cd cntlm
$ makepkg -si
Configuração
Altera as seguintes linhas de acordo com as definições de domínio:
Username: active_directory_domain_username
Domain: active_directory_domain
Proxy: upstream NTLM HTTP Proxy IP and port (xxx.xxx.xxx.xxx:yyyy)
Listen: local port for cntlm proxy (default is 3128)
Gera as hashes:
$ sudo cntlm -u username -d active_directory_domain -H
Copia o output PassLM, PassNT and PassNTMLv2.
Cola no cntlm.conf
$ sudo nano /etc/cntlm.conf
$ sudo service cntlm restart
Configura o firefox para usar o proxy localhost na porta 3128.
Extra
Para usar como proxy para outras máquinas retira o comentário na linha ‘Gateway yes’:
Finalmente, se estiveres a usar o UFW (ou outra firewall) abre a porta respectiva:
$ sudo ufw allow 3128
$ sudo service cntlm restart
Conclusão
A Microsoft, Apple, Oracle e outras empresas tecnológicas sabem fazer produtos. E também sabem que um cliente uma vez apanhado nas suas teias vai ter dificuldade em solta e vai precisar sempre de tecnologia compatível, a tecnologia que eles vendem.
Projectos como o CNTLM são importantes porque nos permitem fazer a ponte entre soluções fechadas e o mundo Open Source.