Nesse tutorial mostrarei como fazer a configuração do Squid com autenticação ncsa_auth (quando você abrir o browser na máquina cliente será pedido para que digite usuário e senha). Tive um certo trabalho para conseguir chegar à essa configuração, mas no final tudo funcionou sem problemas.
Agora vamos à verdadeira chave da coisa, a configuração do squid.conf.
Usarei o mcedit por motivo de gosto mesmo, acho os outros editores muito difíceis de se trabalhar. Um outro editor que gosto é o kate, por ter um modo gráfico e ser legal para se estudar as configurações, pois é de mais fácil indentação.
# mcedit /etc/squid/squid.conf
Minha configuração ficou assim:
http_port 3128
# a porta que o squid usa, 3128 é padrão
visible_hostname proxy # proxy é nome do micro na rede
ftp_user asdf@asdf.com #usuário anônimo para ftp (indiferente)
######### para quem não sabe, cache é o armazenamento das páginas
# CACHE # abertas pelos usuários, afim de acelerar uma nova visita,
######### aumenta consideravelmente a velocidade de navegação
cache_mem 64 MB
# quantidade da cache usada na memória ram,
############## recomendo o uso de 1/4 da memória disponível
############## a não ser, que o micro seja utilizado para outras
############## funções.
#autenticação de usuário
auth_param basic children 15
auth_param basic realm ENTRE COM SEU LOGIN E SENHA, ESTE SERVIÇO É
UM PRIVILÉGIO E NÃO UM DIREITO, PORTANTO USE-O
COM RESPONSABILIDADE
auth_param basic credentialsttl 2 hours
auth_param basic program /usr/bin/ncsa_auth /etc/squid/S_passwd
#abaixo, o diretório onde o cache será armazenado em disco,
#recomendo a utilização deste diretório abaixo que é o padrão
# o número 5000 porque serão disponibilizados 5GB de espaço
# altere conforme as suas possibilidades.
# A acl permitidos são os IPs que não terão sua navegação restrita
acl permitidos src 192.168.0.5
acl localhost src 127.0.0.1/255.255.255.255
# A acl redelocal, são os demais micros, que terão a navegação restrita
# ajuste-a conforme a sua classe, se usa IPs 192, altere para 192.168.0.0/24
# O "/24" significa máscara 255.255.255.0
acl redelocal src 192.168.0.0/24
# Abaixo vem a indicação para o arquivo que conterá as palavras
# que não poderão conter nos sites que os usuários visitar.
# No arquivo exceções, haverá palavras que que anulam a proibição
# com por exemplo sexoesaude.
#AUTENTICAÇÃO
acl password proxy_auth REQUIRED
#acl que controla o acesso por usuários
acl restrito proxy_auth "/etc/squid/restrito"
acl total proxy_auth "/etc/squid/acetotal"
acl proibidos url_regex "/etc/squid/proibidos"
acl excecoes url_regex "/etc/squid/excecoes"
# As ACLs a seguir, bloqueiam downloads pelas extensões dos arquivos.
# você adicionar novas extensões da mesma forma.
acl exe url_regex -i .exe
acl zip url_regex -i .zip
acl rar url_regex -i .rar
acl scr url_regex -i .scr
acl msi url_regex -i .msi
acl wmv url_regex -i .wmv
acl pif url_regex -i .pif
acl avi url_regex -i .avi
#acl para liberar o programa da Caixa
acl Safe_ports port 2631
# O Proxy transparente está comentado pois comigo não funcionou,
#mas se alguém quiser utilizar é só descomentar
#######################
# PROXY TRANSPARENTE ##
#######################
#httpd_accel_host virtual
#httpd_accel_port 80
#httpd_accel_with_proxy on
#httpd_accel_uses_host_header on
OBS: O proxy transparente citado acima não funciona quando se usa autenticação. Existem maneiras de se usar, mas não achei necessário, pois se alguém retirar o proxy do browser não vai conseguir se conectar na internet.
[7] Comentário enviado por mascarijunior em 26/08/2006 - 11:13h
E aiii Cabelo, fiz aqui a config do meu squid.conf de acordo com seu artigo, fiz algumas alterações e complementei com algumas coisas ficou muito bom mesmo hein, falow pessoal
[9] Comentário enviado por NelsonMatrix em 16/09/2006 - 15:19h
Ola cabelo, me de uma ajuda, configurei como vc passou, no inicio até funcionou, mas eu não tinha configurado o compartilhamento de internet, depois configurei o compartilhamento com um nat, agora não consigo iniciar o squid, pode me dar uma mãozinha?
[10] Comentário enviado por _cabelo_ em 19/09/2006 - 15:22h
ai nelson provavelmente vc vai ter q fazer as configs do squid de novo eu tb fiz isso ja e dai eu tive que fazer as configs do squid novamente é sócopiar e colar o conteudo ou se tiver um q vc fez é só dar um "mv seu back-up /etc/squid" ele vai perguntar se deseja sobrescrever e é so sobrescrever e pronto pode iniciar
[11] Comentário enviado por neto80 em 13/10/2006 - 17:32h
Cabelo meu brother ! muito obrigado, seu artigo foi super facil de entender, adorei..
agora to com uns probleminhas aqui
quando eu tento logar algum usuario na tela de autenticação ele nao loga, olhando o log do squid ele ta bloqueando o meu ip... o que podera ser?
te add no msn OK?
[14] Comentário enviado por osvaldojr em 12/12/2006 - 10:41h
Parabéns, meu amigo estou começando agora em Linux e com este tutorial ficou claro e simples, mas tive um problema que ainda não consigo solucionar , todos os usuarios que não estão com acesso total não conseguem navegar ou melhor nem logar, sem acesso ao cache. O que seria isso .. Muito obrigado
[15] Comentário enviado por firedelphi em 10/01/2007 - 17:59h
Parabéns, eu só nao entendi uma coisa
#acl que controla o acesso por usuários
acl restrito proxy_auth "/etc/squid/restrito" (esta aqui esta autenticando o arquivo de palavras nao o usuarios que está no proibido)
acl proibidos url_regex "/etc/squid/proibidos" (esta aqui está bloqueando as urls com usuarios)
[16] Comentário enviado por robson..pba em 20/04/2007 - 16:48h
Cabelo Parabens pelo seu artigo, gostaria de falar que tenho um firewall com squid em dois clientes com base em seu artigo, eles ja estão rodando a uns 3 meses, porém surgim uma alteração ser feita.
Em uma empresa preciso centralizar o acesso de um unico computador com windows 2003 server e com autenticação de usuário, porém o Chefão que é quem esta no 2003 não quer que aparece para ele ter que autenticar e quer que os funcionarios que estiverem conectados na maquina dele via terminal service apareça a opção de autenticação.
Pelo pouco que entendi de squid, acho que isso não pode ser feito nesse caso, pois todas as conexões saem do mesmo ip do terminal service.
E o squid contrala por ip ou por usuário, meu pensamento esta correto?
[17] Comentário enviado por vbiava em 17/05/2007 - 11:23h
E ai blz de artigo..
Mas cara sou novo no ramo do linux e não estou conseguindo altenticar nem uma máquino com proxy..
Por exemplo em meu servidor que é mandriva 2007 está rodando a Net normalmente, agora quando ativo o PROXY vem uma mensagem dizendo que o proxy esta recusando acesso. o que devo fazer....
[19] Comentário enviado por flaviog em 30/04/2013 - 10:21h
Muito bom seu artigo.
Tenho um duvida se vc puder me ajudar.
Atualizei meu squid para a versao 3.2.
Usei o squid.conf que ja tinha da vesao anterior. Na linha que faz referencia a autenticação Teve uma mudança no nome do programa de autenticação.
na versao anterior: auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/usuarios_squid
na nova versao.....: auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/usuarios_ori
Ate ai tudo bem. O que esta pegando e ainda nao consegui econtrar e esta causando o problema é que ele nao loga se a senha ultrapassar 8 catacterer, ou seja, se eu cadastrar um usuario com a senha: 1234567890 nao loga de jeito nenhum. Ja olhei as configurações tanto do squid.conf quanto a configuração do apache tambem. E nao encontrei nada de anormal que esta causando isso. E na versao anterior logava normal.