Você está na página 1de 11

CONFIGURANDO AS INTERFACES DE REDE E CONFIGURANDO SQUID

No artigo eu uso editor de textos mc caso tenha preferência em usar outro,


substitua mcedit pelo editor de sua preferência. 

Obs.: Vamos considerar que eth1 é a interface para a internet e eth0 a


interface para a rede local. 

Instalando editor de textos mc: 

# apt-get install mc 

Editando as Interfaces: 

# mcedit /etc/network/interfaces 

Obs.: Eu coloquei as interfaces manuais, sendo que a eth0 é minha rede


local, e eth1 é minha internet, configure os ips conforme necessário na sua
rede. 

Caso seja necessário editar as dns da eth1 internet: 

# mcedit /etc/resolv.conf 

auto lo eth0 eth1


iface lo inet loopback

iface eth0 inet static


address 10.1.1.1
netmask 255.0.0.0
network 10.0.0.0
broadcast 10.255.255.255

#iface eth1 inet dhcp


iface eth1 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

INSTALANDO E CONFIGURANDO SQUID


Instalando squid: 

# apt-get install squid 

Guardando o squid original pra mais tarde caso precise: 

# cd /etc/squid 
# mv squid.conf squid.conf.original 

Criando Regras de squid: 

# mcedit squid.conf 

http_port 3128 transparent


visible_hostname debian
error_directory /usr/share/squid/errors/Portuguese

cache_mem 256 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 3 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 1024 16 50
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

#O cache pode ser configurado para continuar downloads de requisicoes


abortadas
quick_abort_min -1 KB
quick_abort_max 0 KB
quick_abort_pct 100%

#fecha a conexao quando o a leitura do socket retornar sem mais dados


para leitura
half_closed_clients off
read_timeout 60 seconds
pconn_timeout 120 seconds

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 21 80 443 563 70 210 280 488 59 777 901 1025-65535
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

# Macs computadores de quem e Totalmente Liberado


acl macsliberados arp "/etc/squid/macsliberados"
http_access allow macsliberados

# Macs computadores de quem e bloqueado


acl macsbloqueados arp "/etc/squid/macsbloqueados"
http_access deny macsbloqueados

#Lista de Sites Bloqueados


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

#Lista de Macs de Pessoas Autorizadas e Fazer Downloads


acl downloadsallow arp "/etc/squid/downloads.allow"
http_access allow downloadsallow

#Lista de Extensoes ex. ..exe . Bloqueadas


acl downloadsdeny url_regex -i "/etc/squid/downloads.deny"
http_access deny downloadsdeny
acl LoginMSN dst loginnet.passport.com
acl GatewayMSN url_regex gateway.dll
http_access allow CONNECT LoginMSN
http_access deny GatewayMSN

#Aqui você vai colocar a faixa de ip da sua rede local ex: 192.168.1.0/24 ou
conforme abaixo:
acl redelocal src 10.0.0.0/8
http_access allow localhost
http_access allow redelocal

http_access deny all

forwarded_for off

memory_pools off

detect_broken_pconn on

CONTINUAÇÃO - CONFIGURANDO SQUID


 

Criando lista de MAC's Liberados: 

Aqui você vai colocar os MAC's liberados na rede. 

# mcedit macsliberados 

00:00:00:00:00:00

Criando lista de MAC's Bloqueados: 

Aqui você vai colocar os MAC's sem acesso a internet. 

# mcedit macsbloqueados 

00:00:00:00:00:00

Criando lista de Sites Bloqueados: 

Aqui você vai colocar os sites bloqueados, fiz uma pequena lista dos que
uso onde trabalho, caso necessite coloque ou retire algum da lista. 

# mcedit bloqueados 

www.orkut.com.br
orkut.com.br
www.orkut.com
orkut.com
www.youtube.com.br
www.youtube.com
youtube.com
youtube.com.br
www.ebuddy.com
www.iloveim.com
www.meebo.com
www.homiez.cn
www.facebook.com/
facebook.com/
www.facebook.com.br
facebook.com.br
#########################Lista de sites Msn
www.mijnmessenger.nl/
www.iloveim.com/
msn.audiowatcher.com/
www.mangeloo.com
www.imaginarlo.com/
piglet-im.com/
x6.iloveim.com
x3.iloveim.com
www.wbmsn.net/default.aspx
www.msn2go.com
www.e-messenget.net
ibypass.com
www.e-messenger.net
x8.iloveim.com
85.184.4.4/
www.onlinemessenger.nl/
www.freepgs.com/defilter/
capetown.e-messenger.net
www.phonefox.com
www.mastaline.com
www.piglet-im.com
www.piglet.0900provider.nl
boston.e-messenger.net
vicotria.e-messenger.net
atlanta.e-messenger.net
mob.e-messenger.net
arkansa.e-messenger.net
pretoria.e-messenger.net
chicago.e-messenger.net
thevirtualbrowser.com/
http:/phonefox.com
balancer.iloveim.com/servlets/login
jabber.meta.net.nz/webmsg/register.php
www.racewarkingdoms.com
www.chrishemple.co.uk/proxy/
www.wbmsn.net/
www.piglet-im.com
www.kolikoli.tk
www.blockedsuks.co.nr
www.researchhaven.com/Chat.htm
www.webtal.com.br/imagens/msn.html.
bombay.e-messenger.net/
capetown.e-messenger.net
houston.e-messenger.net/servlet/login
www.douradina.pr.gov.br/jacare/
www.messenger-online.com/emessenger.php

Criando lista pessoas autorizadas a fazer downloads: 

Aqui você vai colocar os MAC's que são autorizados a fazerem downloads
na rede. 

# mcedit downloads.allow 
00:00:00:00:00:00

Criando lista de extensões bloqueadas: 

Aqui você vai colocar as extensões bloqueadas para downloads e


visualização na rede, as que estão listadas abaixo são as que eu uso fique
a vontade para editalas 

# mcedit downloads.deny 

\.exe$
\.com$
\.zip$
\.rar$
\.iso$
\.mp3$
\.wmv$
\.bat$
\.avi$
\.mpe$
\.mpg$
\.mpeg$
\.wav$
\.wma$
\.rmvb$

CRIANDO SCRIPT DE FIREWALL


 

Instalando rcconf para que possamos configurar serviço e inicialização: 

# apt-get install rcconf 

Criando Script: 

# touch /etc/init.d/firewall 

Editando script: 

# mcedit /etc/init.d/firewall 

echo Limpando as tabelas e Chains


iptables -F
iptables -F -t nat
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t mangle -F
iptables -t nat -F
iptables -X
echo Limpeza das Tabelas ..... [ok]

### Habilitando os módulos


modprobe iptable_nat
modprobe ip_nat_ftp
echo Modulos Carregados ..... [ok]

### Compartilhamento da Internet


echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo Internet Compartilhada ..... [ok]

#Segurança

#Não responde a pings


iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

#Proteção contra Ip Spoofing


echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP

#Autoriza pacotes provenientes da interface de loopback lo


iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT

#Impedindo ataque Ping of Death na rede


iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j
ACCEPT

#Impedindo ataque de Denial Of Service Dos na rede e servidor


iptables -I FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p tcp -m limit --limit 1/s -j ACCEPT

#Protecao contra synflood


echo "1" > /proc/sys/net/ipv4/tcp_syncookies

#Protecao contra worms


iptables -I FORWARD -p tcp --dport 135 -j LOG --log-level info --log-prefix
'WORMS REDE>'
iptables -A FORWARD -p tcp --dport 135 -j DROP
iptables -I INPUT -p tcp --dport 135 -j LOG --log-level info --log-prefix
'WORMS >'
iptables -A INPUT -p tcp --dport 135 -j DROP
#bloqueador de tentativas de conexão da internet
iptables -A INPUT -p tcp --syn -j DROP
echo Seguranca Carregada ..... [ok]

#CONECTIVIDADE SOCIAL
iptables -t nat -A PREROUTING -p tcp -d 200.201.0.0/16 -j ACCEPT
iptables -A FORWARD -p tcp -d 200.201.0.0/16 -j ACCEPT
echo Conectividade Social Carregada ..... [ok]

#PROXY TRANSPARENTE
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-
port 3128
echo Proxy Transparente Carregado ..... [ok]

#BLOQUEAR MSN
iptables -I FORWARD -p tcp -s 10.0.0.0/8 --dport 1863 -j DROP
echo Bloqueio de Msn Carregado ..... [ok]

#Redirecionamentos

#EXEMPLO DE REDIRECIONAMENTO
iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport 3389 -i eth1 -j DNAT --
to 10.1.1.10
iptables -t nat -A PREROUTING -p udp -s 0/0 --dport 3389 -i eth1 -j DNAT --
to 10.1.1.10

Dando permissão de execução ao arquivo: 

# chmod +x /etc/init.d/firewall 

Incluindo o Firewall na inicialização, para que o processo fique automático: 

# rcconf 

Vai abrir uma lista de arquivos que são executados na inicialização do


sistema, ache o Firewall e marque-o para que ele seja iniciado durante o
processo de inicialização. 

Marque-a teclando a barra de espaços e em seguida tecle ENTER para


confirmar as alterações. 

Agora execute o script: 

# /etc/init.d/firewall

INSTALANDO E CONFIGURANDO SARG


 

"Gerador de Relatórios da Internet". 

Instalando Sarg: 

# apt-get install sarg 

Instalando apache2: 

# apt-get install apache2 

Configuração do SARG no Ubuntu. 

Acesse a pasta de configuração do SARG: 

# cd /etc/sarg 

Abra as configurações do sarg: 

# mcedit sarg.conf 

Alterar o idioma do SARG, altere a linha: 

language English 

Para: 

language Portuguese

Para que as páginas dos relatórios gerados pelo SARG sejam visualizadas
no navegador, é necessário "linkar" a pasta de saída dos relatórios do
SARG para a pasta do servidor web. 

 sudo ln -s /var/lib/sarg /var/www/ 

Retirando mensagem de erro aparece na saída da linha de comando: 

SARG: Unknown option site_user_time_date_type table 

Comente a seguinte linha do arquivo sarg.conf, editando o arquivo: 

# mcedit /etc/sarg/sarg.conf 
Para comentar basta você colocar antes da comando um "#" como abaixo: 

#site_user_time_date_type table

Para gerar os relatórios do SARG: 

# sarg 

Para acessar as páginas de relatório geradas pelo SARG acesser: 

http:/ip-do-servidor/sarg 

Colocando SARG no cron: 

Para que o SARG seja executado automaticamente todos os dias, gerando


os relatórios de acesso do SQUID automaticamente por dia: 

# mcedit /etc/cron.daily/sarg 

O script de execução do SARG deve ficar conforme abaixo: 

#!/bin/sh

if [ -x /usr/bin/sarg ]; then
/usr/bin/sarg
fi

Para que o SARG execute antes do logrotate do SQUID é necessário alterar


o nome do arquivo: 

# mv /etc/cron.daily/sarg /etc/cron.daily/ksarg 

Assim o script do SARG irá executar logo antes do script do logrotate,


gerando os relatórios corretamente. 

Remover os scripts de executação semanal e mensal do SARG: 

# rm /etc/cron.weekly/sarg
# rm /etc/cron.monthly/sarg 

Caso haja necessidade de colocar pra gerar relatórios minutos em minutos


basta editar o contrab e acrescentar as seguintes linhas. 
Abra o crontab: 

# crontab -e 

Adicione a Seguinte linha no final: 

*/30 * * * * root sh sarg > /dev/null 2>&1

Fim. 

REFERÊNCIAS
Links dos artigos da qual eu usei de fonte, conhecimento e aperfeiçoamento
do tutorial:

 http://www.vivaolinux.com.br/artigo/Servidor-de-internet-para-iniciantes-
(Debian-Squeeze)
 http://www.viniciusmutter.com.br/2010/06/instalando-o-sarg-no-ubuntu-10-
04-lts-lucid-lynx
 http://www.vivaolinux.com.br/artigo/Script-de-firewall-e-analise-de-log

Você também pode gostar