O que é Firewall e como configurar o básico no Linux
Todo servidor exposto à internet recebe centenas de tentativas de acesso não autorizado por dia — bots escaneando portas, tentativas de força bruta em SSH, exploração de serviços mal configurados. O firewall é a primeira linha de defesa contra essas ameaças.
O que é um Firewall?
Um firewall é um sistema que monitora e controla o tráfego de rede com base em regras de segurança predefinidas. Ele decide quais conexões são permitidas e quais devem ser bloqueadas, atuando como um porteiro entre a sua rede interna e o mundo externo.
Firewall de Hardware vs Software
Hardware: dispositivo físico dedicado (ex: roteadores com firewall integrado, appliances Fortinet, pfSense). Proteção antes do tráfego entrar na rede. Ideal para empresas.
Software: programa rodando no próprio servidor (ex: UFW, iptables no Linux, Windows Defender Firewall). Mais simples e gratuito. Ideal para servidores VPS e uso doméstico.
Configurando o UFW no Linux (Ubuntu/Debian)
O UFW (Uncomplicated Firewall) é uma interface simplificada para o iptables. Veja como configurar o básico:
sudo apt install ufw
# Definir políticas padrão: bloquear entrada, permitir saída
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Permitir SSH (SEMPRE antes de ativar!)
sudo ufw allow ssh
# Permitir HTTP e HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Ativar o firewall
sudo ufw enable
# Ver regras ativas
sudo ufw status verbose
Regras importantes para servidores web
sudo ufw limit ssh
# Bloquear um IP específico
sudo ufw deny from 192.168.1.100
# Remover uma regra
sudo ufw delete allow 80/tcp
Monitorando tentativas de invasão
Após ativar o UFW, você pode monitorar as tentativas bloqueadas em tempo real nos logs do sistema:
sudo tail -f /var/log/ufw.log
# Contar tentativas bloqueadas por IP
sudo grep "BLOCK" /var/log/ufw.log | awk '{{'{'}}print $13{{'}'}}' | sort | uniq -c | sort -rn | head -20
Você vai se surpreender com a quantidade de tentativas de acesso que seu servidor recebe diariamente — centenas a milhares de bots escaneando portas comuns.
Fail2ban: bloqueio automático de IPs maliciosos
O Fail2ban complementa o firewall monitorando logs de autenticação e bloqueando automaticamente IPs que fazem muitas tentativas falhas de login:
# Configuração básica (/etc/fail2ban/jail.local)
[sshd]
enabled = true
maxretry = 5 # bloqueia após 5 tentativas
bantime = 3600 # bloqueio de 1 hora
Checklist de segurança para servidores Linux
✅ UFW ativo com apenas portas necessárias abertas → ✅ Fail2ban configurado para SSH → ✅ SSH na porta padrão 22 trocada (opcional) → ✅ Autenticação por chave SSH em vez de senha → ✅ Atualizações automáticas de segurança ativadas (unattended-upgrades) → ✅ Logs monitorados regularmente
Regra de ouro
Sempre libere a porta SSH (22) antes de ativar o UFW em um servidor remoto. Se você bloquear acesso SSH acidentalmente, perderá o acesso ao servidor completamente e precisará de acesso físico ou painel de controle do provedor para recuperar.