Un VPS nuovo è raggiungibile da tutta internet nell'istante in cui si avvia, e gli scanner automatici lo trovano nel giro di minuti. Nulla di quanto segue è avanzato; ciò che conta è l'ordine, perché farle nell'ordine sbagliato lascia una finestra aperta.

1. Aggiorni, prima di ogni altra cosa

apt update && apt upgrade -y

2. Un utente che non sia root

Lavorare come root vuol dire che ogni errore è irrecuperabile e ogni compromissione è totale. Crei un utente, gli dia sudo, e tenga root per le poche cose che lo richiedono.

adduser ops
usermod -aG sudo ops

3. La sua chiave su quell'utente, provata in una seconda finestra

Provi la chiave in un terminale NUOVO prima di chiudere questo. Se la chiave non funziona e lei ha già disattivato le password, resta chiuso fuori dal suo stesso server.
ssh-copy-id ops@your-server-ip
# then, in a NEW window:
ssh ops@your-server-ip

4. Spenga gli accessi con password

Solo dopo che la chiave funziona. Questa sola modifica chiude i tentativi a forza bruta contro il suo server, perché non resta più nulla da forzare.

# /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
# then
systemctl reload ssh

5. Un firewall che parte chiuso

Consenta ciò che le serve e nient'altro. Consenta prima SSH, altrimenti col comando successivo si chiude fuori da solo.

ufw allow OpenSSH
ufw allow 80,443/tcp
ufw enable

6. L'orologio

Un server con l'orologio sbagliato non può convalidare un certificato TLS, e gli errori che produce sembrano tutto tranne un problema di orologio.

timedatectl set-ntp true
timedatectl
Scriva quello che ha fatto in un file sul server stesso. Fra sei mesi, la domanda "perché è configurato così" se la porrà lei, sul suo stesso lavoro.