quarta-feira, 1 de junho de 2011

IPTABLES / FIREWALL
















  • OBS: O IPTABLES ja vem intalado 
Insira um política do iptables: 
  • política ACCEPT (libera tudo e proibe algo) 
iptables -P INPUT ACCEPT
  • política DROP (Proibe tudo e libera algo)
iptables -P INPUT DROP
Insira regras no iptables:
  • Bloqueando acesso a um site:
iptables -A INPUT -s www.chat.com.br -j DROP
  • Liberando acesso ao DNS SERVER: 
iptables -A OUTPUT -d 200.135.37.65 -j ACCEPT  
iptables -A INPUT -s 200.135.37.65 -j ACCEPT
  • Liberando acesso ao site: 
iptables -A OUTPUT -d www.google.com -j ACCEPT  
iptables -A INPUT -s www.google.com -j ACCEPT
  •  Proibir ping para localhost
iptables -A INPUT -d localhost -p icmp -j DROP
  • Proibir acesso a porta 22 (ssh):
iptables -A OUTPUT -d tele.sj.edu.br -p tcp --dport 22 -j DROP
Chains:
  • INPUT: utilizada quando o destino final é a própria máquina firewall;
  • OUTPUT: qualquer pacote gerado na máquina firewall e sai para a rede
  • FORWARD: qualquer pacote que atravessa o firewall 
Opções:
  • -P - Policy (política): ACCEPT ou DROP
  • -A - Append (anexar): Adicionar uma regra
  • -D - Delete (apagar): Deletar uma regra
  • -L - List (listar): Listas as regras
  • -F - Flush (esvaziar): Deleta todas as regras existentes
Dados:
  • -s - Source (origem)                                     ex: -s 172.20.5.10
  • -d - Destination (destino)                              ex: -d 172.20.5.10
  • -p - Protocol (protocolo)                               ex: -p icmp
  • -i - In-Interface (interface de entrada)            ex: -i ppp0
  • -o - Out-Interface (interface de saída)            ex: -o eth1
  • --sport - Source Port (porta de origem)          ex: -p tcp --sport 80
  • --dport - Destination Port (porta de destino)   ex: -p tcp --dport 80
Salvando regras:
  • Salvando regra:
iptables-save > /etc/firewall
  • Recuperando regra:
iptables-restore < /etc/firewall
 IPTABLES no boot:
  • Pelo arquivo "vi /etc/rc.local" adicionar na ultima linha:
iptables-restore < /etc/firewall
  • Pelo crontab: 
crontab -r
crontab -e
@reboot iptables-restore < /etc/firewall

Squid





















Instalar e serviço Squid:
apt-get install squid
Iniciar serviço Squid:
service squid start
Desbloquear rede local: 
  • Por padrão a rede local é bloqueada,desbloqueamos descomentando uma linha do arquivo "vi /etc/squid/squid.conf":
#http_access allow localnet                          (descomentar esta linha)
  • Após editar este aquivo o squid ja tem a função de CACHE
Filtrando sites com squid:
  • Para configurar filtros editamos "vi /etc/squid/squid.conf":
  • Exemplos:
                                                                 

Liberando o acesso à internet a um único computador ou à uma rede:
acl permitir_computadores src 192.168.2.5/255.255.255.0
192.168.2.14/255.255.255.0 192.168.5.0/255.255.255.0
http_access allow permitir_computadores

Bloqueando o acesso à internet a um único computador ou à uma rede:
acl proibir_computadores src 192.168.2.7/255.255.255.0
192.168.9.0/255.255.255.0
http_access deny proibir_computadores

Bloqueando acesso à sites indesejados:
acl proibir_sites dstdomain “/etc/squid/listas/proibidos”
http_access deny proibir_sites
OBS: Aqui devemos criar o arquivo /etc/squid/listas/proibidos e inserir os sites
indesejados, um por linha.


Bloqueando ou liberando o acesso a sites com palavras chaves:
acl proibir_palavras url_regex -i “/etc/squid/listas/palavras”
http_access deny proibir_palavras
OBS:Aqui devemos criar o arquivo /etc/squid/listas/palavras e inserir as palavras
indesejadas, uma por linha.


Restringindo o horário de acesso:
acl horario time MTWHF 08:00-18:00
http_access allow permitir_computadores horario
http_access deny permitir_computadores
OBS: S=domingo, M=segunda, T=terça, W=quarta, H=quinta, F=sexta e
A=sábado

                                                                     
  
Testes na maquina real:
  • Abrir o navegador e configurar proxy:
















  • Teste entrando em sites bloqueados pelo filtro.
  • Arquivo de log "tail /var/log/squid"