Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

710 views

Published on

Escola Técnica Estadual Aderico Alves de Vasconcelos
Curso: Técnico de Redes de Computadores
Disciplina: Segurança de Dados e Informações
Professor: Fagner Lima

Published in: Education
  • Be the first to comment

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

  1. 1. 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
  2. 2. 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
  3. 3. 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
  4. 4. Conceitos e Terminologias Segurança de Dados e Informações: Aula 5 - Firewall | Iptables Topologia 15/05/2016 Pág. 4
  5. 5. 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
  6. 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. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 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. 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. 14. 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
  15. 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. 16. 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
  17. 17. 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
  18. 18. 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.
  19. 19. 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.
  20. 20. 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.
  21. 21. 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.
  22. 22. 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.
  23. 23. 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
  24. 24. 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).
  25. 25. Iptables Segurança de Dados e Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 25 • Cadeias (Chains)
  26. 26. 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).
  27. 27. Iptables Segurança de Dados e Informações: Aula 5 - Firewall | Iptables Funcionamento 15/05/2016 Pág. 27 • Cadeias (Chains)
  28. 28. 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
  29. 29. 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.
  30. 30. 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
  31. 31. 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.
  32. 32. 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).
  33. 33. 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.
  34. 34. 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.
  35. 35. 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
  36. 36. 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.
  37. 37. 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.
  38. 38. 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.
  39. 39. 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
  40. 40. 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
  41. 41. 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.
  42. 42. 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.
  43. 43. 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
  44. 44. 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
  45. 45. 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
  46. 46. 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
  47. 47. 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
  48. 48. 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
  49. 49. 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
  50. 50. 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
  51. 51. 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
  52. 52. 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
  53. 53. 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
  54. 54. 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 • ...
  55. 55. 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
  56. 56. 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
  57. 57. 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
  58. 58. Iptables Segurança de Dados e Informações: Aula 5 - Firewall | Iptables Regras na Inicialização 15/05/2016 Pág. 58
  59. 59. 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
  60. 60. 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
  61. 61. 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
  62. 62. 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." }
  63. 63. 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
  64. 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. 65. 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

×