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 cadeiasINPUT,OUTPUTeFORWARD. - Tabela
nat: usada para a Tradução de Endereços de Rede (NAT). Contém as cadeiasPREROUTING,POSTROUTINGeOUTPUT. - Outras tabelas, como
mangleeraw, 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 ACCEPTCriando 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 ACCEPTApresentando 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 MASQUERADEDNAT 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:80Proteçã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 DROPLó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,RELATEDeNEW. - 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
limitpara 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
- Auditoria de Segurança do Servidor
- Regras Avançadas de Firewall (IPTables)
- Detecção e Prevenção de Intrusões
- Registro Centralizado e Integração com SIEM