Como proteger sua VPS em 5 passos antes de publicar qualquer aplicação

Quando você contrata uma VPS nova, a primeira coisa que muita gente faz é instalar Docker, subir o projeto e colocar tudo no ar.

Mas antes de publicar qualquer aplicação, existe uma etapa que não deveria ser ignorada: a segurança básica do servidor.

Neste tutorial, você vai configurar uma base mais segura para sua VPS usando 5 passos simples:

  1. Acessar o servidor com chave SSH
  2. Criar um usuário comum com permissão de administrador
  3. Transferir a chave SSH para esse novo usuário
  4. Desabilitar o login direto como root
  5. Ativar o firewall com segurança

Antes de começar, substitua os valores abaixo pelos seus dados reais:

[seu_usuario]

Use o nome do usuário que você deseja criar.

[ip_do_servidor]

Use o IP real da sua VPS.


Passo 1: Acesse sua VPS usando chave SSH

O primeiro passo acontece antes mesmo de você acessar o servidor.

Na hora de criar sua VPS, cadastre sua chave pública SSH no painel da empresa de hospedagem. Pode ser DigitalOcean, Hetzner, Hostinger, Vultr ou qualquer outro provedor.

Normalmente, essa chave fica no seu computador em um arquivo como:

~/.ssh/id_rsa.pub

ou:

~/.ssh/id_ed25519.pub

Depois que a VPS for criada com a chave cadastrada, faça o primeiro acesso como root:

ssh root@[ip_do_servidor]

Se tudo estiver certo, você vai entrar direto no servidor sem precisar digitar senha.


Passo 2: Crie um novo usuário e abandone o root

O usuário root tem controle total sobre o servidor.

O problema é que ele também é o primeiro alvo em tentativas de invasão, porque praticamente todo servidor Linux possui esse usuário.

Por isso, o ideal é criar um usuário comum e dar a ele permissão para executar comandos administrativos quando necessário.

Execute:

adduser [seu_usuario]

O sistema vai pedir para você criar uma senha e preencher algumas informações. Você pode preencher ou apenas pressionar Enter para avançar.

Depois, adicione esse usuário ao grupo sudo:

usermod -aG sudo [seu_usuario]

Com isso, o novo usuário poderá executar comandos administrativos usando sudo.


Passo 3: Transfira a chave SSH para o novo usuário

Agora que o usuário foi criado, ele também precisa conseguir acessar o servidor usando a chave SSH.

Para isso, copie o arquivo de chaves autorizadas do root para o novo usuário.

Crie a pasta .ssh no diretório do novo usuário:

mkdir -p /home/[seu_usuario]/.ssh

Copie o arquivo authorized_keys:

cp ~/.ssh/authorized_keys /home/[seu_usuario]/.ssh/

Agora ajuste o dono da pasta e dos arquivos:

chown -R [seu_usuario]:[seu_usuario] /home/[seu_usuario]/.ssh

Também recomendo ajustar as permissões:

chmod 700 /home/[seu_usuario]/.ssh
chmod 600 /home/[seu_usuario]/.ssh/authorized_keys

Antes de continuar, abra um novo terminal no seu computador e teste o acesso com o novo usuário:

ssh [seu_usuario]@[ip_do_servidor]

Só avance para o próximo passo depois de confirmar que conseguiu acessar normalmente com o novo usuário.

Isso é importante para evitar que você bloqueie seu próprio acesso ao servidor.


Passo 4: Desabilite o login direto como root

Agora que o novo usuário já consegue acessar a VPS, podemos desabilitar o login direto como root.

Acesse o arquivo de configuração do SSH:

sudo nano /etc/ssh/sshd_config

Ou, se preferir usar vi:

sudo vi /etc/ssh/sshd_config

Dentro do arquivo, procure pela linha:

PermitRootLogin

Altere para:

PermitRootLogin no

Se a linha estiver comentada com #, remova o # e deixe assim:

PermitRootLogin no

Salve e feche o arquivo.

Agora reinicie o serviço SSH.

Em muitas distribuições Ubuntu, o comando correto é:

sudo systemctl restart ssh

ou:

sudo service ssh restart

Em algumas distribuições, o serviço pode se chamar sshd:

sudo systemctl restart sshd

Se aparecer erro como Unit sshd.service not found, use:

sudo systemctl restart ssh

Depois disso, tente abrir uma nova conexão como root:

ssh root@[ip_do_servidor]

O acesso deve ser recusado.

Agora teste novamente com seu novo usuário:

ssh [seu_usuario]@[ip_do_servidor]

Esse deve continuar funcionando normalmente.


Passo 5: Ative o firewall com cuidado

O último passo é ativar o firewall da VPS usando o UFW.

Mas atenção: antes de ativar o firewall, você precisa liberar o SSH. Caso contrário, pode perder o acesso ao servidor.

Primeiro, libere conexões SSH:

sudo ufw allow ssh

Depois, ative o firewall:

sudo ufw enable

Se aparecer uma confirmação, digite:

y

Agora verifique o status:

sudo ufw status

Você deve ver algo parecido com:

Status: active

To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)

Isso significa que o SSH está liberado e o restante do servidor permanece bloqueado por padrão.

Caso você vá publicar uma aplicação web depois, provavelmente também precisará liberar as portas HTTP e HTTPS:

sudo ufw allow 80
sudo ufw allow 443

Depois confira novamente:

sudo ufw status

Resumo dos comandos

Aqui está a sequência principal dos comandos usados no tutorial:

ssh root@[ip_do_servidor]

adduser [seu_usuario]
usermod -aG sudo [seu_usuario]

mkdir -p /home/[seu_usuario]/.ssh
cp ~/.ssh/authorized_keys /home/[seu_usuario]/.ssh/
chown -R [seu_usuario]:[seu_usuario] /home/[seu_usuario]/.ssh
chmod 700 /home/[seu_usuario]/.ssh
chmod 600 /home/[seu_usuario]/.ssh/authorized_keys

ssh [seu_usuario]@[ip_do_servidor]

sudo nano /etc/ssh/sshd_config

sudo systemctl restart ssh

sudo ufw allow ssh
sudo ufw enable
sudo ufw status

Conclusão

Esses 5 passos criam uma base muito mais segura para qualquer VPS nova.

Você deixa de depender de senha, evita o uso direto do root, mantém o acesso controlado por chave SSH e bloqueia conexões desnecessárias com o firewall.

Antes de instalar Docker, N8N, Dokploy, banco de dados ou qualquer aplicação, vale a pena fazer essa configuração inicial.

É um processo simples, rápido e que pode evitar muita dor de cabeça no futuro.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *