Nesse VideoPost iremos mostrar como buscar no AD os grupos de usuários e criar hierarquias de acesso através deles.
Utilizamos nesse VideoPost:
Windows 2008; Debian 7 (Wheezy) / Squid; Cliente Windows 7.
ATENÇÃO: Este post foi desenvolvido em Debian 7 e por conta disso alguns arquivos podem não existir mais ou mudaram de nome que é o caso do arquivo wbinfo_group.pl que se encontra sob o nome ext_wbinfo_group_acl, o local onde o mesmo está armazenado fica em /urs/lib/squid3.
Espero que tenham gostado desse VideoPost. Assinem nosso canal no Youtube e Curtam nossa Página no Facebook.
Show de bola esse tutorial, parabéns Mauro e Ricardo!! um sugestão: como sequência do vídeo pode explorar funções mas comuns do Squid em cenários reais: bloqueio de download por extensão, controle de banda com Delay Pools e opções de configuração de cache, vai ficar completo.!! Obrigado
Obrigado Bruno Cruz, e valeu pela dica, vou separar um tempo para aprofundar mais as infinitas opções do Squid….rsrs. Eu particularmente acho o Squid uma ferramenta fantástica. Grande abraço.
Bruno,
Fico muito feliz com elogio e sua sugestão. Estamos trabalhando muito para tornar esse portal num grande site de TI.
Abraços
Com toda certeza cenários reais serão mais procurados, parabéns pelo vídeo. Aprendizado nunca é demais.
Também acho Rosemberg Silva, além de serem mais procurados são práticos e ajudam muita gente. Abs
Segui passos do Tutorial só que com SAMBA4, só que samba4 e squid estão no mesmo server, nas estações windows7 ok logadas no domino, só que ao abrir navegador pede usuário e senha, mesmo com usuário e senha do windows não faz autenticação no proxy, queria autenticado mas sem ter digitar usuário e senha como no tutorial, tem alguma coisa errada, só não consegui descobrir o que é! to usando debian 7
Obrigado pelo comentário Alessandro Rodrigues, tenta ver se o Winbind está corretamente configurado, e tente este comando (echo “usuário grupo” | /usr/lib/squid3/wbinfo_group.pl -d) para ver se o squid irá conseguir buscar usuários e grupos que estão no AD corretamente, digite isso sem os parenteses. O resultado no final tem que ter um “ok”. E sempre reinicie o Winbind o SAMBA e o Squid3 antes de tentar novamente. O ideal seria ter um servidor só para o squid, e um RAID0 para o cache, mas isso é outro assunto. Abs
Boa noite, amigo. Belo trabalho.
quanto faço teste com o echo, dá esse erro: -bash: /usr/lib/squid3/wbinfo_group.pl: No such file or directory
pode me ajudar, por favor?
Tenho este mesmo problema, uso centos 7, instalo o squid pelo yum mais esta pasta /usr/lib/squid3/ com o arquivo necessario dentro nao é criado.
fiz testes e resultado foi OK, comando echo funciona e retorna ok buscando grupos,
Vou pensar mais pouco , ver se problema não é kerberos, hora da erro ou não..vou começar do 0 novamente e refazer testes.. tenho processador e memoria sobrando nesse server qualquer coisa vou fazer virtualização de 2 servidores um SAMBA4 e outro PRoxy virtualizados.
Isso funciona com qualquer grupo ou somente o grupo principal? Posso ter um grupo secundário somente para liberar ou bloquear certos sites? Desculpe a pergunta mas estou sem tempo para fazer os testes no momento.
Com qualquer grupo sim Charles Valeze. Abs.
Muito bom o howTO.
Estou tendo problemas com o cliente, sempre aparece pop-up para autenticar, digito o login e senha do usuário, mais sempre dar erro.Meu cliente é winxp .
ERRO
Desculpe. Atualmente, você não está permitido a requisitar http://google.com/ desse cache até que você tenha se autenticado.
Teste com o comando echo
# echo “gerente gerencia” | /usr/lib/squid3/wbinfo_group.pl -d
Debugging mode ON.
Got gerente gerencia from squid
User: -gerente-
Group: -gerencia-
SID: -S-1-5-21-1897056375-457872897-1280298557-1112-
GID: -10009-
Sending OK to squid
OK
Aguardo retorno.
Olá Renan, já testou seu Kerberos? E como está seu squid.conf, é igual ao do videopost ou tem algumas diferanças. Qualquer coisa estamos por aqui. Abs
Kerberos funcionando perfeitamente, meu squid é o mesmo do videopost. Estou usando como cliente windowsXP, setando o ip proxy e porta manualmente.
# kinit administrador@SRV.LOCAL
Password for administrador@SRV.LOCAL:
Warning: Your password will expire in 2 days on Tue Jul 16 12:26:08 2013
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrador@SRV.LOCAL
Valid starting Expires Service principal
13-07-2013 19:00:10 14-07-2013 05:00:17 krbtgt/SRV.LOCAL@SRV.LOCAL
renew until 14-07-2013 19:00:10
Olá Mauro
Eu fiz o howTO novamente e funcionou. O problema estava na minha VM do windows SRV 2008.Testado no ubuntu 12.04.
vlw
Blz Renan, e qual era o problema da sua VM?
Tela azul da morte. Tentei reinicializar e apareceu uma mensagem parecida com essa:
STOP: 0 × 0000006B (Parameter1, Parâmetro2, Parâmetro3, Parâmetro4) PROCESS1_INITIALIZATION_FAILED
Deletei a vm e instalei de novo.
flw
Olá estou configurando o Squid3 para autenticar no Samba4 quanto vou ingressar a maquina que esta com o Squid instalado no dominio esta dando o seguinte erro “Failed to join domain: failed to find DC for domain DOMINIOLINUX.COM” alguem tem alguma dica?
Estou utilizando duas maquinas linux com debian 6, uma com o squid instalado e outra com o samba4 como Domanin Controller.
Ao ingressar a maquina com o squid no domínio estou recebendo o seguinte erro.
[2013/07/20 13:43:10.387801, 0] libads/sasl.c:821(ads_sasl_spnego_bind)
kinit succeeded but ads_sasl_spnego_krb5_bind failed: Server not found in Kerberos database
Failed to join domain: failed to connect to AD: Server not found in Kerberos database
Alguem pode me ajudar?
Estou utiliza duas maquinas linux uma com o squid3 instalado e outra com o samba 4. Ao tentar ingressar a maquina com o squid instalado no domínio estou recebendo o seguinte erro:
” [2013/07/20 13:43:10.387801, 0] libads/sasl.c:821(ads_sasl_spnego_bind)
kinit succeeded but ads_sasl_spnego_krb5_bind failed: Server not found in Kerberos database Failed to join domain: failed to connect to AD: Server not found in Kerberos database”.
Alguem pode me dar alguma dica?
obs.: As maquina com Windows estão ingressando no domínio normalmente.
Desde já gradeço.
Heitor veja nosso video post “Ingressando Ubuntu no Active Directory”, faça o mesmo procedimento com a maquina que está com o Squid. Abs
Muito obrigado Mauro, eu formatei e comecei do zero, ai deu certo falta só terminar com as configurações.
Valeu
Olá pessoal!
Fiz todas as configurações, porem, quando vou fazer um teste de comunicação do squid com o samba recebo um erro que não sei como resolver, segue abaixo o erro.
root@vm-server:~# echo “estagiario estagiarios” | /usr/lib/squid3/wbinfo_group.pl -d
Debugging mode ON.
Got estagiario estagiarios from squid
User: -estagiario-
Group: -estagiarios-
SID: -S-1-5-21-3658418458-78105509-2669083668-1107-
GID: -10007-
Sending ERR to squid
ERR
root@vm-server:~#
Heitor Neto, seu smb.conf está igual ao do videopost?
Outra coisa verifique seu Winbind.
Abs
Olá Mauro!
O smb.conf esta igualzinho, porem, estou com uma dúvida, no arquivo de configuração do winbind você coloca um usuário “proxy” esse usuário deve ser criado no samba?
Mesmo criando o usuário proxy no AD o erro ainda persiste.
esta dando erro no DNS, porem, os arquivos hosts e resolv.conf estão configurados, alguma dica.
Olá pessoal!
Mesmo formatando e reinstalando tudo do zero o mesmo erro continua.
echo “estagiario estagiarios” | /usr/lib/squid3/wbinfo_group.pl -d
Debugging mode ON.
Got estagiario estagiarios from squid
User: -estagiario-
Group: -estagiarios-
SID: -S-1-5-21-3658418458-78105509-2669083668-1107-
GID: -10007-
Sending ERR to squid
ERR
Alguém ai pode me dar uma dica?
Desde já agradeço.
Boa tarde, pessoal!
Aqui estou tentando o squid para autenticar usuários de grupos específicos no AD do Windows Server 2012.
Segue o problema:
echo “usuario grupo” | /usr/lib/squid/wbinfo_group.pl -d
Debugging mode ON.
Got usuario grupo from squid
User: -usuario-
Group: -grupo-
SID: -S-1-5-21-4773606716-3946901270-3726946345-1121-
GID: -10020-
Could not get groups for user usuario
Sending ERR to squid
ERR
Verifique se os usuários fazem parte do grupo.
Exemplo: o usuário estagiário é membro do grupo estagiários
espero ter ajudado.
Heitor,
Valeu pela atenção!
O usuário faz parte do grupo.
Será que temos de fazer algo diferente quando o caso é o AD do Server 2012?
Mauro, ótimo post!! realizei o teste e tudo funcionou.
você sabe informar se é possível fazer essa configuração sendo com proxy
transparente?
Com proxy transparente não, pois o squid precisa autenticar no AD, e proxy transparente não faz autenticação. Abs
Obrigado Mauro, e parabéns pelo ótimo post.
Boa tarde Amigo,
Como faço para pegar esse seu arquivo em txt?
vou fazer o teste usando o samba4 e autenticando com o AD 2012
Agradeço pela atenção!
Oi Carlos, entre no nosso canal no youtube os arquivos estão lá, o do samba4 ficou meio embaralhado qualquer coisa eu te mando os arquivos. Abs
Carlos, o vídeo foi postado no youtube e os arquivos estão na descrição do vídeo.
espero ter ajudado.
Boa noite,
Primeiramente gostaria de informar que eu instalei o samba4 (depois vou postar o conf do samba4) para autenticar com windows server 2012 e funcionou perfeito, estou apenas com o seguinte problema, quando o usuário vai tentar acessar um site que não tem permissão ele não cai na pagina do squid informando que o usuario não tem permissão, ele abre o pop up umas 03 vezes pedindo usuario e senha, ai depois que ele cai na pagina informando que o usuario não tem acesso. nesse caso ele teria ir direto e não ficar pedindo usuario e senha. segue abaixo o meu conf.
###################################################################
#
# PROXY SQUID3
# LAB: Carlos Alexandre
#
#=============== Configuracao Inicial ===============#
http_port 3128
visible_hostname PROXY_SECURITYLS
cache_mgr carlosalexandre@crtisolutions.com.br
cache_mem 1028 MB
maximum_object_size_in_memory 128 KB
maximum_object_size 1028 MB
minimum_object_size 2 KB
cache_swap_low 90
cache_swap_high 95
cache_dir diskd /var/spool/squid3 20480 64 256 Q1=64 Q2=72
cache_log /var/log/squid3/cache.log
access_log /var/log/squid3/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
cache_swap_low 90%
cache_swap_high 95%
#=============== Paginas de Erros ===============#
error_directory /usr/share/squid3/errors/pt-br
#=============== Regras Principais ===============#
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl rede src 192.168.10.0/24
acl SSL_ports port 443 563
acl Safe_ports port 80 21 25 110 443 563 70 210 280 488 591 59 777 901 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
# ——————AD——————
visible_hostname NOME_DO_SEU_SERVIDOR_PROXY
auth_param ntlm program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 10
auth_param ntlm keep_alive on
auth_param basic program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-basic
external_acl_type grupo_ad %LOGIN /usr/lib/squid3/wbinfo_group.pl
acl contabilidade external grupo_ad contabilidade
acl diretores external grupo_ad diretores
acl financeiro external grupo_ad financeiro
acl ti external grupo_ad ti
#=============== Regras de Bloqueio ===============#
# Bloqueio de Sites Improdutivos01
acl sites_improdutivos01 url_regex -i “/etc/squid3/sites_improdutivos01”
http_access deny sites_improdutivos01 !ti
# Bloqueio de Sites Improdutivos02
acl sites_improdutivos02 url_regex -i “/etc/squid3/sites_improdutivos02”
http_access deny sites_improdutivos02 !financeiro
# Bloqueio de Sites Improdutivos03
acl sites_improdutivos03 url_regex -i “/etc/squid3/sites_improdutivos03”
http_access deny sites_improdutivos03 !diretores
# Bloqueio de Sites Improdutivos04
acl sites_improdutivos04 url_regex -i “/etc/squid3/sites_improdutivos04”
http_access deny sites_improdutivos04 !contabilidade
#=============== Regras Finais ===============#
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow rede
http_access deny all
Muito bom o artigo Mauro, gostaria de deixar algumas dicas e também trocar uma ideia com vocês.
Começando pelas dicas… são coisas pouco documentadas e que já tenho em produção.
Este tipo de autenticação no Squid pode ser feito de uma maneira mais curta e com o mesmo resultado – pelo menos em relação ao processo de autenticação em si.
1. Por mais incrível que pareça, não precisa instalar o Samba por completo – basta o winbind. É claro que o apt fará a instalação do samba-common e samba-common-bin como dependência. Com isto já é possível ingressar o servidor ao domínio. No Ubuntu fiz isto, não tenho os serviços SMBD e nem o NMDB. E se teu foco for apenas autenticação do squid, não precisa integrar com o NSS (não alterem o nsswitch.conf – seria necessário se o PAM for usado ou se precisar do mapeamento para conta unix).
2. Não precisa integrar ao AD como ADS. Nos labs que fiz consegui integrar usando RPC no modelo NT4-Style – sem kerberos. Basicamente, a configuração que fiz foi esta:
wins server =
security = domain
winbind offline logon = true
winbind max domain connections = 250
winbind enum groups = no
winbind enum users = no
winbind separator = \\
winbind use default domain = yes
winbind reconnect delay = 10
winbind cache time = 1800
winbind max clients = 250
Outra coisa que vale apena repensar é a ativação do enum users e groups. Isto não é bom em ambientes grandes e não traz vantagem alguma num modelo de proxy autenticado (pelo menos se for o único foco). Isto é útil se você precisar que o sistema enxergue as contas do Windows como contas Posix ou tendo um mapeamento completo via “getent passwd”, por exemplo.
Feito isto, você já integra o servidor ao domínio com o comando:
net rpc join -U administrator
Como nossa estrutura é grande, a equipe que controla as contas do AD é outra, então não sei dizer se existe algum pré-requisito para ingressar por rpc – não configuro os DCs. Mas tenho feito desta forma inclusive para as VPNs com suporte via winbind. Fiz outro lab em modo ADS para ver se teria diferença na carga de rede. Não mudou praticamente nada, porque o schema de autenticação é o NTLM e a consulta acaba acontecendo da mesma forma. Por isto, tenho optado pela forma mais simples.
3. Ajustes de permissão para acesso ao socket unix do winbind.
Não alterem o arquivo de controle do serviço – vai parar na próxima atualização. Coloquem o usuário proxy no grupo winbindd_priv:
gpasswd -a proxy winbindd_priv
Se isto não funcionar é bem provável que vocês tenham configurado a opção “cache_effective_group proxy”. Comentem esta linha, do contrário o usuário não terá privilégio do grupo winbindd_priv e por tabela não acessa o socket.
Isto está documentado no site oficial do Squid.
Tudo isto já está testado e funciona bem, mas num ambiente de testes menor e controlado.
Agora fica a pergunta.
Nosso ambiente é relativamente grande e distribuímos a carga entre 5 servidores. Na “frente” usamos dois balanceadores com HaProxy. Já pensei em mudar para LVS, mas gostamos bastante do HaProxy. Por enqto acho que não vamos mexer nisto. No horário de pico temos aproximadamente 1500 sessões simultâneas por mestre (dois). Ou seja, são umas 3000 sessões ao todo no horário de pico.
Então… Estou na dúvida de como fazer isto sem sobrecarregar os DCs e nem prejudicar a performance de navegação. Evitei ao máximo usar a autenticação por causa do nosso tráfego de rede, mas o pessoal tem insistido. Pelo que vi no NTLM cada GET tem um evento 407 (é por objeto). Achei isto muito ruim. Tentei ativar opções de cache mas não mudou muita coisa não. Cheguei até a remover dos logs os eventos 407 porque senão vai ficar impossível manter estes logs. Sei que no schema basic isto não acontece, mas ai não tenho a autenticação transparente e a criptografia é considerada muito fraca – tb não serve.
Algumas soluções comerciais são baseadas em agentes instalados nos DCs. Será que existe isto no mundo Opensource? E será que é transparente. Pelo que entendi a autenticação transparente só funciona se for NTLM ou Negotiate. Mas, o negotiate é voltado mais para autenticação baseada em kerberos (nunca fiz). Vi que o plugin ntlm_auth tb suporta o schema negotiate, mas não tem muita documentação sobre isto.
No site do Squid há um comentário sobre a carga do negotiate – pelo visto é bem menor que do NTLM.
Pensei em tentar até isto:
http://www.freeipa.org/page/Squid_Integration_with_FreeIPA_using_Single_Sign_On
Mas ai acho que é viagem demais!
E para usar o FreeIPA eu precisaria de um servidor Red Hat ou Fedora só pra isto. De qualquer forma, me pareceu uma solução do k7. Só que no momento eu queria algo mais direto.
Alguém aqui conhece o FreeIPA.
Já tentaram o schema negotiate?
Se você fizer um lab neste sentido, dê um retorno.
Valeu…
Muito bacana seu comentário Humberto, irei testar a autenticação sem o SAMBA para ver se vai rolar. No seu LAB a autenticação com os grupos do AD funcionou 100% mesmo?
Abs
Bom, não usei controle de grupo não. Mas, acredito que funciona do mesmo jeito. O helper consulta isto via winbind e não pelo PAM. Então, se tudo funcionar com winbind -u ou -g, o helper deve funcionar tb. Mas sinceramente nunca testei isto.
Como a equipe que cuida do AD é outra, permitir que o perfil de acesso seja vinculado diretamente ao grupo do AD sairia de nosso controle – as equipes são grandes (é complicado).
Na verdade separamos algumas ACLs em forma de plugin e cadastro as contas individualmente.
– Um plugin para googleearth, por exemplo
——
# Common ACL
acl domain_earth dstdom_regex (kh|khmdb|mt|mw)[0-9]*\.google\.com (maps|moon|earth)\.google\.com (www|geo|auth)\.keyhole\.com maps\.google\.com\.br
acl clientaddr_earth proxy_auth “/etc/squid/acl/plugin/clientaddr_googleearth”
http_access deny domain_earth !clientaddr_earth all
——
Carrego isto como include dentro do squid.conf.
O ‘all’ no final é para evitar a caixa de autenticação (mesmo sob NTLM). Um deny direto no usuário resulta em uma solicitação de nova credencial (isto é previsto) – colocando “all” no final fica decisivo (bloqueia se o usuário não corresponder).
Os módulos foram configurados assim:
——
auth_param ntlm program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmssp –use-cached-creds
auth_param ntlm children 150 startup=20 idle=20
auth_param ntlm keep_alive on
auth_param basic program /usr/bin/ntlm_auth –use-cached-creds –helper-protocol=squid-2.5-basic
auth_param basic children 150 startup=20 idle=10
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
——
Mas ainda não está como eu queria.
O problema é a incidência de 407 do NTLM.
Vou tentar esse how-to:
http://wiki.bitbinary.com/index.php/Active_Directory_Integrated_Squid_Proxy
Mais tarde vou testar o FreeIPA com mais calma e tentar colocar em produção também.
Amigo, depois que eu atualizei o debian ele perdeu o ticket… teria como postar o arquivo do kerberos e do winbind? Aproveitando para elogiar o post… parabéns… melhor que eu encontrei na internet…perfeito.. parabéns….
O meu krb5.conf ficou assim:
Observe o que está em maiúsculo e minúsculo – siga isto.
ACHO que opções de criptografia são detectadas automaticamente. Não sei se precisa especificar, mas coloquei um exemplo para Windows 2008.
O PROXY.keytab é o local onde você guardará as informações de autenticação do servidor (precisa dele para autenticação pelo Squid) – com ele, vc poderá se re-autenticar a qualquer momento sem dificuldade alguma.
Supondo que o domínio e o realm sejam dominio.local e DOMINIO.LOCAL
1. arquivo /etc/krb5.conf
[libdefaults]
default_realm = DOMINIO.LOCAL
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
dns_lookup_kdc = no
dns_lookup_realm = no
ticket_lifetime = 24h
default_keytab_name = /etc/squid/PROXY.keytab
default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
[realms]
DOMINIO.LOCAL = {
kdc = dc1.dominio.local
kdc = dc2.dominio.local
admin_server = dc1.dominio.local
default_domain = dominio.local
}
[domain_realm]
.dominio.local = DOMINIO.LOCAL
dominio.local = DOMINIO.LOCAL
2. Faça download da ferramenta msktutil (para gerar o keytab e o SPN no AD).
https://fuhm.net/software/msktutil/releases/
3. Faça autenticação como administrador:
kinit administrator
klist
4. Gere o keytab usando o msktutil
– Defina um nome netbios preferencial para k-proxy, mas tem que ser exclusivo (ou use k-proxy mesmo… rs). Mas, este nome não deve ser igual ao fqdn do proxy (proxy.dominio.local) e deve ser diferente do nome NBT usado ao ingressar no domínio (via winbind – normalmente é o seu hostname do Linux). Por isto, pode ser suficiente usar o k-proxy como computer-name.
– O nome fqdn do proxy (proxy.dominio.local) precisa ter registro A e PTR (precisa do reverso tb).
msktutil -c -s HTTP/proxy.dominio.local -k /etc/squid/PROXY.keytab –computer-name k-proxy –upn HTTP/proxy.dominio.local –server dc1.dominio.local –verbose –enctypes 28
A opção “–enctypes 28” é para Windows 2008 Server .
5. Resete a conta do computador k-proxy (pelo AD) e tente a atualização desta conta novamente (este passo não é obrigatório, mas é bom certificar que está tudo ok). Depois, faça isto:
kdestroy
msktutil –auto-update –verbose –computer-name k-proxy
Tem tudo descrito no link que passei anteriormente.
6. Teste o seu PROXY.keytab
kinit -V -k -t /etc/squid/PROXY.keytab HTTP/@
klist
Se você conseguiu se re-autenticar por ele, é porque funcionou tudo certinho até este ponto (tá quase fechado já)! rs
7. Configure as variáveis de ambiente:
KRB5_KTNAME=/etc/squid/PROXY.keytab
KRB5RCACHETYPE=none
export KRB5_KTNAME
export KRB5RCACHETYPE
Você pode setar isto no profile ou em /etc/init.d/squid.
Eu precisei desabilitar o cache porque o consumo de CPU ficou inaceitável (por isto usei a variável KRB5RCACHETYPE).
– Já comentei sobre o Winbind anteriormente, mas usei isto (não fiz por ADS):
workgroup = DOMINIO.LOCAL
realm = DOMINIO.LOCAL
wins server = dc1.dominio.local
security = domain
# security = ads
auth methods = winbind sam
winbind offline logon = true
winbind max domain connections = 250
null passwords = yes
encrypt passwords = true
passdb backend = tdbsam
load printers = no
disable spoolss = yes
idmap uid = 10000-30000
idmap gid = 10000-30000
template shell = /bin/bash
winbind enum groups = no
winbind enum users = no
winbind separator = \\
winbind use default domain = yes
winbind reconnect delay = 10
winbind cache time = 1800
winbind max clients = 250
Tente ingressar com
net rpc join -U administrator
Essa alteração do winbind é para ter suporte por NTLM no Squid tb.
Isto é feito porque nem todos clientes suportarão kerberos e o mesmo vale para o NTLM. O ideal é que você coloque o suporte de autenticação do nível mais seguro ao menos seguro (os browser respeitam esta sequência):
vim /etc/squid/squid.conf
auth_param negotiate program /usr/lib/squid/negotiate_wrapper_auth –ntlm /usr/bin/ntlm_auth –diagnostics –helper-protocol=squid-2.5-ntlmssp –use-cached-creds –kerberos /usr/lib/squid/negotiate_kerberos_auth -s GSS_C_NO_NAME
#auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -d -s GSS_C_NO_NAME
auth_param negotiate children 150 startup=20 idle=20
auth_param negotiate keep_alive on
auth_param ntlm program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmssp –use-cached-creds
auth_param ntlm children 150 startup=20 idle=20
auth_param ntlm keep_alive on
auth_param basic program /usr/bin/ntlm_auth –use-cached-creds –helper-protocol=squid-2.5-basic
auth_param basic children 150 startup=20 idle=10
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
auth_param basic realm Proxy Dominio Local
UM DICA MUITO IMPORTANTE PARA *KERBEROS*
1. Configure o browser para usar como proxy o nome fqdn:
proxy.dominio.local
2. Pode acreditar, se vc usar o IP não funciona! ;)
Perdi dois dias seguidos por causa disto! rs
Agora preciso dar um jeito de tratar isto sob o HaProxy!
Faze 2! rs
Caro Amigo deixa eu lhe fazer uma pergunta tenho um ad com 5 grupos diferente , ate ai tudo bem , como o squid trabalha com usuários quando eu mudo ele de nível pois ele ira peder o acesso aquela pasta certo ?
ola estou com um problema na ora de entrar no dominio
failed to lookup dc info for domain “TWOGO” over rpc: the network name cannot be found
Boa tarde.
Estou com um problema.
Quando deixo o samba.conf original os servicos samba e winbind iniciam normalmente. Porem se eu substiuir o samba.conf original pelo do post, o serviço do winbind nao inicia.
Na tela de log é da o serguinte erro:
Sep 22 14:40:59 proxy winbindd[2472]: [2014/09/22 14:40:59.275030, 0] winbindd/winbindd_cache.c:3147(initialize_winbindd_cache)
Sep 22 14:40:59 proxy winbindd[2472]: initialize_winbindd_cache: clearing cache and re-creating with version number 2
Sep 22 14:40:59 proxy winbindd[2472]: [2014/09/22 14:40:59.307018, 0] winbindd/winbindd_util.c:635(init_domain_list)
Sep 22 14:40:59 proxy winbindd[2472]: Could not fetch our SID – did we join?
Sep 22 14:40:59 proxy winbindd[2472]: [2014/09/22 14:40:59.307102, 0] winbindd/winbindd.c:1106(winbindd_register_handlers)
Sep 22 14:40:59 proxy winbindd[2472]: unable to initialize domain list
Poderia me ajudar?
Salve. Segui o tutorial do vídeo, com a diferença de ter compilado meu squid e não instalado igual ao vídeo. Tudo funciona perfeitamente até chegar na parte da acl externa, pois verificando aqui não foi criado o arquivo wbinfo_group.pl
Alguém pode me ajudar? Abs
Olá amigos!
Por favor, será que poderiam me informar como devo proceder para liberar no Squid autenticado, a instalação e atualização do Java, flash player e Google Chrome?
Está ocorrendo erro quando tento realizar estes processos.
Segue o erro abaixo que aparece no access.log:
1418147033.123 0 XXX.XXX.XX.XXX NONE/400 4020 NONE error:invalid-request – HIER_NONE/- text/html [] [HTTP/1.1 400 Bad Request\r\nServer: squid/3.3.13\r\nMime-Version: 1.0\r\nDate: Tue, 09 Dec 2014 17:43:53 GMT\r\nContent-Type: text/html\r\nContent-Length: 3763\r\nX-Squid-Error: ERR_INVALID_REQ 0\r\n\r]
Já até liberei completamente meu IPFW achando que poderia ser ele e mesmo assim não deu certo.
Meu S.O. é FreeBSD 10.1-RELEASE
Utilizo no squid.conf as opções de “negotiate_kerberos_auth” para autenticação do AD e “ext_ldap_group_acl” para pegar os grupos no AD.
Sr(a)s.
Olá!
Consegui resolver meu problema de duas formas:
1º) Logicamente os aplicativos Java, Flash e Google Chrome podem ser instalados pela versão offline;
2º) Como em minha rede todos os usuários são “Usuários Comuns” ou seja sem permissão de administrador, se entramos no Internet Explorer como usuário “administrador” as instalações ocorrem sem problema;
Obs.: É alguma coisa do IE com o proxy Squid que não descobri como liberar ainda. Com o Chrome já instalado e sem ser ADM, funciona tranquilamente.
Espero ter ajudado.
Um abraço.
Bom dia Mauro, primeiramente parabéns pelo excelente tutorial.
Gostaria tirar uma dúvida: Quando navego com um PC que esta fora do domínio ele pede usuários e senha, gostaria de ver se tem como agregar a autenticação via arquivo do linux (como é feito quando não tem integração com o AD), pois recebemos vários visitantes aqui na empresa e não gostaria de cadastrar usuários no AD para estas pessoas, apenas no Squid.
Desde já agradeço.
Consegui fazer funcionar com o tutorial, Porem se eu tirar um usuário do grupo acesso básico e colocar no grupo acesso total, o squid nao ve essa atualização. ja reiniciei o squid, samba e winbind,
O que devo fazer?
estou com essa duvida também..
eu estou com o problema se o usuario nao esta em nenhum grupo da internet ele pega o acesso do grupo basico e o correto seria ele nao nevegar dar erro de acesso alguem saberia como resolver? fiz tudo como esta no videopost.
Ola,
Parabéns pelo vídeo aula, esta sendo um otimo aprendizado!
Qual são as configurações completa de rede: IP, GW e DNS que você utilizou no win2008, win7 e Debian? Eu coloquei no gw do cliente o ip do firewall e o dns o ip do win2008. Essa seria a configuração correta?
Obrigado
Boa tarde.
Vídeo aula muito bacana, implantei vários Squid’s autenticado com AD e da certinho.
Estou tendo um problema com um que estou implantando.
Consegui incluir o Linux Ubuntu no domínio. O mesmo está bloqueando todas as paginas, como se não buscasse no AD, além disso os comando wbinfo -u e wbinfo -g demoram para responder e listar os grupos e usuários. Os comando wbinfo -p e wbinfo -t respondem rapidamente.
Desabilitei o IPV6 neste,pois não estava encontrando paginas,agora esta bloqueando todas.
Verifiquei todas as configurações, dos que ja implantei com este. Estão perfeita iguais, DNS, WinBind, Samba, KRB5 enfim, tudo.A unica diferença clara que vejo é que o Windows 2008 não é R2, isso impacta em algo ou não tem nada a Ver?
Grato,
Parabéns pelo post!
Na minha opinião o guia definitivo para se ter o squid autenticando no AD!
Quem não conseguir botar o squid para funcionar desse jeito, é só assistir o vídeo de novo! hehehe
Muito bom esse post, tenho só uma duvida no SARG para exibir o relatório de acesso, neste formato estou vendo que o usuário não precisa se autenticar. Quando emitir um relatório ele vai exibir o nome do usuário? ou é necessário algum ajuste?
Boa noite, Bom Vídeo
Pode me ajudar nisso.
quanto faço teste com o echo, dá esse erro: -bash: /usr/lib/squid3/wbinfo_group.pl: No such file or directory
Ou seja verifiquei no /usr/lib/squid3/ e não existe o arqui com o nome wbinfo_group.pl o que ta faltando .?
o arquivo existe mas é com nome diferente
caso vc esteja usando debian 8
procure /usr/lib/squid3/ext_wbinfo_group_acl
Verdade, conseguir achar esse arquivo e alterei no squid, mas porem sempre só fica pedindo a senha no navegador e não consigo navegar.
Sim, cheguei a mudar o arquivo.. mas meu navegador está pedindo autenticação pra todos. Não estou conseguindo navegar. O que pode estar errado ?
pode ser as configurações de acls no squid.
tou fazendo um teste com essa acls que tem ai no vídeo, agora o meu windows server é 2012 não sei se tem alguma inconcebibilidade.
Bom dia. Segui os passos, consigo recuperar todas informações de usuários/grupos com o wbinfo -u -g -t, mais não está autenticando no browser. Solicito ajuda por favor. Obrigado.
não sei se vai ser de muita ajuda mas…
reveja as configurações do squid, se esta configurado corretamente
e se o cliente esta usando configuração de proxy nos navegardes
Boa noite,
Estou com um problema no squid3, o quando tento logar no site do hotmail, eu não consigo autenticar, fala que o meu usuario e senha estão errado, mas quando eu tiro o proxy e abro o site do hotmail funciona normal, alguém pode me ajudar. Uma dica ai sobre configurar o proxy via GPO, tem uma opção no registro do windows que ja joga para qualquer versao do IE a configuração do proxy.
Boa Tarde Marcelo.
Estou usando debian 8, mudei para o arquivo correto. mais o usuário não autentica de jeito nenhum, so fica pedindo login.
é como se o squid não conseguisse verificar o usuário no ad.
Mais via wbinfo, listo os grupos e usuários perfeitos… servidor no dominio, com winbind e kbd configurado perfeito.
HELP….
eu fiz essas configurações no debian 6 e alguns arquivos muda, na versão 8
mas antes de testar com navegador no cliente
vc poder usar um arquivo que verifica se o usuário pertence ao grupo de acesso.
no vídeo a partir dos 20 minutos ele já mostra testando essa funcionalidade.
e da forma que esta feita ele não exibe janela de autenticação
reconhece o acesso do usuário no ad, caso a maquina esteja no domínio…
Bom dia, e no Debian 8, que vem como padrão o samba4, não necessidade de fazer essa mesma conf do smb.conf, né? Como posso fazer?
vi que varias pessoas estavam com o mesmo problema meu, a pergunta é alguem descobriu o motivo de estar aparecendo o pop-up de autenticacao????. ja refiz o firewall 3x e as 3 vezes a mesma coisa a configuracao ta ok, ele pega o ticket tudo certinho. só que dentro do navegador aparece o pop-up.
Boa tarde,
Seria possível inserir no access.log do squid, além do user autenticado no AD, o grupo a que o usuário pertence?
boa noite,
Realizei toda configuração no debian 8 e na hora de acessar algum site pede autenticação, sendo que consigo enxergar os usuários e grupos do ad. Alguém já passou por isso ?
Wendell efectivamente a mi tambien me esta sucediendo lo mismo creo que a muchos incluso es una lastima que existan estos problemas de validar usuarios con squid 3 y samba 4 hay muy poca información sobre esto si alguien pudiera ayudar para que asi no muera el proyecto samba4 si dudas a pasado este problema por alto los desarrolladores creo que microsoft le paso gato por liebre y no se enteran aún….
me ajudem por favor …
-bash: /usr/lib/squid3/wbinfo_grupo.pl: Arquivo ou diretório não encontrado
O que acontece com o grupo que tem espaço por exemplo “gestão de servers”