Squid autenticando no Active Directory (AD) Windows 2008 Server
Essa dica é para quem estava acostumado a usar a autenticação MSNT_AUTH do Squid no Active Directory do Windows 2003 e, quando tentou usar em uma rede com AD do Windows 2008, descobriu que essa autenticação não funciona mais. Ou mesmo um servidor proxy Squid novo que queira instalar em sua rede e fazê-lo autenticar no servidor do Domínio Win2008.
Para fazer o Squid reconhecer que a conta do usuário existe e que sua senha é válida, basta alterar a forma de autenticação de MSNT_AUTH para o autenticador LDAP.
Exemplo:
Faça um backup do seu arquivo squid.conf;
Faça essa alteração em seu servidor por sua conta e risco.
Cenário de teste:
IP do Servidor Win2008 = 192.168.0.100
Domínio (AD) = contoso.local
Depois é só alterar seu arquivo squid.conf, que geralmente fica "/etc/squid/squid.conf":
# vi /etc/squid/squid.conf
* Substitua a autenticação MSNT_AUTH, se já estava utilizando, por essas linhas.
# linha 1 - Parâmetros para Consultar Usuários no AD:
auth_param basic program /usr/lib/squid/ldap_auth -R -b "dc=contoso,dc=local" -D "cn=Administrador,cn=Users,dc=contoso,dc=local" -w "senha_do_administrador" -f sAMAccountName=%s -h 192.168.0.100 # linha 2:
auth_param basic children 5 # linha 3 - Mensagem que ira aparecer na caixa de autenticação:
auth_param basic realm TEXTO CAIXA AUTENTICAÇÃO # linha 4:
auth_param basic credentialsttl 30 minutes # Linha 5: acl que pede autenticação:
acl autentica proxy_auth REQUIRED
E não esqueça de adicionar antes de "http_access deny all", geralmente última linha:
# Linha que Libera a internet para rede local somente com autenticação
http_access allow autentica redelocal
Obs.: Se existir a uma linha liberando a rede sem autenticação, comente. Exemplo:
# http_access allow redelocal
(comente a linha que permita navegar sem autenticação)
[2] Comentário enviado por demagermani_big em 08/06/2009 - 20:10h
Giaco,
Boa Noite,
Esse comando deve ser colocado dentro do arquivo squid.conf, que geralmente fica em /etc/squid/squid.conf
Você deve informar as configurações do seu dominio.
Ex: - Meu dominio é contoso.local então na linha do comando eu especifico isso assim "dc=contoso,dc=local".
- O usuário que estou usando para autorizar o squid ver o banco de dados de usuários do AD é o Administrador, porém no comando tenho que colocar o caminho completo para localiza-lo. Você pode escolher outro usuário e para informar corretamente seu caminho, você deve entrar no seu servidor Win2008 (Iniciar > Programas > Ferramentas Administrativas > Usuários e Computadores do Active Directory) e ver em que lugar o usuário foi adicionado. Ex: Meu usuário é " Administrador " e ele esta gravando dentro do conteiner " Users " que esta num servidor onde o dominio é " contoso.local " especifico isso assim: "cn=Administrador,cn=Users,dc=contoso,dc=local" .
-A senha dele é " senha@2009 " então no comando coloco dessa forma:
-w " senha@2009 "
- E por último coloco o ip do servidor WINDOWS 2008 no meu caso " -h 192.168.0.2 ".
Olhe todas as informações do seu servidor win2008 e substitua no comando que não terá problema e funcionará corretamente. Já estou usando a algum tempo em vários clientes.
[3] Comentário enviado por rogerionet em 09/11/2009 - 16:31h
Caro Demetrius, testei os passos do seu artigo na empresa onde trabalho, ficou show de bola, ta funcionando perfeitamente.
Muito obrigado pelo seu post. Nota 1000.
[5] Comentário enviado por thiago.golin em 22/06/2010 - 10:27h
Fiz exatamente como descrito e não consegui ter a autenticação.
Debugando com o comando #squid -d 9
a mensagem retornada foi could not bind binddn squid_ldap_auth.
Tem alguma dica de pq não estou conseguindo efetuar a autenticação como vocês conseguem?
[6] Comentário enviado por thiago.golin em 23/06/2010 - 09:42h
Senhores, não precisa responder.
Consegui fazer a autenticação.
Era um problema com o usuário do Win 2008 que eu estava usando.
Muito obrigado pela dica.
Agora eu teria outra pergunta....
Tem como não solicitar a senha e usuário quando uso o navegador? Ou seja, que o navegador já autentique no squid com o login e senha da estação logada no domínio? Sabem de algo assim?
[11] Comentário enviado por wescleiab em 19/09/2012 - 17:39h
Boa tarde, eu já tenho o Squid rodando no Debian, em modo transparente, tenho também o domínio no Win 2008.Com essas alterações os usuários existentes no 2008 serão automaticamente validados no Squid, ou só os próximos usuários que eu cadastrar no AD?
[12] Comentário enviado por DanielJon em 29/03/2014 - 17:33h
100% full
So 1 duvida existe a possibilidade de na linha:
auth_param basic program /usr/lib/squid/ldap_auth -R -b "dc=contoso,dc=local" -D "cn=Administrador,cn=Users,dc=contoso,dc=local" -w "senha_do_administrador" -f sAMAccountName=%s -h 192.168.0.100
Ser feito com:
auth_param basic program crendentials=/etc/arquivo_com_a_configuracao
chmod 600 /etc/arquivo_com_configuracao
??????? existe essa possibilidade ou algo parecido ?????????
Pergunto isso por que quando executamos um Top ou Htop a senha do admin do AD e toda a informação acima aparece.
sei que e meio psicose minha mais segurança nunca é demais ^^