Você está na página 1de 21

Segurana em Redes e Sistemas Informticos

UA

ESTGA

Firewall em Linux

Firewall em Linux 1

Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Objectivos
Definio de polticas de segurana Configurao de mecanismos de segurana (Firewalls, IPtables e IPChains)

ESTGA

Firewall em Linux 2

Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Firewalls
Introduo
O Linux possui um mecanismo de firewall que permite controlar com grande exactido quem tem acesso a cada porto IP dos nossos sistemas
Existem trs implementaes de firewall:
O ipfwadm foi a primeira implementao para kernel de Linux (v 2.0) O ipchains passou a ser includo na verso 2.2 do kernel O iptables passou a ser includo a partir da verso 2.4 do kernel e bastante mais poderoso do que os seus antecessores
Firewall em Linux 3 Antnio Amaral

ESTGA

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
O iptables um firewall que funciona ao nvel de pacotes IP (baseado no endereo/porta de origem/destino do pacote, prioridade, etc), atravs da comparao de regras para determinar se um pacote tem ou no permisso para ser encaminhado.

ESTGA

Em firewalls mais restritivos, o pacote bloqueado e registado para que o administrador do sistema tenha conhecimento sobre o que est a acontecer no sistema que gere.

Firewall em Linux 4

Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Caractersticas
Especificao de portas/endereo de origem/destino Suporte dos protocolos TCP/UDP/ICMP (incluindo tipos de mensagens icmp) Suporte de interfaces de origem/destino de pacotes Tratamento de trfego dividido em chains (para melhor controlo do trfego que entra/sai da mquina e do trfego redirecionado). Manipula servios de proxy na rede Permite um nmero ilimitado de regras por chain Muito rpido, estvel e seguro Possui mecanismos internos para rejeitar automaticamente pacotes duvidosos ou mal formados. Suporte a mdulos externos para expanso das funcionalidades padres oferecidas pelo cdigo do firewall
Firewall em Linux 5 Antnio Amaral

ESTGA

Segurana em Redes e Sistemas Informticos

UA

Firewalls
Caractersticas

IPTables

ESTGA

Suporte completo a encaminhamento de pacotes Suporte a especificao do tipo de servio para priorizar o trfego de determinados tipos de pacotes. Permite especificar excepes para as regras ou para parte das regras Suporte a deteco de fragmentos Permite enviar alertas personalizados ao syslog sobre o trfego aceite ou bloqueado Redirecionamento de portas Masquerading Suporte de SNAT (modificao do endereo de origem das mquinas para um nico IP ou faixa de IP's). Suporte a DNAT (modificao do endereo de destino das mquinas para um nico IP ou faixa de IP's) Contagem de pacotes que atravessaram uma interface/regra Limitao do encaminhamento de determinados pacotes de regra (muito til para criar protees contra ataques syn flood, ping flood, DoS, etc)
Firewall em Linux 6 Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Requisitos
necessrio que o kernel seja compilado com suporte de iptables Como as configuraes residem no kernel no necessrio espao extra no disco rgido para a execuo desta ferramenta

ESTGA

Arquivos de logs
Todo trfego que for registado pelo iptables encontra-se no ficheiro /var/log/messages

Firewall em Linux 7

Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Tipos de firewall
Ao nvel de pacotes toma as decises baseadas nos parmetros do pacote, como por exemplo porta/endereo de origem/destino, estado da ligao,O firewall pode bloquear o pacote (DROP) ou deix-lo passar (ACCEPT).

ESTGA

O que proteger?
Quais os servios que devem ter acesso garantido a utilizadores externos e quais os que sero bloqueados a todas/determinadas mquinas. recomendvel bloquear o acesso a todas portas inferiores ao nmero 1024, porque so usadas por servios executados com privilgio de root, e autorizar apenas o acesso as portas que realmente sejam necessrias Que mquinas tero acesso livre e quais tero acesso restrito Que servios devero ter prioridade no processamento O volume de trfego que o servidor manipular

Firewall em Linux 8

Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Regras
As regras so comandos passados ao iptables para que realize uma determinada ao (como bloquear ou deixar passar um pacote) So armazenadas dentro de cadeias (chains) e processadas pela ordem com que so inseridas So armazenadas no kernel, o que significa que quando o computador reiniciado as regras so apagadas; soluo: criar um script com o conjunto de regras definidas para ser executado no arranque do sistema

ESTGA

Cadeias (chains) Armazenam as regras definidas no firewall. Existem trs tipos de cadeias: cadeias do sistema: INPUT (para os pacotes que entram no sistema), OUTPUT (para os pacotes que saem do sistema) e FORWARD (para os pacotes encaminhados entre uma interface de rede e outra interface de rede). cadeias configuradas pelos utilizadores, que permitem tornar o firewall mais flexvel e melhorar o desempenho especialmente em firewalls complexos (com muitas regras j que podem ser subdivididas em grupos
Firewall em Linux 9 Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Tabelas
So os locais usados para armazenar as cadeias. Existem 3 tabelas disponveis no iptables filter tabela padro (INPUT, OUTPUT, FORWARD) nat usada para estabelecer outra ligao usando as funcionalidades de masquerading, source nat, destination nat, ... (PREROUTING Consultada quando os pacotes precisam ser modificados logo que chegam (DNAT e redirecionamento de portas), POSTROUTING Consultada quando os pacotes precisam ser modificados aps ser verificado o encaminhamento (SNAT e IP Masquerading) e OUTPUT (Consultada quando os pacotes gerados localmente precisam ser modificados antes de serem encaminhados)) mangle Utilizada para alteraes especiais de pacotes (modificar o tipo de servio (TOS))
Firewall em Linux 10 Antnio Amaral

ESTGA

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Operaes de definio de regras
Opo
-A -I -R -D -L -F

ESTGA

Significado
Adicionar uma nova regra a uma cadeia de regras Inserir uma nova regra, numa posio definida Substituir uma regra existente Apagar uma regra Listar regras existentes Limpar uma cadeia de regras

Opo
--dport --sport -i -o -t

Significado
Especfica o porto destino Especfica o porto origem Especfica a interface de entrada Especfica a interface de sada Especifica a tabela

-Z
-X -N -P -j -p -d -s

Limpar contadores de pacotes


Eliminar uma cadeia de regras Criar uma nova cadeia de regras Policiamento padro de uma cadeia Alvo da regra (define o destino do pacote que atravessa a regra) Especfica o protocolo Especfica o endereo destino Especfica o endereo origem

Firewall em Linux 11

Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Aces definidas por cada regra
Aco
ACCEPT REJECT DROP LOG MARK SNAT DNAT MASQUERADE REDIRECT MIRROR RETURN O pacote aceite O pacote rejeitado e a origem notificada disso O pacote rejeitado e a origem no notificada Regista cada ocorrncia de pacotes que obedeam a esse filtro nos logs do sistema Marca os pacotes para processamento posterior

ESTGA

Significado

Source Network Address Translation Altera o endereo de origem dos pacotes Destination Network Address Translation Altera o endereo destino dos pacotes
Executa IP Masquerading Aplica snat nos pacotes enviados para o exterior e dnat nas respostas Redirecciona os pacotes para um porto IP da prpria mquina Troca os pacotes de origem e destino Sai da cadeia de processamento actual, retornando cadeia anterior, que havia invocado a actual

Firewall em Linux 12

Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Exemplo1 de manipulao de regras
Testar a conectividade com o endereo loopback

ESTGA

Criar um regra na cadeia INPUT

Firewall em Linux 13

Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Exemplo2 de manipulao de regras
Listar as regras existentes

ESTGA

Firewall em Linux 14

Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables

ESTGA

Exemplo3 de manipulao de regras


Para apagar uma regra existem duas alternativas
Quando sabemos qual o nmero da regra na cadeia (atravs da opo -L) podemos referenciar o nmero diretamente

Usamos a mesma sintaxe para criar a regra na cadeia, mas trocamos a opo -A pela opo -D

Exemplo4 de manipulao de regras


Inserir uma regra

Firewall em Linux 15

Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Exemplo5 de manipulao de regras
Para inserir uma regra existem duas alternativas
apagar a regra e inserir uma nova modificar diretamente a regra j criada sem afetar outras regras existentes, mantendo a sua ordem na cadeia

ESTGA

Exemplo6 de manipulao de regras


Criar uma nova cadeia (por exemplo para grupar regras da Internet)

Para inserir regras na nova cadeia internet

O ficheiro /proc/net/ip_tables_names contm os nomes de todos os canais criados. Na diretoria /proc/net tambm existem outros ficheiros teis
Antnio Amaral

Firewall em Linux 16

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Exemplo7 de manipulao de regras
Apagar as regras de uma cadeia
Se no for especificada a cadeia so apagas as regras de todas as cadeias

ESTGA

Exemplo8 de manipulao de regras


Apagar uma cadeia criada pelo utilizador

Caso no seja especificada a cadeia so apagadas todas as cadeias definidas pelo utilizador

Exemplo9 de manipulao de regras


Reset dos contadores (campo pkts e bytes) Caso no seja especificado, todos as cadeias da tabela passaro a ter os contadores com o valor zero
Antnio Amaral

Firewall em Linux 17

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Exemplo10 de manipulao de regras
Especificao do policiamento padro de uma cadeia

ESTGA

Exemplo11 de manipulao de regras


Operar sobre redes

Firewall em Linux 18

Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Exemplo12 de manipulao de regras
Operar sobre interfaces de entrada e sada
Nem todos as cadeias aceitam as interfaces de origem/destino simultaneamente; a interface de entrada (-i) nunca poder ser especificada numa cadeia OUTPUT e a interface de sada (-o) nunca poder ser especificada numa cadeia INPUT

ESTGA

Exemplo13 de manipulao de regras


Especificar um protocolo

Firewall em Linux 19

Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Exemplo14 de manipulao de regras
Especificar uma excepo

ESTGA

Firewall em Linux 20

Antnio Amaral

Segurana em Redes e Sistemas Informticos

UA

Firewalls
IPTables
Proteco contra ataques tpicos
Ping flood

ESTGA

Syn flood

IP spoofing

Firewall em Linux 21

Antnio Amaral