A segurança de servidores Linux é uma das maiores preocupações para administradores de sistemas, especialmente quando se trata de servidores expostos à internet. Entre as soluções mais eficazes estão as configurações de firewall, e no Linux, duas das ferramentas mais poderosas são o iptables e o nftables.
Ambos oferecem funcionalidades robustas para controlar o tráfego de rede e proteger o servidor contra acessos indesejados. Neste artigo, veremos como configurar firewalls utilizando essas ferramentas.
O que é um firewall no Linux?
Um firewall é uma barreira de proteção que monitora e filtra o tráfego de entrada e saída com base em regras predefinidas. Ele impede que tráfego malicioso chegue ao servidor e protege contra ataques comuns, como tentativas de invasão ou negação de serviço.
No Linux, existem diferentes formas de implementar firewalls, mas as duas principais são o iptables e seu sucessor, o nftables.
O que é o iptables?
O iptables é uma das ferramentas mais tradicionais e amplamente utilizadas para o gerenciamento de firewalls no Linux. Ele opera na camada de rede do sistema, permitindo a criação de regras de controle de tráfego baseadas em IP, portas e protocolos.
Como configurar o iptables?
- Instalação e verificação:
- Para a maioria das distribuições Linux, o iptables já vem pré-instalado, mas você pode verificar e instalar com:
Para Debian, Ubuntu:
sudo apt install iptables
Para CentOS, RHEL
sudo yum install iptables
- Verifique se o iptables está ativo:
sudo iptables -L
- Bloquear todo o tráfego de entrada:
- Este comando bloqueará todo o tráfego de entrada, exceto os relacionados a conexões já estabelecidas:
sudo iptables -P INPUT DROP && sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
- Permitir tráfego SSH (porta 22):
- Para garantir o acesso remoto via SSH:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- Salvar as regras:
- Para que as regras se mantenham após reinicializações:
sudo iptables-save > /etc/iptables/rules.v4
O que é o nftables?
O nftables é o sucessor do iptables, projetado para ser mais eficiente e flexível. Ele unifica e simplifica a sintaxe de criação de regras e oferece melhor desempenho em sistemas com um grande volume de tráfego.
Como configurar o nftables?
- Instalação e verificação:
- Em sistemas modernos, o nftables já deve vir pré-instalado. Para verificar:
sudo nft list ruleset
- Caso não esteja instalado:
Para Debian, Ubuntu:
sudo apt install nftables
Para CentOS, RHEL:
sudo yum install nftables
- Criar e ativar regras básicas:
- Exemplo de regra para permitir o tráfego de entrada apenas na porta 22 (SSH):
sudo nft add table inet firewall && sudo nft add chain inet firewall input { type filter hook input priority 0 \; policy drop \; } && sudo nft add rule inet firewall input ct state established,related accept && sudo nft add rule inet firewall input tcp dport 22 accept
- Salvar e carregar regras:
- Para garantir que as regras se mantenham após reinicializações:
sudo nft list ruleset > /etc/nftables.conf && sudo systemctl enable nftables
iptables vs nftables: qual escolher?
- iptables: embora ainda seja amplamente utilizado e funcional, é considerado mais complicado de manter em grandes ambientes devido à sua complexidade.
- nftables: oferece uma sintaxe mais limpa e eficiente, facilitando a criação e o gerenciamento de regras, especialmente em redes maiores.
Para novos projetos e servidores que exigem mais flexibilidade, o nftables é geralmente a melhor escolha. No entanto, o iptables continua sendo uma opção sólida e confiável, especialmente em sistemas legados.
Conclusão
A configuração de firewalls é essencial para manter a segurança de servidores Linux. Tanto o iptables quanto o nftables são ferramentas poderosas e eficientes para essa tarefa. Ao escolher entre eles, considere o tamanho e a complexidade da rede, bem como a familiaridade da equipe com cada ferramenta.
Caso tenha mais dúvidas ou queira compartilhar sua experiência com essas ferramentas, participe do nosso Grupo SempreUpdate e continue o aprendizado junto com outros profissionais da área.