Squid autenticando no Active Directory (AD) Windows 2008 Server
Dica publicada em Linux / Configuração
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:
Cenário de teste:
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.
E não esqueça de adicionar antes de "http_access deny all", geralmente última linha:
Obs.: Se existir a uma linha liberando a rede sem autenticação, comente. Exemplo:
(comente a linha que permita navegar sem autenticação)
Espero que essa dica ajude!
Att.
Demetrius Germani
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
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
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
/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?