Configurare un server Debian per produzione
Debian e una delle distribuzioni Linux più apprezzate per i server di produzione grazie alla stabilita, ai cicli di rilascio prevedibili e alla qualità dei pacchetti. Una corretta configurazione iniziale evita la maggior parte degli incidenti di sicurezza e prestazione che colpiscono installazioni lasciate alle impostazioni di default.
Installazione minima e primi passaggi
Parti sempre da un'installer Netinst, deseleziona desktop environment e seleziona solo SSH server e utility di sistema standard. Un server di produzione non deve avere GUI ne pacchetti superflui. Subito dopo aggiorna gli indici e installa i pacchetti di base con apt update && apt full-upgrade seguito da apt install sudo vim git htop curl ufw fail2ban unattended-upgrades.
Utente amministrativo e SSH
Crea un'utente non root con adduser admin e aggiungilo al gruppo sudo con usermod -aG sudo admin. Genera localmente una coppia di chiavi SSH ed importa la pubblica con ssh-copy-id admin@server. Modifica /etc/ssh/sshd_config impostando PermitRootLogin no, PasswordAuthentication no, PubkeyAuthentication yes e cambia la porta di ascolto se possibile. Riavvia il servizio con systemctl restart sshd.
Firewall, fail2ban e aggiornamenti automatici
Configura UFW per consentire solo le porte strettamente necessarie: ufw default deny incoming, ufw allow OpenSSH, ufw allow http, ufw allow https, ufw enable. Abilita fail2ban per bloccare gli attacchi brute force su SSH e unattended-upgrades per le patch di sicurezza con dpkg-reconfigure unattended-upgrades.
Procedura passo-passo
- Aggiorna il sistema e riavvia se necessario per applicare nuovi kernel.
- Configura hostname e fuso orario con
hostnamectletimedatectl set-timezone Europe/Rome. - Imposta NTP per la sincronizzazione oraria.
- Disabilita il login root via SSH e abilita solo chiavi pubbliche.
- Installa e configura UFW e fail2ban.
- Abilita aggiornamenti di sicurezza automatici.
- Installa un'agente di monitoring (Netdata, Prometheus node-exporter o Zabbix agent).
- Configura uno script di backup automatico con rsync o restic.
- Documenta tutto in un runbook condiviso.
Errori comuni e come risolverli
- Dimenticare di copiare la chiave SSH prima di disabilitare la password: rimani fuori dal server, usa la console KVM del provider per recuperare.
- Configurare UFW dopo aver chiuso SSH: aggiungi sempre la regola SSH prima di abilitare il firewall.
- Lasciare apt-get autoremove senza supervisione: in unattended-upgrades imposta Remove-Unused-Dependencies con cautela.
- Saltare il monitoring: senza metriche non sai quando il server e sotto stress.
Domande frequenti
D: Quale versione Debian usare?
R: La stable corrente: nel 2026 Debian 13 "Trixie" e in produzione, supportata fino a circa il 2028 e con LTS fino al 2030.
D: Conviene installare Plesk o restare a configurazione manuale?
R: Plesk semplifica la gestione di siti, email e SSL ma aggiunge un livello di astrazione; per pochi siti e amministratori esperti la configurazione manuale e più flessibile.
D: Posso usare swap su SSD?
R: Si, ma dimensiona la RAM in modo da non dipenderne; usa swappiness 10 per ridurre l'usage in carichi tipici.
Approfondimento tecnico: repository e snapshot
La gestione pacchetti Debian e basata su apt e dpkg. I repository sono organizzati in main, contrib, non-free, non-free-firmware. Per produzione fai pinning delle versioni con /etc/apt/preferences.d/ e blocca eventuali upgrade automatici di pacchetti critici (kernel, MySQL). Le backports permettono di portare in stable versioni più recenti di alcuni software senza compromettere la base.
Il servizio snapshot.debian.org consente di reinstallare con qualsiasi versione passata di un pacchetto: utilissimo per riprodurre ambienti datati o effettuare downgrade in caso di regressioni. Combinalo con strumenti come etckeeper per versionare le modifiche a /etc/ via git.
Scenari d'uso reali
Un server di hosting condiviso con Plesk si appoggia bene a Debian per stabilita: aggiornamenti di sicurezza arrivano tempestivi, ma le versioni dei pacchetti core restano stabili per anni evitando regressioni applicative.
Un nodo Proxmox VE e tecnicamente un Debian customizzato: la solidita Debian e quindi il fondamento dell'intera virtualizzazione.
Un gateway VPN/firewall con WireGuard e nftables beneficia della leggerezza Debian minimale: 200 MB di RAM bastano per gestire centinaia di peer.
Checklist operativa per Debian in produzione
- Verifica versione stable LTS supportata (oggi Debian 13 Trixie).
- Configura repository security + updates per patch automatiche.
- Imposta apt-listbugs per evitare upgrade con regressioni note.
- Versiona /etc/ con etckeeper o configuration management.
- Pianifica reboot trimestrale per applicare kernel.
- Monitora /var/log/dpkg.log e CVE applicabili ai pacchetti installati.
- Documenta deviazioni da configurazione di default.
Risorse e riferimenti
La Debian Administrator Handbook e la documentazione ufficiale debian.org sono i riferimenti principali. Il portale security.debian.org elenca tutti i DSA (Debian Security Advisory). Per package management avanzato, aptitude offre risoluzione dipendenze interattiva. I repository backports permettono di portare in stable software più recente in modo controllato.
Considerazioni economiche e organizzative
Implementare correttamente quanto descritto in questo articolo su configurare un server debian per produzione richiede tempo, formazione e talvolta investimenti hardware o software. La buona notizia e che il ritorno e quasi sempre positivo: meno incidenti, meno tempo speso in troubleshooting reattivo, maggiore predicibilita dei servizi. Stima sempre il costo del downtime per il tuo business: anche poche ore l'anno di indisponibilita possono giustificare investimenti che a prima vista sembrano sovradimensionati.
Sul piano organizzativo, la documentazione e il fattore decisivo. Un sistema brillantemente configurato ma non documentato e una bomba a orologeria: il giorno in cui il sysadmin originale lascia l'azienda, ogni intervento diventa archeologia. Mantieni runbook aggiornati, versionali in git, fai pratica di lettura nei momenti di calma e non solo durante gli incidenti.
Glossario rapido dei termini chiave
RTO (Recovery Time Objective): tempo massimo entro cui un servizio deve tornare operativo dopo un'incidente. RPO (Recovery Point Objective): perdita massima accettabile di dati misurata nel tempo (es. 1 ora di transazioni). SLA (Service Level Agreement): contratto formale che definisce livelli di servizio e penali. SLO/SLI (Service Level Objective/Indicator): metriche interne di qualità usate per misurare e mantenere lo SLA. MTBF/MTTR: tempo medio tra guasti e tempo medio di ripristino, indicatori di affidabilità. Idempotenza: proprietà di un'operazione che, applicata più volte, produce lo stesso risultato della singola applicazione (fondamentale per automazione).
Hai bisogno di aiuto?
Se hai dubbi sulla gestione server, il team di G Tech Group puo aiutarti. Contattaci tramite il modulo di contatto.