Professor Fagner Lima
ete.fagnerlima.pro.br
Curso Técnico de
Redes de Computadores
Segurança de Dados e
Informações
Aula 5
Firewall | Iptables
Conteúdo
• Conceitos e Terminologias
• Tipos de Firewall
• Limitações do Firewall
• Portas Mais Usadas
• Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
15/05/2016 Pág. 2
Conceitos e Terminologias
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Firewall
15/05/2016 Pág. 3
• Solução de segurança
• Combinação de hardware e software
• Análise do tráfego de rede
• Políticas de controle de acesso
• Regras ou instruções
Conceitos e Terminologias
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Topologia
15/05/2016 Pág. 4
Conceitos e Terminologias
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 5
• Princípios nas políticas de firewall:
• Todo o tráfego é permitido
• Exceção do que está bloqueado
• Todo o tráfego é bloqueado
• Exceção do que está autorizado
Tipos de Firewall
• Filtragem de pacotes
• Firewall de aplicação (proxy de serviços)
• Inspeção de estados
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
15/05/2016 Pág. 6
Tipos de Firewall
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Filtragem de Pacotes
15/05/2016 Pág. 7
• Lista de regras
• Estático
• Dados analisados apenas com base nas regras
• Não importando a ligação com outro pacote
• Dinâmico
• Correção das limitações do filtro estático
Tipos de Firewall
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Firewall de Aplicação (Proxy de Serviços)
15/05/2016 Pág. 8
• Intermediário entre duas redes
• Não permite a comunicação direta
• Regras de acesso a endereços externos
• Tarefas complementares:
• Registro do tráfego em arquivo de log
• Armazenamento de conteúdos em cache
• Liberação de recursos com autenticação
Tipos de Firewall
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Inspeção de Estados
15/05/2016 Pág. 9
• Evolução dos filtros dinâmicos
• Comparação entre o que acontece e o esperado
Tipos de Firewall
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Firewall Pessoal
15/05/2016 Pág. 10
• Firewall doméstico
• Não protege um segmento de rede
• Apenas o equipamento onde está instalado
• Deve ser utilizados por qualquer pessoa
Tipos de Firewall
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Firewall de Hardware
15/05/2016 Pág. 11
• Preparado para grandes volumes de dados
• Melhor preparado que um servidor convencional
Limitações do Firewall
• Comprometimento do desempenho da rede
• Revisão periódica das políticas
• Identificação de atividade maliciosa originada e
destinada à rede internet
• Identificação de atividade maliciosa que acontece
por descuido do usuário (ex.: links falsos)
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
15/05/2016 Pág. 12
Portas Mais Usadas
• 21/TCP - FTP
• 22/TCP,UDP - SSH
• 25/TCP,UDP - SMTP
• 53/TCP,UDP - DNS
• 80/TCP - HTTP
• 110/TCP - POP3
• 143/TCP,UDP - IMAP
• 443/TCP - HTTPS
• 1194/UDP - OpenVPN
• 5900/TCP - VNC
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
15/05/2016 Pág. 13
Iptables
• Firewall padrão do Linux
• Front end para o Netfilter
• Funções de firewall, NAT e log
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
15/05/2016 Pág. 14
Iptables
• Algumas aplicações:
• Construir firewalls com filtragem de pacotes
• Usar NAT para compartilhamento de internet
• Usar NAT para implementar proxies
transparentes
• Realizar encaminhamento de portas (DNAT)
• ...
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
15/05/2016 Pág. 15
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
15/05/2016 Pág. 16
• Tabela 1
• Cadeia 1
• Regra 1
• Regra 2
• Regra n
• Cadeia 2
• Regra 1
• Regra 2
• Tabela 1
• Cadeia 1
• Regra 1
• Regra 2
• Cadeia 2
• Regra 1
• Regra 2
• Regra n
Funcionamento
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 17
• Tabelas (Tables)
• Agrupamento de cadeias
• Determina o escopo das regras
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 18
• Tabelas (Tables)
• filter: tabela padrão para manipular pacotes,
usada para configurar políticas para o tráfego
que entra, atravessa ou sai do computador.
• Cadeias: INPUT, OUTPUT e FORWARD.
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 19
• Tabelas (Tables)
• nat: Usada para alterar pacotes que criam uma
nova conexão e para redirecionar conexões
para NAT.
• Cadeias: PREROUTING, INPUT, OUTPUT e
POSTROUTING.
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 20
• Tabelas (Tables)
• mangle: usada para tipos específicos de
alteração de pacotes, como a modificação de
opções do cabeçalho IP de um pacote.
• Cadeias: PREROUTING, INPUT, FORWARD,
OUTPUT e POSTROUTING.
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 21
• Tabelas (Tables)
• raw: marca pacotes que não devem ser
manipulados pelo sistema de rastreamento de
conexões.
• Cadeias: PREROUTING e OUTPUT.
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 22
• Tabelas (Tables)
• security: usada para regras de MAC
(Mandatory Access Control – Controle de
Acesso Obrigatório).
• Cadeias: INPUT, FORWARD e OUTPUT.
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 23
• Cadeias (Chains)
• Conjunto de regras
• Pacote é verificado junto às regras
• Ação associada é executada
• Regras restantes não verificadas
• Se não encontrar, regra padrão (policy)
aplicada
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 24
• Cadeias (Chains)
• INPUT: aplica regras aos pacotes que chegam
ao servidor.
• OUTPUT: aplica regras aos pacotes originados
e que partem do servidor.
• FORWARD: aplica regras aos pacotes roteados
através do servidor (para outro servidor ou outra
interface de rede no mesmo servidor).
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 25
• Cadeias (Chains)
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 26
• Cadeias (Chains)
• PREROUTING: altera pacotes de rede quando
eles chegam e antes do roteamento. Usado
para DNAT (Destination NAT).
• POSTROUTING: altera pacotes de rede após o
roteamento. Usado para SNAT (Source NAT).
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 27
• Cadeias (Chains)
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 28
• Regras (Rules)
• Estrutura geral:
• iptables opção cadeia parâmetros ação
• Exemplos:
• iptables –A INPUT -s 192.168.0.5 -p tcp
-j ACCEPT
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 29
• Regras (Rules)
• Opções principais:
• -P: configura a regra padrão da cadeia.
• -A: anexa a regra no final da cadeia.
• -F: apaga todas as regras na cadeia.
• -L: lista todas as regras da cadeia.
• -h: mostra a ajuda.
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 30
• Regras (Rules)
• Opções principais:
• -I: insere uma regra em uma posição.
• -D: apaga uma regra em uma posição.
• -N: cria uma nova cadeia.
• -X: exclui uma cadeia criada pelo usuário.
• -R: substitui uma regra
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 31
• Regras (Rules)
• Ações embutidas no iptables:
• ACCEPT: permitir pacote.
• DROP: descartar pacote.
• QUEUE: enviar o pacote ao userspace
(código fora do kernel).
• RETURN: descontinuar o processamento do
pacote e aplicar a regra padrão a ele.
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 32
• Regras (Rules)
• Ações adicionais:
• REJECT: descarta o pacote e envia feedback
ao remetente.
• DNAT: reescreve o endereço de destino
(DNAT).
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 33
• Regras (Rules)
• Ações adicionais:
• SNAT: reescreve o endereço de origem
(SNAT).
• LOG: coloca no log informações sobre o
pacote.
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 34
• Regras (Rules)
• Parâmetros:
• -t tabela: especifica a tabela.
• -t nat, -t mangle, -t raw
• A tabela filter é padrão, não precisa ser
especificada.
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 35
• Regras (Rules)
• Parâmetros:
• -j AÇÃO: realiza a ação especificada.
• -j ACCEPT, -j DROP, -j REQUEST
• -p protocolo: especifica o protocolo.
• -p icmp, -p tcp, -p udp, -p all
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 36
• Regras (Rules)
• Parâmetros:
• -s IP: IP de origem do pacote.
• -s 192.168.0.1
• -s 192.168.0.0/24
• -s 0/0
• -d IP: IP de destino do pacote.
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 37
• Regras (Rules)
• Parâmetros:
• -i interface: nome da interface de rede de
entrada do pacote.
• -i eth0, -i eth1
• -o interface: nome da interface de rede de
saída do pacote.
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 38
• Regras (Rules)
• Parâmetros:
• --sport portas: portas de origem.
• -p tcp --sport 80, -p tcp --sport 443
• -p tcp --sport 5000:5050
• --dport portas: portas de destino.
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Funcionamento
15/05/2016 Pág. 39
• Regras (Rules)
• Parâmetros:
• !: operador de negação.
• -i ! eth0
• --syn: identifica nova requisição de conexão.
• --icmp-type: tipo de mensagem ICMP.
• --icmp-type echo-request
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Rastreamento de Conexões
15/05/2016 Pág. 40
• Associação de pacotes com as conexões lógicas
às quais pertencem
• Progresso das conexões através do ciclo de vida
• Extensão conntrack
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Rastreamento de Conexões
15/05/2016 Pág. 41
Estado Descrição
ESTABLISHED A conexão já viu pacotes
trafegando em ambas as direções.
INVALID O pacote não pertence a nenhuma
conexão rastreada.
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Rastreamento de Conexões
15/05/2016 Pág. 42
Estado Descrição
NEW O pacote está iniciando uma nova
conexão ou é parte de uma conexão que
ainda não teve pacotes trafegados em
ambas as direções
RELATED O pacote está iniciando uma nova
conexão, mas a nova conexão é
relacionada a uma conexão já existente.
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
15/05/2016 Pág. 43
• Servidor
• Duas interfaces:
• NAT
• Rede interna
• Clientes
• Uma interface:
• Rede interna
Topologia no VirtualBox
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras
15/05/2016 Pág. 44
• man iptables
• Exibe o manual do iptables
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras
15/05/2016 Pág. 45
• iptables -L
• Lista as regras atuais de todas as cadeias da
tabela filter
• iptables -S
• Lista as regras atuais de uma forma resumida
• iptables -L INPUT
• Lista as regras atuais da cadeia INPUT
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras
15/05/2016 Pág. 46
• iptables -L -t nat
• Lista as regras atuais de todas as cadeias da
tabela nat
• iptables -L --line-numbers
• Lista as regras atuais de todas as cadeias da
tabela filter com suas posições
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras
15/05/2016 Pág. 47
• modprobe iptable_nat
• iptables -A POSTROUTING -t nat -o eth0
-j MASQUERADE
• echo 1 > /proc/sys/net/ipv4/ip_forward
• Compartilhamento de internet
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras
15/05/2016 Pág. 48
• iptables -P INPUT DROP
• Configura a regra padrão (policy) da cadeia
INPUT da tabela filter como DROP
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras
15/05/2016 Pág. 49
• iptables -A INPUT -p tcp --dport 22 -j
ACCEPT
• Libera o acesso SSH por meio da porta 22
• iptables -A INPUT -p tcp --dport 80 -j
ACCEPT
• Libera o acesso web via HTTP
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras
15/05/2016 Pág. 50
• iptables -A INPUT -p tcp --dport 443
-j ACCEPT
• Libera o acesso web via HTTPS
• iptables -I INPUT 1 -s 192.168.0.11 -j
DROP
• Bloqueia o tráfego de um IP específico
• Insere a regra na cadeia INPUT na posição 1
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras
15/05/2016 Pág. 51
• iptables -D INPUT 1
• Remove a regra 1 da cadeia INPUT
• iptables -A INPUT -m mac --mac-source
01:23:45:67:89:AB -j DROP
• Bloqueia o tráfego de um MAC específico
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras
15/05/2016 Pág. 52
• iptables -A INPUT -p icmp --icmp-type
echo-request -j REQUEST
• Bloqueia o ping (requisição) dos clientes para o
servidor e envia uma mensagem
• iptables -A INPUT -p icmp --icmp-type
echo-reply -j ACCEPT
• Libera o ping (resposta) do servidor para os
clientes
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras
15/05/2016 Pág. 53
• iptables -A INPUT -s 192.168.0.11 -j
REJECT --reject-with
icmp-net-unreachable
• Bloqueia os pacotes vindos do IP especificado e
envia uma mensagem personalizada
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras
15/05/2016 Pág. 54
• Alguns tipos de mensagens (--reject-with):
• icmp-net-unreachable
• icmp-host-unreachable
• icmp-port-unreachable
• icmp-proto-unreachable
• ...
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras
15/05/2016 Pág. 55
• iptables -A INPUT -p tcp --dport
5100:5150 -j ACCEPT
• Libera uma faixa de portas para o protocolo
TCP
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras
15/05/2016 Pág. 56
• iptables -A PREROUTING -t nat -i eth1
-p tcp --dport 80 -j DNAT --to
192.168.0.1:80
• iptables -A FORWARD -p tcp -d
192.168.0.1 --dport 80 -j ACCEPT
• Redireciona as conexões TCP que chegam à
interface LAN com destino à interface WAN para
o servidor web local
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras na Inicialização
15/05/2016 Pág. 57
• Crie um arquivo no diretório /etc/init.d
• touch /etc/init.d/iptables.sh
• Edite o arquivo com o script das regras
• nano /etc/init.d/iptables.sh
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras na Inicialização
15/05/2016 Pág. 58
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Regras na Inicialização
15/05/2016 Pág. 59
• Dê permissão para o arquivo ser executado
• chmod +x /etc/init.d/iptables.sh
• Crie um link para o diretório /etc/rc2.d
• ln -s /etc/init.d/iptables.sh
/etc/rc2.d/S99iptables
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Script Exemplo
15/05/2016 Pág. 60
#!/bin/bash
# /etc/init.d/iptables.sh
start() {
echo "[ OK ] Firewall iniciando..."
# Limpeza e inicialização dos módulos
iptables -X
iptables -F
iptables -X -t nat
iptables -F -t nat
modprobe iptable_nat
# Políticas padrão
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Script Exemplo
15/05/2016 Pág. 61
# Compartilhamento de internet
iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "[ OK ] Compartilhamento de internet ativado..."
# Ping
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
# SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Servidor Web
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEP
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Script Exemplo
15/05/2016 Pág. 62
echo "[ OK ] Firewall ativado."
}
stop() {
echo "[ OK ] Desativando firewal..."
# Limpeza dos módulos
iptables -X
iptables -F
iptables -X -t nat
iptables -F -t nat
echo "[ OK ] Firewall desativado."
}
Iptables
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
Script Exemplo
15/05/2016 Pág. 63
case "$1" in
"start") start ;;
"stop") stop ;;
"restart") stop ; start ;;
*) echo "Use os parâmetros start, stop ou restart"
esac
Referências
• O que é firewall? - InfoWester
• http://www.infowester.com/firewall.php
• Firewall – Filipe Raulino
• https://docente.ifrn.edu.br/filiperaulino/disciplinas/gerencia-e-
seguranca-de-redes/aulas/Firewall%20-%20Introducao.pdf
• Firewall Iptables – Fábio Reis
• http://www.planetaunix.com.br/2014/12/firewall-iptables-parte-
01.html
• Firewall iptables no Linux – Bóson Treinamentos
• https://www.youtube.com/watch?v=LJlJlLgkNxg&list=PLucm8g_ezq
NoSuVhriGdoevNcMDECEsgl&index=12
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
15/05/2016 Pág. 64
Referências
• Escrevendo um Script de Firewall – Carlos E. Morimoto
• http://www.hardware.com.br/livros/linux-redes/escrevendo-script-
firewall.html
• Configurando o Iptables e Fazendo Regras Básicas – Thadeu Camargo
• www.tccamargo.com/linux/tutoriais/iptables.html
• Firewall iptables - Guia Foca GNU/Linux
• http://www.guiafoca.org/cgs/guia/avancado/ch-fw-iptables.html
Segurança de Dados e Informações: Aula 5 - Firewall | Iptables
15/05/2016 Pág. 65

Segurança de Dados e Informações - Aula 5 - Firewall | Iptables

  • 1.
    Professor Fagner Lima ete.fagnerlima.pro.br CursoTécnico de Redes de Computadores Segurança de Dados e Informações Aula 5 Firewall | Iptables
  • 2.
    Conteúdo • Conceitos eTerminologias • Tipos de Firewall • Limitações do Firewall • Portas Mais Usadas • Iptables Segurança de Dados e Informações: Aula 5 - Firewall | Iptables 15/05/2016 Pág. 2
  • 3.
    Conceitos e Terminologias Segurançade Dados e Informações: Aula 5 - Firewall | Iptables Firewall 15/05/2016 Pág. 3 • Solução de segurança • Combinação de hardware e software • Análise do tráfego de rede • Políticas de controle de acesso • Regras ou instruções
  • 4.
    Conceitos e Terminologias Segurançade Dados e Informações: Aula 5 - Firewall | Iptables Topologia 15/05/2016 Pág. 4
  • 5.
    Conceitos e Terminologias Segurançade Dados e Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 5 • Princípios nas políticas de firewall: • Todo o tráfego é permitido • Exceção do que está bloqueado • Todo o tráfego é bloqueado • Exceção do que está autorizado
  • 6.
    Tipos de Firewall •Filtragem de pacotes • Firewall de aplicação (proxy de serviços) • Inspeção de estados Segurança de Dados e Informações: Aula 5 - Firewall | Iptables 15/05/2016 Pág. 6
  • 7.
    Tipos de Firewall Segurançade Dados e Informações: Aula 5 - Firewall | Iptables Filtragem de Pacotes 15/05/2016 Pág. 7 • Lista de regras • Estático • Dados analisados apenas com base nas regras • Não importando a ligação com outro pacote • Dinâmico • Correção das limitações do filtro estático
  • 8.
    Tipos de Firewall Segurançade Dados e Informações: Aula 5 - Firewall | Iptables Firewall de Aplicação (Proxy de Serviços) 15/05/2016 Pág. 8 • Intermediário entre duas redes • Não permite a comunicação direta • Regras de acesso a endereços externos • Tarefas complementares: • Registro do tráfego em arquivo de log • Armazenamento de conteúdos em cache • Liberação de recursos com autenticação
  • 9.
    Tipos de Firewall Segurançade Dados e Informações: Aula 5 - Firewall | Iptables Inspeção de Estados 15/05/2016 Pág. 9 • Evolução dos filtros dinâmicos • Comparação entre o que acontece e o esperado
  • 10.
    Tipos de Firewall Segurançade Dados e Informações: Aula 5 - Firewall | Iptables Firewall Pessoal 15/05/2016 Pág. 10 • Firewall doméstico • Não protege um segmento de rede • Apenas o equipamento onde está instalado • Deve ser utilizados por qualquer pessoa
  • 11.
    Tipos de Firewall Segurançade Dados e Informações: Aula 5 - Firewall | Iptables Firewall de Hardware 15/05/2016 Pág. 11 • Preparado para grandes volumes de dados • Melhor preparado que um servidor convencional
  • 12.
    Limitações do Firewall •Comprometimento do desempenho da rede • Revisão periódica das políticas • Identificação de atividade maliciosa originada e destinada à rede internet • Identificação de atividade maliciosa que acontece por descuido do usuário (ex.: links falsos) Segurança de Dados e Informações: Aula 5 - Firewall | Iptables 15/05/2016 Pág. 12
  • 13.
    Portas Mais Usadas •21/TCP - FTP • 22/TCP,UDP - SSH • 25/TCP,UDP - SMTP • 53/TCP,UDP - DNS • 80/TCP - HTTP • 110/TCP - POP3 • 143/TCP,UDP - IMAP • 443/TCP - HTTPS • 1194/UDP - OpenVPN • 5900/TCP - VNC Segurança de Dados e Informações: Aula 5 - Firewall | Iptables 15/05/2016 Pág. 13
  • 14.
    Iptables • Firewall padrãodo Linux • Front end para o Netfilter • Funções de firewall, NAT e log Segurança de Dados e Informações: Aula 5 - Firewall | Iptables 15/05/2016 Pág. 14
  • 15.
    Iptables • Algumas aplicações: •Construir firewalls com filtragem de pacotes • Usar NAT para compartilhamento de internet • Usar NAT para implementar proxies transparentes • Realizar encaminhamento de portas (DNAT) • ... Segurança de Dados e Informações: Aula 5 - Firewall | Iptables 15/05/2016 Pág. 15
  • 16.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables 15/05/2016 Pág. 16 • Tabela 1 • Cadeia 1 • Regra 1 • Regra 2 • Regra n • Cadeia 2 • Regra 1 • Regra 2 • Tabela 1 • Cadeia 1 • Regra 1 • Regra 2 • Cadeia 2 • Regra 1 • Regra 2 • Regra n Funcionamento
  • 17.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 17 • Tabelas (Tables) • Agrupamento de cadeias • Determina o escopo das regras
  • 18.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 18 • Tabelas (Tables) • filter: tabela padrão para manipular pacotes, usada para configurar políticas para o tráfego que entra, atravessa ou sai do computador. • Cadeias: INPUT, OUTPUT e FORWARD.
  • 19.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 19 • Tabelas (Tables) • nat: Usada para alterar pacotes que criam uma nova conexão e para redirecionar conexões para NAT. • Cadeias: PREROUTING, INPUT, OUTPUT e POSTROUTING.
  • 20.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 20 • Tabelas (Tables) • mangle: usada para tipos específicos de alteração de pacotes, como a modificação de opções do cabeçalho IP de um pacote. • Cadeias: PREROUTING, INPUT, FORWARD, OUTPUT e POSTROUTING.
  • 21.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 21 • Tabelas (Tables) • raw: marca pacotes que não devem ser manipulados pelo sistema de rastreamento de conexões. • Cadeias: PREROUTING e OUTPUT.
  • 22.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 22 • Tabelas (Tables) • security: usada para regras de MAC (Mandatory Access Control – Controle de Acesso Obrigatório). • Cadeias: INPUT, FORWARD e OUTPUT.
  • 23.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 23 • Cadeias (Chains) • Conjunto de regras • Pacote é verificado junto às regras • Ação associada é executada • Regras restantes não verificadas • Se não encontrar, regra padrão (policy) aplicada
  • 24.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 24 • Cadeias (Chains) • INPUT: aplica regras aos pacotes que chegam ao servidor. • OUTPUT: aplica regras aos pacotes originados e que partem do servidor. • FORWARD: aplica regras aos pacotes roteados através do servidor (para outro servidor ou outra interface de rede no mesmo servidor).
  • 25.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 25 • Cadeias (Chains)
  • 26.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 26 • Cadeias (Chains) • PREROUTING: altera pacotes de rede quando eles chegam e antes do roteamento. Usado para DNAT (Destination NAT). • POSTROUTING: altera pacotes de rede após o roteamento. Usado para SNAT (Source NAT).
  • 27.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 27 • Cadeias (Chains)
  • 28.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 28 • Regras (Rules) • Estrutura geral: • iptables opção cadeia parâmetros ação • Exemplos: • iptables –A INPUT -s 192.168.0.5 -p tcp -j ACCEPT
  • 29.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 29 • Regras (Rules) • Opções principais: • -P: configura a regra padrão da cadeia. • -A: anexa a regra no final da cadeia. • -F: apaga todas as regras na cadeia. • -L: lista todas as regras da cadeia. • -h: mostra a ajuda.
  • 30.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 30 • Regras (Rules) • Opções principais: • -I: insere uma regra em uma posição. • -D: apaga uma regra em uma posição. • -N: cria uma nova cadeia. • -X: exclui uma cadeia criada pelo usuário. • -R: substitui uma regra
  • 31.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 31 • Regras (Rules) • Ações embutidas no iptables: • ACCEPT: permitir pacote. • DROP: descartar pacote. • QUEUE: enviar o pacote ao userspace (código fora do kernel). • RETURN: descontinuar o processamento do pacote e aplicar a regra padrão a ele.
  • 32.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 32 • Regras (Rules) • Ações adicionais: • REJECT: descarta o pacote e envia feedback ao remetente. • DNAT: reescreve o endereço de destino (DNAT).
  • 33.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 33 • Regras (Rules) • Ações adicionais: • SNAT: reescreve o endereço de origem (SNAT). • LOG: coloca no log informações sobre o pacote.
  • 34.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 34 • Regras (Rules) • Parâmetros: • -t tabela: especifica a tabela. • -t nat, -t mangle, -t raw • A tabela filter é padrão, não precisa ser especificada.
  • 35.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 35 • Regras (Rules) • Parâmetros: • -j AÇÃO: realiza a ação especificada. • -j ACCEPT, -j DROP, -j REQUEST • -p protocolo: especifica o protocolo. • -p icmp, -p tcp, -p udp, -p all
  • 36.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 36 • Regras (Rules) • Parâmetros: • -s IP: IP de origem do pacote. • -s 192.168.0.1 • -s 192.168.0.0/24 • -s 0/0 • -d IP: IP de destino do pacote.
  • 37.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 37 • Regras (Rules) • Parâmetros: • -i interface: nome da interface de rede de entrada do pacote. • -i eth0, -i eth1 • -o interface: nome da interface de rede de saída do pacote.
  • 38.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 38 • Regras (Rules) • Parâmetros: • --sport portas: portas de origem. • -p tcp --sport 80, -p tcp --sport 443 • -p tcp --sport 5000:5050 • --dport portas: portas de destino.
  • 39.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 39 • Regras (Rules) • Parâmetros: • !: operador de negação. • -i ! eth0 • --syn: identifica nova requisição de conexão. • --icmp-type: tipo de mensagem ICMP. • --icmp-type echo-request
  • 40.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Rastreamento de Conexões 15/05/2016 Pág. 40 • Associação de pacotes com as conexões lógicas às quais pertencem • Progresso das conexões através do ciclo de vida • Extensão conntrack
  • 41.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Rastreamento de Conexões 15/05/2016 Pág. 41 Estado Descrição ESTABLISHED A conexão já viu pacotes trafegando em ambas as direções. INVALID O pacote não pertence a nenhuma conexão rastreada.
  • 42.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Rastreamento de Conexões 15/05/2016 Pág. 42 Estado Descrição NEW O pacote está iniciando uma nova conexão ou é parte de uma conexão que ainda não teve pacotes trafegados em ambas as direções RELATED O pacote está iniciando uma nova conexão, mas a nova conexão é relacionada a uma conexão já existente.
  • 43.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables 15/05/2016 Pág. 43 • Servidor • Duas interfaces: • NAT • Rede interna • Clientes • Uma interface: • Rede interna Topologia no VirtualBox
  • 44.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras 15/05/2016 Pág. 44 • man iptables • Exibe o manual do iptables
  • 45.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras 15/05/2016 Pág. 45 • iptables -L • Lista as regras atuais de todas as cadeias da tabela filter • iptables -S • Lista as regras atuais de uma forma resumida • iptables -L INPUT • Lista as regras atuais da cadeia INPUT
  • 46.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras 15/05/2016 Pág. 46 • iptables -L -t nat • Lista as regras atuais de todas as cadeias da tabela nat • iptables -L --line-numbers • Lista as regras atuais de todas as cadeias da tabela filter com suas posições
  • 47.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras 15/05/2016 Pág. 47 • modprobe iptable_nat • iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE • echo 1 > /proc/sys/net/ipv4/ip_forward • Compartilhamento de internet
  • 48.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras 15/05/2016 Pág. 48 • iptables -P INPUT DROP • Configura a regra padrão (policy) da cadeia INPUT da tabela filter como DROP
  • 49.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras 15/05/2016 Pág. 49 • iptables -A INPUT -p tcp --dport 22 -j ACCEPT • Libera o acesso SSH por meio da porta 22 • iptables -A INPUT -p tcp --dport 80 -j ACCEPT • Libera o acesso web via HTTP
  • 50.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras 15/05/2016 Pág. 50 • iptables -A INPUT -p tcp --dport 443 -j ACCEPT • Libera o acesso web via HTTPS • iptables -I INPUT 1 -s 192.168.0.11 -j DROP • Bloqueia o tráfego de um IP específico • Insere a regra na cadeia INPUT na posição 1
  • 51.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras 15/05/2016 Pág. 51 • iptables -D INPUT 1 • Remove a regra 1 da cadeia INPUT • iptables -A INPUT -m mac --mac-source 01:23:45:67:89:AB -j DROP • Bloqueia o tráfego de um MAC específico
  • 52.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras 15/05/2016 Pág. 52 • iptables -A INPUT -p icmp --icmp-type echo-request -j REQUEST • Bloqueia o ping (requisição) dos clientes para o servidor e envia uma mensagem • iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT • Libera o ping (resposta) do servidor para os clientes
  • 53.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras 15/05/2016 Pág. 53 • iptables -A INPUT -s 192.168.0.11 -j REJECT --reject-with icmp-net-unreachable • Bloqueia os pacotes vindos do IP especificado e envia uma mensagem personalizada
  • 54.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras 15/05/2016 Pág. 54 • Alguns tipos de mensagens (--reject-with): • icmp-net-unreachable • icmp-host-unreachable • icmp-port-unreachable • icmp-proto-unreachable • ...
  • 55.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras 15/05/2016 Pág. 55 • iptables -A INPUT -p tcp --dport 5100:5150 -j ACCEPT • Libera uma faixa de portas para o protocolo TCP
  • 56.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras 15/05/2016 Pág. 56 • iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.0.1:80 • iptables -A FORWARD -p tcp -d 192.168.0.1 --dport 80 -j ACCEPT • Redireciona as conexões TCP que chegam à interface LAN com destino à interface WAN para o servidor web local
  • 57.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras na Inicialização 15/05/2016 Pág. 57 • Crie um arquivo no diretório /etc/init.d • touch /etc/init.d/iptables.sh • Edite o arquivo com o script das regras • nano /etc/init.d/iptables.sh
  • 58.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras na Inicialização 15/05/2016 Pág. 58
  • 59.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Regras na Inicialização 15/05/2016 Pág. 59 • Dê permissão para o arquivo ser executado • chmod +x /etc/init.d/iptables.sh • Crie um link para o diretório /etc/rc2.d • ln -s /etc/init.d/iptables.sh /etc/rc2.d/S99iptables
  • 60.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Script Exemplo 15/05/2016 Pág. 60 #!/bin/bash # /etc/init.d/iptables.sh start() { echo "[ OK ] Firewall iniciando..." # Limpeza e inicialização dos módulos iptables -X iptables -F iptables -X -t nat iptables -F -t nat modprobe iptable_nat # Políticas padrão iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP
  • 61.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Script Exemplo 15/05/2016 Pág. 61 # Compartilhamento de internet iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward echo "[ OK ] Compartilhamento de internet ativado..." # Ping iptables -A INPUT -p icmp --icmp-type echo-request -j DROP iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT # SSH iptables -A INPUT -p tcp --dport 22 -j ACCEPT # Servidor Web iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEP
  • 62.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Script Exemplo 15/05/2016 Pág. 62 echo "[ OK ] Firewall ativado." } stop() { echo "[ OK ] Desativando firewal..." # Limpeza dos módulos iptables -X iptables -F iptables -X -t nat iptables -F -t nat echo "[ OK ] Firewall desativado." }
  • 63.
    Iptables Segurança de Dadose Informações: Aula 5 - Firewall | Iptables Script Exemplo 15/05/2016 Pág. 63 case "$1" in "start") start ;; "stop") stop ;; "restart") stop ; start ;; *) echo "Use os parâmetros start, stop ou restart" esac
  • 64.
    Referências • O queé firewall? - InfoWester • http://www.infowester.com/firewall.php • Firewall – Filipe Raulino • https://docente.ifrn.edu.br/filiperaulino/disciplinas/gerencia-e- seguranca-de-redes/aulas/Firewall%20-%20Introducao.pdf • Firewall Iptables – Fábio Reis • http://www.planetaunix.com.br/2014/12/firewall-iptables-parte- 01.html • Firewall iptables no Linux – Bóson Treinamentos • https://www.youtube.com/watch?v=LJlJlLgkNxg&list=PLucm8g_ezq NoSuVhriGdoevNcMDECEsgl&index=12 Segurança de Dados e Informações: Aula 5 - Firewall | Iptables 15/05/2016 Pág. 64
  • 65.
    Referências • Escrevendo umScript de Firewall – Carlos E. Morimoto • http://www.hardware.com.br/livros/linux-redes/escrevendo-script- firewall.html • Configurando o Iptables e Fazendo Regras Básicas – Thadeu Camargo • www.tccamargo.com/linux/tutoriais/iptables.html • Firewall iptables - Guia Foca GNU/Linux • http://www.guiafoca.org/cgs/guia/avancado/ch-fw-iptables.html Segurança de Dados e Informações: Aula 5 - Firewall | Iptables 15/05/2016 Pág. 65