O mascote urso-polar do NordBastion em uma forja de pedra Nórdica soldando placas de armadura e cadeados de latão em uma pequena torre de servidor sobre uma bigorna, glifos protetores ciano envolvendo sua base, brilho âmbar da fornalha e fagulhas de soldagem âmbar
Tutorial · Lista de verificação·10 min de leitura · 60 min prático

Proteção do VPS — a lista de verificação OPSEC da primeira hora.
Oito etapas. Execute isso em cada servidor novo.

A lista de verificação universal pré-lançamento antes de qualquer workload ir para um VPS novo. Somente chave SSH, porta personalizada, firewall, atualizações automáticas, fail2ban, snapshot, recuperação documentada. Testado no Debian 12 / Ubuntu 22-24 / Alpine.

As oito etapas
  1. 01

    SSH key auth

  2. 02

    Disable root + change port

  3. 03

    Firewall baseline

  4. 04

    Unattended-upgrades

  5. 05

    Fail2ban

  6. 06

    Time + swap

  7. 07

    Baseline snapshot

  8. 08

    Recovery doc

Passo 01-02 · SSH

Chaves, não senhas. Porta personalizada, não 22.

No seu laptop, gere um par de chaves ed25519 (menor, mais rápido, moderno):

ssh-keygen -t ed25519 -C "you@laptop"
ssh-copy-id -p 22 root@<vps-ip>
ssh root@<vps-ip>     # should now work without password

No VPS, edite /etc/ssh/sshd_config:

Port 54871                  # pick a random number 1024-65535
PermitRootLogin no          # use a non-root user with sudo
PasswordAuthentication no   # keys only
PubkeyAuthentication yes

Crie primeiro um usuário sudo sem privilégios root (adduser bear; usermod -aG sudo bear; ssh-copy-id -p 22 bear@vps), teste o login, DEPOIS reinicie o sshd: systemctl restart sshd. Se você se bloquear, o console do painel fornece acesso ao shell sem SSH.

Passo 03 · Firewall

Negar entrada por padrão. Adicione à allowlist o que você precisa.

apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 54871/tcp      # custom SSH port
ufw allow 80/tcp         # if running a web service
ufw allow 443/tcp        # if running TLS
ufw enable
ufw status verbose

Replique o mesmo conjunto de regras no firewall de nível de bastion do NordBastion via painel (Redes → Firewall). O firewall do bastion bloqueia antes que o pacote chegue ao VPS, economizando CPU em varreduras volumétricas. Defesa em profundidade.

Passo 04-05 · Atualizações automáticas + fail2ban

Dois pacotes, cinco minutos, impacto real.

apt install -y unattended-upgrades fail2ban
dpkg-reconfigure -plow unattended-upgrades   # accept defaults
systemctl enable --now fail2ban
fail2ban-client status                       # shows sshd jail

O unattended-upgrades aplica patches de segurança automaticamente; o fail2ban bane IPs que falham 5 tentativas de autenticação em 10 minutos por 1 hora. Nenhum dos dois requer configuração adicional para o caso de uso básico — ambos são padrões agressivos que funcionam para todos.

Passo 06 · Hora + swap

Defina o fuso horário UTC. Adicione um swapfile.

timedatectl set-timezone UTC

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile none swap sw 0 0" >> /etc/fstab
free -h                                       # confirm swap is active

UTC no servidor simplifica a correlação de logs entre bastions e clientes em qualquer fuso horário. Um swapfile de 2-4 GB protege contra picos de OOM-kill; em planos pequenos faz diferença, em planos grandes é um seguro barato.

Passo 07-08 · Snapshot + documento de recuperação

Capture o estado limpo. Anote o caminho de recuperação.

Snapshot. No painel: Servidores → seu servidor → Snapshots → Criar. Nomeie como baseline-hardened-AAAA-MM-DD. Os snapshots da NordBastion são off-host, criptografados e levam segundos. Você pode restaurar em cerca de 90 segundos — seu eu futuro agradecerá na primeira vez que uma atualização der errado.

Documento de recuperação. No papel ou em um gerenciador de senhas, anote:

  • E-mail da conta NordBastion + (mnemônico da senha, não a senha em si)
  • Onde a sua chave privada SSH reside no laptop
  • O número de porta SSH personalizado
  • O nome de usuário sudo não-root no VPS
  • O nome do snapshot de linha de base para restaurar
  • Nota: "o console do painel funciona sem SSH — use-o para recuperação de bloqueio"

OPSEC é a disciplina de escrever as coisas hoje para que o você futuro possa se recuperar quando o você atual tiver esquecido. A forja está fechada quando o documento está completo.

FAQ · Hardening

Perguntas, respondidas.

Oito perguntas que um cliente VPS de primeira vez faz ao executar a lista de verificação.

A autenticação com chave SSH é realmente mais segura que uma senha forte?

Sim, por ampla margem. Uma senha — mesmo uma aleatória de 16 caracteres — é passível de força bruta em algum modelo de ameaça realista; uma chave SSH ed25519 tem 256 bits de entropia e não é. Uma chave também está vinculada ao dispositivo onde reside, então um atacante precisa tanto do arquivo de chave QUANTO da passphrase que o descriptografa. Desative o PasswordAuthentication completamente no sshd_config e a superfície de ataque de força bruta vai a zero.

Mudar a porta SSH de 22 para uma aleatória realmente ajuda?

Isso não impede um invasor determinado — eles vão escanear todas as 65.535 portas. MAS reduz o volume de ruído automatizado de bots que só tentam a porta 22, o que significa logs mais limpos e fail2ban menos sobrecarregado. Escolha uma porta aleatória entre 1024 e 65535, anote em algum lugar que não vai perder, atualize o firewall para permitir. Ganho líquido: cerca de 90% menos ruído nos logs.

UFW ou nftables — qual usar?

UFW para quem está aprendendo ou rodando um único VPS — é um wrapper amigável, a sintaxe é legível por humanos, e fica sobre iptables ou nftables por baixo. nftables diretamente se você quiser composição de regras mais rigorosa, conjuntos anônimos, ou rodar mais de alguns poucos servidores e quiser consistência. Ambos produzem o mesmo resultado a nível de kernel.

Devo rodar o unattended-upgrades para o kernel também?

Patches de segurança, sim — eles corrigem CVEs críticos e a alternativa é deixá-los expostos. Atualizações completas de kernel são mais arriscadas porque exigem reinicialização para entrar em vigor; o unattended-upgrades não reinicializa automaticamente por padrão. Leia /etc/apt/apt.conf.d/50unattended-upgrades e decida: a maioria dos clientes NordBastion mantém a configuração não assistida em "security-only" e reinicializa manualmente uma vez por mês em uma janela de baixo tráfego.

O fail2ban é necessário se eu já desativei a autenticação por senha?

Estritamente necessário, não — uma vez que a autenticação por senha está desativada, força bruta no SSH não pode ter sucesso. O fail2ban continua útil para outros serviços (e-mail, páginas de login de aplicações web, qualquer coisa que tenha uma camada de credenciais). Seguro barato: apt install fail2ban, aceite os padrões, siga em frente. Os 30 segundos para instalar valem os logs mais limpos e a proteção extra de serviços que oferece.

E quanto à criptografia de disco completo?

Não é parte da primeira hora — criptografia de disco completo com chave mantida pelo usuário requer uma instalação de ISO personalizada (montando LUKS na inicialização com uma senha que alguém precisa digitar) ou a próxima opção de LUKS-on-provision da NordBastion (roadmap do painel). Por enquanto, trate o disco como legível pela NordBastion (no improvável caso de intimação judicial) e trate a proteção jurisdicional da NordBastion como a camada que o mantém seguro. Se seu modelo de ameaça requer FDE antes do lançamento, instale o Debian via ISO de resgate em um volume raiz LUKS e desbloqueie pelo console do painel a cada inicialização — viável, mas uma mudança significativa no ônus operacional.

Com que frequência devo tirar snapshots?

Três cadências úteis. (1) Antes de cada mudança significativa (atualização de pacote, edição de configuração, atualização de SO). (2) Em um agendamento — uma vez por semana é um padrão razoável para qualquer workload de produção. (3) Antes de cada exercício de verificação de backup, para que você possa provar que a restauração funciona. Os snapshots do NordBastion são off-host e criptografados; não consomem seu disco do VPS e podem ser restaurados em cerca de 90 segundos.

Devo monitorar o VPS e como fazer isso?

Para a primeira hora: ainda não — finalize o hardening, coloque a carga de trabalho em execução, depois adicione monitoramento quando tiver algo que valha monitorar. Opções leves: node_exporter + Prometheus + Grafana em um segundo VPS pequeno, Netdata como dashboard self-hosted de binário único, ou mais simples ainda, um verificador externo de uptime na tier gratuita (UptimeRobot, BetterStack) fazendo ping nas portas públicas. Escolha um, configure-o e esqueça — o monitoramento é mais útil quando permanece em silêncio.

Próximo

Servidor protegido. Agora construa algo nele.

Última revisão · 2026-05-20 · Testado · Debian 12 · Ubuntu 22.04 / 24.04 · Alpine 3.19+