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.247 ]

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

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

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

SSH - Uma breve abordagem

Leitura recomendada

Iptables em modo gráfico

Instalando um firewall mínimo em Debian

NoCatAuth - Construindo um firewall/gateway autenticado

Firewall Linux - Roteamento avançado usando iproute2 e iptables (load balance)

Firewall com Iptables: direto ao assunto (RHEL5 e Fedora)

  
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