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.