CAMPUS TUCURU
GRADUAO EM TECNOLOGIA EM REDES DE COMPUTADORES
SQUID
TUCURU
PAR
SQUID
1. Definio
O Squid um servidor proxy utilizado para gerenciar o acesso a internet (rede externa), pois
ele implementa um controle sobre o contedo que deve ou no ser acessado pelas mquinas clientes
gerenciadas por este servidor.
Controle de acessos;
Cache de acessos;
Logs de acessos.
O Squid trabalha com ACLs (Listas de Controle de Acesso) e atravs dessas listas de
controle ele se torna uma poderosa ferramenta na administrao de trfego de contedo entre a rede
interna e a externa. So atravs dessas listas que conseguimos criar e definir o controle de acesso a
internet de forma simples e flexvel.
Exemplo de ACL
SARG (Squid Analysis Report Generator) uma ferramenta que permite analisar o histrico
de acesso web de usurios atravs da anlise do arquivo de log "access.log" do proxy Squid.
Com esta ferramenta possvel dizer quais os sites que foram acessados, em que horas,
quantos bytes foram baixados, quantas conexes foram feitas, relatrios de sites mais acessados,
usurios que mais acessam, relatrio de sites negados, falha de autenticao, entre outros.
Exemplo de um Relatrio de dias:
O proxy transparente uma soluo que utiliza uma combinao de regras de firewall e de
proxy para resolver problemas relacionados a segurana e a configurao dos navegadores dos
usurios.
importante entender que o trafego web da rede utiliza por padro a porta 80 TCP, e para
que possa ser utilizado o servio de proxy necessrio que este trafego seja direcionado para porta
3128 TCP. Isso pode ser feito de forma manual indicando os dados do servidor proxy nas
configuraes do navegador como mostra a figura abaixo.
O que resulta em dois problemas, o primeiro que configurando de forma manual deixa
possvel remover as configuraes e passar a navegar normalmente, burlando as restries de acesso
e todas as demais regras gerenciadas pelo proxy. O segundo problema precisar ir de mquina em
mquina para configurar as preferncias de servidor proxy no navegador, imagine essa tarefa em
uma rede com mais de duzentos computadores, o que demandaria muito tempo e mo de obra.
Como vantagens do proxy transparente, podemos citar:
Ocultar a utilizao do proxy aos usurios que acessam internet;
Forar os usurios a utilizarem o proxy, mesmo que eles no queiram;
Implementar a poltica real de acesso a sites proibidos, evitando os usurios mais "espertos"
de desabilitar a utilizao do proxy na navegao.
Com o proxy transparente todas as requisies feitas porta 80 so automaticamente
redirecionadas para a porta do Squid e assim fica virtualmente impossvel no passar por ele e suas
regras de ACLs.
Linha de IPTABLES para que possamos redirecionar o trfego da porta 80 para a porta do
SQUID: iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port
3128.
#touch /etc/squid3/bloqueados
#touch /etc/squid3/liberados
c) Agora devemos editar os arquivos que criamos na etapa anterior, digitando os comandos
abaixo.
visible_hostname ServFw
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
#Rede local
acl redelocal src 192.168.254.0/28
#Portas de funcionamento
acl manager proto cache_object
acl SSL_ports port 443 563
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443 563
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
#Regras de acesso
http_access allow redelocal liberados
http_access deny redelocal bloqueio !almoco
http_access deny redelocal bloqueio !depoisdas18
http_access deny redelocal bloqueio !antesdas8
f) Para ativar o proxy transparente, que trata os protocolos UDP e TCP, e movendo o trfego
das portas 80 para porta 3128, adicione a linha abaixo no script de firewall
/etc/init.d/firewall.sh
Obs: O mesmo vai ocorrer para qualquer site que contenha a string globo, como por exemplo
a url www.globoesporte.com.
# /etc/init.d/squid3 stop
b) Renomeie o diretrio do Squid (aqui est o segredo, se voc apagar esse diretrio e depois
recriar, ele vai demorar a apagar e sua internet vai ficar mais tempo sem funcionar):
# mv /var/spool/squid3 /var/spool/squid.del
# mkdir /var/spool/squid3
# squid3 -z
f) Inicie o servidor do Squid (nesse passo, a sua internet j volta a funcionar):
# /etc/init.d/squid3 start
g) Com a internet j funcionando, apague o diretrio de cache antigo, sem impactos para os
usurios:
# rm -rf /var/spool/squid.del