Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes...

21
Iptables

Transcript of Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes...

Page 1: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Iptables

Page 2: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Firewalls,um pouco sobre...

Page 3: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Firewalls

● Realizam a filtragem de pacotes● Baseando-se em:

– endereço/porta de origem;– endereço/porta de destino;– protocolo;

● Efetuam ações:– Aceitar– Rejeitar– Descartar– Registrar

Page 4: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Firewalls

● Realizam o mascaramento (Proxy)● Geralmente incorporado ao Firewall● Mascarar vários IPs privados em um público

Page 5: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Firewalls

● Na maioria dos casos possui três tipos de fluxos básicos de pacotes de rede, sendo:● Direcionados à máquina onde o firewall está

instalado – INPUT● Direcionados da máquina onde o firewall está

instalado à um destino qualquer – OUTPUT● Encaminhados, repassados, pela máquina onde o

firewall está instalado à outras máquinas na rede interna – FORWARD

● Cada fluxo possui suas regras próprias

Page 6: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Vantagens do Firewall Iptables

Page 7: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Desvantagens de outros Firewalls

● Trabalham na camada de aplicação do TCP/IP, gerando● Retardo● Travamento● Além de poderem ser alvos de antivírus e IDS

Page 8: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Firewall Iptables

● Implementado diretamente no kernel● linux-source/include/linux/netfilter_ipv4/ip_tables.h

● Trabalha na camada de Rede do TCP/IP● Mais rápido● Mais eficiente no tratamento de pacotes

Page 9: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

IPTables

Page 10: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Tabelas IPTables

● Possui três tabelas

● FILTER

– É a tabela padrão (utilizada mesmo se a opção -t não for fornecida). Contém três cadeias de regras:● INPUT → para pacotes destinado a serviços locais da máquina● FORWARD → para pacotes sendo roteados● OUTPUT → para os pacotes gerados localmente

● NAT

– Esta tabela é consultada quando encontra-se um pacote cria uma nova conexão, que deve ser enviado para outro destino. Contém três cadeias de regras:

● 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 alteração 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

Page 11: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Visão geral da tabela Filter

Entrada SaídaDecisão deRoteamento

INPUT OUTPUT

FORWARD

Serviços Locais

Page 12: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Destinos dos Pacotes

● Na tabela Filter, pode-se definir regras que determinam se os pacotes serão:● ACCEPT

– Aceitos → Permite que os pacotes passem.

● DROP– Descartados → Não permite a passagem dos pacotes e não avisa à

origem sobre o descarte.

● REJECT– Rejeitados → Rejeita os pacotes e avisam à origem sobre a rejeição

● LOG– Logados (Registrados) → Armazena informações do pacote em

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

Page 13: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Exemplo em Filter → INPUT

iptables -I INPUT -s <ip confiável> -j ACCEPT

iptables -I INPUT -s <ip suspeito> -j DROP

iptables -I INPUT -s <ip suspeito> -j REJECT

Page 14: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

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

Page 15: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Manipulando IPTables

Page 16: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Manipulação de regras

● Manipulando regras dentro de uma cadeia de regras (chain)● -A → acrescenta nova regra ao fim da lista● -I → acrescenta nova regra ao início da lista● -D pos → remove uma regra da posição pos● -D regra → remove a primeira regra que coincidir● -L → lista as regras na tela

Page 17: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Manipulação de cadeia de regras

● Operações 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 política padrão 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)

Page 18: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Mais opções

● -s → IP ou Rede de Origem do pacoteEx: iptables -I INPUT -s 10.10.0.0/16 -j ACCEPT

● -d → IP ou Rede de Destino do pacoteEx: 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 origemEx: iptables -D OUTPUT -p tcp --dport

● -i → interface de origem do pacoteEx: iptables -I INPUT -i eth0 -j ACCEPT

● -o → interface de destino do pacoteEx: iptables -O OUTPUT -o eth1 -j ACCEPT

● ! → exclusãoEx: iptables -O OUTPUT ! -s 10.10.0.1 -j ACCEPT

Page 19: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Visão geral da tabela NAT

Entrada SaídaDecisão deRoteamento

INPUTfilter

OUTPUTfilter

FORWARDfilter

Serviços Locais

PREROUTINGnat

POSTROUTINGnat

Page 20: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

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

Page 21: Iptables - jeiks.netjeiks.net/wp-content/uploads/2011/06/aula-iptables.pdf · Destinos dos Pacotes Na tabela Filter, pode-se definir regras que determinam se os pacotes serão: ACCEPT

Mais informações

http://www.netfilter.org

http://focalinux.cipsga.org.br/guia/avancado/ch-fw-iptables.htm

http://www.zago.eti.br/firewall/dicas-iptables.html

http://www.eriberto.pro.br/iptables

https://help.ubuntu.com/community/IptablesHowTo