Segurança de servidores

Segurança em servidores Linux: como configurar firewalls com iptables e nftables

Aprenda a configurar firewalls no Linux utilizando iptables e nftables. Este post aborda como criar regras de proteção, bloquear tráfego malicioso e garantir a segurança do servidor.

Ilustração de segurança de firewall no Linux com cadeado e código digital ao fundo, representando a proteção de servidores através de firewalls.

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?

  1. 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
  1. 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
  1. Permitir tráfego SSH (porta 22):
  • Para garantir o acesso remoto via SSH:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  1. 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?

  1. 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
  1. 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
  1. 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.