Vamos editar o squid.conf com as seguintes características:
1. Liberar acesso para determinado IP na rede;
2. Liberar acesso para usuários VIPs;
3. Bloquear sites por url;
4. Bloquear palavras;
5. Permitir sites;
6. Memoria e cache em disco; e,
7. Proxy/Squid com Autenticação.
Bom, vamos ao trabalho de ateração do squid.conf, que vem com uma configuracao pré-definida. Eu sugiro apagar tudo e começar a criar suas próprias regras.
Bom, espero que essa configuração ajude a quem precisa.
Lembre de iniciar o squid sempre que fizer qualquer alteração, usando os seguintes comandos
service squid stop
service squid start
service squid reload
#########################################################
Author Thiago Madella
Analista de Sistemas
Fedora Core
#########################################################
# Vamos editar em qual porta sera o proxy da sua rede.
http_port 192.x.x.x:3128 # aqui eu usei essa.
visible_hostname tucundemire
#Agora vamos configurar seu cache.
cache_mem 150 MB
cache_dir ufs /var/spool/squid 1000 24 24
cache_swap_low 90
cache_swap_high 95
maximum_object_size 256 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 0 KB
#Coloquem o endereço de onde ira ficar seus logs. No caso eu usei tres arquivos de logs.
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
# Podemos também marcar o caminho de onde se encontra sua pasta
# com as páginas de erro e bloqueio em Português.
error_directory /usr/share/squid/errors/Portuguese
# Vamos fazer com que o squid autentique seus usuários para ter acessos.
#Lembre de criar o arquivo com as senhas e usuários.
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 15
#Nessa linha você coloca o que irá aparecer na tela de login dos usuários.
auth_param basic realm !!!Digite usuário e senha para logar!!!
auth_param basic casesensitive off
# Bom vamos configurar as ACL's e HTTP, aqui vou colocar todas as
# regras que nosso proxy irá executar.
#Libera toda rede nessa classe de IP
acl rede_interna src 192.168.0.0/24
# Libera para determinados IPs.
acl ip1 src 192.168.0.201/255.255.255.255
acl ip2 src 192.168.0.205/255.255.255.255
#Libera para usuarios VIPs cadastrados no arquivo de senhas.
acl masters proxy_auth jorge pedro antonio
# Vamos bloquear os sites pelas url - lembre de criar um arquivo.txt
# para colocar os sites que queremos bloquear.
acl sites_bloqueado url_regex -i "/etc/squid/regras/sites_bloqueado.txt"
#Agora bloqueamos as palavras negadas.
acl plv_negada url_regex -i "/etc/squid/regras/plv_negada.txt"
#Criei essa regra para bloquear tb os downloads free e extensões.
acl download url_regex -i .mov .mepg .wav .tar .mp3 .exe .zip .rar
acl usuario proxy_auth REQUIRED
acl all src 0.0.0.0/0.0.0.0
acl CONNECT method CONNECT
#Agora vamos configurar as HTTP, mas lembrem que o
# posicionamento delas interferem diretamente no bom
# funcionamento.
http_access allow localhost # permito o ip1 que tem acesso.
http_access allow lajeadoweb # permito o ip2 que tera acesso livre tb.
http_access allow masters # Aqui estou liberando para os usuarios VIPs.
# Vamos determinar os bloqueios.
http_access deny sites_bloqueado
http_access deny plv_negada
http_access allow rede_interna
# Bloqueia acessos externos
http_access deny all
Comentários
[1] Comentário enviado por vida486 em 27/02/2008 - 13:22h
?comentario=Boa Tarde, amigo eu gostaria muito de montar um projeto usando Squid mas sou um pouco leigo mas gostaria muito de sua ajuda por favor teria como vc me auxiliar neste projeto meu e-mail e heltonmentz@pop.com.br ou sigaebsb@yahoo.com.br ou msn unisys_datamec@hotmail.com deste ja agradeço. Obrigado
[2] Comentário enviado por alexalves100 em 27/02/2008 - 18:22h
bom eu to com um probleminah no squid aqui!
não to conseguindo fazer ele pedir usua´rio e senah eu ja fiz tudo, mas aluma coisa devo ter feito errado! não esat fungando a autenticação!
o resto ta fungando de boa!
da uam luz ai!
alex_alves100@hotmail.com
[3] Comentário enviado por agl77 em 05/03/2008 - 20:49h
Caro Alex, cabei de te adicionar no msn!
bom, nao está pedindo a autenticação?
nos navegadores está setado o uso do proxy e a porta?
pode ser somente isso
[5] Comentário enviado por tobias.paraiso em 07/03/2008 - 23:11h
blz meu vélho ...
estou começando com o linux agora e definitivamente estou viciado
já implantei servidor ftp e dhcp no meu trabalho ...
lá eu utilizo o brazilFW como proxy mais estou querendo mudar
fiz igualzinho a vc ai mas aqui deu erro ...
quando ele vai iniciar o servidor aparece a seguinte mensagem ...
[root@conectiva root]# service squid start
criando diretórios de swap, espere... [ OK ]
Iniciando Squid web proxy/cache (squid): .......... [FALHOU]
Abortando após 10 segundos.
[7] Comentário enviado por tobias.paraiso em 12/03/2008 - 01:08h
já tinha criado sim os arquivos ... inclusive dei uma olhada acora no meu cache.log e tem o seguinte ...
2008/03/07 21:58:34| Starting Squid Cache version 2.5.STABLE5 for i686-pc-linux-gnu...
2008/03/07 21:58:34| Process ID 14339
2008/03/07 21:58:34| With 1024 file descriptors available
2008/03/07 21:58:34| Performing DNS Tests...
2008/03/07 21:58:34| Successful DNS name lookup tests...
2008/03/07 21:58:34| DNS Socket created at 0.0.0.0, port 32770, FD 4
2008/03/07 21:58:34| Adding nameserver 10.1.1.1 from /etc/resolv.conf
2008/03/07 21:58:34| helperOpenServers: Starting 15 'ncsa_auth' processes
2008/03/07 21:58:35| Unlinkd pipe opened on FD 24
2008/03/07 21:58:35| Swap maxSize 1024000 KB, estimated 78769 objects
2008/03/07 21:58:35| Target number of buckets: 3938
2008/03/07 21:58:35| Using 8192 Store buckets
2008/03/07 21:58:35| Max Mem size: 262144 KB
2008/03/07 21:58:35| Max Swap size: 1024000 KB
2008/03/07 21:58:35| /var/spool/squid/02: (2) No such file or directory
FATAL: Failed to verify one of the swap directories, Check cache.log
for details. Run 'squid -z' to create swap directories
if needed, or if running Squid for the first time.
Squid Cache (Version 2.5.STABLE5): Terminated abnormally.
CPU Usage: 0.230 seconds = 0.057 user + 0.173 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
só q tipo antes de pedir o 02 ele já havia pedido o 00 o 01 e eu criei pra ver se era isso ... mas sempre ele pede um amais, quando tento criar os diretórios swap ele aparece o seguinte ...
[root@conectiva root]# squid -z
2008/03/07 21:56:47| Creating Swap Directories
FATAL: Failed to make swap directory /var/spool/squid/00/00: (13) Permission denied
Squid Cache (Version 2.5.STABLE5): Terminated abnormally.
CPU Usage: 0.016 seconds = 0.003 user + 0.013 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 0
como pode dar acesso negado se estou como root ?
não sei oq está acontecendo se alguem puder me ajudar agradeço muito ...
só uma coisinha ... estou utilizando uma máquinha virtual ... mas isso não tem nd haver né ?
[8] Comentário enviado por lucianopqd em 02/04/2008 - 08:38h
Caro Tobias.paraiso, seu erro aí é bem simples, o squid não está subindo por falta de uma pasta, basta fazer os seguintes passos:
mkdir /var/spool/squid
chmod -R 777 /var/spool/squid/
squid -z
pronto, agora é só executar seu service squid start
Abraço e força.
[10] Comentário enviado por Jonas Forte em 14/07/2011 - 17:27h
Caro Amigo Thiago,
Sou um amante do Linux, ainda aprendendo e com um pouco de dúvidas.
Thiago queria por gentileza, umas dicas de como liberar um determinado site para determinado IP, ja tentei configurar ACLS mas não deu certo dava erro. Sempre que alguem pede para liberar por exemplo yahoo.com para ver seus emails, eu tenho que liberar geral no rc.firewall (iptables) mas ele fica com a maquina liberada para tudo igual a da Diretoria. No meu squid tenho os arquivos SitesLiberados.txt e SitesBloqueados.txt. As vezes a pessoa quer abrir um site hotmail para ver somente os emails quando eu coloco no arquivo SitesLiberados ele abre a pagina do Hotmail.com mas não abre a pagina do email. Eu queria liberar o site somente pelo IP, exemplo liberar o site globo.com para o IP 10.10.10.64.
# Nega o acesso de todos por esse proxy
http_access deny all
http_reply_access allow all
# Permite pedidos ICP de todos
icp_access allow all
# Default
# cache_mgr darte-adm@dominio.com.br
# Configuracao para proxy transparente
# ------------------------------------
#httpd_accel_port 80
#httpd_accel_host virtual
#httpd_accel_with_proxy on
#httpd_accel_uses_host_header on