Redes de computadores II
Firewall
Prof. Diovani Milhorim
Firewall
Conceito:
Firewall é um sistema projetado para impedir
acesso ou tráfego não autorizado em uma
rede privada.
O sistema pode consistir de software,
Hardware ou ambos.
Firewall
Em geral firewall são sistemas que
implementam regras de filtragem de pacotes
impedindo ou restringindo determinados tipos
de tráfego, baseando-se em regras fixas ou
determinadas em regras estatísticas.
Firewall
Objetivos:


Proteger as estações de trabalho de tráfego
malicioso externo a rede privada.
Controlar o tráfego de saída da rede interna.
Firewall
Quanto a implementação:

Soluções proprietárias .



aplicativos comerciais
Hardware e software integrados.
Soluções de software livre.

filtro de pacotes implementado em sistema
operacional livre (unix, linux, etc...)
Firewall
Soluções proprietárias.
Vantagens:
 Facilidade de instalação
 Fácil gerenciamento
 Atualizações constantes
 Hardwares projetados para a aplicação.
Firewall
Soluções proprietárias.
Desvantagens:



Custo de aquisição
Custo de atualização
Falta de flexibilidade
Firewall
Soluções proprietárias.
Firewall
Soluções proprietárias.
Firewall
Soluções proprietárias.
Firewall
Soluções em software livre
Implementação de regras de filtragem de
pacotes em sistema livre (unix/linux) que
opera como gateway de rede.
Ferramentas mais usadas:
 iptables / ipchains (linux)
 Ipfw (unix)
Firewall
Soluções em software livre
Firewall
Soluções em software livre
Iptables:
O iptables é um firewall em nível de pacotes e
funciona baseado no endereço/porta de
origem/destino do pacote, prioridade, host de
destino/origem, etc..
Ele funciona através da comparação de regras
para determinar se um pacote tem ou não
permissão para passar
Firewall
Soluções em software livre
Iptables:
Também pode ser usado para:










Modificar e monitorar o tráfego da rede
Fazer NAT (masquerading, snat, dnat),
Redirecionamento de pacotes,
Marcação de pacotes,
Modificar a prioridade de pacotes que chegam/saem.
Contagem de bytes
Balanceamento de tráfego,
Criar proteções anti-spoofing
Criar proteção contra syn flood
Criar proteção contra DoS, etc...
Firewall
Soluções em software livre
Iptables:
O que são regras?
As regras são como comandos passados ao iptables para que ele
realize uma determinada ação (como bloquear ou deixar passar
um pacote) de acordo com o endereço/porta de origem/destino,
interface de origem/destino, etc. As regras são armazenadas
dentro dos chains e processadas na ordem que são inseridas.
As regras são armazenadas no kernel, o que significa que quando
o computador for reiniciado tudo o que fez será perdido. Por este
motivo elas deverão ser gravadas em um arquivo para serem
carregadas a cada inicialização.
Firewall
Soluções em software livre
Exemplo de regra iptables:
Iptables –A INPUT –-dport 80 –j DROP
Firewall
Soluções em software livre
Um pacote passa por várias etapas dentro do kernel
do Linux, dependendo se ele for roteado pela
máquina, destinado a ela ou se este pacote foi, na
verdade, gerado pelo ip da máquina. O netfilter
introduziu “chains“ (ganchos) , pontos ao longo do
ciclo de vida de um pacote, onde o mesmo pode ser
avaliado por regras de firewall. A figura 1 destaca
estes pontos.
Firewall
Soluções em software livre
Iptables: chains
Firewall
Soluções em software livre
Iptables:
O que são chains?
Os Chains são locais onde as regras do firewall
definidas pelo usuário são armazenadas para
operação do firewall. Existem dois tipos de chains:
os embutidos (como os chains INPUT, OUTPUT e
FORWARD) e os criados pelo usuário. Os nomes
dos chains embutidos devem ser especificados
sempre em maiúsculas (note que os nomes dos
chains são case-sensitive)
Firewall
Soluções em software livre
Iptables: Tabelas



Os conjuntos de chains são necessariamente
agrupados em tabelas. Uma tabela praticamente
define o seu poder, o que pode ou o que não pode
realizar com o pacote e uma tabela possui vários
conjuntos de regras. Ao todo são três tabelas
principais existentes no iptables:
filter;
nat;
mangle.
Firewall
Soluções em software livre
Iptables
Existem três tipos de tabelas pré-definidas.
 Filter
 Nat
 mangle
Firewall
Soluções em software livre
Iptables
Filter - Esta é a tabela padrão, contém 3 chains padrões:



INPUT - Consultado para dados que chegam a máquina
OUTPUT - Consultado para dados que saem da máquina
FORWARD - Consultado para dados que são redirecionados
para outra interface de rede ou outra máquina.
Os chains INPUT e OUTPUT somente são atravessados por
conexões indo ou originando de localhost.
OBS: Para conexões locais, somente os chains INPUT e OUTPUT
são consultados na tabela filter.
Firewall
Soluções em software livre
Iptables
Nat - Usada para dados que gera outra conexão (masquerading,
source nat, destination nat, port forwarding, proxy transparente são
alguns exemplos). Possui 3 chains padrões:
PREROUTING - Consultado quando os pacotes precisam ser
modificados logo que chegam. É o chain ideal para realização de
DNAT e redirecionamento de portas (Fazendo DNAT, Seção 10.4.4).
OUTPUT - Consultado quando os pacotes gerados localmente
precisam ser modificados antes de serem roteados. Este chain
somente é consultado para conexões que se originam de IPs de
interfaces locais.
POSTROUTING - Consultado quando os pacotes precisam ser
modificados após o tratamento de roteamento. É o chain ideal para
realização de SNAT e IP Masquerading
Firewall
Soluções em software livre
Iptables
Mangle - Utilizada para alterações especiais de pacotes -5 tabelas:





INPUT - Consultado quando os pacotes precisam ser modificados
antes de serem enviados para o chain INPUT da tabela filter.
FORWARD - Consultado quando os pacotes precisam ser
modificados antes de serem enviados para o chain FORWARD da
tabela filter.
PREROUTING - Consultado quando os pacotes precisam ser
modificados antes de ser enviados para o chain PREROUTING da
tabela nat.
POSTROUTING - Consultado quando os pacotes precisam ser
modificados antes de serem enviados para o chain POSTROUTING
da tabela nat.
OUTPUT - Consultado quando os pacotes precisam ser
modificados antes de serem enviados para o chain OUTPUT da
tabela nat.
Firewall
Soluções em software livre
Iptables
Mangle - Utilizada para alterações especiais de
pacotes.
Exemplos:


Modificar o bit TOS do protocolo tcp.
Marcar pacotes para roteamento
Firewall
Soluções em software livre
Iptables
O acesso as regras é feita de forma hierárquica de
modo que regras que se encontram no topo da
tabela se sobrepõem a regras que se encontram
abaixo dela.
O iptables sempre executará a acão que uma
regra impõe a menos que uma regra anterior
(acima na tabela) a impeça.
Firewall
Soluções em software livre
Iptables
Exemplo de hierarquia de regras
Iptables –A INPUT –dport 80 –j ACCEPT
Iptables –A INPUT –dport 80 –j DROP
Neste caso o pacote para a porta 80 que tem
destino localhost será aceito mesmo que uma
regra de prioridade menor peça o contrário
Firewall
Soluções em software livre
Iptables
Manipulando regras.
-A: adiciona novas regras no final do chain.
-L: lista as regras de uma chain
-D:Remove uma regra
-I: Insere novas regras no começo da tabela
-P: muda política padrão (accept/drop)
-F: limpa as regras de uma chain ou de todas elas.
Firewall
Soluções em software livre
Iptables
Manipulando regras.
Flags importantes:
-d : destino
-s : source
--dport : porta de destino
--sport: porta de source
-p : protocolo
-I: interface de acesso
Firewall
Soluções em software livre
Iptables
Manipulando regras.
ALVOS:




ACCEPT: aceita o pacotte
DROP: descarta o pacote
DENY: não aceita o pacote
LOG: grava log do fluxo do pacote
Firewall
Soluções em software livre
Iptables
Exemplos:
iptables -t nat -A POSTROUTING -s 192.168.1.2/32 -o ppp0 -j MASQUERADE
iptables -t nat -A PREROUTING -s 200.200.201.4 -i eth0 -j DNAT –to 192.168.1.2
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 81
iptables -t mangle -A OUTPUT -o ppp0 -p tcp --dport 20 -j TOS --set-tos 8
iptables –A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s –j ACCEPT
iptables -t filter -A syn-chain -p tcp --syn -m limit --limit 2/s -j ACCEPT
Download

Aula 11