Você está na página 1de 21

Iptables

Firewalls,
um pouco sobre...

Firewalls

Realizam a filtragem de pacotes

Baseando-se em:

endereo/porta de origem;
endereo/porta de destino;
protocolo;

Efetuam aes:

Aceitar
Rejeitar
Descartar
Registrar

Firewalls

Realizam o mascaramento (Proxy)

Geralmente incorporado ao Firewall

Mascarar vrios IPs privados em um pblico

Firewalls

Na maioria dos casos possui trs tipos de


fluxos bsicos de pacotes de rede, sendo:

Direcionados mquina onde o firewall est


instalado INPUT
Direcionados da mquina onde o firewall est
instalado um destino qualquer OUTPUT
Encaminhados, repassados, pela mquina onde o
firewall est instalado outras mquinas na rede
interna FORWARD

Cada fluxo possui suas regras prprias

Vantagens do Firewall Iptables

Desvantagens de outros Firewalls

Trabalham na camada de aplicao do TCP/IP,


gerando

Retardo

Travamento

Alm de poderem ser alvos de antivrus e IDS

Firewall Iptables

Implementado diretamente no kernel

linux-source/include/linux/netfilter_ipv4/ip_tables.h

Trabalha na camada de Rede do TCP/IP

Mais rpido

Mais eficiente no tratamento de pacotes

IPTables

Tabelas IPTables

Possui trs tabelas

FILTER

a tabela padro (utilizada mesmo se a opo -t no for fornecida). Contm trs cadeias de regras:

NAT

Esta tabela consultada quando encontra-se um pacote cria uma nova conexo, que deve ser enviado
para outro destino. Contm trs cadeias de regras:

INPUT para pacotes destinado a servios locais da mquina


FORWARD para pacotes sendo roteados
OUTPUT para os pacotes gerados localmente

PREROUTING para alterar pacotes assim que eles chegarem


OUTPUT para alterar pacotes gerados localmente antes de serem roteados
POSTROUTING para alterar pacotes momentos antes deles partirem para outros hosts

MANGLE

Esta tabela utilizada para alterao especializada dos pacotes. Possui cinco cadeias de regras:

PREROUTING para alterar pacotes que acabaram de chegar, antes de serem roteados
OUTPUT para alterar pacotes gerados localmente antes de serem roteados
INPUT para pacotes que passam no roteamento
FORWARD para alterar os pacotes sendo roteados
POSTROUTING para alterar pacotes momentos antes deles partirem para outros hosts

Viso geral da tabela Filter

Entrada

Deciso de
Roteamento

INPUT

FORWARD

Servios Locais

Sada

OUTPUT

Destinos dos Pacotes

Na tabela Filter, pode-se definir regras que determinam


se os pacotes sero:

ACCEPT

DROP

Descartados No permite a passagem dos pacotes e no avisa


origem sobre o descarte.

REJECT

Aceitos Permite que os pacotes passem.

Rejeitados Rejeita os pacotes e avisam origem sobre a rejeio

LOG

Logados (Registrados) Armazena informaes do pacote em


/var/log/syslog (Obs.: em sistemas tipo Debian)

Exemplo em Filter INPUT


iptables -I INPUT -s <ip confivel> -j ACCEPT
iptables -I INPUT -s <ip suspeito> -j DROP
iptables -I INPUT -s <ip suspeito> -j REJECT

Exemplo em Filter OUTPUT


iptables -I OUTPUT -p tcp --dport 80 -j DROP
iptables -I OUTPUT -p tcp --dport 25 -j REJECT
iptables -I OUTPUT -p tcp --dport 22 -j ACCEPT

Manipulando IPTables

Manipulao de regras

Manipulando regras dentro de uma cadeia de


regras (chain)

-A acrescenta nova regra ao fim da lista

-I acrescenta nova regra ao incio da lista

-D pos remove uma regra da posio pos

-D regra remove a primeira regra que coincidir

-L lista as regras na tela

Manipulao de cadeia de regras

Operaes para aplicar em uma cadeia de


regras (chain)

-N Cria uma nova cadeia de regras (chain)

-X Deleta uma cadeia de regras (chain) vazia

-P Muda a poltica padro de uma cadeia de


regras (chain)
-F Apaga todas as regras de uma cadeia de
regras (chain)
-Z Zera os pacotes e os bytes de todas as
regras da cadeia de regras (chain)

Mais opes

-s IP ou Rede de Origem do pacote


Ex: iptables -I INPUT -s 10.10.0.0/16 -j ACCEPT

-d IP ou Rede de Destino do pacote


Ex: iptables -I OUTPUT -d 10.10.0.0/16 -j ACCEPT

-p Protocolo do pacote

--dport porta destino


Ex: iptables -I INPUT -p tcp --dport 80 -j ACCEPT

--sport porta de origem


Ex: iptables -D OUTPUT -p tcp --dport

-i interface de origem do pacote


Ex: iptables -I INPUT -i eth0 -j ACCEPT

-o interface de destino do pacote


Ex: iptables -O OUTPUT -o eth1 -j ACCEPT

! excluso
Ex: iptables -O OUTPUT ! -s 10.10.0.1 -j ACCEPT

Viso geral da tabela NAT


PREROUTING
nat

Entrada

Deciso de
Roteamento

INPUT
filter

POSTROUTING
nat

FORWARD
filter

Servios Locais

Sada

OUTPUT
filter

Exemplo de Mascaramento

Liberando acesso ao protocolo http na Internet

Internet interface eth0

Rede Interna 10.10.0.0/24


# Habilitando o encaminhamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
# Fornecendo a regra para encaminhamento
iptables -t nat -I POSTROUTING \
-s 10.10.0.0/24 -o eth0

-p tcp --dport 80 -j MASQUERADE

Mais informaes
http://www.netfilter.org
http://focalinux.cipsga.org.br/guia/avancado/ch-fwiptables.htm
http://www.zago.eti.br/firewall/dicas-iptables.html
http://www.eriberto.pro.br/iptables
https://help.ubuntu.com/community/IptablesHowTo

Você também pode gostar