IPTables na prática

2,646 views

Published on

Minicurso de IPTables

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

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

No notes for slide

IPTables na prática

  1. 1. Firewall profissional com IPTables<br />Prof. Me. Allysson Steve MotaLacerda<br />www.aptans.com<br />
  2. 2. Apresentação<br />Prazeremconhecê-los!<br />
  3. 3. Quemsoueu?<br />BacharelemSistemas de Informação<br />UNIMONTES (2006)<br />MestreemEngenhariaElétrica<br />UFMG (2010)<br />
  4. 4. O que eu faço?<br />Linhas de trabalho<br />Infraestrutura de TI<br />Servidores Windows e GNU/Linux<br />Consolidação de servidores<br />Projetos de rede<br />
  5. 5. O que eu faço?<br />Linhas de trabalho<br />Segurança da Informação<br />Antivírus<br />AntiSPAM<br />Firewall<br />Proxy<br />VPN<br />Backup<br />
  6. 6. O que eu faço?<br />Linhas de trabalho<br />Integração entre ambientes Windows e GNU/Linux<br />Autenticação centralizada<br />Serviços de diretório<br />
  7. 7. Alguns clientes<br />
  8. 8. Firewall<br />Introdução<br />
  9. 9. O firewall<br />Funções<br />proteger a máquina contra acessos indesejados<br />proteger a máquina contra tráfego indesejado<br />proteger serviços que estejam rodando na máquina<br />bloquear a passagem de coisas indesejadas<br />conexões vindas da Internet para sua segura rede local<br />
  10. 10. O queproteger?<br />Quais serviços proteger?<br />Que tipo de conexões eu posso deixar passar?<br />Que máquinas terão acesso livre?<br />Que serviços terão prioridade no processamento?<br />Que máquinas/redes NUNCA deverão ter acesso?<br />Qual o volume de tráfego que o servidor manipulará?<br />O que pode passar de uma rede para outra?<br />
  11. 11. Tipos de firewall<br />Firewalls de aplicação<br />Proxies (SMTP, HTTP etc.)<br />Firewalls baseadosemestado<br />Tabelas de estados<br />Firewalls de pacotes<br />Endereços e portas<br />
  12. 12. O IPtables<br />Vamosaoqueinteressa<br />
  13. 13. Histórico<br />IPTables (Netfilter)<br />surgiu no kernel do Linux 2.4<br />substitui o ipchains<br />muita flexibilidade na programação de regras<br />mais opções para controle de tráfego<br />controle independente do tráfego da rede <br />nova organização das etapas de roteamento de pacotes<br />
  14. 14. Características<br />Especificação de portas/endereço de origem/destino<br />Suporte a protocolos TCP/UDP/ICMP<br />Suporte a interfaces de origem/destino de pacotes<br />Manipula serviços de proxy na rede<br />Tratamento de tráfego dividido em chains<br />melhor controle do tráfego<br />Permite um número ilimitado de regras por chain<br />
  15. 15. Características<br />Possui mecanismos internos para rejeitar pacotes<br />duvidosos ou mal formados<br />Suporte a módulos externos<br />expansão das funcionalidades oferecidas<br />Suporte completo a roteamento de pacotes<br />Suporte a especificação de tipo de serviço<br />priorizar o tráfego de determinados tipos de pacotes<br />Permite especificar exceções<br />
  16. 16. Características<br />Permite enviar alertas personalizados ao syslog<br />Redirecionamento de portas<br />Masquerading<br />Suporte a SNAT e DNAT<br />Contagem de pacotes que atravessaram uma regra<br />Limitação de passagem de pacotes<br />útil para criar proteções contra syn flood, ping flood, DoS...<br />
  17. 17. Regras<br />E lávamosnós…<br />
  18. 18. O quesãoregras?<br />“Comandos passados ao iptables para queele realize uma determinada ação”(Guia FOCA)<br />As regras são armazenadas dentro dos chainse processadas na ordem que são inseridas<br />As regras são armazenadas no kernel<br />são perdidas a cada reinicialização<br />devem ser gravadas em um arquivo<br />
  19. 19. O quesão chains?<br />“Locais onde as regras do firewall sãoarmazenadas para sua operação”(Guia FOCA)<br />Existem dois tipos de chains<br />os embutidos (como os INPUT, OUTPUT e FORWARD) <br />os criados pelo usuário<br />Os nomes dos chains<br />embutidos devem ser especificados sempre em maiúsculas<br />são case-sensitive (inputé diferente de INPUT)<br />
  20. 20. O quesãotabelas?<br />“Locais usados para armazenar chains e regrascom determinada característica em comum”(Guia FOCA)<br />Podem ser referenciadas com a opção -t <tabela><br />Existem 3 tabelas disponíveis no iptables<br />filter<br />nat<br />mangle<br />
  21. 21. A tabela filter<br />Esta é a tabela padrão, contém 3 chains padrões<br />INPUT: dados que chegam a máquina<br />OUTPUT: dados que saem da máquina<br />FORWARD: dados que são redirecionados<br />INPUT e OUTPUT<br />somente são atravessados por conexões de localhost<br />
  22. 22. A tabelanat<br />Usada para dados que geram outra conexão<br />Possui 3 chains padrões:<br />PREROUTING: quando os pacotes precisam ser modificados logo que chegam<br />OUTPUT: quando os pacotes gerados localmente precisam ser modificados antes de serem roteados<br />POSTROUTING: quando os pacotes precisam ser modificados após o tratamento de roteamento<br />
  23. 23. A tabela mangle<br />Utilizada para alterações especiais de pacotes<br />Possui 5 chains padrões:<br />INPUT: quando os pacotes precisam ser modificados antes de serem enviados para o INPUT da tabela filter<br />FORWARD: quando os pacotes precisam ser modificados antes de serem enviados para o FORWARD da tabela filter<br />PREROUTING: quando os pacotes precisam ser modificados antes de ser enviados para o PREROUTINGda tabela nat<br />
  24. 24. A tabela mangle<br />Utilizada para alterações especiais de pacotes<br />Possui 5 chains padrões:<br />POSTROUTING: quando os pacotes precisam ser modificados antes de serem enviados para o POSTROUTING da tabela nat<br />OUTPUT: quando os pacotes precisam ser modificados antes de serem enviados para o OUTPUT da tabela nat<br />
  25. 25.
  26. 26. Manipulando chains<br />Pare com a enrolação… euqueroverrodando!<br />
  27. 27. Adicionando regras - A<br />ping 127.0.0.1<br />iptables-t filter -A INPUT -d 127.0.0.1 -j DROP<br />ping 127.0.0.1<br />
  28. 28. Listando regras - L<br />iptables -t filter -L INPUT<br />iptables -L INPUT –n<br />iptables-L INPUT -n --line-numbers<br />
  29. 29. Apagando uma regra - D<br />iptables -t filter -D INPUT 1<br />iptables -t filter -D INPUT -d 127.0.0.1 -j DROP<br />POR QUE NÃO USAR –D?<br />
  30. 30. Inserindo uma regra - I<br />iptables -t filter -I INPUT 1 -d 127.0.0.1 -j ACCEPT<br />POR QUE NÃO USAR –I?<br />
  31. 31. Criando um novo chain - N<br />iptables -t filter -N internet<br />iptables-t filter -A internet -s 200.200.200.200 -j DROP<br />iptables-t filter -A INPUT -j internet<br />
  32. 32. Limpando as regras de um chain - F<br />iptables -t filter -F INPUT<br />iptables -t filter -F<br />
  33. 33. Apagando um chain do usuário - X<br />iptables -t filter -X internet<br />iptables -X<br />
  34. 34. Especificando a política de um chain - P<br />iptables -L OUTPUT<br />iptables-t filter -P OUTPUT DROP<br />iptables -L OUTPUT<br />
  35. 35. Outrasopções<br />
  36. 36. Especificando um endereço<br />Origem e destino<br />-s | –src | –source<br />-d | –dst | –destination<br />Opções<br />IP ou par rede/máscara: 10.0.0.1 ou 10.0.0.0/8<br />endereço fqdn: www.aptans.com<br />iptables-A INPUT -s 10.0.0.0/24 -j DROP<br />
  37. 37. Especificando a interface<br />Origem e destino<br />-i | –in-interface<br />-o | –out-interface<br />
  38. 38. Especificando um protocolo<br />Protocolo<br />-p | –protocol<br />Opções<br />tcp<br />udp<br />icmp<br />iptables -A INPUT -s 10.0.0.0 -p UDP -j DROP<br />
  39. 39. Especificando portas<br />Origem e destino<br />--sport | --source-port<br />--dport | --destination-port<br />iptables -A OUTPUT -d 10.0.0.1 -p tcp --dport :1023 -j DROP<br />
  40. 40. Especificando uma exceção<br />iptables -t filter -A INPUT –p TCP !-s 10.0.0.1 -j DROP<br />iptables-A INPUT -s 10.0.0.1 !-p TCP -j DROP<br />
  41. 41. Especificando um alvo<br />Opções<br />-j ACCEPT<br />-j DROP<br />-j REJECT<br />-j LOG<br />iptables-A INPUT -s 10.0.0.1 -i eth0 -j REJECT<br />
  42. 42. A tabelanat<br />Network Address Translation<br />
  43. 43. Fazendo SNAT<br />NAT de origem<br />-j SNAT<br />iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to 200.200.200.40<br />
  44. 44. Fazendo IP Masquerading<br />IPsdinâmicos<br />-j MASQUERADE<br />iptables-t nat -A POSTROUTING -s 192.168.1.2/32 -o ppp0 -j MASQUERADE<br />
  45. 45. Fazendo DNAT<br />NAT de destino<br />-j DNAT<br />iptables -t nat -A PREROUTING -s 200.200.217.40 -i eth0 -j DNAT --to 192.168.1.2<br />
  46. 46. Redirecionamento de portas<br />Proxies e programasexternos<br />-j REDIRECT<br />iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080<br />
  47. 47. Porhoje é só…<br />OBRIGADO!<br />Allysson Steve MotaLacerda<br />stevelacerda@aptans.com<br />www.aptans.com<br />

×