Hardening de VPS Ubuntu: checklist completo
Uma VPS recém-criada está exposta à internet com configuração padrão — isso significa senha root via SSH, todas as portas acessíveis e sem proteção contra força bruta. Hardening é o processo de reduzir a superfície de ataque: desabilitar o que não é necessário, restringir o que é e monitorar o restante. Este checklist cobre os passos essenciais para qualquer VPS Ubuntu 22.04 ou 24.04.
Passo 1: atualizar e ativar atualizações automáticas de segurança
A maioria das invasões exploram vulnerabilidades conhecidas com patches disponíveis:
# Atualizar tudo imediatamente
apt update && apt upgrade -y && apt autoremove -y
# Instalar unattended-upgrades
apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades
# Verificar configuração
cat /etc/apt/apt.conf.d/20auto-upgrades
# Deve conter:
# APT::Periodic::Update-Package-Lists "1";
# APT::Periodic::Unattended-Upgrade "1";
# Testar
unattended-upgrade --dry-run --debug | head -20Passo 2: criar usuário não-root e bloquear acesso root
Root deve ser inacessível remotamente:
# Criar usuário de administração
adduser deploy
usermod -aG sudo deploy
# Copiar chave SSH do root para o novo usuário
mkdir -p /home/deploy/.ssh
cp ~/.ssh/authorized_keys /home/deploy/.ssh/
chown -R deploy:deploy /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
chmod 600 /home/deploy/.ssh/authorized_keys
# TESTE O LOGIN EM OUTRO TERMINAL ANTES DE CONTINUAR
# ssh deploy@IP_DA_VPS
# Desabilitar root via SSH
sed -i 's/^PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
systemctl reload sshdPasso 3: firewall com UFW
Bloquear tudo que entra, liberar apenas o necessário:
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
# Liberar SSH ANTES de ativar
ufw allow ssh
ufw allow 80/tcp
ufw allow 443/tcp
# Ativar
ufw enable
ufw status verbosePasso 4: hardening SSH
Restrinja SSH além do básico:
cat >> /etc/ssh/sshd_config << 'EOF'
PermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3
MaxSessions 5
LoginGraceTime 30
ClientAliveInterval 300
ClientAliveCountMax 2
AllowUsers deploy
X11Forwarding no
AllowAgentForwarding no
EOF
sshd -t && systemctl reload sshdPasso 5: fail2ban e monitoramento básico
Bloquear IPs com comportamento suspeito e verificar o estado do sistema:
apt install -y fail2ban
cat > /etc/fail2ban/jail.local << 'EOF'
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
[sshd]
enabled = true
port = ssh
maxretry = 3
bantime = 86400
EOF
systemctl enable --now fail2ban
# Verificar estado do sistema
ss -tlnp # portas abertas
last -n 10 # últimos logins
lastb | head -10 # tentativas falhas$ runstack deploy --plan starter
Não quer configurar manualmente?
Não quer configurar manualmente? Implante o VPS em menos de 3 minutos com a Runstack. Infraestrutura da OPEN DATACENTER, com servidores no Brasil.