Como ativar o firewall no Linux e liberar as portas que você usa
UFW e firewalld na prática, com o cuidado que evita você se trancar para fora da própria VPS na hora de ativar.
Firewall no Linux é uma daquelas tarefas que parecem simples até você apertar enter no comando errado e perder o acesso à máquina.
Este guia cobre as duas ferramentas mais usadas, o UFW e o firewalld, na ordem certa para isso não acontecer.
Leia isto antes de ativar qualquer coisa
Quando você liga o firewall, ele passa a bloquear tudo que não foi liberado. E o seu acesso SSH é uma dessas coisas.
Ativar o firewall sem liberar o SSH antes derruba a sua conexão na hora, e você não consegue mais entrar para desfazer. A única saída vira reinstalar a máquina pelo painel.
Então a ordem é sempre:
- Libere o SSH
- Depois ative o firewall
- Confira em uma nova sessão, sem fechar a atual
Mantenha a sessão atual aberta durante todo o processo. Ela é a sua rede de segurança.
Qual firewall a sua distribuição usa
- Ubuntu e Debian: UFW
- Rocky Linux, AlmaLinux e CentOS: firewalld
Os dois são camadas de facilidade em cima do mesmo mecanismo do kernel. Você
não precisa saber iptables para usar nenhum deles.
Para descobrir o que está instalado:
which ufw firewall-cmd
UFW (Ubuntu e Debian)
1. Instale, se necessário
apt update && apt install -y ufw
2. Libere o SSH primeiro
ufw allow OpenSSH
Se você já trocou a porta do SSH, libere o número que está usando:
ufw allow 2222/tcp
Não pule esta etapa.
3. Ative o firewall
ufw enable
Ele avisa que a operação pode interromper conexões existentes. Como você já
liberou o SSH, pode confirmar com y.
4. Confira o que está ativo
ufw status numbered
A saída fica assim:
Status: active
To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 30120/tcp ALLOW IN Anywhere
5. Libere as portas da sua aplicação
A sintaxe é ufw allow porta/protocolo:
ufw allow 80/tcp
ufw allow 443/tcp
Atenção ao protocolo. Servidor de jogo costuma precisar de TCP e UDP na mesma porta. Liberar só um dos dois é o erro mais comum:
ufw allow 30120/tcp
ufw allow 30120/udp
Para liberar uma faixa:
ufw allow 7000:8000/tcp
E para liberar uma porta só para um IP específico, que é o mais seguro quando o serviço é só seu:
ufw allow from 203.0.113.10 to any port 3306
6. Remover uma regra
Liste com ufw status numbered e apague pelo número:
ufw delete 2
firewalld (Rocky, AlmaLinux e CentOS)
1. Ative o serviço
systemctl enable --now firewalld
2. Confirme que o SSH está liberado
O firewalld já vem com o SSH liberado na zona padrão, mas confirme antes de qualquer coisa:
firewall-cmd --list-all
Procure o ssh na linha services. Se não estiver:
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
3. Libere as portas da sua aplicação
firewall-cmd --permanent --add-port=30120/tcp
firewall-cmd --permanent --add-port=30120/udp
firewall-cmd --reload
O --permanent é obrigatório. Sem ele, a regra vale até o próximo reinício
e some depois, o que gera aquele problema que "voltou sozinho".
E o --reload é o que aplica de fato. Sem ele, a regra permanente está salva
mas ainda não está valendo.
Para serviços conhecidos dá para usar o nome em vez do número:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
4. Confira
firewall-cmd --list-all
5. Remover uma regra
firewall-cmd --permanent --remove-port=30120/tcp
firewall-cmd --reload
Como testar se a porta abriu mesmo
Liberar no firewall não garante que a porta responde. Duas checagens:
A aplicação está ouvindo? De dentro da máquina:
ss -tulpn | grep 30120
Se não aparecer nada, o firewall não é o problema: o seu serviço não subiu.
Está acessível de fora? Do seu computador, ou por qualquer site de teste de porta, tente conectar no IP da VPS naquela porta. Se responde de dentro mas não de fora, aí sim é firewall.
Se você se trancou para fora
Acontece. Se o SSH parou de responder depois de mexer no firewall, não existe comando mágico, porque justamente o canal de comando está bloqueado.
Os caminhos são acessar por um console de emergência, se a sua hospedagem oferecer, ou reinstalar o sistema pelo painel, o que apaga tudo. O processo está em como formatar o seu VPS.
É exatamente por isso que a ordem dos passos deste guia importa.
Duas boas práticas
Libere o mínimo necessário. Cada porta aberta é uma superfície a mais. Banco de dados, painel administrativo e serviços internos não precisam estar abertos para a internet inteira: restrinja por IP.
Troque a porta do SSH. Reduz muito o volume de tentativa automática de login. O passo a passo está em como alterar a porta do SSH.
E se a sua máquina for Windows, o procedimento equivalente está em como abrir uma porta na sua VPS.
Para o resto das práticas de proteção, escrevemos em como manter a segurança da sua VPS.
Firewall bem configurado protege a máquina, mas não segura ataque volumétrico: quando o tráfego satura o link, ele já chegou. Esse tipo de ataque precisa ser barrado na rede, e é o que a proteção DDoS inclusa nos planos faz.


