A teoria por trás do firewall

Neste artigo procuro mostrar a estrutura - tabelas, cadeias e regras - a configuração, a criação de regras do firewall Netfilter/Iptables - nativo do Linux desde a versão 2.4.0 do kernel - bem como suas principais opções para criação de regras de firewall.

[ Hits: 86.323 ]

Por: Oscar Costa em 29/10/2005 | Blog: https://oscarcosta.dev/


Utilização



Para criar as regras do firewall com iptables pode ser utilizado o terminal de comandos para digitar regra por regra. Este caso é útil somente para testar a funcionalidade das regras, pois seria inviável digitar no terminal todas as regras do firewall de um grande servidor ou ate mesmo de um computador doméstico toda vez que este for reiniciado.

Uma maneira mais inteligente e bem mais prática é a criação de um script feito em Shell para que seja chamado na inicialização do sistema.

7.1. Comandos


A estrutura do comando para criar regras do iptables é:

/sbin/iptables <COMANDO> <CADEIA> <parâmetros e/ou extensão> <POLÍTICA>

Onde:
  • /sbin/iptables é arquivo binário referente ao iptables;
  • <COMANDO> é um dos comandos (seção 6.1.) que especificam o que fazer com a regra;
  • <CADEIA> é a cadeia (seção 4.2.) onde a regra vai ser estabelecida;
  • <parâmetros e/ou extensão> são as informações que definem a regra;
  • <POLÍTICA> é a ação que o Netfilter vai fazer com pacotes que sejam tratados pela regra;

7.2. Exemplos de regras


# /sbin/iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

Esta regra protege um host contra o "ping da morte", dando um limite de 1 ping por segundo para requisições de ping.

# /sbin/iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

Esta regra protege um host contra ataques do tipo "Syn-flood, DoS".

# /sbin/iptables -A OUTPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT

Esta regra libera o acesso a interface de loopback.

# /sbin/iptables -A INPUT -i eth0 -s 10.0.0.0 -p tcp --dport 22 -j ACCEPT

Esta regra libera o acesso a máquina através de SSH por maquinas de uma rede interna.

# /sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j REDIRECT --to-port 3128
# /sbin/iptables -t nat -A PREROUTING -p udp -i eth0 --dport 80 -j REDIRECT --to-port 3128


Estas duas regras redirecionam a porta 80 para a porta 3128, utilizado em servidores proxy.

7.3. Módulos do kernel


Como padrão o kernel vem com as partes referentes a segurança por firewall carregadas como módulos. Desta forma estes módulos deverão ser chamados por comando ou por script. Alguns módulos básicos para o funcionamento do firewall são: ip_tables, módulo básico do iptables, iptable_nat.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Linux e firewalls
   3. Netfilter/Iptables
   4. Tabelas, cadeias e regras
   5. Políticas ou ações
   6. Classificadores
   7. Utilização
   8. Conclusões e bibliografia
Outros artigos deste autor

SSH - Uma breve abordagem

Automatizando a montagem de partições Windows (FAT e NTFS) no Linux

O Kerberos não é um cachorro de 3 cabeças!

Leitura recomendada

IpCop - Um firewall personalizado

Dominando o iptables (parte 1)

Criando firewalls dinâmicos com Iptables Recent

Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).

Criando DMZ com o PFSense

  
Comentários
[1] Comentário enviado por PCMasterPB em 29/10/2005 - 22:10h

Cara, seu artigo está ótimo, e qdo li ele finalmente entendi as benditas chains PREROUTING, POSTROUTING, INPUT, OUTPUT e FORWARD e qual a lógica delas. Muito bom mesmo.

[2] Comentário enviado por moskito em 29/10/2005 - 22:58h

Não aparece a figura do final do capitulo 3

Parece ser mtu bom, mas ainda nao parei pra ler com calma.

[3] Comentário enviado por removido em 30/10/2005 - 00:38h

Tudo que foi abordado no artigo já estão em vários livros, ou melhor nada de novo.

[4] Comentário enviado por fabio em 30/10/2005 - 01:18h

Bom, como não tenho tempo nem dinheiro de sobra pra comprar e ler "vários" livros, esse artigo foi uma mão na roda, foi direto ao ponto. Muito bem escrito e explicado, meus parabéns!

Em tempo, você é do contra mesmo heim wrochal?!?! Ops. confundi... é articulador.

[]'s,
Fábio

[5] Comentário enviado por removido em 30/10/2005 - 12:35h

Fábio,

Acho que vc esta me confudindo, estou apenas falando meu ponto de vista diante o artigo, que tudo que ele disse esta igual e similar o que esta escrito nos livros.

Sem mais,

Obs.: Posso notar que você gosta de confusão.

[6] Comentário enviado por removido em 30/10/2005 - 19:16h

estando ou não em um livro, é inegável que a abordagem de kilocan é bastante objetiva e esclarecedora, além do mais o próprio autor informa da bibliografia que a informação saiu das páginas de manual e devemos lembrar que nem todos dominam o idioma yankee.
excelente artigo!

[7] Comentário enviado por fernoliv em 31/10/2005 - 06:18h

Parabéns pelo artigo. Muito bem escrito e esclarecedor.

Abraço, Fernando.

[8] Comentário enviado por removido em 31/10/2005 - 15:03h

Pelo Amor de Deus. Esqueceu de por a referencia do guia focalinux.

http://focalinux.cipsga.org.br/guia/avancado/ch-fw-iptables.htm

tim-tim por tim-tim de iptables.

Abraços

[9] Comentário enviado por jmaurobug em 31/10/2005 - 16:52h

Realmente esta de parabéns ... simples e direto...

parabéns

[10] Comentário enviado por gabriel.bezerra em 31/10/2005 - 23:05h

muito bom o artigo, boa linguagem.

continue assim

[11] Comentário enviado por agk em 10/11/2005 - 15:07h

Excelente artigo, bem elaborado e rico em detalhes.

[12] Comentário enviado por renato.leite em 01/10/2008 - 09:00h

muito bom o artigo


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts