Your SlideShare is downloading. ×
Aula 2 - Instalação de Serviços - Firewall
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Aula 2 - Instalação de Serviços - Firewall

1,719
views

Published on

Conceitos e configuração de firewall stateful no ubuntu

Conceitos e configuração de firewall stateful no ubuntu

Published in: Education

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,719
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Tecnologia em Redes de ComputadoresLaboratório de Instalação de Serviços – RED007 – Parte 2: Firewall Professor: André Peres andre.peres@poa.ifrs.edu.br Instituto Federal do Rio Grande do Sul - IFRS Porto Alegre
  • 2. Mecanismos de Segurança● Segurança Computacional: – Pilares: ● Política ● Mecanismos ● Cultura – Atributos: ● Confidencialidade ● Integridade ● Autenticidade ● Disponibilidade
  • 3. Mecanismos de Segurança● Segurança Computacional: – Objetivos ● Utilizando os pilares, garantir os atributos nos dados e sistemas computacionais ● Dados armazenados, ou em trânsito
  • 4. Mecanismos de Segurança● Comprometimento da segurança: – Ataques a um servidor/equipamento ● Fisicamente via console/hardware (segurança física) ● Via serviço exposto na rede (segurança lógica) – Ataques via rede – Ataque aos dados ● Fisicamente via console/hardware (segurança física) ● Interceptando mídias de backup (segurança física) ● Via exploração de serviços publicados (seg. lógica) – Ataques via rede ● Via interceptação de dados na rede (seg. lógica) – Captura de tráfego da rede ● Via software malicioso (vírus, verme, …) (seg. lógica)
  • 5. Mecanismos de Segurança● Mecanismos de segurança lógica – Minimizar probabilidade de que um servidor seja invadido via rede: ● Instalação segura ● Manutenção de estado seguro – Instalação segura (S.O. e servidores) ● Procedimento de instalação fora da rede ● Limitar exposição de serviços ao mínimo ● Configuração de serviços cautelosa ● Verificação de patches e vulnerabilidades de serviços ● Sistema de prevenção contra software malicioso (anti- vírus) ● Cópia de segurança “dia-zero” ● Colocar servidor em produção
  • 6. Mecanismos de Segurança● Mecanismos de segurança lógica – Manutenção de estado seguro ● Monitoramento do servidor – Uso de recursos – Registros (logs) – Auditoria de servidores periódica ● Atualização de anti-vírus ● Verificação de patches e vulnerabilidades de serviços – Em caso de necessidade de atualizações, fazer testes em um servidor idêntico antes do de produção ● Cópia de segurança periódica
  • 7. Mecanismos de Segurança● Mecanismos de segurança lógica – Serviços (aplicações) adquiridas pela empresa ● Histórico de incidentes de segurança do fornecedor – Número de incidentes – Respostas aos incidentes (lançamento de atualizações) – Políticas de atualizações ● Tecnologias utilizadas para o desenvolvimento – Linguagens – Histórico de incidentes na linguagem utilizada ● Possibilidade de auditoria – Registros (logs) do sistema ● Controles de confidencialidade, autenticidade, integridade, disponibilidade dos dados
  • 8. Mecanismos de Segurança● Mecanismos de segurança lógica – Serviços (aplicações) desenvolvidas pela empresa ● Tecnologias utilizadas para o desenvolvimento – Linguagens – Histórico de incidentes na linguagem utilizada – Plataforma de desenvolvimento segura ● Possibilidade de auditoria – Registros (logs) do sistema ● Controles de confidencialidade, autenticidade, integridade, disponibilidade dos dados
  • 9. Mecanismos de Segurança● Mecanismos de segurança lógica – Em relação à distribuição de serviços nos servidores ● Um servidor físico deve conter apenas serviços que possuam os mesmos requisitos de segurança ● Criação de redes isoladas, conforme os requisitos de segurança ● Virtualização é uma ótima idéia !!!!
  • 10. Mecanismos de Segurança● Mecanismos de segurança lógica – Criação de redes isoladas: ● Utilização de filtros de pacotes (firewalls) ● Funcionalidade: – Análise dos dados de cabeçalhos – Restrição ou liberação de tráfego – Permite controlar a exposição de uma rede ou host na rede ● Tipos: – Firewalls de host → internos ao servidor/estação – Firewalls de rede → entre duas subredes
  • 11. Mecanismos de Segurança● Mecanismos de segurança lógica – Criação de redes isoladas: ● Utilização de filtros de pacotes (firewalls) ● O termo “firewall” identifica uma estrutura, que pode ser formada por diversos elementos: – Filtros de pacotes – Proxy de aplicações ● Esta estrutura deve ser aplicada de acordo com a necessidade da rede ● Controla “quem” (IP) pode acessar “o quê” (IP/porta)
  • 12. Mecanismos de Segurança● Mecanismos de segurança lógica ● Segregação da rede, de acordo com requisitos de segurança
  • 13. Mecanismos de Segurança● Mecanismos de segurança lógica ● Segregação da rede, de acordo com requisitos de segurança ServidoresWeb, email, etc...
  • 14. Mecanismos de Segurança● Mecanismos de segurança lógica ● Segregação da rede, de acordo com requisitos de segurança Servidores restritosPosso ter várias DMZs internasEx:DMZ – Terminal ServiceDMZ – VPNsDMZ – banco de dadosDMZ – ativos de rede…Todo tráfego controlado pelofirewall
  • 15. Mecanismos de Segurança● Mecanismos de segurança lógica ● Segregação da rede, de acordo com requisitos de segurançaRedes isoladas e controladas Através do firewallEx:Infecção por vírus restrita;Acesso às estações de outrasubrede controlado;Isolamento de incidentes;Auditoria facilitada;...
  • 16. Mecanismos de Segurança● Mecanismos de segurança lógica – Apesar da estrutura apresentada possuir 3 elementos de filtragem de pacotes, a implementação prática pode ser realizada por um equipamento único – Obviamente contingenciado...
  • 17. Mecanismos de Segurança● Mecanismos de segurança lógica ● Utilização de hierarquia de IP
  • 18. Mecanismos de Segurança● Mecanismos de segurança lógica – Hierarquia de IP ● Facilita a administração da rede ● Facilita o roteamento (simplificação de rotas) ● Facilita o controle do firewall (simplificação de regras) – Utilizando os mecanismos até agora: ● Servidores instalados utilizando práticas seguras ● Publicação de serviços controlada ● Isolamento de serviços através de camadas ● Isolamento das redes internas
  • 19. Mecanismos de Segurança● Ainda em relação aos acessos aos serviços – Existem serviços públicos ● Que devem estar disponíveis via internet ● Acessados pelos clientes/parceiros, curiosos e atacantes – Existem serviços privados ● Só devem ser acessados internamente ● Se (e somente se) existir necessidade de disponibilizar serviços privados remotamente... – Utilização de mecanismos capazes de garantir a segurança de acesso e auditoria através de redes virtuais privativas (VPN)
  • 20. Firewalls● Filtro de pacotes: – Serviços fornecidos: ● Filtragem de pacotes entre duas redes ● Filtragem de pacotes cujo destino é o próprio firewall ● Filtragem de pacotes originados no firewall ● Redirecionamento de pacotes (DNAT) ● Mascaramento de endereços de origem (SNAT)
  • 21. Firewalls● Filtro de pacotes: – Tipos de filtro de pacotes: ● Stateless: → considera cada pacote de maneira independente → não existe correlacionamento de pacotes → visão antiga de filtros de pacotes → não é aconselhável seu uso ! ● Stateful: → correlaciona pacotes (após um SYN → SYN/ACK → …) → permite liberação apenas do primeiro pacote de uma comunicação (TCP, UDP, ICMP, ...) → deve ser explicitamente configurado
  • 22. Firewalls● Filtro de pacotes: – Exemplo de implementação: Linux – Arquitetura: NetFilter
  • 23. Firewalls● NetFilter : PROCESSOS INTERNOS INPUT OUTPUTPREROUTING roteamento FORWARD POSTROUTING REDE REDE (in) (out)
  • 24. Firewalls● NetFilter : PROCESSOS INTERNOS INPUT OUTPUTPREROUTING roteamento FORWARD POSTROUTING REDE Pacote é recebido pelo filtro REDE (in) via interface de rede (out)
  • 25. Firewalls● NetFilter : PROCESSOS INTERNOS INPUT OUTPUTPREROUTING roteamento FORWARD POSTROUTING REDE São verificadas as regras REDE (in) da PREROUTING (out)
  • 26. Firewalls● NetFilter : PROCESSOS INTERNOS INPUT OUTPUTPREROUTING roteamento FORWARD POSTROUTING Somente após a REDE PREROUTING é realizado o REDE (in) processo de roteamento do (out) pacote
  • 27. Firewalls● NetFilter :Se o IP destino do pacote PROCESSOS for o próprio filtro, são INTERNOS verificadas as regras de INPUT INPUT OUTPUT PREROUTING roteamento FORWARD POSTROUTING REDE REDE (in) (out)
  • 28. Firewalls ● NetFilter : PROCESSOS INTERNOSSe o pacote for liberado pela INPUT, é entregue ao processo interno INPUT OUTPUT PREROUTING roteamento FORWARD POSTROUTING REDE REDE (in) (out)
  • 29. Firewalls● NetFilter : PROCESSOS INTERNOS INPUT OUTPUTPREROUTING roteamento FORWARD POSTROUTING REDE REDE Se após o roteamento, o IP (in) (out) destino não for do filtro, deve encaminhar o pacote
  • 30. Firewalls● NetFilter : PROCESSOS INTERNOS INPUT OUTPUTPREROUTING roteamento FORWARD POSTROUTING REDE REDE (in) Neste caso, são verificadas (out) as regras de FORWARD
  • 31. Firewalls● NetFilter : PROCESSOS INTERNOS INPUT OUTPUTPREROUTING roteamento FORWARD POSTROUTING REDE Antes de sair do filtro, REDE (in) são verificadas as regras (out) da POSTROUINTG
  • 32. Firewalls● NetFilter : PROCESSOS INTERNOS INPUT OUTPUTPREROUTING roteamento FORWARD POSTROUTING REDE Após a POSTROUTING REDE (in) o pacote é entregua para a (out) interface de saída
  • 33. Firewalls● NetFilter : PROCESSOS INTERNOS INPUT OUTPUTPREROUTING roteamento FORWARD POSTROUTING Caso um processo interno REDE queira enviar um pacote para REDE (in) a rede, deve passar pelas (out) regras da OUTPUT
  • 34. Firewalls● NetFilter : PROCESSOS INTERNOS INPUT OUTPUTPREROUTING roteamento FORWARD POSTROUTING Após a OUTPUT REDE passa pela POSTROUTING REDE (in) e é entregue para a interface (out) de saída
  • 35. Firewalls● NetFilter : – Motivo de tantos conjuntos de regras: → organização → cada grupo de regras é responsável por uma função específica no filtro de pacotes – FILTER – filtragem de pacotes ● INPUT, FORWARD, OUTPUT – NAT – redirecionamento (SNAT e DNAT) ● PREROUTING e POSTROUTING
  • 36. Firewalls● NetFilter : PROCESSOS INTERNOS INPUT OUTPUT (FILTER) (FILTER)PREROUTING FORWARD POSTROUTING (DNAT) roteamento (FILTER) (SNAT) REDE REDE (in) (out)
  • 37. Firewalls● NetFilter : – PREROUTING: ● Altera o endereço IP destino de um pacote – POSTROUTING: ● Altera o endereço IP origem de um pacote – INPUT: ● Filtra os pacotes que podem “entrar” no servidor local – OUTPUT: ● Filtra os pacotes que podem “sair” do servidor local – FORWARD: ● Filtra os pacotes que podem “entrar” e/ou “sair” entre as redes
  • 38. Firewalls● NetFilter : – Filtro simples só com SNAT: → 1o passo: transformar a estação em roteador: # echo 1 > /proc/sys/net/ipv4/ip_forward ● Isto diz ao SO que se receber pacotes com IP destino diferente do dele... deve realizar o algoritmo de roteamento e encaminhar o pacote adiante !
  • 39. Firewalls● NetFilter : – Filtro simples só com SNAT: → 2o passo: realizar o mascaramento de pacotes: # iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
  • 40. Firewalls● NetFilter : – Filtro simples só com SNAT: → 2o passo: realizar o mascaramento de pacotes: # iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE Indica que se deseja utilizar as tabelas do tipo: NAT (PREROUTING ou POSTROUTING)
  • 41. Firewalls● NetFilter : – Filtro simples só com SNAT: → 2o passo: realizar o mascaramento de pacotes: # iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE “-A” = ADD na POSTROUNTIG
  • 42. Firewalls● NetFilter : – Filtro simples só com SNAT: → 2o passo: realizar o mascaramento de pacotes: # iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE Aqui se colocam as condições que o pacote deve possuir para que seja aplicada a ação No caso, todos os pacotes que possuem como interface de saída (“-o” = output) a placa de rede eth1
  • 43. Firewalls● NetFilter : – Filtro simples só com SNAT: → 2o passo: realizar o mascaramento de pacotes: # iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE Ação que deve ser executada sobre este pacote
  • 44. Firewalls● NetFilter : – Filtro simples só com SNAT: ● Este exemplo serve como base para situações em SOHO com IPs dinâmicos ● Caso exista um IP fixo, poderia-se trocar a ação a ser executada → ex: ip fixo 143.54.73.1 # iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 143.54.73.1
  • 45. Firewalls● NetFilter : – Para fazer direcionamento a um servidor interno: ● Nas redes internas se utilizam faixas não roteáveis na internet 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 ● Caso se deseje que uma estação interna seja acessível via internet, é necessário redirecionar os pacotes com destino ao filtro para a rede interna ● Ex: estação interna 10.1.0.1 (servidor web porta 80) # iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 10.1.0.1
  • 46. Firewalls● NetFilter : – Próximo passo: filtragem de pacotes ● Primeiro é necessário definir uma política de filtragem ● Default Deny: tudo que não for permitido, será proibido ● Default Permit: tudo que não for proibido será permitido ● A política deve ser definida por tabela
  • 47. Firewalls● NetFilter : – Possíveis ações no filtro: ● ACCEPT (ação ou política) → aceita que o pacote passe ● DROP (ação ou política) → elimina o pacote sem notificação para a origem ● REJECT (ação) → rejeita o pacote notificando a origem ● LOG (ação) → registra o pacote e passa para a próxima regra
  • 48. Firewalls● NetFilter : – Normalmente a política padrão é: ● PREROUTING → política default = ACCEPT ● POSROUTING → política default = ACCEPT ● INPUT → política default = DROP ● OUTPUT → política default = ACCEPT ● FORWARD → política default = DROP
  • 49. Firewalls● NetFilter : – Definindo uma política: # iptables -P FORWARD DROP – A partir dessa definição, todos os pacotes da FORWARD serão automaticamente “dropados” !
  • 50. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P FORWARD DROP iptables -P INPUT DROP ### tornando o firewall statefull ### iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state UNTRACKED -j DROP iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ###
  • 51. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P FORWARD DROP Transforma o filtro em um roteador iptables -P INPUT DROP ### tornando o firewall statefull ### iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state UNTRACKED -j DROP iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ###
  • 52. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward Por padrão as políticas são ACCEPT iptables -P FORWARD DROP então basta configurar as que iptables -P INPUT DROP são “DROP” ### tornando o firewall statefull ### iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state UNTRACKED -j DROP iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ###
  • 53. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P FORWARD DROP ACCEPT para os pacotes que já fazem iptables -P INPUT DROP parte de uma conexão estabelecida ### tornando o firewall statefull ### iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state UNTRACKED -j DROP iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ###
  • 54. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P FORWARD DROP … ou que fazem parte do iptables -P INPUT DROP estabelecimento de uma conexão ### tornando o firewall statefull ### iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state UNTRACKED -j DROP iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ###
  • 55. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P FORWARD DROP Se o pacote não estiver relacionado iptables -P INPUT DROP com uma conexão... DROP ! ### tornando o firewall statefull ### iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state UNTRACKED -j DROP iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ###
  • 56. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P FORWARD DROP Se o pacote não estiver relacionado iptables -P INPUT DROP com uma conexão... DROP ! ### tornando o firewall statefull ### iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state UNTRACKED -j DROP iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ###
  • 57. Firewalls● Configuração básica de um firewall – Se: → o filtro é um roteador → por padrão, DROP em todas os pacotes na INPUT e FORWARD → aceita todos os pacotes que estiverem relacionados com uma conexão – Então: → basta liberar o tráfego de estabelecimento de conexão da origem para o destino !
  • 58. Firewalls● Configuração básica de um firewall ### inicio das regras ### # libera navegacao das estacoes internas iptables -A FORWARD -s 10.1.0.0/24 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 10.1.0.0/24 -p tcp --dport 443 -j ACCEPT # libera envio de email das estacoes internas iptables -A FORWARD -s 10.1.0.0/24 -p tcp --dport 25 -j ACCEPT ………
  • 59. Firewalls● Configuração básica de um firewall – Lembrando por onde passa o pacote: → para permitir acesso da internet para uma máquina interna, é necessário: iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 10.1.0.1 iptables -A FORWARD -d 10.1.0.1 -p tcp --dport 80 -j ACCEPT
  • 60. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P FORWARD DROP iptables -P INPUT DROP ### tornando o firewall statefull ### iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state UNTRACKED -j DROP iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ### iptables -A INPUT -p tcp --dport 22 -j ACCEPT # acesso ssh ao firewall iptables -A FORWARD -s 10.1.0.0/24 -j ACCEPT # estacoes internas com tudo liberado iptables -A FORWARD -d 10.1.0.1 -p tcp --dport 80 -j ACCEPT # acesso ao servidor WEB (10.1.0.1) ### nat ### iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.1.0.1 iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -j MASQUERADE
  • 61. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward Este firewall é roteador e possui política iptables -P FORWARD DROP iptables -P INPUT DROP defautl DENY ### tornando o firewall statefull ### iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state UNTRACKED -j DROP iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ### iptables -A INPUT -p tcp --dport 22 -j ACCEPT # acesso ssh ao firewall iptables -A FORWARD -s 10.1.0.0/24 -j ACCEPT # estacoes internas com tudo liberado iptables -A FORWARD -d 10.1.0.1 -p tcp --dport 80 -j ACCEPT # acesso ao servidor WEB (10.1.0.1) ### nat ### iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.1.0.1 iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -j MASQUERADE
  • 62. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P FORWARD DROP É STATEFULL iptables -P INPUT DROP ### tornando o firewall statefull ### iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state UNTRACKED -j DROP iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ### iptables -A INPUT -p tcp --dport 22 -j ACCEPT # acesso ssh ao firewall iptables -A FORWARD -s 10.1.0.0/24 -j ACCEPT # estacoes internas com tudo liberado iptables -A FORWARD -d 10.1.0.1 -p tcp --dport 80 -j ACCEPT # acesso ao servidor WEB (10.1.0.1) ### nat ### iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.1.0.1 iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -j MASQUERADE
  • 63. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P FORWARD DROP Aceita conexões de SSH para ele iptables -P INPUT DROP ### tornando o firewall statefull ### iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state UNTRACKED -j DROP iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ### iptables -A INPUT -p tcp --dport 22 -j ACCEPT # acesso ssh ao firewall iptables -A FORWARD -s 10.1.0.0/24 -j ACCEPT # estacoes internas com tudo liberado iptables -A FORWARD -d 10.1.0.1 -p tcp --dport 80 -j ACCEPT # acesso ao servidor WEB (10.1.0.1) ### nat ### iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.1.0.1 iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -j MASQUERADE
  • 64. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P FORWARD DROP Libera acesso das estações internas iptables -P INPUT DROP para qualquer serviço ### tornando o firewall statefull ### iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state UNTRACKED -j DROP iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ### iptables -A INPUT -p tcp --dport 22 -j ACCEPT # acesso ssh ao firewall iptables -A FORWARD -s 10.1.0.0/24 -j ACCEPT # estacoes internas com tudo liberado iptables -A FORWARD -d 10.1.0.1 -p tcp --dport 80 -j ACCEPT # acesso ao servidor WEB (10.1.0.1) ### nat ### iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.1.0.1 iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -j MASQUERADE
  • 65. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P FORWARD DROP iptables -P INPUT DROP Permite que estações da internet ### tornando o firewall statefull ### acessem o servidor web 10.1.0.1 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state UNTRACKED -j DROP iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ### iptables -A INPUT -p tcp --dport 22 -j ACCEPT # acesso ssh ao firewall iptables -A FORWARD -s 10.1.0.0/24 -j ACCEPT # estacoes internas com tudo liberado iptables -A FORWARD -d 10.1.0.1 -p tcp --dport 80 -j ACCEPT # acesso ao servidor WEB (10.1.0.1) ### nat ### iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.1.0.1 iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -j MASQUERADE
  • 66. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P FORWARD DROP iptables -P INPUT DROP ### tornando o firewall statefull ### iptables -A INPUT Permite que estações da internet -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP acessem o servidor web 10.1.0.1 iptables -A INPUT -m state --state UNTRACKED -j DROP (DNAT) iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ### iptables -A INPUT -p tcp --dport 22 -j ACCEPT # acesso ssh ao firewall iptables -A FORWARD -s 10.1.0.0/24 -j ACCEPT # estacoes internas com tudo liberado iptables -A FORWARD -d 10.1.0.1 -p tcp --dport 80 -j ACCEPT # acesso ao servidor WEB (10.1.0.1) ### nat ### iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.1.0.1 iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -j MASQUERADE
  • 67. Firewalls● Configuração básica de um firewall ### definicao de roteamento e politica ### echo 1 > /proc/sys/net/ipv4/ip_forward iptables -P FORWARD DROP iptables -P INPUT DROP ### tornando o firewall statefull ### iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP iptables -A INPUT -m state --state UNTRACKED -j DROP Mascara o IP das estações internas iptables -A INPUT -i lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPTpara que acessem a internet iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state INVALID -j DROP iptables -A FORWARD -m state --state UNTRACKED -j DROP iptables -A FORWARD -i lo -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state INVALID -j DROP iptables -A OUTPUT -m state --state UNTRACKED -j DROP iptables -A OUTPUT -o lo -s 127.0.0.0/8 -d 127.0.0.0/8 -j ACCEPT ### inicio das regras ### iptables -A INPUT -p tcp --dport 22 -j ACCEPT # acesso ssh ao firewall iptables -A FORWARD -s 10.1.0.0/24 -j ACCEPT # estacoes internas com tudo liberado iptables -A FORWARD -d 10.1.0.1 -p tcp --dport 80 -j ACCEPT # acesso ao servidor WEB (10.1.0.1) ### nat ### iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.1.0.1 iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -j MASQUERADE
  • 68. Firewalls● CUIDADO ! – As regras são verificadas na ordem ! – Uma regra mais específica não pode estar abaixo de uma regra mais genérica...iptables -A FORWARD -s 10.1.0.0/24 -p tcp --dport 80 -j ACCEPTiptables -A FORWARD -s 10.1.0.10 -p tcp --dport 80 -j DROP O objetivo desta regra é o de que a estação 10.1.0.10 não tenha acesso à porta 80...
  • 69. Firewalls● CUIDADO ! – As regras são verificadas na ordem ! – Uma regra mais específica não pode estar abaixo de uma regra mais genérica...iptables -A FORWARD -s 10.1.0.0/24 -p tcp --dport 80 -j ACCEPTiptables -A FORWARD -s 10.1.0.10 -p tcp --dport 80 -j DROP Porém esta regra é mais abrangente e libera o acesso !!! A segunda regra nunca será verificada !!!
  • 70. Firewalls● CUIDADO ! – As regras são verificadas na ordem ! – Uma regra mais específica não pode estar abaixo de uma regra mais genérica...iptables -A FORWARD -s 10.1.0.10 -p tcp --dport 80 -j DROPiptables -A FORWARD -s 10.1.0.0/24 -p tcp --dport 80 -j ACCEPT Solução... inverter a ordem das regras
  • 71. Firewalls● … e agora ? – Descrever a arquitetura de rede e a política de segurança a ser utilizada – Sem Política não há firewall !!! – Identificar servidores/portas e tipos de acesso → internos → externos – Só depois, partir para a confecção das regras de filtragem
  • 72. Firewalls● EXTRA !!! – Configuração do dyndns → cadastro no www.dyndns.org → instalação do cliente no firewall # apt-get install ddclient → configuração do cliente: /etc/ddclient.conf protocol=dyndns2 use=web, web=checkip.dyndns.com, web-skip=IP Address server=members.dyndns.org login=nome_usuario password=senha nome_usuario.dyndns.org