Neste artigo vamos mostrar como preparar um servidor proxy (Squid) para fazer autenticação para acesso à internet usando SMB e mostrar também como fazer o controle de acesso (ACLs) utilizando estes usuários autenticados.
As linhas que executam a autenticação e fazem o servidor proxy
autenticar utilizando um programa externo estão descritas abaixo,
o restante do arquivo de configuração do Squid pode ser
alterado conforme a sua necessidade, se você é iniciante
aconselhamos a ler os artigos de configuração do Squid aqui do
site:
É necessário, antes de configurar o Squid, ter certeza que a
autenticação esteja funcionando perfeitamente. Será necessário para
esta solução que o servidor Linux com proxy esteja com o pacote
samba-client instalado, pois o mesmo se utilizará das
bibliotecas deste pacote para fazer a autenticação no servidor Samba
ou Windows NT.
O nome do pacote na distribuição RedHat é samba-client e pode
ser encontrado no CD de instalação do Linux. Instale-o usando o
utilitário RPM.
DOMÍNIO - é o servidor de domínio para autenticação;
IP-DO-SERVIDOR - é o numero IP do servidor de domínio
que mantém as contas de usuário.
A opção "-d" vai fazer um debug da conexão e mostrar os
resultados na tela. Ao digitar o comando e dar "ENTER", o mesmo
aguarda a digitação do usuário e senha na mesma linha, exemplo:
# /usr/lib/squid/smb-auth -W EXEMPLO -U 10.62.1.1 -d --> ENTER usuário "senha" --> ENTER
Domain name: EXEMPLO
Pass-through authentication: no
Query address options:
Domain controller IP address: 10.62.1.1
Domain controller NETBIOS name: SERVER
Contents of //SERVER/NETLOGON/proxyauth: allow
OK
Se o resultado for OK, então o seu servidor Linux proxy já pode
fazer a autenticação no servidor Samba ou Windows NT.
Usando a autenticação no SQUID 2.4 ou anterior
OBS: Este recurso só esta disponível a partir da versão 2.0 do
Squid.
A linha de autenticação no Squid 2.4 é a seguinte:
[1] Comentário enviado por fabio em 12/12/2003 - 00:31h
Muito bom seu artigo Estival! Agora me tire uma dúvida, a autenticação do proxy num servidor Windows necessariamente precisa ser num NT ou pode ser realizada através de um Win2k também?
[2] Comentário enviado por thiagosc em 12/12/2003 - 09:36h
Muito bom este artigo consegui configurar o squid pelo kurumin, está funcionando legal, vou testar agora em conectiva, uma observação neste artigo a poorta padrão do squid não é a 3180? uma abraço
[3] Comentário enviado por gustavo_marcon em 15/12/2003 - 11:26h
Cara, muito bom este artigo mas ao invéz de usar o samba eu gostaria que meu servidor fosse pppoe... Como eu faria p/ que os usuários fizessem uma autenticação pppoe no servidor linux e o squid comanda-se as regras de ACL corretamente???
[4] Comentário enviado por gustavo_marcon em 17/12/2003 - 17:21h
Pessoal configurei o squid p/ funcionar c/ autenticação ncsa_auth. Fiz tudo como manda o tutorial da conectiva... A autenticação funciona perfeitamente em 2 micros da rede mas no terceiro micro ele só volta a pedir senha novamente se for feito logoff.. deveria pedir cada vez que abrir o browser, como acontece nos outros micros. Alguem sabe como configurar um timeout pro squid?
[5] Comentário enviado por cbgrando em 13/01/2004 - 16:37h
Distro: Red Hat 9
Samba: 3.0
Estou tendo o seguinte problema,
Quando coloco "/usr/local/bin/smb_auth -W MEUDOMINIO -U xxx.xxx.xxx.xxx -d" e entro com user e senha da "ERR". O usuario tem permissão para leitura da pasta e dos arquivos da netlogon. Mas mesmo assim dá erro. Tem como depurar melhor o erro´. Só o "-d" nao adianta... nao consigo nada substancial pra depurar.
Obrigado.
[6] Comentário enviado por fabio em 14/01/2004 - 18:44h
Estival mandou para mim ao invés de para cá, lá vai:
---
vc instalou o smb-client, o mesmo é necessário na maquina.
outra coisa vc tem que usar o smb_auth que vem no SQUID
"/usr/lib/squid/smb_auth"
[7] Comentário enviado por altairneto em 20/02/2004 - 14:20h
Excelente matéria, o squid é muito bom, mas eu tenho problemas com usuários "expertos" que simplesmete desabilitam a opção do proxy nas propriedades do Internet Explorer, fazendo assim que não se autentiquem no squid e com isso acessando as páginas livremente, sem passar pela política adotada no Squid. Pergunta: tem alguma maneira de bloquear isso? tipo restrigindo o acesso a essas configurações? sei que no Win2K é possível, mas nas estações 98 não achei nada....se alguém tiver uma solução me mande um e-mail: neto@benarros.com.br Abraços a todos
[8] Comentário enviado por string em 06/03/2004 - 15:09h
Caro altair, vai ai uma solucao pros espertinhos do win98, insira no logon.bat dos usuarios o seguinte:
regedit /s \\servidor\netlogon\protege.reg
no qual vai ter no arquivo protege.reg o seguinte.
REGEDIT4
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
"Proxy"=dword:00000001
Este desabilitara a opcao de mexer na configuracao do proxy no propriedades do IE.
[10] Comentário enviado por ofmaciel em 17/05/2004 - 15:00h
Excelentes artigos. Gostaria de uma dica: se é possível, como fazer com que somente alguns usuários( ou alguns IPS, ou alguns endereços MAC) sejam obrigados à autenticação para acesso à internet, via squid, enquanto todos os demais sejam livres ( sem logon).
[11] Comentário enviado por gamaj em 30/05/2004 - 13:33h
Pessoal,
Também estou com o memso problema do amigo cbgrando.
Também optei pela autenticação via Samba, no Servido tenho Inatalado o pacote do Samba 3.0.2 do Slack 9.1 será que neste pacote já não esta incluso o samba-client.
quando tento o comando
#/usr/lib/squid/smb-auth -W LINUX -U 192.168.0.1 -d
valdir Tempra22
Domain name: LINUX
Pass-through authentication: no
Query address options: -U 192.168.0.1 -R
/usr/local/smb_auth-0.05//smb_auth.sh: line 1: /etc/samba/bin/nmblookup: No such file or directory
Domain controller IP address:
ERR
[13] Comentário enviado por alehm em 30/09/2004 - 10:36h
Ola Pessoal,
meu nome eh Alexandre havia configurado meu squid + smb_auth em um slackware e estava funcionando na boa, mas depois que fiz um upgrade de pacotes, parou de funcionar, qdo faco:
# /usr/lib/squid/smb-auth -W EXEMPLO -U 10.62.1.1 -d --> ENTER
usuário "senha" --> ENTER
fica parado e nao da nenhuma informacao.
alguem poderia me dar uma dica do que pode estar acontecendo?
[14] Comentário enviado por alehm em 30/09/2004 - 10:37h
Ola Pessoal,
meu nome eh Alexandre havia configurado meu squid + smb_auth em um slackware e estava funcionando na boa, mas depois que fiz um upgrade de pacotes, parou de funcionar, qdo faco:
# /usr/lib/squid/smb-auth -W EXEMPLO -U 10.62.1.1 -d --> ENTER
usuário "senha" --> ENTER
fica parado e nao dah nenhuma mensagem.
alguem poderia me dar uma dica do que pode estar acontecendo?
[16] Comentário enviado por mazzaropi em 19/05/2005 - 10:15h
Funcionou na Slackware, mas tenho uma dúvida. Seria possível eu liberar apenas alguns sites para determinado usuário ou grupo de usuário, proibindo-o de ver o resto?
Obrigado.
[19] Comentário enviado por obochecha em 04/01/2006 - 11:07h
Tava tão bom, tudo dando certo, o dominio ta dando como ok sem erros nenhum usando o smb_auth, sendo que quando vou autenticar
ele nao aceita
fica na mesma tela de ligoin.
e depois de umas 5 tentativas da como acesso negado
o usuario ta cadastrado e a senha esta correta.
pq isso tá acontecendo?
[22] Comentário enviado por amendes em 21/03/2006 - 16:41h
Olá pessoal,
Fiz todas as configurações, conforme indicado, criei o arquivo proxyauth, dei permissão, via linha de comando funciona normalmente, mas quando faço via Internet Explorer ele não autentica, a tela de usuário e senha sempre volta.
[24] Comentário enviado por amendes em 29/03/2006 - 08:11h
Pessoal, percebi problemas na distribuição do Fedora 3, ela não identifica a opção ident quando é criada uma ACL e também o smb_auth não funciona.
Ao instalar o RedHat 9 e baixar o smb_auth da internet funcionou normalmente.
[25] Comentário enviado por jssandim em 13/09/2006 - 17:30h
Pessoal,
Estou com um problema no meu smb_auth. Ele funcina ok, faço o teste de autenticação de usuario (smb_auth -W LAB.FUMEC.BR) dá ok. Mas quando usuario loga no Domain controler (Samba) e depois vai colocar sua senha no Internet explorer para autenticar no squid, não é aceito. Ai se o usuario logar primeiro no ie sem passar pela autenticação dominio samba, funciona. Outras duas observações:
-O usuário logado no dominio primeiro, ele é removido e adcionado novamente(userdel fulano ,useradd fulano), funciona a autenticação no internet explorer com usuario ainda logado no dominio.
-O usuario que é administrador loga no dominio e depois no ie e não acontece o erro.
Aguardo uma resposta.
Obrigado.
[30] Comentário enviado por super7 em 14/05/2007 - 20:44h
Ola Pessoal, por favor me SOCORRAM!! Estou com o debian etch, o problema é q ja fiz de tudo. A maquina Squid ja esta incluida no Dominio Linux, o arquivo proxyauth ja esta com as permissoes 755, o compartilhamento "netlogon" esta funcionando certinho, testei manualmente pelo smbclient e funcionou, mas qdo rodo o /usr/lib/squid/smb_auth -W DOMINIO -U IP-DOSERVER -d só aparece a mensagem ERR nada mais. Acho q é algum problema no smb_auth.sh, q tb ja mexi em tudo , e nem sei mais aonde mexer. Por favor me ajudem, deve ser algum caminho q mudou no etch. Um abraço e desde ja muito obrigado e parabens por esse Artigo Estival.
[31] Comentário enviado por angkor em 13/06/2007 - 14:22h
Ola pessoal, estou com alguns problemas obviamente por não ter o samba (ou algum módulo) instalado. A pergunta é:
O que é que tenho que instalar no meu proxy para esse esquema de altenticação funcionar?
Se for o samba, qual a opção devo habilitar?
[32] Comentário enviado por Estival em 21/06/2007 - 09:10h
Ola Angkor, vc precisa do samba-client para que funcione, use o debug para verificar se tem conexão:
/usr/lib/squid/smb_auth -W DOMINIO -U IP-DOSERVER -d
[33] Comentário enviado por celsomagela12 em 30/06/2007 - 11:44h
Olá gente!
sou novato por aqui e preciso de ajuda:
resolvi trocar o servidor de internet, instalei o CentOS.
o IP do servidor de internet é 192.168.0.66
o IP do servidor samba é 192.168.0.67
Minha máquina 66 conecta na internet Ok, mas não consigo rodar a autenticação no samba.
mudei recentemente o IP do Servidor Samba de 118 para 67, quando eu testo a autenticação, fica assim:
root@CentOs:# /usr/local/bin/smb_auth -W DOMINIO -U 192.168.0.67 -d
usuario senha
Domain name: DOMINIO
Pass-through authentication: no
Query address options: -U 192.168.0.68 -R
Domain controller IP address: 192.168.0.118 (aqui aparece errado)
Domain controller NETBIOS name: SERVER
Contents of //SERVER/NETLOGON/proxyauth:
ERR
preciso alterar o IP no "Domain controller IP address:" e não sei onde.
o arquivo proxyauth está no diretrório /home/netlogon do samba
[34] Comentário enviado por phmonteiro_df em 08/08/2007 - 12:49h
Estival...todas as opções dão certo...o squid starta ok...a autenticação no diretório samba...mas na hora de abrir o I E ele não pede senha....o que pode ser ?
[36] Comentário enviado por adalmar em 05/10/2007 - 12:50h
Eu vi seu artigo mais não tenho servidor de autenticação, eu uso o linux red hat 9, essa regra:
auth_param basic program /usr/bin/ncsa_auth /etc/squid/squid_passwd
acl password proxy_auth REQUIRED
http_access allow password
depois executei #htpasswd -c /etc/squid/squid_passwd adalmar
criei a senha e tudo
quando vou acessar a internet abre a tela de autenticação mais não reconhece o usuário, existe algun procedimento errado?
[38] Comentário enviado por tiagomello em 29/11/2007 - 14:18h
o amigo ali em cima reclamou sobre usuarios espertos que desabilitam o proxy e passam por fora, acessando tudo que quiser, uma solução foi dada(desabilitar as opções firewall) mas em qualquer canto da internet podemos encontrar dicas de como reverter isso. A dica que eu vou dar é de se bloquear via firewall a porta 80 para saida, e somente sairia via porta 3128 do squid. aih amigo, nao tem jeito, pra burlar isso só com a senha do root do servidor com o squid
[39] Comentário enviado por manguetiz em 11/12/2007 - 11:25h
Gostei do seu artigo, porém, estou com problema... faço o teste por linha de comando para autenticação no AD da minha rede e retorna as informações abaixo:
Domain name: MEU_DOMINIO
Pass-through authentication: no
Query address options: -U XXX.XXX.XXX.XXX -R
Domain controller IP address:
ERR
Já criei o arquivo "proxyauth" dento da pasta NETLOGON no servidor com apenas a linha "allow" (sem as aspas, logico), dei permissão de leitura a principio para todos para poder realizar os testes.
O que pode estar acontecendo ???
Desde já agradeço e aguardo ajuda.