Antes do bloqueio vamos configurar o cache, para acelerar um pouco a navegação nos sites liberados. O cache e uma cópia do site que fica no disco do servidor, sendo assim depois de um primeiro acesso ao site, o proxy não precisa “pegar” na internet o site inteiro, apenas as modificações no mesmo.
Instalaremos assim o squid:
#apt-get install squidFaremos o backup da configuração padrão
mv /etc/squid/squid.conf squid.conf.oldDepois iremos configura-lo:
#vim /etc/squid/squid.confPrimeiro devemos saber que o squid pode funcionar em modo transparente ou em modo autenticado, eu prefiro o transparente, porquê evita de ter de configura-lo em cada equipamento.
Outra coisa que vamos configurar e a pasta onde ele irá fazer cache, e a politica de substituição dos arquivos no cache. Vamos configurar também as redes que o squid irá servir, alem de outras coisinhas que comentei na conf abaixo:
Agora precisamos criar e dar permissão no diretório de cache:#Configuracao do proxy transparent na porta 4545 http_port 4545 transparent #configuracoes default #configuracao da acl para ips que estao na internet 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 purge method PURGE acl CONNECT method CONNECT #Portas que serao tratadas pelo Proxy acl SSL_ports port 433 563 10000 acl Safe_ports port 80 # http acl Safe_ports port 20 # ftp-data acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports 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 25 # pop acl Safe_ports port 110 # smtp http_access allow purge localhost http_access deny purge http_access deny !Safe_ports http_access deny CONNECT !SSL_ports #configuracao para funcionamento do squidGuard redirect_program /usr/bin/squidGuard #Permitindo acesso da rede local e negando para acessos externos acl redelocal src 192.168.25.0/24 http_access allow redelocal http_access deny manager !localhost http_access allow all ###CACHE### #Tamanho do Cache na Memoria Ram cache_mem 350 MB maximum_object_size_in_memory 250 KB #Tamanho do Cache em Disco maximum_object_size 32 MB minimum_object_size 0 KB #Porcentagem de uso de Cache que faz o squid descartar cache_swap_low 90 cache_swap_high 95 #localizacao e tamanho do cache em disco cache_dir ufs /etc/squid/cache 10000 128 256 refresh_pattern ^ftp: 15 20% 2280 refresh_pattern ^gopher: 15 0% 2280 refresh_pattern . 15 20% 2280
#mkdir /etc/squid/cacheAgora vamos instalar o SquidGuard, ele permite que usemos imensas listas de bloqueio sem a perda de desempenho do Squid. Vou colocar apenas os comandos para a configuração do mesmo, no site do guia do hardware você encontra um excelente tutorial , e o melhor que realmente funciona. O link está aqui http://www.hardware.com.br/tutoriais/filtro-conteudo-squidguard/ .
#chmod 777 /etc/squid/cache
#apt-get install squidguardEsses comandos permitiram que você instalasse o SquidGuard, baixa-se as listas de bloqueios, agora vamos configurar o squidGuard.conf
#wget -c http://squidguard.mesd.k12.or.us/blacklists.tgz
#wget -c http://www.shallalist.de/Downloads/shallalist.tar.gz
#cp blacklists.tgz shallalist.tar.gz /var/lib/squidguard/db/
#cd /var/lib/squidguard/db/
#tar -zxvf blacklists.tgz
#tar -zxvf shallalist.tar.gz
#rm -f blacklists.tgz shallalist.tar.gz
#vim /etc/squid/squidGuard.confAgora vamos configurar a ACL white que criamos:
dbhome /var/lib/squidguard/db logdir /var/log/squid src diretores { #Aqui ficam os ips liberados ip 192.168.25.100 ip 192.168.25.53 } dest white { domainlist white/domains urllist white/urls } dest ads { domainlist blacklists/ads/domains urllist blacklists/ads/urls } dest aggressive { domainlist blacklists/aggressive/domains urllist blacklists/aggressive/urls } dest audio-video { domainlist blacklists/audio-video/domains urllist blacklists/audio-video/urls } dest drugs { domainlist blacklists/drugs/domains urllist blacklists/drugs/urls } dest gambling { domainlist blacklists/gambling/domains urllist blacklists/gambling/urls } dest porn { domainlist blacklists/porn/domains urllist blacklists/porn/urls } dest proxy { domainlist blacklists/proxy/domains urllist blacklists/proxy/urls } dest redirector { domainlist blacklists/redirector/domains urllist blacklists/redirector/urls } dest spyware { domainlist blacklists/spyware/domains urllist blacklists/spyware/urls } dest violence { domainlist blacklists/violence/domains urllist blacklists/violence/urls } dest warez{ domainlist blacklists/warez/domains urllist blacklists/warez/urls } dest porn2{ domainlist BL/porn/domains urllist BL/porn/urls } dest socialnet{ domainlist BL/socialnet/domains urllist BL/socialnet/urls } dest tracker{ domainlist BL/tracker/domains urllist BL/tracker/urls } acl { diretores{ pass any } default { pass white !ads !aggressive !audio-video !drugs !gambling !porn !proxy !redirector !spyware !violence !warez !porn2 !socialnet !tracker all redirect http://amcollucci.com.br }
# mkdir /var/lib/squidguard/db/whiteAgora vamos compilar as listas, e atribuir as permissões aos arquivos
# touch /var/lib/squidguard/db/white/domains
# touch /var/lib/squidguard/db/white/urls
# squidGuard -C allSe você tiver seguido todos os passos corretamente, você agora estará rodando o squid, porem ainda falta uma coisinha temos de fazer o Firewall redirecionar para a porta do squid.
# chown -R proxy:proxy /var/lib/squidguard/db/*
# find /var/lib/squidguard/db -type f | xargs chmod 644
# find /var/lib/squidguard/db -type d | xargs chmod 755
# squid -k reconfigure
#vim /etc/init.d/firewall.sh
#!/bin/bash
echo "Parando o forward pelo kernel"
echo 0 > /proc/sys/net/ipv4/ip_forward
echo "Iniciando o forward pelo kernel"
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "configurando rota default"
route add default gw ip_do_roteador_ou_modem
echo "configurando dns"
rm /etc/resolv.conf
echo nameserver 8.8.8.8 >> /etc/resolv.conf
echo "Limpando todas as tabelas"
iptables -F
iptables -t nat -F
iptables -t mangle -F
echo "criando liberacoes"
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
echo "liberando o loopback"
iptables -A OUTPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
echo "Criando a regra de NAT"
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo "Redirecionando para o Squid"
iptables -t nat -A PREROUTING -s 192.168.25.0/24 -p tcp --dport 80 -j REDIRECT --to-port 4545
iptables -t nat -A PREROUTING -s 192.168.25.0/24 -p udp --dport 80 -j REDIRECT --to-port 4545
echo "Iniciando o forward pelo kernel"
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 'Firewall Amcollucci ok'
exit 0
O ip de vermelho deve ser alterado para o ip do seu modem.Reinicie o seu firewall e pronto! Voi-lá seu server estará ok!
Nenhum comentário:
Postar um comentário