Hardening de um VPS Debian recente em dez minutos
Um VPS recente recebe sua primeira tentativa de força bruta SSH minutos após iniciar. Este é o checklist curto e opinativo que fecha as portas fáceis — chaves, firewall, fail2ban, atualizações automáticas — antes de você instalar qualquer outra coisa.
Atualizado em 2026-06-12

Observe o log de autenticação de qualquer servidor novo e a radiação de fundo da internet aparece imediatamente: bots de credential-stuffing percorrendo dicionários contra o root, scanners procurando vulnerabilidades do ano passado, crawlers identificando o que responde na porta 80. Nada disso é pessoal e quase tudo é automatizado, o que é a boa notícia — ataques automatizados são derrotados por higiene básica, aplicada antes de você implantar sua carga de trabalho real. Este guia é essa higiene, comprimida em dez minutos no Debian 12/13 (tudo se traduz para Ubuntu com edições menores). Deliberadamente não é um framework de auditoria de 4.000 palavras: são as portas que bots reais realmente tentam, fechadas em ordem de importância. Execute-o em cada máquina que você implantar aqui, depois vá trabalhar na VPN, node ou servidor de e-mail para o qual veio.
O que este checklist deliberadamente deixa de fora
Port-knocking, paredes sysctl de hardening de kernel, ajustes SELinux/AppArmor, suítes de detecção de intrusão — todas ferramentas reais, nenhuma delas prioridade no primeiro dia em um VPS de propósito único, e várias são fáceis de configurar errado e resultar em bloqueios. O 80/20 aqui é honesto: chaves + sem senhas + default-deny + patches automáticos para essencialmente todo comprometimento não direcionado. Adicione as ferramentas pesadas quando seu modelo de ameaça nomear um adversário que derrotaria o básico — e se a privacidade em nível de disco importa para seu modelo, lembre que a camada KVM permite rodar criptografia de disco completo dentro do guest.
Backups fazem parte da segurança
Hardening reduz as chances; backups limitam o dano. Snapshots semanais estão incluídos em todos os planos aqui, mas snapshots ficam com o servidor — para qualquer coisa que você não pode perder, envie cópias offsite criptografadas também: restic ou borg para uma segunda máquina (um Pup de US$3,50 em outra região é um alvo de backup conveniente) custa minutos para configurar. Teste uma restauração uma vez; um backup não testado é uma esperança, não um plano.
- Faça login uma vez, atualize tudo
apt update && apt full-upgrade -y && rebootTemplates são snapshots; a lacuna entre a data do snapshot e hoje é exatamente a janela que os scanners exploram. Aplique os patches primeiro, reinicie no novo kernel, depois configure.
- Crie seu usuário e instale sua chave SSH
adduser ops && usermod -aG sudo ops mkdir -p /home/ops/.ssh && nano /home/ops/.ssh/authorized_keys # paste your ed25519 public key chmod 700 /home/ops/.ssh && chmod 600 /home/ops/.ssh/authorized_keys && chown -R ops:ops /home/ops/.sshGere a chave na sua máquina local se não tiver uma:
ssh-keygen -t ed25519. Testessh ops@your-ipem um segundo terminal antes de continuar. - Bloqueie o sshd
Edite
/etc/ssh/sshd_config.d/hardening.conf:PermitRootLogin no PasswordAuthentication no KbdInteractiveAuthentication no MaxAuthTries 3 AllowUsers opsDepois
systemctl restart ssh— com sua sessão por chave confirmada funcionando primeiro. Adivinhação de senha morre aqui: não há senha para adivinhar. Mover a porta para algo não-padrão silencia o ruído dos logs, mas é cosmético, não segurança; faça por organização se quiser. - Levante um firewall default-deny (nftables)
O firewall nativo do Debian, ruleset mínimo em
/etc/nftables.conf:table inet filter { chain input { type filter hook input priority 0; policy drop; ct state established,related accept iif lo accept tcp dport 22 accept icmp type echo-request limit rate 5/second accept icmpv6 type { echo-request, nd-neighbor-solicit, nd-neighbor-advert, nd-router-advert } accept } }systemctl enable --now nftables. Abra portas adicionais apenas quando implantar os serviços que precisam delas — o guia de VPN abre 51820/udp, o guia de e-mail 25/465/993, e assim por diante. Default-deny significa que um daemon de teste esquecido fica inacessível em vez de ser uma brecha. - Adicione fail2ban para o ruído que resta
apt install -y fail2ban printf "[sshd] enabled = true maxretry = 4 bantime = 1h " > /etc/fail2ban/jail.d/ssh.local systemctl enable --now fail2banCom senhas já desativadas, isso é defesa em profundidade mais higiene de logs — reincidentes são bloqueados no firewall em vez de encher seu log de autenticação.
- Ative atualizações de segurança automáticas
apt install -y unattended-upgrades dpkg-reconfigure -plow unattended-upgradesO time de segurança do Debian agora aplica patches na sua máquina enquanto você dorme. A linha de maior valor efetiva desta página medida por pressionamento de tecla: a maioria dos comprometimentos reais explora patches que existiam há meses.
- Verificação rápida em dois minutos
Confirme a postura de fora:
ssh root@your-ip # must be refused nmap -p- your-ip # only 22 (and your service ports) open last -a; journalctl -u ssh -n 50 # familiarise yourself with normalOpcionalmente adicione TOTP 2FA na sua conta VPSCrypto em si — o painel pode reconstruir ou reimplantar o servidor, portanto merece o mesmo cuidado que o root.
Perguntas frequentes
Devo mudar a porta SSH?
É controle de ruído nos logs, não segurança — scanners encontram portas não-padrão em segundos com masscan. Faça isso se logs quietos ajudam a notar anomalias reais; nunca conte como uma camada de defesa. As defesas reais são autenticação somente por chave e MaxAuthTries.
Preciso de fail2ban se as senhas estão desativadas?
Estritamente não para SSH — não há nada para forçar. Fica na lista porque também cobre outros serviços que você pode adicionar depois (e-mail, painéis) e mantém os logs legíveis. Pule em uma máquina minimalista se preferir.
Um firewall VPS é necessário quando o provedor tem proteção DDoS?
Eles resolvem problemas diferentes. A mitigação DDoS upstream absorve floods; sua política nftables controla quais serviços são acessíveis. Default-deny é sobre o daemon que você esqueceu, não sobre gigabits.
E sobre Ubuntu em vez de Debian?
Tudo aqui se aplica; Ubuntu vem com ufw como frontend mais amigável (ufw default deny incoming; ufw allow 22/tcp; ufw enable) e ativa unattended-upgrades por padrão em versões recentes. O hardening do sshd é idêntico.
Como me recupero se me bloquear?
Use o acesso ao console na sua área do cliente — ele é independente do sshd, portanto você pode corrigir uma configuração incorreta ou restaurar um snapshot. É também por isso que você testa a nova configuração SSH em uma segunda sessão antes de fechar a primeira.
Continue explorando.
Implante um VPS offshore em cerca de um minuto
Sem KYC, pago em cripto, tudo NVMe. Escolha um plano, pague em Monero ou qualquer moeda principal e receba root em cerca de 60 segundos.
