Boa dia!!



       Marcus Augustus Pereira Burghardt
     LPIC-1, MCLNA, MCLSA e MCTS Security


            marcus.apb@g...
Iptables

Técnicas Avançadas de Segurança com Iptables

Nível:         - Avançado.


Assuntos:      - Extensões do Iptable...
Extensões do Iptables

   São módulos que, quando carregados, permitem incrementar
    as regras com diversas funcionalid...
Extensão ”recent”

   Nos permite criar listas de hosts dinamicamente de acordo com
    critérios que acharmos necessário...
Topologia Usada
Port Knock

   Consiste em bater na porta para que ela se abra, ou seja, eu
    preciso pedir ao firewall para que determ...
Port Knock

Exemplo de regra:


# Libero ssh apenas por 120 segundos e somente para quem estiver na lista
SSHOK.

iptables...
Multiport Port Knock

   Uma extensão do Port Knock que nos permite fazer uma
    liberação de porta somente após uma seq...
Multiport Port Knock

Exemplo de regra:
iptables -A INPUT -p tcp --dport 10001 -m recent --set --name SSH1

iptables -A IN...
Port Scan

   No momento que é feita uma tentativa de acesso à uma porta
    que não está ativa, adicionamos o host em um...
Port Scan

Exemplo de regra:


# Caso um host da lista SUSPEITO passe aqui 4 vezes será bloqueado por 1
hora.

iptables -A...
Brute Force

   Um ataque de força bruta ou mesmo por dicionários consiste
    em fazer inumeras tentativas de autenticaç...
Brute Force

Exemplo de regra:


# Se um host da lista NOVOSSH tentar acesso na porta 22 duas vezes será
bloqueado por 60 ...
Regra Reflexiva

   Regra reflexiva, neste caso, é uma regra relacionada ao seu
    sentido oposto.


   Exemplo: Precis...
Regra Reflexiva

Exemplo de regra:


# Caso o host esteja na lista CONFIAVEL, libero a porta 22 por 60 segundos.

iptables...
Referências


         Para esta apresentação:
              $ man iptables


         Para informações extras:
          ...
Obrigado!


              DÚVIDAS??


      Marcus Augustus Pereira Burghardt
    LPIC-1, MCLNA, MCLSA e MCTS Security


 ...
Upcoming SlideShare
Loading in …5
×

Técnicas avancadas de seguranca com iptables - Marcus Augustus Pereira Burghardt

4,244 views

Published on

Técnicas Avançadas de Segurança com Iptables (Marcus Augustus Pereira Burghardt)

Desvendaremos as artemanhas do Iptables que permitem construirmos regras de defesa avançadas e efetivas contra Port Scan, Força Bruta e DoS mais simples. Técnicas de Port Knock para garantir acessos seguros. Regras reflexivas para interagirem com comandos de rede executados pelo Administrador sem a necessidade de modificar a estrutura de regras do Firewall. A mesma palestra foi apresentada no Fórum Internacional do Software Livre - Edição 10 no ano passado.

Marcus Augustus Pereira Burghardt

Especialista em Linux, Network, Forense e demais ramos da Segurança da Informação. Atualmente trabalho como Analista de Segurança da Informação do Grupo Voges. E também como instrutor e consultor nas horas vagas. Instrutor de cursos especializados de Segurança da Informação e Servidores Linux. Palestrante ativo de eventos comunitários como FISL10, TcheLinux, etc. Tecnólogo em Redes de Computadores pela FTEC - Caxias do Sul. Certificações LPIC-1, CLA, MCLNA, MCLSA e MCTS Security.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,244
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
228
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Técnicas avancadas de seguranca com iptables - Marcus Augustus Pereira Burghardt

  1. 1. Boa dia!! Marcus Augustus Pereira Burghardt LPIC-1, MCLNA, MCLSA e MCTS Security marcus.apb@gmail.com http://mapburghardt.blogspot.com
  2. 2. Iptables Técnicas Avançadas de Segurança com Iptables Nível: - Avançado. Assuntos: - Extensões do Iptables. - Técnicas de Defesas. - Exemplos práticos. Pré-requisitos: - Noções de conexões TCP/IP e iptables.
  3. 3. Extensões do Iptables  São módulos que, quando carregados, permitem incrementar as regras com diversas funcionalidades;  Extensões básicas: multiport, state, limit, etc.  Extensões interessantes: conntrack, connlimit, recent, etc.  Mais detalhes em $ man iptables Exemplo de regra carregando a extensão multiport: # iptables -A OUTPUT -p tcp -m multiport --dports 21,80 -j ACCEPT
  4. 4. Extensão ”recent”  Nos permite criar listas de hosts dinamicamente de acordo com critérios que acharmos necessários e posteriormente criar ações baseadas nessas listas. Exemplos de listas:  Todos os hosts que tentaram acessar determinada porta do meu servidor.  Todos os hosts que tentaram um fazer um port-scan na minha rede.  Estações da minha rede interna que tentaram acessar determinado site.
  5. 5. Topologia Usada
  6. 6. Port Knock  Consiste em bater na porta para que ela se abra, ou seja, eu preciso pedir ao firewall para que determinada porta seja liberada para mim. Como usar essa regra? Exemplos:  Preciso acesso ssh apenas para mim mas não tenho IP fixo.  Não quero que as pessoas vejam uma porta aberta.
  7. 7. Port Knock Exemplo de regra: # Libero ssh apenas por 120 segundos e somente para quem estiver na lista SSHOK. iptables -A INPUT -p tcp --dport 22 -m recent --rcheck --name SSHOK --seconds 120 -j ACCEPT # O host que me mandar um pacote tcp na porta 12345 será adicionado na lista SSHOK. iptables -A INPUT -p tcp --dport 12345 -m recent --set --name SSHOK
  8. 8. Multiport Port Knock  Uma extensão do Port Knock que nos permite fazer uma liberação de porta somente após uma sequência definida de pacotes.  Podemos fazer uma analogia com uma senha, ou seja, somente quem souber a sequência correta de pacotes poderá acessar determinada porta.  Permite níveis bem complexos e nesses casos uma dica seria criar um script que envie a sequência correta de pacotes automaticamente.
  9. 9. Multiport Port Knock Exemplo de regra: iptables -A INPUT -p tcp --dport 10001 -m recent --set --name SSH1 iptables -A INPUT -p tcp --dport 20002 -m recent --rcheck --name SSH1 -j ATUALIZA1 iptables -A INPUT -p tcp --dport 30003 -m recent --rcheck --name SSH2 -j ATUALIZA2 iptables -A INPUT -p tcp --dport 22 -m recent --rcheck --name SSH3 -j ACCEPT # Estas chains removem o host da lista antiga e o adicionam em uma nova lista. iptables -A ATUALIZA1 -m recent --remove --name SSH1 iptables -A ATUALIZA1 -m recent --set --name SSH2 iptables -A ATUALIZA2 -m recent --remove --name SSH2 iptables -A ATUALIZA2 -m recent --set --name SSH3
  10. 10. Port Scan  No momento que é feita uma tentativa de acesso à uma porta que não está ativa, adicionamos o host em uma lista e abrimos uma contagem de quantos pacotes semelhantes serão aceitos até bloquear este host.  Implementada no final das regras de acesso de uma chain, ou seja, sempre que algum pacote não casar com alguma porta habilitada a contagem é incrementada.  Este tipo de tráfego normalmente classifica um port scan.
  11. 11. Port Scan Exemplo de regra: # Caso um host da lista SUSPEITO passe aqui 4 vezes será bloqueado por 1 hora. iptables -A INPUT -m recent --update --hitcount 4 --name SUSPEITO --seconds 3600 -j DROP # Aceito conexões normalmente nas portas 22 e 80. iptables -A INPUT -p tcp -m multiport --dports 20,80 -j ACCEPT # Apenas se um host tentar acessar alguma porta não habilitada será adicionado na lista suspeito. iptables -A INPUT -m recent --set --name SUSPEITO
  12. 12. Brute Force  Um ataque de força bruta ou mesmo por dicionários consiste em fazer inumeras tentativas de autenticação com usuários e/ou senhas diferentes até conseguir sucesso.  Algumas aplicações já fazem o controle superficial através de um time-out, por exemplo. Mas como garantir que determinada aplicação fará um controle efetivo de ataques assim?  Podemos garantir essa defesa já no nosso firewall para qualquer aplicação.
  13. 13. Brute Force Exemplo de regra: # Se um host da lista NOVOSSH tentar acesso na porta 22 duas vezes será bloqueado por 60 segundos. iptables -A INPUT -p tcp --dport 22 -m recent --update --hitcount 2 --seconds 60 --name NOVOSSH -j DROP # Uma nova conexão na 22 será aceita mas o host ainda será adicionado na lista NOVOSSH. iptables -A INPUT -p tcp --dport 22 -m recent --set --name NOVOSSH -j ACCEPT
  14. 14. Regra Reflexiva  Regra reflexiva, neste caso, é uma regra relacionada ao seu sentido oposto.  Exemplo: Preciso enviar um pacote da minha LAN com destino à um host da Internet para só então este host poder acessar a minha LAN.  Essa regra reflexiva pode ser ativada com um e-mail, acesso à site, pacote em uma porta específica, etc.
  15. 15. Regra Reflexiva Exemplo de regra: # Caso o host esteja na lista CONFIAVEL, libero a porta 22 por 60 segundos. iptables -A INPUT -p tcp --dport 22 -m recent --rcheck --name CONFIAVEL --seconds 60 -j ACCEPT # O host que receber um pacote na posta 5100 será adicionado na lista CONFIAVEL. iptables -A OUTPUT -p tcp -m multiport --dports 5100 -m recent --set --name CONFIAVEL --rdest
  16. 16. Referências Para esta apresentação: $ man iptables Para informações extras: http://www.netfilter.org
  17. 17. Obrigado! DÚVIDAS?? Marcus Augustus Pereira Burghardt LPIC-1, MCLNA, MCLSA e MCTS Security marcus.apb@gmail.com http://mapburghardt.blogspot.com

×