Click here to load reader
Upload
marceloploteghercampinhos
View
612
Download
1
Embed Size (px)
Citation preview
TUTORIAL DE SQUIDVersão 1
Autora: Juliana Cristina dos SantosEmail: [email protected]
1. SERVIDOR PROXY
Serviço proxy é um representante do cliente web, que busca na Internet o conteúdo requisitado por este. Desse modo, o serviço proxy se situa como um intermediário entre o cliente web [navegador] e o serviço web na internet.
Por exemplo, quando determinado cliente solicita alguma página em http://www.es.senai.br, o serviço proxy busca essa página na Internet e a entrega ao cliente, atendendo à solicitação.
Um serviço proxy normalmente é usado com as seguintes funções:
Cache: uma vez atendida à solicitação de determinado cliente, o arquivo que foi buscado na Internet é guardado no cache, então quando o próximo cliente solicitar esse mesmo conteúdo o servidor proxy não precisará buscar na internet de novo, pois já tem no cache. Isso agiliza o acesso à internet e economiza banda de dados [link] de acesso à internet;
Regras de filtragem: como o proxy centraliza as atividades de acesso à internet, basta aplicar filtros de acesso a conteúdo no serviço proxy que irá afetar a todos os clientes web.
2. PROXY SQUID
Squid é um serviço proxy e daemon cache web. É usado principalmente no acesso HTTP, HTTPS e FTP.
O proxy Squid é popular devido a sua performance, economia e recursos avançados.
3. TOPOLOGIA DE REDE
A partir da topologia utilizada no exercício anterior, sobre iptables, criaremos a seguinte topologia de rede:
Página 1 de 6
Segue na tabela abaixo os sistemas operacionais, e os serviços que serão configurados nas máquinas virtuais:HOSTNAME SISTEMA OPERACIONAL SERVIÇOS
FW-1 Linux Firewall (iptables) e proxy (Squid)
FW-2 Linux Firewall (iptables) e proxy (Squid)
VM1-1 Linux
VM2-1 Linux
VM2-2 Windows XP
OBS: Os IPs, roteamento, e regras do firewall permanecerão os mesmos do exercício anterior, salvo se for requisitado alguma alteração.
4. POLÍTICA DO PROXY
Cada rede terá as seguintes políticas de acesso:
Rede 172.16.1.0/24
Bloqueia sites como orkut.com, facebook.com, twitter.com, entre outros.
Libera alguns sites como facebook.com, entre outros, na hora do almoço.
Bloqueia acesso do que não for da rede local (172.16.1.0/24).
Libera acesso a todos os sites.
Rede 172.16.2.0/24
Libera acesso a certos sites (google.com, abril.com, gazetaonline.com.br).
Libera acesso a certos sites (orkut.com, twitter.com) no horário diferente do horário de trabalho.
Bloqueia tudo.
5. INSTALAÇÃO DO PROXY SQUID
Para descobrir se o serviço Squid está instalado, procurar pelo seu script de inicialização em /etc/init.d:
# ls /etc/init.d/ | grep squid
Se não houver saída no comando acima é indicativo de que o serviço Squid não está instalado. Nesse caso, instalar com o comando apt-get:
# aptget install squid3 squid3common
Após instalado, verificar se existem os seguintes arquivos:
Página 2 de 6
# file /etc/init.d/squid3
/etc/init.d/squid3: POSIX shell script text executable
# file /usr/sbin/squid3
/usr/sbin/squid3: ELF 64bit LSB executable, x8664, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
# file /etc/squid3/
/etc/squid3/: directory
Onde:
/etc/init.d/squid é o script de inicialização do serviço squid;
/usr/sbin/squid é o executável que dará origem ao processo daemon;
/etc/squid é o diretório de configuração do serviço squid.
6. CONFIGURAÇÃO DO SERVIÇO
Os procedimentos descritos nesta seção devem ser executados no FW-1.
Inicialmente, olhar as configurações de instalação do serviço. Para isso, entrar no diretório /etc/squid:# cd /etc/squid3/# lserrorpage.css msntauth.conf squid.conf
O arquivo de configuração do serviço é "squid.conf".# more squid.conf
Porém, esse arquivo tem quase 5.000 linhas, então procurar alguma coisa olhando linha a linha não é boa ideia. E dessas quase 5000 linhas, a maior parte são comentários ou linha em
branco. Desse modo, visualizar o conteúdo do arquivo sem linhas de comentário e sem linhas em
branco ajuda muito, e isso é obtido com o comando abaixo:
# grep v "^#" squid.conf | grep v "^$" | more
Antes de fazer qualquer alteração no arquivo é recomendável fazer o backup deste, caso seja necessário voltar a configuração inicial:# cp squid.conf squid.conf.BKP
Configure as seguintes linhas no arquivo de configuração:visible_hostname FW1Proxy# Nome que é visível nas páginas de erro
http_port 3128 transparent# Porta de escuta do Squid
#
Página 3 de 6
#CONFIGURAÇÃO DO CACHE
maximum_object_size 20 MB# Tamanho máximo do objeto em cache
minimum_object_size 0 KB# Tamanho mínimo do objeto em cache
cache_swap_low 90# Os objetos mais antigos até a capacidade máxima ficar em 90%
cache_swap_high 95# Quando o cache em disco atingir 95% de sua capacidade máxima, o Squid automaticamente irá apagar arquivos
cache_dir ufs /var/spool/squid3 100 16 256# Diretório onde está armazenado o cache de disco, tamanho do cache em MB, quantidade de diretório e subdiretórios
## ACLS E POLÍTICASacl SSL_ports port 443acl Safe_ports port 80 # httpacl Safe_ports port 21 # ftpacl Safe_ports port 443 # httpsacl Safe_ports port 70 # gopheracl Safe_ports port 210 # waisacl Safe_ports port 102565535 # unregistered portsacl Safe_ports port 280 # httpmgmtacl Safe_ports port 488 # gsshttpacl Safe_ports port 591 # filemakeracl Safe_ports port 777 # multiling http
acl redeLocal src 172.16.1.0/24acl ipsBloqueados src 172.16.1.10acl sitesBloqueados url_regex i "/etc/squid3/etc/bloqueados.txt"acl sitesLiberadosAlmoco url_regex i "/etc/squid3/etc/liberadosNoAlmoco.txt"acl almoco time MTWHF 20:2020:30
http_access deny !Safe_portshttp_access deny ipsBloqueadoshttp_access deny !redeLocalhttp_access allow almoco sitesLiberadosAlmocohttp_access deny sitesBloqueados
http_access allow all
## OUTRAS CONFIGURAÇÕEShierarchy_stoplist cgibin ?coredump_dir /var/spool/squid3refresh_pattern ^ftp: 1440 20% 10080refresh_pattern ^gopher: 1440 0% 1440refresh_pattern i (/cgibin/|\?) 0 0% 0refresh_pattern . 0 20% 4320
Onde:Sigla Dia
S Domingo
M segunda−feira
T terça−feira
W quarta−feira
H quinta−feira
F sexta−feira
A sábado
Página 4 de 6
No arquivo /etc/squid3/etc/bloqueados.txt digite:orkut.comtwitter.comfacebook.comcapricho.abril.com.br
No arquivo /etc/squid3/etc/liberadosNoAlmoco.txt digite:orkut.comfacebook.comtwitter.com
No script do firewall, que já existe em /etc/init.d/firewall.sh, adicione a seguinte linha:iptables t nat A PREROUTING i eth1 p tcp –dport 80 –j REDIRECT –toport 3128
Onde:
eth1, é a interface que liga o firewall FW-1 a rede interna.
7. SARG
Instale o sarg com o seguinte comando:# aptget install sarg apache2
No arquivo /etc/sarg/sarg.conf altere as linhas abaixo para os valores:language Portugueseaccess_log /var/log/squid3/access.logoutput_dir /var/www/html/squidreports
Execute o sarg com o comando:# sarg
Na máquina real acesse:
http://IP_EXTERNO_DO_FW1/html/squid-reports/
Onde:
IP_EXTERNO_DO_FW1, deve ser substitúido pelo IP externo (obtido via DHCP) do FW1.
Para automatizar a geração de relatórios do sarg, edite o arquivo /etc/crontab0 */4 * * * root sarg
Onde:
0 – este agendamento será executado quando os minutos forem “0”.
*/4 – este agendamento será executado a cada 4 horas.
root - Este agendamento será executado pelo usuário root.
Página 5 de 6
sarg – Este agendamento executará o comando “sarg”.
Página 6 de 6