Squid - Configuração básica, funcional e limpa

Este tutorial tem o objetivo de fazer uma configuração simples do Squid, porém funcional, que atende à maioria dos casos.

[ Hits: 174.966 ]

Por: Italo Diego Teotonio em 27/02/2010


Porta e regras ACL



Porta do Squid e nome do servidor.

Crie as seguintes linhas:

http_port 3128
visible_hostname ServLinux

Onde 3128 é a porta padrão do Squid, mas você pode alterá-la se desejar e ServLinux é o nome do meu servidor.

Configurando regras ACL

O Squid lê as regras de cima para baixo, então se quer bloquear algo, primeiro bloqueie o que deseja, depois libere o restante.

As ACLs são criadas no seguinte modelo:

acl nome_da_acl parâmetros

Primeiro, aproveitando o arquivo original do Squid, vamos criar as regras que permitem o acesso apenas a algumas portas específicas e não a qualquer coisa, como no exemplo abaixo.

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 873
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 873 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
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 Safe_ports port 901 # swat
acl Safe_ports port 1025-65535 # portas altas
acl purge method PURGE
acl CONNECT method CONNECT

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

Agora vamos inserir nossas regras de bloqueio e permissão.

Aqui criamos uma regra chamada "sites_proibidos" que bloqueará as palavras ou URLs contidas no arquivo indicado no caminho "/etc/squid/sites_proibidos". Não esqueça de criar este arquivo com as palavras proibidas, uma por linha.

Em seguida, com a instrução deny, proibimos o acesso aos sites listados na regra que criamos na linha cima.

acl sites_proibidos url_regex -i "/etc/squid/sites_proibidos"
http_access deny sites_proibidos

Nesta regra bloqueamos o download de alguns tipos de extensões. Da mesma maneira criamos a regra primeiro e bloqueamos depois.

acl downloads_proibidos url_regex -i \.exe \.torrent \.avi \.mp3
http_access deny downloads_proibidos

A ACL abaixo indica a nossa faixa de rede para que apenas os computadores nessa faixa possam usar o proxy. Substitua os valores de acordo com sua rede.

acl redelocal src 192.168.254.0/24

Proibindo e liberando acessos finais.

Por fim, vamos criar 3 linhas:

http_access allow localhost
http_access allow redelocal horario
http_access deny all

Na primeira linha liberamos o acesso total para o servidor onde está o Squid.

Na segunda linha liberamos o acesso aos computadores da rede local de acordo com o horário determinado na acl horario.

E na terceira linha proibimos o resto, ou seja, proibimos que pessoas fora da nossa rede usem o nosso proxy.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Porta e regras ACL
   3. Exemplo de squid.conf
Outros artigos deste autor

Configuração de interface de rede ethernet e wireless

Leitura recomendada

Squid no FreeBSD

Manual traduzido do Squid - Parte 3

Bloqueando Windows Live Messenger com Squid (Debian ou Ubuntu)

Servidor proxy (Squid)

Squid Plus 2007 para Debian 4

  
Comentários
[1] Comentário enviado por QuestLoder em 01/03/2010 - 13:39h

italodiego12,

Show de bola.... parabéns pelo artigo.

[2] Comentário enviado por grandmaster em 02/03/2010 - 00:09h

Artigo ótimo para o pessoal que está querendo começar a usar o squid.

Já existem outros mais na vivaolinux com mais detalhes.

---
Renato de Castro Henriques
ITILv3 Foundation Certified
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[3] Comentário enviado por guioximitsu em 08/03/2010 - 23:47h

Muito bom artigo, me valeu bastante =)
Obrigado...

[4] Comentário enviado por removido em 27/06/2010 - 03:11h

Como diz o título, simples e funcional.

Parabéns.

[5] Comentário enviado por luiscarlos2310 em 06/10/2010 - 13:45h

Irmão....configurei o squid no windows 2003 e ta rodando. Configurei o squid.conf mas as regras não estão funcionando...Será que vc pode me ajudar?

[6] Comentário enviado por removido em 25/03/2012 - 16:15h

Muito bom. Bem objetivo, exatamente o que procurava!

[7] Comentário enviado por willrodrigues em 09/09/2014 - 23:38h

Pessoal boa noite. Sou novo e gostaria de saber em que estou errando pois o squid não funciona no navegador. Só aparece navegação cancelada. E também não funciona no localhost
Como servidor uso o debian 7 e Windows 8.1 nas estações.
Segue abaixo meu arquivo de configuração, se alguém puder me ajudar ficaria muito feliz.
#PARAMETROS DE AUTENTCAÇÃO
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic credentialsttl 1 hour
auth_param basic realm Para obter um loguin e senha ligue para (12) 97404-5120
auth_param basic casesensitive off

#Porta default do proxy
http_port 3128

#O nome do servidor
visible_hostname proxy.wmti.com.br


#Cache
cache_mem 1024 mb
maximum_object_size_in_memory 64 kb
cache_swap_low 90
cache_swap_high 95
cache_mgr will@wmti.com.br
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
error_directory /usr/share/squid/errors/pt-br
cache_dir ufs /usr/local/squid/var/cache 20000 16 256
cache_access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log
cache_store_log /usr/local/squid/var/logs/store.log
pid_filename /usr/local/squid/var/logs/squid.pid

#Regras de acesso para rede local
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 #http
acl Safe_ports port 21 #ftp
acl Safe_ports port 70 #gopher
acl Safe_ports port 210 #wais
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 Safe_ports port 901 #swat
acl Safe_ports port 443 563 #https e snews
acl Safe_ports port 1025-65535 #portas altas
acl purge method PURGE
acl CONNECT method CONNECT
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

#Bloqueando por dominios e palavras
acl bloqueados url_regex "/etc/squid/bloqueados"
http_access deny bloqueados
acl palavras dstdom_regex "/etc/squid/palavras"
http_access deny palavras
error_directory /usr/share/squid/errors/Portuguese

acl redelocal src 192.168.1.0/24
http_access allow redelocal
http_access allow localhost
acl all src 0.0.0.0/24
http_access deny all.



Esse é meu arquivo pessoal.
Estou a disposição pra ajuda-los se precisar de alguma coisa relacionado a Windows Server... 10 anos de profissão.
Forte abraço a todos.

[8] Comentário enviado por LucasTeixeira em 18/10/2015 - 12:43h


Bom dia parceiro ,

Sou iniciante em linux , então pode ser que tenha feito algo obvio errado hehe , mas colei essas linhas no squid.conf e aqui não funcionou.

O que mais preciso verificar ?

[9] Comentário enviado por lemic em 20/10/2016 - 19:44h

é simplesmente porque não funciona, isso aqui ja fom bom um dia, agora ta cheio de gente postando nada.

[10] Comentário enviado por lemic em 20/10/2016 - 19:46h

squid3 foi uma evolução que lhe traz problemas que antes não existia. saudades do VOL quando tinha moderadores de verdade.


Contribuir com comentário