Sie sind auf Seite 1von 16

Firewall

Prof. Juliana Cristina


professora.julianacristina@gmail.com

Iptables
O IPTables uma ferramenta de edio da tabela de filtragem
de pacotes
Com ele voc capaz de analisar o cabealho dos pacotes e tomar
decises sobre os seus destinos
No a nica soluo existente para controle desta filtragem, temos
ainda as antigas ipfwadm e ipchains, dentre outros.
A filtragem de pacotes est implementada no ncleo do SO
No h instalao
O iptables um firewall com estado (stateful). Os anteriores
eram stateless.
Modo de filtragem Stateless: trata cada pacote roteado pelo firewall
como um pacote individual. mais simples de implementar e possui
melhor desempenho
Modo de filtragem Stateful: cria um poderoso sistema de firewall que
se "lembra" das conexes entrantes, tratando de forma mais
inteligente as atividades da rede.
Processamento de pacotes no Linux
Ganchos do iptables
Regras do IPTables
Tabelas, chains e regras
O Iptables trabalha com Tabelas, Chains e Regras
Existem 3 tabelas possveis de serem utilizadas:
mangle: tem o objetivo de prover QoS (raramente usada)
filter: a tabela padro, utilizada nos trfegos de dados comuns
nat: usada quando h ocorrncia de NAT
Chains:
Atravs delas podemos especificar quando
os pacotes so processados, seja qual for
a tabela utilizada
PREROUTING
POSTROUTING
INPUT
OUTPUT
FORWARD
Entendendo as regras
As regras bsicas so formadas por:
Tabela (-t)
Se nenhuma tabela indicada, utiliza-se a filter
Opo (-A, -I, -D, -R, -P)
adio, insero, remoo, substituio, poltica
Chain
Informa a que chain a opo se aplica
Dados (-s, -d, -i, -o, -m, -p)
Normalmente caracterizam a que pacote a regra se
aplica
Ao (-j)
O que fazer com o pacote que se enquadre na regra
Entendendo os argumentos
Opes
-A <chain>
Adiciona ao final das regras de uma certa chain
-D <chain> <regra> ou -D <chain> <nmero>
Remove uma regra de uma chain especificando a regra completa
ou a posio da regra naquela chain (a primeira regra a 1 e a
numerao segue crescente)
-R <chain> <nmero> <nova_regra>
Substitui a regra indicada de uma certa chain pela nova regra
fornecida
-I <chain> <nmero> <nova_regra>
Insere uma nova regra na posio indicada da chain
-P <chain> <ao>
Define uma ao padro para a chain
Caso nenhuma regra sirva para um pacote, a ao padro
executada

Entendendo os argumentos
Aes
-j ACCEPT
Aceita o pacote e ele segue o fluxo normal
-j DROP
Descarta o pacote silenciosamente
-j REJECT
Descarta o pacote e envia uma mensagem ICMP
origem informando sobre o descarte
-j LOG
Registra a passagem do pacote
Trata-se da nica ao que se for executada no
interrompe o processamento das regras, ou seja, o
pacote continua sendo avaliado pelas regras seguintes
Ententendo os argumentos
Dados
-s <endIP> ou -s <nome> ou -s <endIP>/<mscara>
Verifica a origem do pacote (source)
Ex: -s 192.168.113.42 -s www.faesa.br -s 192.168.113.0/24
-d <endIP> ou -d <nome> ou -d <endIP>/<mscara>
Verifica o destino do pacote
Ex: -d 192.168.113.42 -d www.faesa.br -d 192.168.113.0/24
-i <interface>
Verifica a interface por onde o pacote chegou (input)
Ex: -i eth0
-o <interface>
Verifica a interface por onde o pacote sair (output)
Ex: -o eth1
-p <protocolo>
Verifica o protocolo de transporte utilizado (tcp, udp ou icmp)
Ex: -p tcp
-m <mdulo>
Mdulo utilizado pela regra (state, mac etc)
Funcionamento bsico
Lista de regras que so interpretadas em
seqncia para cada pacote recebido/gerado
pela mquina
Se a regra atender, aplicada e para-se por a (as
regras seguintes no so avaliadas)

Ex:
iptables A INPUT s 192.168.1.23 j ACCEPT
iptables A INPUT s 192.168.1.0/24 j REJECT

Aceita receber pacotes que venham de 192.168.1.23 e
recusa pacotes das demais mquinas da rede 192.168.1.0
Dados adicionais
Caso o protocolo seja TCP ou UDP, pode-se indicar a porta de
origem ou destino
-p tcp --sport 80 -p tcp --sport 80:100
-p udp --dport 53 -p udp --dport 53:65
Para se indicar mltiplas portas em uma regra
-p tcp -m multiport --sport 80,90,100,110
Para se indicar o endereo MAC
-m mac --mac-source 0A:00:AB:3F:00:0E
S pode ser usado em PREROUTING, FORWARD e INPUT
Para criar uma regra baseada em estados
-m state --state RELATED,ESTABLISHED
ESTABLISHED: pacote pertencente a conexo j estabelecida
RELATED: pacote de uma nova conexo relacionada com uma j existente
INVALID: pacote pertencente a conexo inexistente que deve possuir
dados ou cabealho com problemas
NEW: estabelecer nova conexo ou pertence a conexo desconhecida
Os mdulos de kernel ip_conntrack_* devem ser carregados
modprobe ip_conntrack_*
Exemplos
Regras:
iptables -A INPUT -s 200.241.13.0/24 -j DROP
Descarta pacotes destinados a esta mquina que venham da rede
200.241.13.0/24
iptables -A FORWARD -d 18.0.0.0/8 -j REJECT
Descarta pacotes que sejam encaminhados por esta mquina e
cujo destino seja a rede 18.0.0.0/8 e envia ICMP para origem do
pacote informando sobre descarte
iptables -A OUTPUT -p icmp -j ACCEPT
Deixa passar todos os pacotes ICMP gerados pela mquina
iptables -A FORWARD -p tcp --dport 80:100 -j ACCEPT
Deixa passar todos os pacotes encaminhados por esta mquina
que sejam destinados s portas TCP de 80 a 100
iptables -A INPUT -p udp --sport 53 -j DROP
Descarta todos os pacotes destinados a esta mquina que tenham
vindo de um servidor DNS (porta 53 UDP)
Exemplos
Regras:
iptables -A INPUT -i eth0 -j DROP
Descarta todos os pacotes destinados a esta mquina que
cheguem pela eth0
iptables A INPUT -i !eth0 -j DROP
Descarta todos os pacotes destinados a esta mquina exceto os
que cheguem pela eth0
iptables -A FORWARD -i eth0 -s 192.168.113.0/24 -p tcp -m
multiport --dports 22,53,80 -j ACCEPT
Aceita todos os pacotes que sejam encaminhados por esta
mquina e que tenham vindo da rede 192.168.113.0/24, a partir
da interface eth0 e que sejam destinados a servidores SSH, DNS ou
Web
iptables -P FORWARD DROP
Caso um pacote que ser encaminhado por esta mquina no se
encaixe em nenhuma regra, ser descartado
Exemplos
Regras:
iptables -A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j
ACCEPT
Aceita pacotes que sero encaminhados, que chegaram pela eth0 e que
esto relacionados com conexes pr-estabelecidas
iptables -A OUTPUT -p tcp -d www.google.com -j DROP
Descarta pacotes TCP que esta mquina gere com destino a
www.google.com
iptables -L -n
Lista todas as regras de todas as chains sem resolver nomes
iptables -L INPUT -n -v
Lista todas as regras da chain INPUT sem resolver nomes com estatsticas
de uso das regras
iptables -F
Remove todas as regras de todas as chains
iptables -F OUTPUT
Remove todas as regras da chain OUTPUT
Para salvar/recuperar as regras
Para salvar as regras
iptables-save > arquivo_com_regras
Para recuperar as regras
iptables-restore < arquivo_com_regras
Para ativar as regras a cada boot:
Editar o arquivo /etc/network/interfaces:
auto eth0
iface eth0 inet dhcp
pre-up iptables-restore < /etc/iptables.up.rules

Das könnte Ihnen auch gefallen