Autenticando Squid no Active Directory

Há um tempo atrás, precisei integrar meu proxy Squid com o Active Directory (AD) da Microsoft, e para isto precisei criar alguns procedimentos para obter êxito na tarefa. Então, sem mais delongas, vou descrever o que precisei fazer:

Autenticando Squid no Active Directory (AD)

Cenário: Windows Server 2008 R2 com Active Directory e proxy rodando no Debian 6

No AD (Active Directory), criei uma OU (Organization Unit) chamada internet, e dentro dessa OU criei um usuário simples com o nome “squid”, com a senha “squid2009”. Na sequência, criei 03 (três) grupos.

internet_acesso_completo = diretores e pessoas que pagam seu salário (geralmente quem paga seu salário não passa pela regra de autenticação ou autentica com tudo liberado).

internet_acesso_padrao = administrativos e pessoas que precisam ou podem ter um pouco mais de liberdade mas nem tanto.

internet_acesso_bloqueado = estagiários e/ou pessoas que só acessarão o que você determinar.

Vamos entender:

O usuário “squid” com a senha “squid2009” é para simples consulta na estrutura do AD (Active Directory) e os grupos são para determinar o nível de permissão que cada usuário vai ter ao acessar a internet.

Squid e Active Directory

Agora no seu servidor proxy, vamos editar o seu arquivo squid.conf

##parâmetros para consultar a estutura do AD (Active Directory)

auth_param basic program /usr/lib/squid/ldap_auth -R -b “dc=dominio,dc=local” -D “cn=squid,ou=internet,dc=dominio,dc=local” -w “squid2009” -f sAMAccountName=%s -h 192.168.5.9 # ip do servidor onde será feita a consulta do AD

##parâmetros para consulta de Grupo em determinada OU (Organization Unit)

external_acl_type ldap_group %LOGIN /usr/lib/squid/squid_ldap_group -R -b “dc=dominio,dc=local” -D cn=squid,ou=internet,dc=dominio,dc=local -w “squid2009” -f “(&(objectclass=person)(sAMAccountName=%v)(memberof=cn=%a,ou=internet,dc=dominio,dc=local))” -h 192.168.5.9 # ip do servidor onde será feita a consulta do AD

##

acl acesso_completo external ldap_group internet_acesso_completo

acl acesso_padrao external ldap_group internet_acesso_padrao

acl acesso_bloqueados external ldap_group internet_acesso_bloqueado

E assim você conseguirá autenticar seus usuários usando a própria rede. Variações em diversos tipos de ambiente podem ocorrer mas o pontapé inicial está dado. Até a próxima!

Official WebSite – Optimising Web Delivery