Não faz parte do escopo deste documento a instalação completa do Squid. Abaixo apenas um resumo de como fazê-lo. Para maiores informações, leia a documentação do software.
Baixamos o Squid e descompactamos o mesmo no diretório /root:
# tar -zxpvf squid-2.5.STABLE12.tar.gz
# cd /root/ squid-2.5.STABLE12
Faremos a compilação básica e depois compilaremos os programas de autenticação LDAP separadamente.
Para tanto, use a famosa seqüência:
# ./configure --prefix=/usr/local/squid
(sendo /usr/local/squid o local onde o squid será instalado) # make
# make install
Mude a propriedade do diretório Squid de root para nobody e crie o cache:
Depois mude a propriedade do diretório /usr/local/squid/cache:
# chown -R nobody.nobody /usr/local/squid/cache
Com isso o seu Squid já estará instalado e pronto pra ser configurado.
Agora passaremos para o passo seguinte, onde iremos acessar squid-2.5.STABLE12/helpers/basic_auth/LDAP e compilar o daemon squid_ldap_auth, que fará a autenticação de usuários no AD:
# cd /squid-2.5.STABLE12/helpers /basic_auth/LDAP:
# make
Após a compilação, copie o daemon squid_ldap_auth para dentro da libexec:
# cp squid_ldap_auth /usr/local/squid/libexec
Acesse squid-2.5.STABLE12/helpers/external_acl/ldap_group e compile o daemon squid_ldap_group:
# cd /squid-2.5.STABLE12/helpers/external_acl/ldap_group:
# make
Após a compilação, copie o squid_ldap_auth para dentro da libexec:
[1] Comentário enviado por agk em 09/05/2006 - 09:50h
Realmente bom o seu artigo, parabéns. Só fiquei com uma dúvida, como você criou os grupos no AD para separar as permissões dos usuários por grupo, gostei da idéia, só não sei como fazer
[2] Comentário enviado por zedogas em 18/07/2006 - 12:24h
TO instalando uma maquina no LINUX (por exemplor Debian), e quero configurar do ZERO o apt-get com o proxy, beleza;
http://usuario@senha:ip:porta nao eh? ENTAO, mas nao vai... TEM COMO INFORMAR UM DOMINIO para o Squid ir lah se autenticar... Do jeito q tah ele pára no proxy (pq nao tem usuario local entende?)
ME AJUDA AE POR FAVOR, como ponho a configuracao no apt-get para entender o proxy q se autentica com usuarios AD? Valeu!
[3] Comentário enviado por fbcarvalho em 16/08/2006 - 10:54h
Estou com um probleminha aqui..
Quando eu estou compliando o LDAP, da um monte de erro e no final aparece isto:
squid_ldap_auth.c:150: warning: 'version' defined but not used
vc sabe me dizer o que pode ser?
[4] Comentário enviado por gelinho em 05/09/2006 - 10:21h
Adicionei no meu squid.conf as linhas referentes a autenticação do usuario no active directory, parecia estar td certo. Porém, quando vou na estação e logo, ele me responde com pagina não encontrada.
Gostaria de saber se alguem tem alguma ideia do que seja e se podiam me ajudar ...
[5] Comentário enviado por brunoleonardo em 28/10/2006 - 15:31h
agk ... para você criar um grupo no ad é só abrir o active directory users and computers e clicar em uma unidade organizacional que voce criou por ex ou no dominio com o botao direito do mouse e adicionar grupo. Apos isso voce adiciona os usuarios ao grupo.
[6] Comentário enviado por vioflas em 03/12/2006 - 02:53h
Segui o passo a passo desse tutorial instalei como ele sugere, no entanto na hora de criar o cache ele diz que o arquivo não foi encontrado, como se o sistema não entendesse que eu coloquei o executável do squid em outro diretório, aí vo manualmente onde squid foi instalado e crio cache /urs/local/sbin squid -z aí ele cria o cache mas a hora de compilar o LDAP dá vários erros não compila alguém pode nos ajudar?
[8] Comentário enviado por kalkyn em 16/01/2007 - 08:39h
Bom amigo curti muito seu tutorial!!!! So tem um problema a maquina ta pedindo autenticação mas quando digito usuario e senha o browser me retorna a tela de login, ja tive esse problema com o PAM e o problema era que ele nao tava localizando os usuarios e senha. Analisando bem o .conf eu percebi que nao a linha que exige a autenticação e tb nao encontrei o que se trata da comparação se e um usuario valido pode navegar. Me corrija se eu estiver errado mas se puder ajudar fico muito grato. Abraços galera
[9] Comentário enviado por kalkyn em 17/01/2007 - 09:15h
Kra tentei fazer a receita de bolo certinha inclusive copiando o .conf daqui mas ele so pede a autenticação quando eu digito usuario e senha ele da o looping... preciso de ajudar urgente.
[10] Comentário enviado por marcoslinss em 17/04/2007 - 15:47h
Galera eu até consegui fazer, mas estou com o mesmo problema do amigão de cima, maquina ta pedindo autenticação mas quando digito usuario e senha o browser me retorna a tela de login. Como resolver isso ???
[15] Comentário enviado por Bique em 03/07/2007 - 04:01h
Diz uma coisa ai: Voces estão usando o Windows 2003 Sp1 como PDC? Eu tinha isto funcionando com o Windows 2003 sem SP1 quando actualizei a a utenticação não rodou mais(pede sempre username e Password), alguém já teve o mesmo problema? Como solucionou?
[19] Comentário enviado por leo_de_ctba em 24/04/2008 - 08:37h
Galera sobre o tutorial existe um erro eu peço que vcs corrijam:
Modifiquem no AD o nome das OU´s:
de LdapAcessoPadrao para AcessoPadrao
de LdapAcessoAcessoRestrito para AcessoRestrito
de LdapAcessoTotal para AcessoTotal
de LdapAcessoDownload para AcessoDownload
Após renomear as OU´s acima reiniciem o squid e façam o teste a autenticação, deverá funcionar.
[20] Comentário enviado por eamboni em 09/05/2008 - 08:42h
?comentario=ola tudo bem ?
seguinte queria tirar uma duvida antes de implementar,
amigo, para poder authenticar o squid no AD nao tem nenhum pacote adicional para se instalar? minha base de usuarios tera uns 4000 registros vai dar problema? oq vc aconselha?
abracos
[21] Comentário enviado por eniojorge em 12/08/2008 - 11:57h
Omeu funcionou perfeitamente, somente um porem, não consigo liberar sites da autenticação, principalmente o problema do conectividade social que usa a porta 80. Alguém tem idéia?
[24] Comentário enviado por leo_de_ctba em 09/02/2009 - 16:50h
Shaper:
Se vc criou um grupo no seu PDC Windows chamado "AcessoParcial" deve criar também uma ACL correspondente no squid com o nível de permissões de acesso desejado, caso contrario o usuário não terá acesso algum.
[27] Comentário enviado por celosc em 15/04/2009 - 23:11h
Amigos, recentemente implementei a solução proposta no artigo e me deparei com um problema, ao excluir / incluir usuários nos grupos, bem como, alterar a senha dos usuários, o squid somente assimila as alterações ao dar o comando para releitura do squid.conf (service squid reload). Quanto as senhas, acontece que o sistema passa aceitar a senha velha e a nova até eu dar o service squid reload.
[28] Comentário enviado por ogreman em 17/04/2009 - 19:14h
Olá comunidade, segui este mesmo tutorial, só que ao invés de compilar tudo instalei o squid3 via apt-get no Debian 5.
Para funcionar direitinho tive que mudar os caminhos de alguns dos arquivos necessários à coorreta execução do tutorial.
Notem que desativei algumas acl's e removi totalmente a parte de cache do squid (por completa falta de conhecimento e vontade de ver funcionando). Modifiquei também o nome da OU e do Dominio.
OU = Colaboradores
Dominio = empresa.local
Segue conteúdo do squid.conf
---------------------------------------------------------------------------
http_port 8080
icp_port 3130
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin ?
# As linhas abaixo se referem a autenticação de usuários no AD
auth_param basic program /usr/lib/squid3/squid_ldap_auth -R -b "dc=empresa,dc=local" -D "cn=proxy_user,ou=colaboradores,dc=empresa,dc=local" -w "proxy123" -f sAMAccountName=%s -h 192.168.254.200
auth_param basic realm Este acesso será registrado Digite sua chave e senha
auth_param basic children 5
auth_param basic credentialsttl 15 minutes
emulate_httpd_log on
unlinkd_program /usr/lib/squid3/unlinkd
# ACL externa para autenticação nas bases LDAP do PDC
external_acl_type ldap_group %LOGIN /usr/lib/squid3/squid_ldap_group -R -b "dc=empresa,dc=local" -D "cn=proxy_user,ou=colaboradores,dc=empresa,dc=local" -w "proxy123" -f "(&(objectclass=person)(sAMAccountName=%v)(memberof=cn=%a,ou=colaboradores,dc=empresa,dc=local))" -h 192.168.254.200
#acl's padrões
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563 9141
acl Safe_ports port 80 # http
acl Safe_ports port 81
acl Safe_ports port 82
acl Safe_ports port 85
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
# A acl abaixo faz bloqueio de acesso por IP"
acl block_ip src "/etc/squid3/ips_bloqueados"
# A ACL abaixo barra download de arquivos com extensões exe mp3 wma wmv mpg avi asf
acl block_arq urlpath_regex -i .com$ .exe$ .scr$ .mp3$ .mpeg$ .wma$ .wmv$ .mpg$ .avi$ .pif$
# A ACL abaixo libera alguns sites para acesso sem autenticação como bancos, governo e #Abrapetite
acl libera_restritos dstdomain -i "/usr/local/squid/etc/sites_liberados" # Libera alguns sites #p/user s/acesso
# ACLs de Controle de Conteúdo
acl dominio_bloqueado dstdomain -i "/etc/squid3/block_dominio"
acl dominio_liberado dstdomain -i "/etc/squid3/libera_dominio"
acl sex url_regex -i "/etc/squid3/porno"
acl nosex url_regex -i "/etc/squid3/naoporno"
# ACLs_ACTIVE_DIRECTORY
acl AcessoRestrito external ldap_group AcessoRestrito # Grupo de acesso com restrições
acl AcessoPadrao external ldap_group AcessoPadrao # Acesso a internet padrão
acl AcessoTotal external ldap_group AcessoTotal # Acesso total a internet
#acl AcessoDownload external ldap_group AcessoDownload
# Libera download de arquivo com extensões bloqueadas.
# A ACL abaixo desbloqueia download para o grupo AcessoPadrao
acl download_url url_regex "/etc/squid3/libera_download-url"
# As linhas abaixo evitam anunciar hosts e squid na Internet
#header_access via deny all
#header_access X-Forwarded-For deny all
-------------------------------------------------------------------------------
Qualquer critica, estamos aí. Seja positiva e negativa.
Ps.: Primeira vez que configuro squid, perdoem as possíveis gafes.
[29] Comentário enviado por tobiastromm em 06/05/2009 - 20:19h
Olá!
Eu uso o NT SQUID instalando no windows server 2003.
Configurei conforme o tutorial e funcionou corretamente.
Minha dúvida é se existe alguma opção na qual eu possa colocar para que ele não peça usuário e senha toda hora, pois isso encomoda um pouco o usuário...
Eu utilizo (antes de configurar conforme o tutorial) o "mswin_ntlm_auth" e com ele isso é possível de se fazer (ele faz a autenticação no AD silenciosamente, pedindo usuário e senha apenas quando uma máquina que não está no domínio tenta acessar o proxy).
Será que tem como fazer esse controle por grupos com de forma sileciosa(autenticando automaticamente)? Estive tentando mas não consegui.
[30] Comentário enviado por calaff2 em 24/05/2009 - 20:20h
ba noite preciso da ajuda da gelera seguir o tutorial , agora estou com alguns problemas, o grupo acesso total , so acessa as paginas que eu libero em sites liberados.
Preciso q o grupo acesso total acesse todas as paginas e o grupo restrito so acesse as pagina que eu liberar.
Outra coisa é :sites_liberados - relação de sites que podem ser acessados sem autenticação (Windows Update, governo e parceiros da empresa); ( coloquei alguns sites + so conseguir acessar autenticando )
[33] Comentário enviado por renato.samos em 31/08/2009 - 08:43h
Bom dia Galera......
Estou com um problema aqui e acho que vocês vão conseguir me ajudar ....
Segui o tutorial e consegui fazer o squid autenticar por grupos no AD normalmente... criei as acls normalmente ... o Squid bloqueia tudo que eu quero e libera tudo que eu quero ...
So que assim ... quando o usuario do grupo AcessoTotal abre o navegador ele solicita usuario e senha ... se fosse somente essa vez tudo bem .. mas sempre que ele abre uma pagina ele pede novamente ...
Ex: estou na pagina do Google ... normal ...ai tento acessar o Terra .... se nessa pagina do terra tiver alguma coisa que for bloqueado ele fica abrindo a tela de login e senha ....
Queria saber se teria como o essa autenticação ficasse transparente para os usuarios ... logo que logarem no Dominio ja valida no Squid e não pede mais senha nenhuma ... quando ele acessar alguma coisa bloqueada aparece Access Denied .....
Bom agradeco desde já a ajuda de vocês pois me ajudaram bastante ja .....
quase me esqueci ... já tentei renomear os grupos de ldapAcessoTotal para AcessoTotal e não funciona ...
[34] Comentário enviado por renato.samos em 31/08/2009 - 09:17h
Opa galera .. consegui solucionar em partes meu problema ...
Meu squid estava assim
http_access deny bloqueados AcessoTotal
http_access allow AcessoTotal
mudei para ficar assim
http_access allow AcessoTotal !bloqueados
agora ele pede a senha somente a primeira vez que abre o Navegador .... depois nao solicita mais mesmo tendo coisas bloqueadas na pagina .. ele bloqueia e ja era .....
agora falta somente ele autenticar quando o usuario loga na rede ....
[35] Comentário enviado por bestmoor em 12/05/2010 - 08:50h
ola amigo muito bom seu artigo .
estou usando squid3 e autenticando em windows server 2003
o squid esta rodando beleza mais nao consigo fazer autenticar fica sermpre pedindo usuario e senha. criei uma arquivo teste.ldap_auth
coloquei a o comando dentro :
/usr/lib/squid3/squid_ldap_auth -R -b "dc=GNS" -D "cn=Administrador,cn=Users,dc=GNS" -w "senha" -f sAMAccountName=%s -h 192.168.1.1
que seria o caminho do meu servidor
mais sempre retorna o erro quando coloco usuario e senha :
squid_ldap_auth: WARNING, could not bind to binddn 'Invalid credentials'
ERR Success
[36] Comentário enviado por wcorrea em 28/01/2011 - 14:11h
Olá Boa Tarde a todos.
Acabo de fazer as alterações
e tudo funcionou corretamente
mas estou com duvida em um ponto
quando troco a senha do usuário no AD ele consegue logar no navegador de internet com as senhas novas e tb com as antigas
O que pode solucionar este problema
[37] Comentário enviado por EuzebioViana em 07/03/2011 - 12:13h
Pow vey muito bom, to pensando em implementar um squid com autenticação no AD com server 2003, pq aki o pessoal aki, o squid no server 2003, venhamos comentar q não funfa muitoo lá essas coisas.... server de internet tem q ser LINUX ;D
[38] Comentário enviado por kurten em 11/08/2011 - 16:42h
Olá,
Estou testando essa forma de autenticação agora.
Temos como testar com algum comando se realmente está autenticando? Pois quando abro o navegador ele pede usuário e senha, mas depois gera acesso negado, ou no access.log gera TCP_DENIED.
EXEMPLO: 10.0.0.10 TCP_DENIED/403 1582 GET http://www.terra.com.br/portal/ proxyteste NONE/- text/html
Mas ele aponta o usuario e depois o NONE/ como se não tivesse autenticado.
[40] Comentário enviado por rondineli.araujo em 03/01/2012 - 10:13h
Caro amigo, recentemente consegui ativar um squid com autenticação via Ad 2003, com pop-up solicitando usuário e senha, ele autentica via dois grupos, um internet full e outro com acesso via regras de bloqueio. O squid está legal, rápido, com logs via sarg com acesso a web dentro da lan. Porém, quando adiciono um novo usuário no AD é necessário restartar o squid para que possa ter efeito, na minha empresa há uma rotatividade enorme de usuários, e toda vez tenho que reinicia-lo, tem alguma forma desta integração ficar autormática sem a necessidade de reinicia-lo?
Estou usando um ubuntu, autenticando via samba, winbind, sarg para os logs, squid e um ad 2003 server.
Queria pelo menos um norte de como verificar isto pois, pelo que verifiquei não achei nenhuma opção do tipo ou algo que pudesse estar parando esta automatização.
[41] Comentário enviado por rondineli.araujo em 15/03/2012 - 08:50h
Eae amigo blza?
Estou com um problema, utilizei um ubuntu como squid, tendo:
krb5.conf, samba, sarg e sessões autenticando em Ad 2003. O que ocorre, criei dois grupos, um com acesso total a internet e um com acesso restrito, porém quando alguem do grupo acesso restrito tenta acessar um site que esta bloqueado ele fica pedindo autenticação novamente, em alguns sites, como por exemplo o ITAU, mesmo eu o colocando na lista de sites liberados ele fica pedidno autenticação direto, enquanto a site esta carregando, acredito que por conta dos popups. Alguem ai pode me ajudar? Queria que ele bloqueasse direto, e não ficasse pedindo autenticação, uma vez que o usuário iniciou a sessão, se ele tentar acessar um site bloqueado, ele teria que aparecer o bloqueio e não ficar pedindo a autenticação.
[42] Comentário enviado por diogospace em 18/09/2014 - 09:09h
Bom dia.
Preciso esclarecer uma duvida.
Quero configurar meu Debian com squid transparent, só que meu servidor atual é Win Server 12 e nele está o AD o DHCP e tudo mais.
A duvida é a seguinte: Preciso passar pelo Win Server para fazer o Gerenciamento do Proxy ou se configurar normal com gerenciamento de listas e td mais, ele funciona?