Script de instalação e configuração SquidFácil -> bloqueie facilmente sites!

Iniciado por rudregues, 01 de Julho de 2012, 15:48

tópico anterior - próximo tópico

rudregues

Essa dica é muito útil para aqueles, que nem eu, que não sacam muito da área de redes/servidores :-)

1º em sua pasta pessoal crie a pasta script install squid e entre nela

2º dentro dela crie um arquivo chamado block.acl e cole o conteúdo abaixo dentro do arquivo:
#Escreva as palavras ou sites que desaja bloquear, um item por linha, sem as "#".
#não esqueça de salvar e fecha o editor Gedit
aaddzz.com
ad.atrativagames.com.br
ad.uol.com.br
adcontroller.unicast.com
adnetwork.com.br
ads.globo.com
ads.hitcents.com
ads.msn.com
ads.protocoloweb.com.br
ads.targetnet.com
ads.uniquemedia.net
ads.uol.com.br
ads.web.aol.com
ads.x10.com
ads1.hpg.com.br
ads2.hpg.com.br
ads3.hpg.com.br
adserver.terra.com.br
adserver.yahoo.com
adsrv.hpg.com.br
banners.hpg.ig.com.br
doubleclick.net
flycast.com
gator.com
global.msads.net
linkexchange.com
optinmail.cc
ads.admonitor.net
ads.adsag.com
ads.amazingmedia.com
ads.antionline.com
ads.as4x.tmcs.net
ads.auctions.yahoo.com
ads.cdnow.com
ads.dealnews.com
ads.gamespy.com
ads.rottentomatoes.com
ads.telegraph.co.uk
ads.web.aol.com
ads.x10.com
ads1.condenet.com
ads1.pamedia.com.au
ads2.condenet.com
ads2.inet1.com
ads3.zdnet.com
adsEnd.js
adserver.gorillanation.com
adserver1.backbeatmedia.com
adsPopup2.js
adsrv.realmedia.co.za
adsrv2.gadsdentimes.com


3º agora crie um arquivo chamado install com, o conteúdo abaixo:
#! /bin/bash
clear

echo "Para usar esse script voce precisa digitar a senha do root:"
sudo echo ""
clear
echo "###################################################"
echo "                Script SquidFacil                  "
echo "###################################################"
sleep 1
echo ""
echo "Escolha o que deseja fazer:"
echo "[1] Instalar o squid"
echo "[2] Bloquear palavras ou sites"
echo "[3] Ativar novas configurações do squid"
echo "[4] Editar o arquivo de configurações do Squid"
echo "[5] Editar as palavras ou sites bloqueados"
echo "[6] Sair"
echo ""
echo "Qual é a sua resposta?"
read resposta
if [ "$resposta" = "1" ]
then

clear
echo "Atualizando os repositos via apt-get update ..."
echo "AGUARDE ..."
sudo apt-get update

echo "Baixando o Squid Proxy cache..."
sleep 3
sudo apt-get install squid -y

clear

echo "Configurando squid ..."
sleep 3

sudo cp /etc/squid3/squid.conf /etc/squid3/squid.conf.copia
sudo cp squid.conf /etc/squid3/
sudo cp nocache.acl /etc/squid3/
sudo cp block.acl /etc/squid3/

clear

echo "Parando serviço Squid..."
sudo service squid3 stop
sleep 10

clear

echo "Iniciando serviço squid..."
sudo service squid3 start
sleep 3

clear

echo
echo "Squid instalado."
sleep 3
clear
echo "Agora configure o Ubuntu para usar o Proxy... *Atenção* O Firefox precisa ser configurado manualmente. "
sleep 6
gnome-network-properties
sudo ./install

elif [ "$resposta" = "2" ]
then
clear
echo "Digite a palavra ou site que deseja negar acesso:"
read block
sudo echo $block >> /etc/squid3/block.acl
sudo squid3 -k reconfigure
echo "Agora teste as configurções pelo seu Navegador de internet."
sleep 4
sudo ./install

elif [ "$resposta" = "3" ]
then
echo "Reconfigurando squid proxy..."
sudo service squid3 start
sleep 3
sudo squid3 -k reconfigure
echo "As novas configurações do Squid já estão ativas."
sleep 3
./install
elif [ "$resposta" = "4" ]
then
gksu gedit /etc/squid3/squid.conf
./install
elif [ "$resposta" = "5" ]
then
sudo gedit /etc/squid3/block.acl
sudo squid3 -k reconfigure
echo "Agora teste as configurções pelo seu Navegador de internet."
sleep 3
./install
fi








4º crie um último arquivo, chamado nocache.acl e com o conteúdo abaixo:
.caixa.gov.br

200.201.174.0/255.255.255.0

200.201.174.0/255.255.255.0

200.201.166.0/255.255.255.0

.gov.br

.cagece.com.br

.bradescouniversitario.com.br

.bradesco.com.br

.bradesconetempresa.com.br

.bradescopessoajuridica.com.br

.bradescopj.com.br

.unibanco.com.br

.bancoreal.com.br

.bancobrasil.com.br

.bb.com.br

.hsbc.com.br

.itau.com.br

.ispshop.com.br

.itau.com.br

happyfarm.mentez.com

orkut.gmodules.com

.santandernet.com.br


5º Com o conteúdo abaixo crie o arquivo squid.conf:

##################################################################
#        SCRIPT GERADO POR FRANK, nivas.frank@gmail.com          #
##################################################################

#porta Squid onde vai trabalhar
http_port 3128

acl no_proxy dstdom_regex -i "/etc/squid3/nocache.acl"
always_direct allow no_proxy

#Cache Dinamico
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

#hostname do squid
visible_hostname nivas.frank@gmail.com

#Está porta é usada para troca de informações entre servidores proxy.
#Não use o ICP se você tem um único proxy-pai que você sempre usa.
#Para desabilitar, bastacolocar um 0. Padrão: 3130
icp_port 0

#Especifica o número da porta através do qual o SquidFácil irá receber e enviar requisições HTCP de e para caches vizinhos. Para desabilitar,colocar 0. O padrão é 4827.
htcp_port 0

#acls de rede
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
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443 563
acl Safe_ports port 70 #protocolo gopher antig?o
acl Safe_ports port 210 #whais
acl Safe_ports port 1024-65535 #todas as outras portas
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 #multi http
acl Safe_ports port 901 #acesso Swat
acl purge method PURGE
acl CONNECT method CONNECT
acl block url_regex -i "/etc/squid3/block.acl"

http_access deny block
http_access allow localhost
http_access deny !Safe_ports
http_access deny CONNECT !SSL_PORTS

#memoria reservada para o cache do total da sua maquina, e não mais.
cache_mem 300 MB

#máximo tamanho dos arquivo cache na memoria
maximum_object_size_in_memory 200 KB

#máximo tamanho dos arquivo cache no hd
maximum_object_size 100 MB
minimum_object_size 2 KB

#regra que começa a esvaziar / substituir arquivos no cache em 90%
cache_swap_low 90
cache_swap_high 95

# política de substituição dos objetos quando se esgota o espaço destinado ao cache em disco.
cache_replacement_policy heap LRU
memory_replacement_policy heap GDSF

#indicação de localização da pasta de arquivos cache e em sequência valor total em MB de espaço no hd a ser usado pelo cache, numero de pastas, e numero de subpastas do cache.
cache_dir ufs /var/spool/squid3 5120 16 256

#Resolve problemas com o Cache
quick_abort_min -1 KB
quick_abort_max 0 KB
quick_abort_pct 100%
ipcache_size 3072
ipcache_low 90
ipcache_high 93

#intervalos de tempos que o proxy verificara os arquivos dos site acessado conferem com o do cache, o valor 4560 significa 04 dias
refresh_pattern ^ftp: 144000 20% 1008000
refresh_pattern -i \.(gif|png|jpg|jpeg|ico|bmp)$ 260000 90% 260009 override-expire
refresh_pattern -i \.(iso|avi|wav|mp3|mp4|mpeg|swf|flv|x-flv|mpg|wma|ogg|wmv|asx|asf)$ 260000 90% 260009 override-expire
refresh_pattern -i \.(deb|rpm|exe|zip|tar|tgz|ram|rar|bin|ppt|doc|tiff|pdf|uxx)$ 260000 90% 260009 override-expire
refresh_pattern -i \.index.(html|htm)$ 1440 90% 40320
refresh_pattern -i \.(html|htm|css|js|php|jsp)$ 1440 80% 999999
refresh_pattern (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4
refresh_pattern -i ^http://.*\.(ace|adt|arj|asf|avi|bin|bz2|bzip|cab|dat|dll|doc|dot|exe|fla|flv|gz|iso|lha|log|lzh|mdb|mid|mov|mp3|mpeg|mpg|msi|mso|ogg|pps|ppt|rar|rm|rtf|shs|src|sys|swf|tgz|tif|ttf|wav|wma|wri|wmv|vpu|vpaa|vqf|vob|zip)$ 43200 100% 999999 ignore-reload
refresh_pattern (get_video?|videoplayback?|videodownload?) 5259487 99999999% 5259487 override-expire ignore-reload

# CACHE FOTOS ORKUT
refresh_pattern -i images.orkut.com/.* 0 100% 43200 reload-into-ims
refresh_pattern -i static1.orkut.com/.* 0 100% 43200 reload-into-ims
refresh_pattern -i static2.orkut.com/.* 0 100% 43200 reload-into-ims
refresh_pattern -i static3.orkut.com/.* 0 100% 43200 reload-into-ims
refresh_pattern -i static4.orkut.com/.* 0 100% 43200 reload-into-ims
refresh_pattern -i img1.orkut.com/.* 0 100% 43200 reload-into-ims
refresh_pattern -i img2.orkut.com/.* 0 100% 43200 reload-into-ims
refresh_pattern -i img3.orkut.com/.* 0 100% 43200 reload-into-ims
refresh_pattern -i img4.orkut.com/.* 0 100% 43200 reload-into-ims

# CACHE DO UNDER LINUX
refresh_pattern -i under-linux.org/.* 0 100% 43200 reload-into-ims

# CACHE DO UOL GLOBO R7
refresh_pattern -i globo.com/.* 0 100% 43200 reload-into-ims
refresh_pattern -i r7.com/.* 0 100% 43200 reload-into-ims
refresh_pattern -i uol.com.br/.* 0 100% 43200 reload-into-ims
refresh_pattern -i vivaolinux.com.br/.* 0 100% 43200 reload-into-ims
refresh_pattern -i jw.org/.* 0 100% 43200 reload-into-ims
refresh_pattern -i acessobrasil.org.br/libras/.* 0 100% 43200 reload-into-ims

#Algumas vezes o SquidFacil não consegue diferenciar conexões TCP totalmente fechadas e parcialmente fechadas. Mudando essa opção para off fará com que o Squid imediatamentefeche a conexão quando a leitura do socket retornar \"sem mais dados para leitura\"
half_closed_clients off

#Resolve um problema com conexões persistentes que ocorre com certos servidores,
detect_broken_pconn on

#o SquidFacil irá trabalhar com 2 requisições paralelamente
pipeline_prefetch on

#Desligando essa variável, faz com que o SquidFacil descarregue a memória não utilizada, chamando uma função interna free() do Squid
memory_pools off

# BLOQUEIO DE ARQUIVOS SUSPEITOS
acl vbs url_regex -i .*\.VBS$
http_access deny vbs
acl scr url_regex -i .*\.SCR$
http_access deny scr
acl cmd url_regex -i .*\.CMD$
http_access deny cmd
acl pif url_regex -i .*\.PIF$
http_access deny pif
acl ads url_regex -i ads
http_access deny ads

#Log de Acesso
cache_access_log /var/spool/squid3/access.log
#Log do Cache
cache_store_log /var/spool/squid3/store.log


6º salve os arquivos e abra o terminal

7º entre em naquela pasta criada com o comando:
cd sript install squid

8º execute o script de instalação
dê permissão de execução: chmod 777 install
execute: sudo sh install

9º Aparecerão as seguintes opções:
[1] Instalar o squid   -->> instala o squid
[2] Bloquear palavras ou sites    -->> digite palavras ou domínios para serem bloqueados
[3] Ativar novas configurações do squid  -->> sempre use após alguma alteração no squid, ou seja, usar os itens [2], [4] ou [5]
[4] Editar o arquivo de configurações do Squid  -->> altera configurações gerais
[5] Editar as palavras ou sites bloqueados  -->> serve para acrescentar ou remover manualmente sites bloqueados etc
[6] Sair

10º Caso utilize o firefox, abra-o e vá em
"Editar-->> Preferências-->> Avançado-->> Rede-->> Configurar conexão"
Selecione "Configuração manual de proxy"
-na caixa "HTTP" coloque o valor 127.0.0.1
-na caixa "Porta" coloque o valor 3128
-logo abaixo delas tem uma caixa chamada "Usar este proxy para todos os protocolos" selecione-a e deixe-a marcada


Este tutorial se baseia no seguinte vídeo: http://www.youtube.com/watch?v=ek8oTWZphvI
do usuário Francolles do youtube http://www.youtube.com/user/Francolles
De acordo com ele, é uma versão para linux do SquidFácil http://squidfacil.mikrotikfacil.com/
A versão original do script dele pode ser baixada aqui http://www.4shared.com/file/I92pvNKT/install_squidtar.html
Obs.1: Fiz algumas alterações para que funcionasse devidamente no 12.04, nos arquivos originais onde tinha squid coloquei squid3 e adicionei santandernet.com.br no arquivo nocache.acl
Obs.2: o script por padrão já bloqueia diversos sites de propaganda inclusive o embutido no fórum, ou seja, se quer dar uma ajuda pro fórum remova o site da lista de bloqueados, ou pode remover todos da lista

 [ ]'s
Gentoo — Controle total sobre o sistema.