Páginas

quinta-feira, 16 de julho de 2015

Mudar Autenticação Squid Para Alguns Clientes

Olá a todos,

Onde eu trabalho implantei o Squid3 com autenticação no AD, delay pools, proxy https, etc. Temos alguns logins genéricos, que são usados em máquinas compartilhadas que também estão no AD. A idéia era bloquear o acesso à Internet para esses logins genéricos para que a pessoa quando abrisse o navegador inserisse o login e senha individuais. O bloqueio funcionou, e quando abria o navegador a janela de autenticação aparecia, mas não conseguia autenticar.

Depois de muito quebrar a cabeça, cheguei à conclusão de que o navegador não conseguia autenticar porque ele simplesmente não entendia que deveria usar a autenticação básica, já que a máquina está no domínio e já tem um usuário do domínio logado nela. Foi aí que eu comecei a fuçar na Internet atrás de uma solução, e quando estava quase desistindo, consegui encontrar algo sobre http-violations.

Essa opção de compilação, habilita o Squid a violar o cabeçalho http e mudar alguns parâmetros nele. Vi algumas pessoas mudando o tipo de autenticação para o Java, pois ele também não autentica usando NTLM, testei com o meu cenário e funcionou! A dica é simples, depois do Squid compilado com a opção --enable-http-violations, basta inserir no squid.conf:

acl maquinas-compartilhadas  srcdomain       -i "/etc/squid3/acls/maquinas_compartilhadas"

reply_header_access     Proxy-Authenticate deny maquinas-compartilhadas
reply_header_replace    Proxy-Authenticate Basic realm="DOMINIO.COM.BR"
http_access     deny    rede_local logins_genericos

Com essas opções, o tipo de autenticação nas máquinas informadas (por FQDN) na ACL "maquinas-compartilhadas" vai ser mudado para o tipo "Basic", e o navegador vai conseguir autenticar tranquilamente quando a janela de autenticação for aberta. Dica simples que pode salvar bastante gente.

Até a próxima!!!