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: 85.745 ]

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

Integrando Layer7 + IPP2P ao Iptables

Firewall invisível com Proxy ARP

Dois links de ADSL em um mesmo servidor

Implementando prioridade nos serviços com TOS no Iptables

Gerenciando regras de Iptables com Firewall Builder

  
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