Aula 2: iptables — fundamentos e arquitetura de chains e tables

Aula 2: iptables — fundamentos e arquitetura de chains e tables

Bem-vindo à segunda aula do curso “Firewall, fail2ban e CrowdSec — Do Zero ao Avançado”. Nesta sessão, vamos mergulhar nos fundamentos do iptables, uma ferramenta essencial para a segurança da rede em sistemas Linux. Aprender a usar o iptables é crucial para configurar regras de firewall que protegem os sistemas de acessos indesejados. Esta aula irá desmistificar o funcionamento interno do iptables, explicando a arquitetura de chains (correntes) e tables (tabelas), preparando-o para seu uso eficaz.

O que você vai aprender nesta aula

  • Compreender o papel do iptables em Linux.
  • Entender a arquitetura de chains e tables no iptables.
  • Configurar regras básicas usando iptables.
  • Distinguir entre diferentes tipos de licenças de software.

O que é o iptables?

O iptables é uma ferramenta de filtragem de pacotes em sistemas Linux que permite que o administrador defina regras para o tráfego de rede. Funciona como um firewall, bloqueando ou aceitando pacotes com base nas regras configuradas. O iptables é um componente dual na camada de rede que usa o subsistema Netfilter do kernel do Linux.

Tipos de Licenças de Software

Antes de começarmos a configurar o iptables, é importante compreender o conceito de licenças de software, já que o iptables é uma ferramenta open source. A seguir, uma breve explicação sobre alguns tipos comuns de licenças:

  • Licença GPL (General Public License): Obriga a disponibilização do código fonte e permite modificações, desde que continuem sob GPL.
  • Licença MIT: É uma licença permissiva e de código aberto que impõe poucas restrições sobre reutilização.
  • Licença BSD: Fornece bastante liberdade e é semelhante à MIT, mas permite que o código seja usado sem redistribuição.
  • Licença Apache: Oferece concessões de patentes e também uma permissividade semelhante à MIT.
  • Licença Comercial/Proprietária: Geralmente não permite acesso ao código fonte e limita o uso a fim de proteger os direitos de propriedade intelectual.

Fundamentos da Arquitetura de Chains e Tables no iptables

No iptables, uma “chain” é uma sequência de regras contra as quais um pacote é verificado. Cada regra especifica o que fazer com um pacote. Existem três chains embutidas principais:

  • INPUT: Para pacotes destinados ao sistema host.
  • FORWARD: Para pacotes que são roteados através do sistema.
  • OUTPUT: Para pacotes originados do sistema host.

As chains estão organizadas em “tables”, que definem o tipo de regra aplicada:

  • filter: A tabela padrão para manipular pacotes.
  • nat: Usada para network address translation (tradução de endereços de rede).
  • mangle: Usada para modificar pacotes em trânsito.
  • raw: Usada antes de se tomar decisões de conexão com estado.
  • security: Usada principalmente para SELinux.

Prática: Configuração Básica do iptables

Vamos ver como configurar uma regra simples no iptables que bloqueia todo o tráfego de entrada para a porta 80 (HTTP) usando o seguinte comando:

sudo iptables -A INPUT -p tcp --dport 80 -j DROP

Explicação linha por linha:

  • sudo: Executa o comando com privilégios de superusuário.
  • iptables: Chama a ferramenta iptables.
  • -A INPUT: Adiciona uma regra à chain INPUT.
  • -p tcp: Especifica o protocolo TCP.
  • –dport 80: Define a porta de destino como 80.
  • -j DROP: Indica que os pacotes devem ser descartados.

Você pode verificar as regras atuais do iptables com o comando:

sudo iptables -L -v

Resumo da Aula 2

Nesta aula, exploramos o que é o iptables e a importância das chains e tables em sua configuração. Entendemos também os tipos de licenças de software, o que nos ajuda a compreender a natureza open source do iptables. Na próxima aula, vamos nos aprofundar em regras mais complexas e analisar como elas poderão ser aplicadas em ambientes de produção. Convidamos você a acompanhar os serviços oferecidos pela JRT Technology Solutions, onde nossos especialistas utilizam e implementam soluções de segurança com iptables diariamente, garantindo a segurança de infraestrutura de TI. Até lá!

Quer aprender na prática com especialistas?

A JRT Technology Solutions oferece treinamentos e implementação de Firewall, fail2ban e CrowdSec para equipes corporativas.



Falar no WhatsApp

Thiago Paes Rodrigues

Com mais de 22 anos de experiência em Tecnologia da Informação, este profissional construiu uma trajetória sólida como empresário, atuando de forma estratégica na implementação de soluções tecnológicas que otimizam processos e impulsionam resultados em diferentes setores.