
Hardening del VPS — la checklist OPSEC della prima ora.
Otto passaggi. Eseguire questo su ogni server nuovo.
La checklist universale pre-lancio prima che qualsiasi workload vada su un VPS nuovo. Solo chiave SSH, porta personalizzata, firewall, aggiornamenti automatici, fail2ban, snapshot, ripristino documentato. Testato su Debian 12 / Ubuntu 22-24 / Alpine.
- 01
SSH key auth
- 02
Disable root + change port
- 03
Firewall baseline
- 04
Unattended-upgrades
- 05
Fail2ban
- 06
Time + swap
- 07
Baseline snapshot
- 08
Recovery doc
Chiavi, non password. Porta personalizzata, non 22.
Sul proprio laptop, generare una coppia di chiavi ed25519 (più piccola, più veloce, moderna):
ssh-keygen -t ed25519 -C "you@laptop"
ssh-copy-id -p 22 root@<vps-ip>
ssh root@<vps-ip> # should now work without password
Sul VPS, modificare /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
Creare prima un utente sudo non-root (adduser bear; usermod -aG sudo bear; ssh-copy-id -p 22 bear@vps), testare il login, POI riavviare sshd: systemctl restart sshd. In caso di blocco, la console del pannello fornisce accesso alla shell senza SSH.
Negazione in entrata per default. Inserire in allowlist ciò che si ha bisogno.
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
Replichi lo stesso set di regole nel firewall a livello bastion di NordBastion tramite il pannello (Networking → Firewall). Il firewall del bastion blocca prima che il pacchetto raggiunga il VPS, risparmiando CPU sulle scansioni volumetriche. Difesa in profondità.
Due pacchetti, cinque minuti, impatto reale.
apt install -y unattended-upgrades fail2ban
dpkg-reconfigure -plow unattended-upgrades # accept defaults
systemctl enable --now fail2ban
fail2ban-client status # shows sshd jail
unattended-upgrades applica automaticamente le patch di sicurezza; fail2ban banna gli IP che falliscono 5 tentativi di autenticazione nell'arco di 10 minuti per 1 ora. Nessuno dei due richiede ulteriore configurazione per il caso d'uso di base — entrambi sono default aggressivi che funzionano per tutti.
Imposti il fuso orario UTC. Aggiunga un file di swap.
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 sul server semplifica la correlazione dei log tra bastion e client in qualsiasi fuso orario. Un file di swap da 2-4 GB protegge dai picchi di OOM-kill; sui tier piccoli è importante, sui tier grandi è un'assicurazione a basso costo.
Catturare lo stato pulito. Annotare il percorso di recupero.
Snapshot. Nel pannello: Server → il proprio server → Snapshot → Crea. Denominarlo baseline-hardened-YYYY-MM-DD. Gli snapshot NordBastion sono off-host, crittografati e richiedono secondi. Si può ripristinare in circa 90 secondi — il proprio sé futuro ringrazierà la prima volta che un aggiornamento va storto.
Documento di ripristino. Su carta o in un password manager, annotare:
- Email account NordBastion + (mnemonic della password, non la password stessa)
- Dove risiede la sua chiave privata SSH sul laptop
- Il numero di porta SSH personalizzato
- Il nome utente sudo non-root sul VPS
- Il nome dello snapshot di base a cui ripristinare
- Nota: «la console del pannello funziona senza SSH — usarla per il recupero in caso di blocco»
L'OPSEC è la disciplina di annotare le cose oggi affinché il sé futuro possa recuperare quando quello attuale ha dimenticato. La forgia è chiusa quando il documento è completo.
Domande, con risposta.
Otto domande che un cliente VPS alla prima esperienza pone durante l'esecuzione della checklist.
L'auth con chiave SSH è davvero più sicura di una password robusta?
Sì, con ampio margine. Una password — anche una casuale di 16 caratteri — è suscettibile di brute-force in alcuni modelli di minaccia realistici; una chiave SSH ed25519 ha 256 bit di entropia e non lo è. Una chiave è anche legata al dispositivo su cui risiede, quindi un attaccante ha bisogno sia del file chiave CHE della passphrase che lo decifra. Disabiliti completamente PasswordAuthentication in sshd_config e la superficie di attacco brute-force va a zero.
Cambiare la porta SSH dal 22 a una casuale aiuta davvero?
Non ferma un attaccante determinato — scansionerà tutte le 65.535 porte. RIDUCE però il volume di rumore automatizzato dai bot che provano solo la porta 22, il che significa log più puliti e fail2ban meno sollecitato. Scegliere una porta casuale tra 1024 e 65535, annotarla in un posto che non si perda, aggiornare il firewall per consentirla. Guadagno netto: circa il 90% di rumore nei log in meno.
UFW o nftables — quale?
UFW per chi impara o gestisce un singolo VPS — è un wrapper user-friendly, la sintassi è leggibile dall'uomo, e si trova sopra iptables o nftables. nftables direttamente se vuole una composizione di regole più rigorosa, set anonimi, o gestisce più di una manciata di server e vuole coerenza. Entrambi producono lo stesso risultato a livello kernel.
Devo eseguire unattended-upgrades anche per il kernel?
Patch di sicurezza sì — correggono CVE critici e l'alternativa è lasciarli aperti. Gli aggiornamenti completi del kernel sono più rischiosi perché richiedono un riavvio per essere applicati; unattended-upgrades non riavvia di default. Legga /etc/apt/apt.conf.d/50unattended-upgrades e decida: la maggior parte dei clienti NordBastion lascia la configurazione automatica su «solo sicurezza» e riavvia manualmente ogni mese durante una finestra tranquilla.
fail2ban è necessario se ho già disabilitato l'auth con password?
Strettamente necessario, no — una volta disabilitata l'autenticazione con password, il brute-force su SSH non può avere successo. fail2ban rimane utile per altri servizi (posta, pagine di login di applicazioni web, qualsiasi cosa abbia uno strato di credenziali). Assicurazione a basso costo: apt install fail2ban, accetti i default, vada avanti. I 30 secondi necessari per l'installazione valgono i log più puliti e la protezione bonus dei servizi che fornisce.
E la cifratura completa del disco?
Non parte della prima ora — la crittografia completa del disco con chiave detenuta dall'utente richiede o un'installazione ISO personalizzata (montaggio di LUKS all'avvio con una passphrase che qualcuno deve digitare) o la prossima opzione NordBastion LUKS-on-provision (roadmap del pannello). Per ora, trattare il disco come leggibile da NordBastion (nell'improbabile caso di citazione in giudizio) e trattare la protezione giurisdizionale di NordBastion come il livello che lo mantiene sicuro. Se il proprio modello di minaccia richiede FDE prima del lancio, installare Debian tramite l'ISO di recupero in un volume root LUKS e sbloccare attraverso la console del pannello a ogni avvio — praticabile ma un cambiamento significativo nell'onere operativo.
Con quale frequenza dovrei fare snapshot?
Tre cadenze utili. (1) Prima di ogni modifica significativa (aggiornamento di pacchetti, modifica della configurazione, aggiornamento del SO). (2) Su pianificazione — una volta a settimana è un default ragionevole per qualsiasi workload in produzione. (3) Prima di ogni esercitazione di verifica del backup, così può dimostrare che il ripristino funziona. Gli snapshot NordBastion sono off-host e cifrati; non consumano il disco del VPS e possono essere ripristinati in circa 90 secondi.
Devo monitorare il VPS e come?
Per la prima ora: non ancora — completare l'hardening, avviare il carico di lavoro, poi aggiungere il monitoring una volta che c'è qualcosa che vale la pena monitorare. Opzioni leggere: node_exporter + Prometheus + Grafana su un secondo VPS piccolo, Netdata come dashboard self-hosted a singolo binario, o più semplicemente ancora, un checker di uptime esterno gratuito (UptimeRobot, BetterStack) che fa ping sulle porte pubbliche. Sceglierne uno, configurarlo, e dimenticarselo — il monitoring è più utile quando rimane silenzioso.
Server protetto. Ora costruisca qualcosa su di esso.
Ultima revisione · 2026-05-20 · Testato · Debian 12 · Ubuntu 22.04 / 24.04 · Alpine 3.19+
Anonymous VPS hosting in 2026 — the cluster.
This guide is one spoke of a larger series. The pillar walks the three privacy layers end to end — the sibling spokes below dive into the specifics.
Three independent layers — signup, payment, network — explained, legal context included, common mistakes flagged.
What “no KYC” actually means — and what it does not.
Why Sweden, Finland, Norway and Iceland — the legal floor of each.
XMR end-to-end — wallet, transfer, confirmations, change.
Lightning invoice → paid VPS in under 30 seconds.