1. Atualize o sistema
# apt update
# apt full-upgrade -y
Se uma atualização do kernel for instalada, reinicie o servidor com reboot quando puder.# apt full-upgrade -y
2. Ative as atualizações automáticas de segurança
# apt install -y unattended-upgrades
# systemctl enable --now unattended-upgrades apt-daily.timer apt-daily-upgrade.timer
A partir daí, as correções de segurança são instaladas sozinhas todos os dias.# systemctl enable --now unattended-upgrades apt-daily.timer apt-daily-upgrade.timer
3. Ligue o firewall (UFW)
Libere o SSH antes de ativar o firewall, senão a conexão atual cai. Libere também as portas dos serviços que você vai usar, como 80 e 443 para sites:
# apt install -y ufw
# ufw allow OpenSSH
# ufw allow 80,443/tcp
# ufw enable
# ufw status
Atenção: portas publicadas pelo Docker não passam pelas regras do UFW. Em servidores com Docker, publique só as portas necessárias.
# ufw allow OpenSSH
# ufw allow 80,443/tcp
# ufw enable
# ufw status
4. Bloqueie tentativas repetidas com o Fail2ban
O Fail2ban bloqueia por um tempo os endereços que erram a senha do SSH várias vezes. Ele já vem configurado para o SSH:
# apt install -y fail2ban
# fail2ban-client status sshd
# fail2ban-client status sshd
5. Acesse por chave SSH e desligue a senha
No seu computador (não no servidor), gere um par de chaves e copie a chave pública para o servidor. No Windows, use o PowerShell ou o Terminal:
# ssh-keygen -t ed25519
# ssh-copy-id root@IP-DO-SERVIDOR
No Windows, que não tem o ssh-copy-id, copie o conteúdo do arquivo .ssh\id_ed25519.pub da sua pasta de usuário para o arquivo /root/.ssh/authorized_keys do servidor.# ssh-copy-id root@IP-DO-SERVIDOR
Abra uma nova conexão e confirme que entra sem pedir a senha. Só então desligue o login por senha no servidor:
# nano /etc/ssh/sshd_config.d/00-och.conf
Deixe o arquivo assim:
PermitRootLogin prohibit-password
PasswordAuthentication no
PasswordAuthentication no
# sshd -t && systemctl reload ssh
A partir daí, o servidor só aceita acesso com a sua chave. Se perder a chave, use o console de recuperação do painel de conta para entrar e voltar a configuração.Caso tenha alguma dificuldade, abra um ticket de suporte: Abrir ticket