Squid autenticando no Windows utilizando grupos do AD
Autenticando Squid no AD utilizando grupos do AD como base para o acesso, de forma que podemos habilitar a utilização do proxy ou não para os usuários, liberando ou não a utilização do MSN para os usuários também e permitindo que os administradores ou a diretoria navegue sem restrições.
E dentro de cada arquivo adicionar as URLs ou palavras a serem bloqueadas ou liberadas de acordo com o nome de cada arquivo.
Vamos criar o cache para o Squid:
# squid -z
Agora vamos iniciar o Squid:
# /etc/rc.d/squid start
ou # rcsquid restart
Para garantir que o serviço irá iniciar caso seja feito reboot no servidor digite:
# chkconfig squid on
E pronto, seu Squid já estará autenticando os usuários, agora basta configurar no navegador das estações para que usem proxy. Lembre-se para que o usuário possa navegar ele tem que estar em dos grupos do AD (PROXY_ADM ou PROXY_USERS).
Espero ter contribuído e qualquer dúvida postem aí.
#1Comentário enviado por vipervini em 08/04/2010 - 11:37h
Uma duvida, p/ o usuario navegar ele vai precisar digitar o usuario e senha? ou vai de maneira integrada com o logon de windows? vlw
#2Comentário enviado por czelusniak em 08/04/2010 - 12:14h
Bom dia Vinicius,
Ele vai pedir usuário e senha, estou terminando um artigo onde explico como fazer para que ele funcionar de maneira integrada.
Obrigado.
#3Comentário enviado por ctavares em 12/04/2010 - 12:29h
Para Mim simplesmente não funcionou a autenticação por grupos, se eu liberar o site na ACL sem autenticação ou nas demais ele funciona mas pelo visto meu squid não consegue buscar informações sobre os grupos. Quando você coloca memberof=cn=%a,ou=groups,dc=dominio,dc=local = Local onde foi criado os 3 grupos no AD;
na verdade eu só preciso alterar depois de ou= né como no exemplo abaixo tudo antes fica igual ao que você escreve certo?
memberof=cn=%a,ou=squid,dc=empresa,dc=net
Ou eu estou entendendo errado?
#4Comentário enviado por czelusniak em 12/04/2010 - 13:52h
Seria isto mesmo, mas, você precisa verificar se o ou=squid é mesmo uma ou ou é um CN= , se for um cn você tem que alterar para
memberof=cn=%a,cn=squid,dc=empresa,dc=net
Qualquer coisa posta o squid.conf aí que para te ajudar, outra coisa, qual a distro que esta usando?
Um abraço.
#5Comentário enviado por ctavares em 12/04/2010 - 14:04h
Veja Bem, é uma OU Unidade Organizacional chamada squid, dentro dela tem um usuário chamado squid também dei a ele a senha squid para facilitar os testes. Eu estou usando DC Windows 2008 R2 e Ubuntu 9.04 para o squid que é a versão 2.7 stable 6, eu já havia feito a mudança do nome do binário e localização dele de squid_ldap_auth que no Ubuntu chama diferente e está em outro local. Eu testei com a autenticação por usuário e ela funciona só não funciona na autenticação em grupo.
#6Comentário enviado por czelusniak em 12/04/2010 - 15:03h
Ok, e dentro desta OU estão os grupos correto? O nome dos grupos estão idênticos (Letras maiúsculas e minúsculas)? cola a linha da ldap_group e as acls aí. para ver o que esta acontecendo.
#7Comentário enviado por ctavares em 12/04/2010 - 15:29h
Vou colocar todo o meu squid.conf para você ver.
Apenas respondendo a sua pergunta sim os grupos estão dentro da ou squid e estão todos em maiusculo igual ao script abaixo.
auth_param basic children 5
auth_param basic realm Forneça seu nome de usuário e senha para navegar.
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
# Apache mod_gzip and mod_deflate known to be broken so don't trust
# Apache to signal ETag correctly on such responses
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
# TAG: extension_methods
# Squid only knows about standardized HTTP request methods.
# You can add up to 20 additional "extension" methods here.
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid
#8Comentário enviado por czelusniak em 12/04/2010 - 22:57h
Carlos,
na linha onde contem o usuário que vai autenticar esta assim "cn=squid,cn=squid,dc=galaxia,dc=net" mas pelo que você me passou onde o usuário squid esta é um OU e não um CN, na minha vm (com Ubuntu ) também não havia funcionado então troquei para OU e funcionou outra coisa mudei a regra "http_access allow proxyusers", coloquei ela mais para baixo, é a ultima antes do "http_access deny all" assim ele consegue efetuar as restrições. Da uma olhada para ver não é isto amigo, aqui funcionou com o seu script.
Um abraço
#9Comentário enviado por ctavares em 14/04/2010 - 08:58h
czelusniak,
Me Desculpa eu estava afirmando que estava como OU quando na verdade estava como CN, depois das modificações funcionou perfeitamente, muito obrigado pelo ótimo trabalho e por ter me ajudado.
#10Comentário enviado por ctavares em 14/04/2010 - 17:10h
czelusniak,
#11Comentário enviado por rogawa em 26/07/2010 - 17:25h
Olá Robinson. Excelente artigo, muito bem explicado!
Bem, estou usando o Samba4 aqui como Domain Controller, apliquei seu artigo e as restrições funcionaram. Entretanto, resolvi fazer um teste. Através de um PC fora do domínio, eu consegui logar e navegar usando qualquer nome de usuário que estivesse previamente cadastrado no AD e dentro do grupo PROXY_USERS. Gostaria que isso não acontecesse, pois pretendo aplicar uma série de restrições usando GPOs, então pensei em usar na ACL, o computador logado no domínio ao invés do usuário. Essa abordagem é possível? Eu pretendo fazer um teste, alterando o parâmetro (&(objectclass=person) para (&(objectclass=computer). Não sei se fui claro o suficiente, mas resumidamente seria alterar a autenticação de "usuário" para "computador". Qualquer ajuda é bem-vinda e mais uma vez parabéns pelo artigo!
#12Comentário enviado por czelusniak em 31/07/2010 - 16:38h
Obrigado Rui,
Nunca fiz este teste mas acredito que se você tirar o objectclass=person ninguém irá logar pois ele é uma classe de usuário, e se você colocar o objectclass=computer talvez a autenticação só acontecerá se você você passar uma conta de computar e não de um usuário, mas mesmo assim uma máquina fora do domínio poderá logar, uma forma de você restringir isto é utilizando NTLM com o squid dai o proxy não pede autenticação mas só libera a navegação se você estiver logado com uma conta do domínio. Estou terminando um artigo com NTLM, quero ver se até a metade do mês disponibilizo, o problema é o tempo meu amigo, mas no próprio VOL você pode encontrar algumas alternativas. Espero ter ajudado.
#13Comentário enviado por ulisses.santos em 03/08/2010 - 17:19h
Amigo tem alguma forma de isto funcionar com o debian?
#14Comentário enviado por rogawa em 03/08/2010 - 20:26h
#15Comentário enviado por czelusniak em 06/08/2010 - 21:52h
Olá Ulisses,
na prática deve funcionar sem problemas basta procurar os binários squid_ldap_group e squid_ldap_auth, você pode usar o find:
# find / -iname squid_ldap_auth
e
# find / -iname squid_ldap_group
O restante não é preciso alterar nada.
Um abraco.
#16Comentário enviado por czelusniak em 06/08/2010 - 21:59h
Boa noite Rui,
pelo que vi do link que você colocou aí, é isto mesmo estou indo na mesma base no meu artigo.
No pdf que você postou ele fala sobre o horário do servidor isto tem que estar sincronizado com o AD senão dá problemas mesmo, outro ponto é o DNS, mas é muito tranquilo, boa sorte na sua jornada aí e se tiver tempo posta aí o resultado ou se tiver problema posta aí também numa dessa posso ajudar.
Um abraco
#17Comentário enviado por leonavegador em 15/10/2010 - 16:22h
Caro Amigo czelusniak,
Segui o seu tutoria, fazendo as alterações necessárias para meu domínio com meu grupos enfim. O usuario se autentica redondo. Mas o que ocorre. Segundo seu tutoria se o usuário não for membro de nenhum grupo do AD ele não navegaga correto? No meu caso aqui mesmo ele não estando cadastrado no grupo para controle de conteudo ele consegue navegar. O que pode estar ocorrendo. Agaurdo seu retorno.
#18Comentário enviado por nelsinho em 10/12/2010 - 15:55h
Boa tarde
Caro Amigo czelusniak,
Minha duvida é a seguinte estou fazendo uns teste aqui na minha VM antes de implementar na minha rede.
Meu squid esta instalado no Debian 5 e eu nao conseguir localizar o arquivo squid_ldap_auth de forma nenhuma.
Gostaria da Ajuda de voces para que eu possa seguir o tutorial.
#19Comentário enviado por gean.souza em 21/03/2011 - 12:32h
Bom dia a todos,
Fiz este procedimento e funcionou certinho, mas preciso de uma ajuda. Eu gostaria de limitar o número de conexões por usuário, porém alguns deles devem ter conexão livre. Pergunta! Eu consigo limitar o número de conexões apenas para um grupo X, enquanto o grupo Y não possui limite?
Abraço!
#20Comentário enviado por palara em 17/01/2013 - 09:35h
Desconsiderem minha falta deste conhecimento, mas como se cria uma OU? É dentro de /etc/squid???
#21Comentário enviado por rbortholin em 25/02/2013 - 14:37h
Galera !
Preciso de uma ajuda !
Eu a príncipio fiz uma instalação básica do squid por #aptitude install squid, ai consegui fazr funcionar e tal, porém é necessário que ele se integre com o AD assim como ensinado neste tutorial !
Meu linux já está no dominio e e comunicando, porém preciso configrar essa linha
#23Comentário enviado por jonnatha_faria em 03/03/2016 - 03:22h
Amigo, excelente iniciativa, só tenho um comentário, se puder postar os confs mais simplificados, acho que fica mais fácil das pessoas aprenderem. Só uma crítica construtiva, parabéns!
Preferências de cookies
Usamos cookies essenciais para manter o site funcionando. Cookies de estatísticas e anúncios só serão carregados se você permitir.