SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Boa dia!!



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


            marcus.apb@gmail.com
        http://mapburghardt.blogspot.com
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.
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
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.
Topologia Usada
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.
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
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.
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
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.
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
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.
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
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.
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
Referências


         Para esta apresentação:
              $ man iptables


         Para informações extras:
          http://www.netfilter.org
Obrigado!


              DÚVIDAS??


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


            marcus.apb@gmail.com
       http://mapburghardt.blogspot.com

Más contenido relacionado

La actualidad más candente

Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores Linux
Impacta Eventos
 
Ferramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonFerramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei Pollon
Tchelinux
 

La actualidad más candente (20)

Como recuperar senhas WEP de redes wireless com Backtrack
Como recuperar senhas WEP de redes wireless com BacktrackComo recuperar senhas WEP de redes wireless com Backtrack
Como recuperar senhas WEP de redes wireless com Backtrack
 
Firewall em Linux
Firewall em LinuxFirewall em Linux
Firewall em Linux
 
Ferramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFerramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em Redes
 
Iptables Completo Oliver
Iptables   Completo   OliverIptables   Completo   Oliver
Iptables Completo Oliver
 
MRTG - SNMP na Prática
MRTG - SNMP na PráticaMRTG - SNMP na Prática
MRTG - SNMP na Prática
 
Entendendo como fazer um firewall pessoal
Entendendo como fazer um firewall pessoalEntendendo como fazer um firewall pessoal
Entendendo como fazer um firewall pessoal
 
Comando Traceroute
Comando TracerouteComando Traceroute
Comando Traceroute
 
Unidade8 roteiro
Unidade8 roteiroUnidade8 roteiro
Unidade8 roteiro
 
Gerenciamento de Firewall com shorewall - Rafael Padilha da silva(DELETE)
Gerenciamento de Firewall com shorewall - Rafael Padilha da silva(DELETE)Gerenciamento de Firewall com shorewall - Rafael Padilha da silva(DELETE)
Gerenciamento de Firewall com shorewall - Rafael Padilha da silva(DELETE)
 
Comandos ip-de-redes-no-windows-1319-ory76a
Comandos ip-de-redes-no-windows-1319-ory76aComandos ip-de-redes-no-windows-1319-ory76a
Comandos ip-de-redes-no-windows-1319-ory76a
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores Linux
 
Ferramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei PollonFerramentas GPL para segurança de redes - Vanderlei Pollon
Ferramentas GPL para segurança de redes - Vanderlei Pollon
 
Squid proxy
Squid proxySquid proxy
Squid proxy
 
Iptables Básico
Iptables BásicoIptables Básico
Iptables Básico
 
SNMP - Rafael Rodriques
SNMP - Rafael RodriquesSNMP - Rafael Rodriques
SNMP - Rafael Rodriques
 
Unidade 2.2.1 nmap
Unidade 2.2.1 nmapUnidade 2.2.1 nmap
Unidade 2.2.1 nmap
 
IPTables na prática
IPTables na práticaIPTables na prática
IPTables na prática
 
Segurança de Dados e Informações - Aula 5 - Firewall | Iptables
Segurança de Dados e Informações - Aula 5 - Firewall | IptablesSegurança de Dados e Informações - Aula 5 - Firewall | Iptables
Segurança de Dados e Informações - Aula 5 - Firewall | Iptables
 
Gerenciamento de Servidores Linux utilizando SNMP
Gerenciamento de Servidores Linux utilizando SNMPGerenciamento de Servidores Linux utilizando SNMP
Gerenciamento de Servidores Linux utilizando SNMP
 
Mrtg
MrtgMrtg
Mrtg
 

Destacado

Soa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellSoa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shell
portal_Do_estudante
 
1008 ProgramaçãO C Completo
1008 ProgramaçãO C Completo1008 ProgramaçãO C Completo
1008 ProgramaçãO C Completo
Fxx
 

Destacado (9)

Slack4security
Slack4securitySlack4security
Slack4security
 
Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2
 
Bash for Developers
Bash for DevelopersBash for Developers
Bash for Developers
 
shell bash Fpar aula6
shell bash Fpar aula6shell bash Fpar aula6
shell bash Fpar aula6
 
Apresentação Linguagem C
Apresentação Linguagem CApresentação Linguagem C
Apresentação Linguagem C
 
Linux4security
Linux4securityLinux4security
Linux4security
 
Soa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellSoa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shell
 
por Bruno Milreu Filipe "Casos avançados de teste de invasão – Indo além do “...
por Bruno Milreu Filipe "Casos avançados de teste de invasão – Indo além do “...por Bruno Milreu Filipe "Casos avançados de teste de invasão – Indo além do “...
por Bruno Milreu Filipe "Casos avançados de teste de invasão – Indo além do “...
 
1008 ProgramaçãO C Completo
1008 ProgramaçãO C Completo1008 ProgramaçãO C Completo
1008 ProgramaçãO C Completo
 

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

SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall
Carlos Melo
 
Disciplina_Redes e Segurança de Sistemas - Mapeamento de Redes
Disciplina_Redes e Segurança de Sistemas - Mapeamento de RedesDisciplina_Redes e Segurança de Sistemas - Mapeamento de Redes
Disciplina_Redes e Segurança de Sistemas - Mapeamento de Redes
Rogério Almeida
 
ACLs complexas.ppsx
ACLs complexas.ppsxACLs complexas.ppsx
ACLs complexas.ppsx
LuanaCopetti
 

Similar a Técnicas avancadas de seguranca com iptables - Marcus Augustus Pereira Burghardt (20)

Aula 8.2 - Iptables Impasses e Scripts
Aula 8.2 - Iptables Impasses e ScriptsAula 8.2 - Iptables Impasses e Scripts
Aula 8.2 - Iptables Impasses e Scripts
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univem
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall
 
Apostila firewall-consulta
Apostila firewall-consultaApostila firewall-consulta
Apostila firewall-consulta
 
Ultrasurf - Entendendo e bloqueando
Ultrasurf - Entendendo e bloqueandoUltrasurf - Entendendo e bloqueando
Ultrasurf - Entendendo e bloqueando
 
Aula 8.1 - Iptables tabela Filter
Aula 8.1 - Iptables tabela FilterAula 8.1 - Iptables tabela Filter
Aula 8.1 - Iptables tabela Filter
 
Giovaneli_-_Apresentação_ DNS ANYCAST.pdf
Giovaneli_-_Apresentação_ DNS ANYCAST.pdfGiovaneli_-_Apresentação_ DNS ANYCAST.pdf
Giovaneli_-_Apresentação_ DNS ANYCAST.pdf
 
Unidade3 seg perimetral
Unidade3 seg perimetralUnidade3 seg perimetral
Unidade3 seg perimetral
 
Disciplina_Redes e Segurança de Sistemas - Mapeamento de Redes
Disciplina_Redes e Segurança de Sistemas - Mapeamento de RedesDisciplina_Redes e Segurança de Sistemas - Mapeamento de Redes
Disciplina_Redes e Segurança de Sistemas - Mapeamento de Redes
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBD
 
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
 
Firewall no linux
Firewall no linuxFirewall no linux
Firewall no linux
 
Ferramentas de ataques
Ferramentas de ataquesFerramentas de ataques
Ferramentas de ataques
 
Orquestração com Mcollective
Orquestração com McollectiveOrquestração com Mcollective
Orquestração com Mcollective
 
02-Flowspec_GTER29
02-Flowspec_GTER2902-Flowspec_GTER29
02-Flowspec_GTER29
 
Palestra Hardening Linux - Por Juliano Bento - V FGSL e I SGSL
Palestra Hardening Linux - Por Juliano Bento - V FGSL e I SGSLPalestra Hardening Linux - Por Juliano Bento - V FGSL e I SGSL
Palestra Hardening Linux - Por Juliano Bento - V FGSL e I SGSL
 
Alta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com Nginx
 
Netfilter + Iptables
Netfilter + IptablesNetfilter + Iptables
Netfilter + Iptables
 
Atividade acl extendida
Atividade acl extendidaAtividade acl extendida
Atividade acl extendida
 
ACLs complexas.ppsx
ACLs complexas.ppsxACLs complexas.ppsx
ACLs complexas.ppsx
 

Más de Tchelinux

Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Tchelinux
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
Tchelinux
 

Más de Tchelinux (20)

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes.
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygame
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Último (6)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

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

  • 1. Boa dia!! Marcus Augustus Pereira Burghardt LPIC-1, MCLNA, MCLSA e MCTS Security marcus.apb@gmail.com http://mapburghardt.blogspot.com
  • 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. 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. 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.
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Referências Para esta apresentação: $ man iptables Para informações extras: http://www.netfilter.org
  • 17. Obrigado! DÚVIDAS?? Marcus Augustus Pereira Burghardt LPIC-1, MCLNA, MCLSA e MCTS Security marcus.apb@gmail.com http://mapburghardt.blogspot.com