você está aqui: Home  → Arquivo de Mensagens

NTLMAPS - NTLM Authorization Proxy Server

Colaboração: Camilo Arthur

Data de Publicação: 22 de Julho de 2006

Quando o proxy ISA Server é configurado para pedir autenticação, nós usuários de Linux temos um problema ao utilizar vários recursos. Exemplos disso são:

  • Navegação (requer usuário e senha);
  • Utilização do apt (falha na autenticação);
  • Utilização de programas IM (não conecta ao proxy);
  • etc...

Mesmo se o programa utilizado aceitar a configuração de proxy com autenticação, você não conseguirá utilizá-lo, pois o mesmo não consegue fazer a autenticação no ISA. Para resolvermos esse problema, utilizamos um programa escrito em Python chamado NTLMAPS, o qual nos dá uma autenticação do tipo NTLM, que é utilizada no ISA Server.

Os principais recursos do NTLMAPS, como descrito na página do próprio projeto são:

  • supports NTLM authentication via parent proxy server (Error 407 Proxy Authentication Required);
  • supports NTLM authentication at web servers (Error 401 Access Denied/Unauthorized);
  • supports translation of NTLM scheme to standard "Basic" authentication scheme;
  • supports the HTTPS 'CONNECT' method for transparent tunnelling through parent proxy server;
  • has ability to change arbitrary values in client's request headers;
  • supports unlimited number of client connections;
  • supports connections from external hosts;
  • supports HTTP 1.1 persistent connections;
  • stores user's credentials in config file or requests password from a console during the start time;
  • supports intelligent failure detection and failover between multiple upstream proxies;

Agora que já entendemos o que o programa faz, mãos à obra.

Download, instalação e configuração

Para começar, baixe a última versão do NTLMAPS em:

  • http://sourceforge.net/project/showfiles.php?group_id=69259

    Descompacte o arquivo baixado com o comando:
      # tar -xzvf ntlmaps-xxx.tar.gz
      # cd ntlmaps-xxx
    

    Onde 'xxx' é o número da versão.

    Abra o arquivo server.cfg em seu editor preferido.

    Abaixo, coloco apenas as configurações necessárias:

      [server.cfg]
      .
      .
      .
      # Aqui você utilizará o proxy da sua rede, como no exemplo: 10.5.6.4
      PARENT_PROXY: 10.5.6.4
      
      # A porta que o proxy usa para a conexão, geralmente é a 8080.
      PARENT_PROXY_PORT:8080
      
      # Aqui vai o nome do domínio Windows no qual você está conectado.
      # No meu caso, o domínio da empresa onde trabalho: (ntecgrms)
      NT_DOMAIN:ntecgrms
      
      # Aqui você utilizará um usuário com permissão de navegação. No meu caso,
      # utilizei o meu.
      USER:arthur
      
      # Aqui você utilizará a senha do usuário configurado acima. Onde 'xxxxxxx'
      # é a senha.
      PASSWORD:xxxxxxxxx
    

    Após ter feito essas configurações, salve e feche o arquivo.

    Para a pasta do NTLMAPS não ficar "perdida", eu a movi para o diretório /usr/local, renomeando a mesma somente para ntlmaps:

      # mv .../ntlmaps-xxx /usr/local/ntlmaps
    

    Agora você precisa testar se realmente está funcionando. Para isso devemos executar o arquivo main.py encontrado na pasta do ntlmaps:

      # python /usr/local/ntlmaps/main.py &
    

    A seguinte mensagem deverá aparecer:

      Now the NTLMAPS server is listening.
    

    Pronto, o programa está funcionando!

    Agora configure seu navegador e demais programas para a utilização do proxy no IP 127.0.0.1 e porta padrão 5865.

    Para iniciar o seu proxy toda vez que liga seu computador, inclua a chamada do programa no arquivo rc.local:

      # echo "python /usr/local/ntlmaps/main.py &" >> /etc/rc.d/rc.local
    

    Pronto. Agora toda vez em que ligar seu computador, o proxy já estará rodando.

    Espero que essa dica seja útil a muitos usuários frustrados que nem eu, que para utilizar alguns recursos na rede como IM e etc, ainda FAZIA uso do MS Windows.



Veja a relação completa dos artigos de Camilo Arthur

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script