Marcio Cunha

Firewalld no Red Hat: Configurando o Firewall do Servidor com Segurança e Zonas de Rede

Descubra como dominar o Firewalld no Red Hat Enterprise Linux para proteger seus servidores corporativos. Aprenda a estruturar zonas de rede, gerenciar portas e aplicar regras persistentes sem interrupções.

Marcio Cunha12 min
Também disponível em:EnglishEspañol
Resumo
  • O conceito de zonas de rede substitui regras estáticas complexas por perímetros lógicos baseados na confiabilidade da conexão.
  • Modificações em tempo de execução exigem o argumento de permanência para sobreviverem a reinicializações do sistema operacional.
  • Serviços pré-configurados simplificam a liberação de tráfego complexo sem a necessidade de memorizar números de portas específicos.
  • A inspeção detalhada de pacotes via rich rules permite bloquear tráfego malicioso originado de endereços IP específicos.
  • Ambientes de produção demandam validação rigorosa das regras ativas antes de aplicar qualquer alteração estrutural no tráfego.

O Papel do Firewall em Servidores Linux Modernos

Gerenciar um servidor conectado à internet exige tanto cuidado quanto trancar as portas de uma casa física. No ecossistema Linux, o Firewalld atua como esse vigia automatizado, controlando quais conexões entram e saem do sistema operacional. Na prática, ele funciona como um guarda de trânsito digital que intercepta cada pacote de dados na fronteira da rede e decide se ele ganha acesso livre ou é sumariamente descartado com base em políticas predefinidas.

Historicamente, administradores dependiam de ferramentas mais rígidas que exigiam reescrever regras inteiras a cada pequena alteração. O Firewalld mudou essa dinâmica ao introduzir uma camada de gerenciamento dinâmico. Isso significa que você pode ajustar permissões de rede em tempo real sem derrubar conexões ativas ou reiniciar o subsistema de segurança, garantindo a continuidade operacional que aplicações corporativas modernas exigem para manter alta disponibilidade.

Compreendendo o Modelo Baseado em Zonas de Rede

A grande sacada arquitetural do Firewalld é o conceito de zonas, que são divisões lógicas do espaço de rede categorizadas pelo nível de confiabilidade. Pense nelas como crachás de acesso em um escritório: a zona pública representa a recepção aberta a estranhos, enquanto a zona interna equivale a uma sala restrita apenas a funcionários autorizados. Cada interface de rede do servidor é associada a uma destas zonas, determinando imediatamente o comportamento padrão para o tráfego que passa por ela.

Por padrão, a zona public é a mais comum em servidores expostos à internet, aplicando uma postura restritiva onde todo tráfego de entrada é negado, exceto o explicitamente permitido. Se o seu servidor roda em uma rede corporativa fechada, você pode mover a interface para a zona internal ou trusted, relaxando certas restrições para facilitar a comunicação interna. Essa segmentação evita que um ataque vindo de uma rede pública comprometa serviços que deveriam conversar apenas com máquinas confiáveis dentro do mesmo rack.

Instalação, Verificação e Controle do Serviço Base

Em distribuições baseadas em Red Hat Enterprise Linux, como RHEL, Rocky Linux e AlmaLinux, o Firewalld geralmente vem instalado por padrão. Antes de alterar qualquer configuração, o primeiro passo prático é verificar se o serviço está ativo e operante no sistema operacional. Para isso, utilizamos a ferramenta de gerenciamento de serviços do sistema, o systemctl, que controla os processos em segundo plano.

Execute o comando abaixo no terminal para checar o status atual do firewall:

sudo systemctl status firewalld

Se o serviço estiver inativo, você pode iniciá-lo e configurá-lo para iniciar automaticamente junto com o boot do servidor usando os comandos sudo systemctl start firewalld e sudo systemctl enable firewalld. Manter esse serviço sempre ativo garante que nenhuma interface de rede fique desprotegida caso ocorra uma reinicialização inesperada da máquina por falta de energia ou manutenção.

Gerenciando Portas e Serviços com a Ferramenta de Linha de Comando

A interface de administração padrão do Firewalld é o comando firewall-cmd. Com ele, você interage diretamente com o núcleo do firewall sem precisar editar arquivos de texto complexos manualmente. A principal distinção ao usar essa ferramenta é a diferença entre aplicar regras imediatas (runtime) e regras permanentes (permanent), que sobrevivem a uma reinicialização do servidor.

Para liberar o acesso ao servidor web tradicional na porta 80, por exemplo, utilizamos o conceito de serviços pré-definidos do sistema. O comando a seguir abre o tráfego HTTP de forma permanente na zona pública:

sudo firewall-cmd --permanent --zone=public --add-service=http

Após alterar regras com a flag --permanent, o firewall precisa ser recarregado para que o núcleo absorva as novas diretrizes. Fazemos isso executando sudo firewall-cmd --reload. Caso você precise liberar uma porta específica que não possui um serviço mapeado, como a porta 8080 de uma aplicação personalizada, basta substituir --add-service=http por --add-port=8080/tcp, mantendo o mesmo rigor operacional.

Criando Regras Avançadas e Bloqueios Específicos

Quando a infraestrutura cresce, portas e serviços básicos deixam de ser suficientes para conter ameaças sofisticadas. É aí que entram as rich rules, ou regras ricas em português simples. Elas permitem criar exceções cirúrgicas, como permitir acesso a um banco de dados apenas para o endereço IP específico do servidor de aplicação, bloqueando todo o restante da internet.

Imagine que você precisa autorizar o acesso à porta do MySQL (3306) estritamente para o IP 192.168.1.50. O comando para essa operação utiliza sintaxe estruturada:

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family=