
fernandord
(usa Ubuntu)
Enviado em 02/04/2008 - 17:40h
Eu faço utilizando o squid_ldap_auth que não vem com o squid, pelo menos no do Debian não vem... experimentei o winbind mas ele não conseguia distinguir os grupos...
inicialmente voce baixa o source do squid:
apt-get source squid
e as dependencias:
apt-get build-dep squid
depois entra nos source e digita:
./configure --enable-basic-auth-helpers="list of helpers"
depois:
make
depois é só copiar o executável squid_ldap_auth do source que estará no diretório:
helpers/basic_auth/LDAP
para o diretório /usr/lib/squid/
feito isso é só seguir com as configurações....
Segue a minha configuração de exemplo:
auth_param basic program /usr/lib/squid/squid_ldap_auth -R -b "dc=dominio,dc=local" -D "cn=proxy_user,ou=Internet,dc=dominio,
dc=local" -w "123456" -f sAMAccountName=%s -h 192.168.1.1
auth_param basic realm "Acesso a internet"
auth_param basic children 5
auth_param basic credentialsttl 15 minutes
external_acl_type ldap_group %LOGIN /usr/lib/squid/squid_ldap_group -R -b "dc=dominio,dc=local" -D "cn=proxy_user,ou=Internet
,dc=dominio,dc=local" -w "123456" -f "(&(objectclass=person)(sAMAccountName=%v)(memberof=cn=%a,ou=Internet,dc=dominio,dc=loca
l))" -h 192.168.1.1
acl acessoespecial external ldap_group AcessoEspecial
acl acessopadrao external ldap_group AcessoPadrao
acl palavras_bloqueadas url_regex -i "/etc/squid/configs/palavras_bloqueadas.txt"
acl rede_interna src 192.168.1.0/255.255.255.0
http_access allow rede_interna acessoespecial
http_access deny palavras_bloqueadas
http_access allow rede_interna acessopadrao
http_access deny all
Nessa configuração você terá de ter um AD (192.168.1.1) configurado e rodando, criar uma OU Internet com 2 grupos, AcessoEspecial e AcessoPadrao e dentro dessa OU um usuário Proxy_user com senha 123456
O único incoveniente é que qualquer alteração no AD é necessário rodar um squid -k reconfigure, mas você pode colocar o comando na crontab pra executar de tempos em tempos
t+