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

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


Classificadores



Cada classificador é composto por um comando, um ou mais parâmetros e uma ou mais extensões. Junto com uma política eles formam uma regra do firewall.

6.1. Comandos


Comandos especificam o que fazer com uma definida regra.

-A cadeia Anexa uma ou mais regras no fim de uma cadeia especificada
-D cadeia [n_regra] Apaga uma ou mais regras da cadeia especificada, pode ser especificada o número da regra que será excluída
-I cadeia [n_regra] Insere uma ou mais regras na posição específica de uma cadeia específica, se a posição não for definida, o padrão é 1
-L [cadeia] Lista todas regras em uma cadeia definida, se esta não for definida o comando listará todas as regras do firewall
-F [cadeia] Remove todas as regras da cadeia definida, se esta não for definida o comando removerá todas as regras do firewall
-N cadeia Cria uma nova regra para a cadeia específica
-X [cadeia] Apaga a cadeia definida, se esta não for definida apaga todas cadeias
-P cadeia política Define uma política padrão para uma cadeia específica


6.2. Parâmetros


Os parâmetros setam definições para as regras aplicarem nos pacotes trafegados pelo firewall. O [!] indica negação, ou seja, inverte a regra.
-p [!] protocolo Define o protocolo que a regra irá tratar
-s [!] end_IP[/mask] Define o endereço de origem do pacote que a regra irá tratar
-d [!] end_IP[/mask] Define o endereço de destino do pacote que a regra irá tratar
-j [!] alvo Define um alvo para o pacote
-i [!] nome Define o nome da interface por onde o pacote chegou
-o [!] nome Define o nome da interface por onde o pacote sairá


6.3 Extensões


O iptables pode usar módulos para tratar os pacotes com extensões. Estas extensões podem ser chamas de duas formas: implicitamente, utilizando o parâmetro -p, especificando assim o protocolo a ser tratado ou com a opção -m, para chamar o modulo específico para tratar a extensão.

icmp : Extensão para tratar pacotes ICMP:
  • --icmp-type [!] nome ou número: Especifica qual mensagem ICMP que a regra vai tratar. Este tipo pode ser especificado pelo número, no caso o número da porta IP que ela se refere, ou pelo nome.
  • limit : Define a utilização de limites para certos pacotes. Eficaz contra ataques do tipo Flooding e DoS.
  • --limit taxa - Define o número máximo de ocorrências por um período de tempo, este tempo pode ser: por segundo (/second), por minuto (/minute), por hora (/hour) ou por dia (/day).
  • --limit-burst número - Número máximo de pacotes antes que o limite comece a ser imposto.

tcp : Extensão para tratar pacotes TCP:
  • --source-port [!] porta[:porta] : Define a porta de origem do pacote, ou um intervalo de portas.
  • --destination-port [!] porta[:porta] : Define a porta de destino do pacote, ou um intervalo de portas.
  • --tcp-flags [!] mask comp : Trata pacotes com o flags definidos do TCP setados. O parâmetro mask define quais flags serão testados e o parâmetro comp define quais flags devem estar setados.
  • [!] -syn : Trata pacotes de inicio de conexão, com o flag SYN setado.

udp : Extensão para tratar pacotes UDP:
  • --source-port [!] porta[:porta] : Define a porta de origem do pacote, ou um intervalo de portas.
  • --destination-port [!] porta[:porta] : Define a porta de destino do pacote, ou um intervalo de portas.

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

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

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

Leitura recomendada

Instalando um firewall mínimo em Debian

Usando o PF - Packet Filter

Trabalhando com CARP nos BSD's

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

NAT com firewall - simples, rápido e funcional

  
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