Squid autenticando no Active Directory (AD) Windows 2008 Server

Publicado por Demetrius Germani em 02/06/2009

[ Hits: 33.283 ]

 


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)

Espero que essa dica ajude!

Att.
Demetrius Germani

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Login mediante senha no Acer Aspire One (Linpus Linux Lite)

Criando e montando compartilhamento somente com nome de usuários em domínio Samba

Webcam do Dell Inspiron 1525 no Slackware 12.2 Linux

Consertando bug do PepperFlash no Google Chrome e Chromium no Debian 7.6

Mude o tema GTK no GDM

  

Comentários
[1] Comentário enviado por giaco em 08/06/2009 - 11:02h

Boa dica, mas pra mim não está funcionado. Executo o comando

/usr/lib/squid/ldap_auth -R -b "dc=contoso,dc=local" -D "cn=proxyman,cn=Users,dc=contoso,dc=local" -w "senha" -f sAMAccountName=%s -h 192.168.0.2

e me é retornado apenas "ERR"

O que pode estar errado?

[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.

Att.
Demetrius Germani



[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.

Rogério

[4] Comentário enviado por israel_super em 21/01/2010 - 23:55h

Demetrius Germani

Fiz exatamente como descrito em seu tuto.
saiu tudo perfeitamente.

muito obrigado

att

[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?

Obrigado
Thiago.


[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?

[7] Comentário enviado por removido em 01/02/2011 - 17:27h

Fala thiago.golin,


Segue um link para te auxiliar, não sei se ainda serve, mas está aí.


http://mapburghardt.blogspot.com/2010/06/squid-ad-kerberos-uma-solucao-decente.html



Abraço

[8] Comentário enviado por rooberta em 21/02/2011 - 21:34h

Olá.

Meu squid hoje funciona assim:
dois dominios autenticado no msm "squid".

teste.com.br - AD 2003 - 192.168.0.3
teste2.com.br - AD 2003 - 192.168.1.3

Funciona corretamente.

Porém o AD - 192.168.1.3 passou a ser 2008, ou seja não funciona mais com msnt_auth.

Tentei fazer pelo Ldap. Até funcionou, porém só funciona com UM dominio.
Sabem me dizer se é possível/como configurar o Ldap p/ 2 dominios?!?!

Aguardo

[9] Comentário enviado por removido em 21/02/2011 - 21:45h

Olá roberta,

Segue alguns links para te auxiliar.

http://www.dicasdelinux.com.br/dicas-de-linux/3874/squid-autenticando-no-active-directory-(ad)-windo...
http://blog.ngrnetwork.com.br/?p=987

Qualquer coisa posta aí.

Abraço.

[EDIT] Me desculpe, não vi que era para autenticar em 2 bases, vou ver aqui e qualquer coisa, irei postar.

[10] Comentário enviado por filipelambert em 24/07/2012 - 12:36h

Irmão, veja como está o meu squid:

Ele se autentica em um windows 2003,

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
#auth_param ntlm use_ntlm_negotiate off
auth_param ntlm children 40
#auth_param ntlm max_challenge_reuses 0
#auth_param ntlm max_challenge_lifetime 5 minutes

auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 40
auth_param basic realm Proxy NovaHera
auth_param basic credentialsttl 2 hours

Será que funciona se eu alterar esse esquema que você passou ai ?
tem algo errado com as linhas que postei ai encima ?

Dá uma ajuda ?

[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 ^^

[13] Comentário enviado por marcelohcm em 24/03/2015 - 09:59h


como faço pra que ao abrir o navegador não precisar me logar novamente?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts