SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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 BacktrackNatanael Simões
 
Firewall em Linux
Firewall em LinuxFirewall em Linux
Firewall em Linuxguest4e5ab
 
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 RedesFrederico Madeira
 
Iptables Completo Oliver
Iptables   Completo   OliverIptables   Completo   Oliver
Iptables Completo Olivermarcosserva
 
Entendendo como fazer um firewall pessoal
Entendendo como fazer um firewall pessoalEntendendo como fazer um firewall pessoal
Entendendo como fazer um firewall pessoalAlmir Mendes
 
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)Tchelinux
 
Segurança em servidores Linux
Segurança em servidores LinuxSegurança em servidores Linux
Segurança em servidores LinuxImpacta 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 PollonTchelinux
 
SNMP - Rafael Rodriques
SNMP - Rafael RodriquesSNMP - Rafael Rodriques
SNMP - Rafael Rodriquesmarleigrolli
 
IPTables na prática
IPTables na práticaIPTables na prática
IPTables na práticaaptans
 
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 | IptablesMinistério Público da Paraíba
 
Gerenciamento de Servidores Linux utilizando SNMP
Gerenciamento de Servidores Linux utilizando SNMPGerenciamento de Servidores Linux utilizando SNMP
Gerenciamento de Servidores Linux utilizando SNMPAndré Déo
 

Mais procurados (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
 

Destaque

Slack4security
Slack4securitySlack4security
Slack4securityDaniel
 
Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2Daniel
 
Linux4security
Linux4securityLinux4security
Linux4securityDaniel
 
Soa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellSoa cap2 exercicios resolvidos shell
Soa cap2 exercicios resolvidos shellportal_Do_estudante
 
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 “...SegInfo
 
1008 ProgramaçãO C Completo
1008 ProgramaçãO C Completo1008 ProgramaçãO C Completo
1008 ProgramaçãO C CompletoFxx
 

Destaque (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
 

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

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 ScriptsAndrei Carniel
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univemevandrovv
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall Carlos Melo
 
Ultrasurf - Entendendo e bloqueando
Ultrasurf - Entendendo e bloqueandoUltrasurf - Entendendo e bloqueando
Ultrasurf - Entendendo e bloqueandomarcusburghardt
 
Aula 8.1 - Iptables tabela Filter
Aula 8.1 - Iptables tabela FilterAula 8.1 - Iptables tabela Filter
Aula 8.1 - Iptables tabela FilterAndrei Carniel
 
Giovaneli_-_Apresentação_ DNS ANYCAST.pdf
Giovaneli_-_Apresentação_ DNS ANYCAST.pdfGiovaneli_-_Apresentação_ DNS ANYCAST.pdf
Giovaneli_-_Apresentação_ DNS ANYCAST.pdfEwersonLuizOliveira
 
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 RedesRogério Almeida
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDFrederico Madeira
 
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...Aécio Pires
 
Ferramentas de ataques
Ferramentas de ataquesFerramentas de ataques
Ferramentas de ataquesCarlos Veiga
 
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 SGSLfgsl
 
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 NginxThiago Paes
 
ACLs complexas.ppsx
ACLs complexas.ppsxACLs complexas.ppsx
ACLs complexas.ppsxLuanaCopetti
 

Semelhante 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
 

Mais de Tchelinux

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...Tchelinux
 
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 GrandeTchelinux
 
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 ...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...Tchelinux
 
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 GrandeTchelinux
 
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...Tchelinux
 
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...Tchelinux
 
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...Tchelinux
 
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...Tchelinux
 
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 GrandeTchelinux
 
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 GrandeTchelinux
 
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...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
 
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...Tchelinux
 
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 2019Tchelinux
 
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.Tchelinux
 
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.Tchelinux
 
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. Tchelinux
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygameTchelinux
 
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é?Tchelinux
 

Mais 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é?
 

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