0Pricing
Linux Server Deployment & SSH Mastery · Aula

Regras Avançadas de Firewall (IPTables)

Domine o IPTables para criar regras complexas e com controle de estado, implementar tradução de endereços de rede (NAT) e proteger o servidor contra ataques sofisticados.

Regras Avançadas de Firewall (IPTables) é uma aula grátis de Linux Server Deployment & SSH Mastery no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Linux Server Deployment & SSH Mastery, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.

Aprofundando-se no IPTables

O IPTables é o firewall avançado integrado ao Linux. Embora já tenhamos visto os conceitos básicos, ele oferece recursos avançados para um controle preciso.

Esta lição apresenta regras complexas, filtragem com acompanhamento de estado e Tradução de Endereços de Rede (NAT) para proteger e gerenciar verdadeiramente a rede do seu servidor.

Relembrando tabelas e cadeias

O IPTables organiza as regras em tabelas, cada uma com uma finalidade específica. Dentro das tabelas há cadeias, que são listas de regras avaliadas em ordem.

  • Tabela filter: a tabela padrão, usada para filtrar (bloquear ou permitir) pacotes. Contém as cadeias INPUT, OUTPUT e FORWARD.
  • Tabela nat: usada para a Tradução de Endereços de Rede (NAT). Contém as cadeias PREROUTING, POSTROUTING e OUTPUT.
  • Outras tabelas, como mangle e raw, existem para modificações especializadas de pacotes.

Firewall com acompanhamento de estado

Um firewall com acompanhamento de estado monitora o estado das conexões de rede. Em vez de apenas verificar cada pacote individualmente, ele se lembra se um pacote pertence a uma conexão existente e estabelecida.

Principais estados de conexão:

  • NEW: o primeiro pacote de uma nova conexão.
  • ESTABLISHED: pacotes pertencentes a uma conexão existente e ativa.
  • RELATED: pacotes que iniciam uma nova conexão relacionada a uma conexão existente (por exemplo, uma transferência de dados por FTP).

Implementando regras com acompanhamento de estado

As regras com acompanhamento de estado simplificam muito o gerenciamento do firewall. Você pode permitir todo o tráfego pertencente a conexões estabelecidas, o que significa que só precisa definir regras para iniciar conexões NEW.

Esta regra permite todos os pacotes recebidos que fazem parte de uma conexão já estabelecida ou relacionada:

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Criando uma lógica complexa de regras

O IPTables permite combinar vários módulos de correspondência e opções para criar regras altamente específicas. Isso ajuda a ajustar com precisão o acesso de diferentes serviços e origens.

Exemplo: permitir SSH (porta 22) de uma sub-rede específica (192.168.1.0/24) somente para conexões novas.

sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -m state --state NEW -j ACCEPT

Apresentando a Tradução de Endereços de Rede

Tradução de Endereços de Rede (NAT) modifica as informações de endereço de rede no cabeçalho IP dos pacotes enquanto eles estão em trânsito. Ela é fundamental para:

  • Permitir que vários dispositivos em uma rede privada compartilhem um único endereço IP público (por exemplo, roteadores domésticos).
  • Encaminhar portas, direcionando solicitações externas para servidores internos.

Há dois tipos principais: NAT de origem (SNAT) e NAT de destino (DNAT).

SNAT para conexões de saída

NAT de origem (SNAT) altera o endereço IP de origem dos pacotes. Isso é usado normalmente quando servidores internos precisam acessar a internet por meio de um servidor de gateway com um IP público.

O mascaramento é uma forma específica de SNAT na qual o endereço IP da interface de saída é usado automaticamente como IP de origem, o que é útil para endereços IP dinâmicos.

Exemplo: permitir que a rede interna 192.168.0.0/24 acesse a internet por meio de eth0.

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

DNAT para serviços de entrada

A NAT de destino (DNAT) altera o endereço IP de destino dos pacotes. Isso é ideal para o encaminhamento de portas, no qual um serviço em execução em um servidor interno é exposto à internet por meio do IP público do servidor gateway.

Exemplo: encaminhar solicitações web recebidas (porta 80) na interface eth0 para um servidor web interno em 192.168.1.100.

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:80

Proteção contra ataques de força bruta

O IPTables pode ajudar a proteger contra ataques comuns, como tentativas de login por força bruta (por exemplo, SSH), limitando a taxa na qual novas conexões são aceitas de um IP de origem.

O módulo limit permite especificar uma taxa e um limite de rajada. Lembre-se de descartar as conexões subsequentes depois que o limite for atingido.

Exemplo: limitar novas conexões SSH a 3 por minuto, com uma rajada inicial de 3 conexões, e então descartar as demais.

sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 3/minute --limit-burst 3 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP

Lógica das regras do IPTables

Considere um servidor atuando como gateway. Ele tem uma interface pública eth0 e uma interface interna eth1 (conectada a 192.168.1.0/24).

Qual comando do IPTables permitiria que um servidor web interno em 192.168.1.50 fosse acessível pela internet na porta 80?

Revisão do IPTables

Parabéns! Você explorou conceitos avançados do IPTables:

  • Firewall com estado usando os estados ESTABLISHED, RELATED e NEW.
  • Criação de regras complexas combinando vários critérios de correspondência.
  • Implementação de tradução de endereços de rede (NAT) para tráfego de saída (SNAT/Masquerade) e de entrada (DNAT/encaminhamento de portas).
  • Uso do módulo limit para proteção básica contra ataques.

Essas habilidades são essenciais para criar ambientes de servidores Linux robustos e seguros. Lembre-se de salvar suas regras do IPTables depois de fazer alterações, pois elas não são persistentes por padrão!

Perguntas Frequentes

A aula “Regras Avançadas de Firewall (IPTables)” é grátis?

Sim — o texto completo de “Regras Avançadas de Firewall (IPTables)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Linux Server Deployment & SSH Mastery, atualize para CoddyKit PRO. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.

O que vou aprender em “Regras Avançadas de Firewall (IPTables)”?

Domine o IPTables para criar regras complexas e com controle de estado, implementar tradução de endereços de rede (NAT) e proteger o servidor contra ataques sofisticados. Você pratica Linux Server Deployment & SSH Mastery com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Linux Server Deployment & SSH Mastery?

Nenhuma experiência prévia é necessária. Linux Server Deployment & SSH Mastery no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Regras Avançadas de Firewall (IPTables)”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Linux Server Deployment & SSH Mastery?

Sim. Cada aula de Linux Server Deployment & SSH Mastery inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Auditoria de Segurança do Servidor
  2. Regras Avançadas de Firewall (IPTables)
  3. Detecção e Prevenção de Intrusões
  4. Registro Centralizado e Integração com SIEM
← Voltar para Linux Server Deployment & SSH Mastery