Os sistemas baseados em RHEL, como AlmaLinux, Rocky Linux e CentOS Stream, utilizam o firewalld como firewall padrão. Ele oferece uma interface moderna e flexível para definir regras de rede, abrir portas, controlar serviços e aplicar políticas de segurança sem interromper conexões existentes.
Este artigo serve como guia atualizado para administrar o firewall nos servidores da Rapid Cloud.
🔥 O que é o firewalld?
O firewalld é um serviço que utiliza o backend nftables/iptables e trabalha com:
• Zonas (agrupamento de regras por nível de confiança)
• Serviços pré-definidos (http, https, ssh etc.)
• Regras dinâmicas que podem ser aplicadas sem reiniciar o serviço
• Configurações permanentes ou temporárias
Ele é o firewall padrão nas distribuições:
✔ AlmaLinux
✔ Rocky Linux
✔ CentOS Stream
✔ RHEL 8/9
📌 1. Verificando o status do firewall
sudo systemctl status firewalld
Para iniciar:
sudo systemctl start firewalld
Para habilitar na inicialização:
sudo systemctl enable firewalld
📌 2. Verificando zonas
A zona padrão (normalmente public):
sudo firewall-cmd --get-default-zone
Listar todas as zonas:
sudo firewall-cmd --get-zones
Listar tudo dentro da zona ativa:
sudo firewall-cmd --list-all
📌 3. Abrir portas (temporário)
Essas regras somem após reboot:
sudo firewall-cmd --add-port=8080/tcp
sudo firewall-cmd --add-port=1194/udp
Listar portas abertas:
sudo firewall-cmd --list-ports
📌 4. Abrir portas de forma permanente
Essas regras persistem após reinicialização:
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=1194/udp
Recarregue:
sudo firewall-cmd --reload
📌 5. Liberar serviços pré-configurados
O firewalld possui centenas de serviços prontos (http, https, smtp, pop3, cpanel, mysql etc.)
Liberar http e https:
sudo firewall-cmd --add-service=http
sudo firewall-cmd --add-service=https
Versão permanente:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
📌 6. Remover regras
Remover regra temporária:
sudo firewall-cmd --remove-port=8080/tcp
Remover porta permanente:
sudo firewall-cmd --permanent --remove-port=8080/tcp
sudo firewall-cmd --reload
Remover Serviço:
sudo firewall-cmd --permanent --remove-service=http
sudo firewall-cmd --reload
📌 7. Usando zonas específicas (ex.: public)
Adicionar regra para zona específica:
sudo firewall-cmd --zone=public --add-service=ssh
Permanente:
sudo firewall-cmd --zone=public --permanent --add-service=ssh
sudo firewall-cmd --reload
📌 8. Bloquear IPs
A maneira mais segura é usar rich rules:
Bloquear IP:
sudo firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=1.2.3.4 drop"
sudo firewall-cmd --reload
Bloquear uma faixa (CIDR):
sudo firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=192.168.0.0/24 drop"
sudo firewall-cmd --reload
📌 9. Ver todas regras aplicadas
sudo firewall-cmd --list-all
Listar serviços liberados:
sudo firewall-cmd --list-services
Listar portas abertas:
sudo firewall-cmd --list-ports
Listar regras ricas:
sudo firewall-cmd --list-rich-rules
📌 10. Diagnóstico de problemas de conexão
Se você abriu a porta mas ela ainda não funciona:
1. Verifique se o serviço está escutando:
ss -tulnp | grep PORTA
2. Confirme que a porta está aberta no firewall
3. Verifique se o provedor/datacenter não bloqueia a porta
4. Verifique se há outro firewall ativo (ex.: CSF, Imunify, CloudLinux CageFS etc.)
5. Teste externamente com:
nc -vz SEU_IP PORTA
✔️ Conclusão
O firewalld, presente em AlmaLinux, Rocky Linux e CentOS Stream, é uma ferramenta poderosa para proteger servidores de forma prática e flexível.
Com este guia, você pode:
• Abrir e fechar portas
• Trabalhar com serviços
• Gerenciar zonas
• Criar regras permanentes
• Bloquear IPs e sub-redes
