Workshop iptables uern_stacruz_14_dez2010_v1

1,718 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,718
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
115
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Workshop iptables uern_stacruz_14_dez2010_v1

  1. 1. IPTABLESTabelas FILTER e NAT HUGO e MATHEUSVersão do Slide: (1.0)
  2. 2. Firewall● Firewall: Mecanismo constituído pela combinação de software e hardware, utilizado para dividir e controlar o acesso entre redes de computadores. ● Separa a rede interna (intranet) da rede externa (internet) através do controle de trafego ● Bloqueia tentativas de conexão não autorizadas (em ambos os sentidos)● Finalidade: Prevenção de ataques externos à intranet e seus equipamentos. ● Opcionalmente pode ser utilizado para controlar o uso da rede pelos equipamentos internos ● Proteção do próprio equipamento: Firewall pessoal.
  3. 3. Firewall - iptables● Iptables: ● Código de firewall ● Presente no kernel desde a versão 2.4 (Junho/Julho de 1999)(ipchains)
  4. 4. Componentes● Pacote: iptables ● Iptables ● Ip6tables ● Iptables-save ● Iptables-restore
  5. 5. Hardware Necessário● Kernel compilado com suporte ao iptables (2.4+)● Requerimento mínimo de memória: igual ao do kernel 2.4 (4MB de RAM) (dependendo do tráfego manipulado pelas interfaces pode rodar com folga)● Configurações residem no kernel, logo não é necessário espaço extra em disco para a execução do utilitário
  6. 6. Log● Trafego registrado pelo iptables fica armazenado por padrão no arquivo /var/log/kern.log
  7. 7. Eu gostei! Onde eu acho?● #apt-get install iptables ● Iptables + ip6tables
  8. 8. iptables● Principais características: ● Filtragem sem considerar o estado do pacote ● Filtragem considerando o estado do pacote ● Suporte a NAT, tanto para endereços de rede ou portas ● Flexível, com suporte a plugins
  9. 9. Conceitos● Regras: são instruções dadas ao firewall● Cadeias (Chains): locais onde as regras podem ser agrupadas. As regras são processadas em ordem pelo firewall. ● Toda cadeia tem uma política padrão, definida pelo usuário. ● A Cadeia é percorrida até um regra ser atingida. Todas as restantes são ignoradas. ● Regras com erro são ignoradas. ● Se nenhuma regra é atingida, usa-se a regra de política padrão.
  10. 10. Conceitos● Tabelas: o iptables organiza o seu fluxo de pacotes em tabelas, cada uma com um conjunto de cadeias pré-definidas: ● Tabela FILTER: tabela padrão com três cadeias – INPUT – OUTPUT – FORWARD ● Tabela NAT: tabela usada para NAT – PREROUTING – OUTPUT – POSTROUTING
  11. 11. Conceitos● Tabelas: (continuação) ● Além das tabelas MANGLE e RAW
  12. 12. Tabela NAT Roteamento Roteamento PREROUTING POSTROUTING interface interfacede entrada de saída OUTPUT PROCESSO LOCAL
  13. 13. Cadeias● 3 cadeias usadas para NAT: ● PREROUTING: regras a serem aplicadas sobre os pacotes logo que eles chegam à rede (usados para DNAT e redirecionamento de portas) ● OUTPUT: regras a aplicar sobre os pacotes originados da própria máquina e antes de serem roteados (somente interfaces locais) ● POSTROUTING: regras a serem aplicadas sobre os pacotes recebidos da rede (pós roteados) (usados para SNAT e mascaramento de IP)
  14. 14. Formato Geral das regras do iptables● iptables [-t table] comando [filtro] [-j ação] Ação a ser tomada. Por exemplo, DROP, ACCEPT, pular para outra cadeia, etc. Especifique a tabela que deseja usar. A tabela filter é a Detalhamento que tabela default. irá permitir a O que será feito: filtragem do pacote. adicionar uma regra, IPs de origem, taxas, remover, etc. Deve portas, etc. vir no início.
  15. 15. Script para iptables#!/bin/bash# Apagando regras anterioresiptables -Fiptables -t nat -F# Política padrãoiptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT ACCEPT# Libera loopback - REGRA OBRIGATÓRIAiptables -A INPUT -i lo -j ACCEPT# Libera pacotes de retorno.iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT# Habilita encaminhamento de pacotesecho "1" > /proc/sys/net/ipv4/ip_forward
  16. 16. Exemplos de natiptables -t nat -A PREROUTING -i eth0 -d 200.200.200.201-p tcp–-dport 25 -j DNAT --to 172.16.3.24iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -jSNAT --to 200.233.222.123iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -jMASQUERADEiptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80-j REDIRECT --to-port 8080
  17. 17. Dicas para evitar BRONCA● Atualize sempre o Iptables e o kernel;● NUNCA rode qualquer serviço, principalmente os remotos, como telnet e ftp, nas máquinas firewall. Mas...● ...Se tiver que administrar remotamente uma máquina firewall, utilize ssh. Nesse caso, o ssh não deverá permitir o login como root;● Nunca cadastre qualquer usuário na máquina Iptables, caso se trate de filtro isolado, a não ser os que irão administrar por ssh;● Utilize TCP Wrappers totalmente fechado (ALL:ALL em /etc/hosts.deny) em filtros isolados. Abra o ssh (em /etc/hosts.allow) apenas para os clientes que forem fazer administração remota;● Anule as respostas a ICMP 8 (echo reply) no filtro isolado, para evitar ataques de Ping of Death.● Não insira referências ao sistema de firewall no DNS;● Não deixe as máquinas firewall isolado com cara de firewall. Utilize nomes descaracterizados;● Faça log de ações suspeitas que estiverem ocorrendo na rede;● Teste, teste, teste novamente.
  18. 18. Referências● MORIMOTO, Carlos E., Linux Redes e Servidores 2º ed.● ALMEIDA, Marcelo Barros. Introdução ao iptables.● MENEZES, Oliver. Iptables, Firewall no linux.● DEFINIÇÃO de Firewall. Disponível em: <cartilha.cert.br/glossario/> Acesso em: 13 Dez. 2010● IPTABLES Br. Disponível em: <http://www.eriberto.pro.br/iptables/4.html> Acesso em: 13 Dez. 2010
  19. 19. Recomendação http://www.eriberto.pro.br/iptables/3.html● Conteúdo relacionado à Iptables de boa qualidade, um ótimo ponto de partida para se aprofundar no assunto!
  20. 20. Dúvidas● Slides disponíveis em: <slideshare.net/matheusrn89>● Contato: ● matheusrn89@hotmail.com ● hugohenrique_2005@hotmail.com

×