Guida alle tecnologie

Come mettere in sicurezza un'installazione pulita di Ubuntu

7 min read Sicurezza Aggiornato 21 Oct 2025
Mettere in sicurezza Ubuntu appena installato
Mettere in sicurezza Ubuntu appena installato

Introduzione

Un sistema Linux appena installato è generalmente meno vulnerabile a malware e spyware rispetto a un sistema Windows appena installato. Tuttavia, molte distribuzioni — Ubuntu incluso — scelgono impostazioni di default orientate alla comodità dell’utente piuttosto che alla massima sicurezza. Queste scelte possono lasciare alcune debolezze sfruttabili. Le istruzioni che seguono sono misure pratiche, collaudate e a basso impatto che migliorano significativamente la postura di sicurezza di una macchina Ubuntu appena installata.

Definizione rapida: per “postura di sicurezza” si intende l’insieme delle configurazioni e delle misure che riducono la probabilità e l’impatto di un attacco.

Importante: molte delle modifiche richiedono accesso root. Esegui i comandi con attenzione e, se possibile, prova le modifiche in un ambiente non di produzione prima di applicarle su macchine critiche.

Come aprire file di configurazione con privilegi di root

Per modificare i file di configurazione di sistema è necessario usare privilegi di amministratore. Tre metodi comuni per aprire un file (qui usiamo esempi con “/file/config”):

Aprire via terminale:

sudoedit /file/config

Editor terminale con sudoedit che apre un file di configurazione

Su Gnome (lancio rapido con Alt+F2):

gksudo gedit /file/config

Su KDE (lancio rapido con Alt+F2):

kdesu kate /file/config

Nota: negli esempi e negli screenshot seguenti tutte le modifiche vengono effettuate tramite terminale usando sudoedit.

Impostazioni di base consigliate

Queste modifiche dipendono dall’uso che farai del sistema. Alcuni punti chiave:

  • Imposta una password robusta per il tuo account utente principale. Anche se sei l’unico utente, la password protegge l’accesso e i segreti locali.
  • Se presti la macchina a visitatori, crea un account “Guest” con permessi limitati e password separata.
  • Applica il principio del minimo privilegio: usa sudo solo quando necessario.

Riconfigurare la memoria condivisa (/run/shm)

Per impostazione predefinita lo spazio di memoria condivisa (/run/shm) è montato in lettura/scrittura con esecuzione abilitata. Questo può essere sfruttato come vettore d’attacco in alcuni scenari. Per ridurre il rischio, monta /run/shm come sola lettura o, se necessario per determinate applicazioni, con esecuzione disabilitata.

Apri il file /etc/fstab:

sudoedit /etc/fstab

Aggiungi questa riga alla fine per montare /run/shm in sola lettura (opzione consigliata per la maggior parte dei desktop e server):

none /run/shm tmpfs defaults,ro 00

Se usi Google Chrome (o altre applicazioni che richiedono scrittura in /run/shm), usa invece questa riga per mantenere la scrittura ma disabilitare l’esecuzione e gli attributi pericolosi:

none /run/shm tmpfs rw,noexec,nosuid,nodev 00

Finestra di editor che mostra /etc/fstab con la riga per /run/shm

Nota: se modifichi /etc/fstab e vuoi applicare la nuova configurazione senza riavviare, puoi smontare e rimontare la risorsa (usare con cautela):

sudo umount /run/shm && sudo mount /run/shm

Negare l’uso di su agli account non amministrativi

Il programma su consente a un utente di eseguire comandi come un altro utente. Per impedire che account come “Guest” possano usare su per scalare i privilegi, modifica i permessi di /bin/su in modo che l’esecuzione sia consentita solo agli amministratori (gruppo sudo). Un modo standard è usare dpkg-statoverride per impostare proprietario, gruppo e permessi del binario:

sudo dpkg-statoverride --update --add root sudo 4750 /bin/su

Questo comando imposta /bin/su con modalità 4750, proprietario root e gruppo sudo, rendendo il comando eseguibile solo per gli utenti del gruppo sudo.

Terminale che mostra l'output del comando dpkg-statoverride

Importante: verifica che il gruppo sudo contenga solo gli amministratori desiderati.

Proteggere la directory home

Per impostazione predefinita la tua home directory può essere leggibile da altri utenti locali. Se condividi un computer o hai account guest, limita l’accesso alla tua home:

Per rendere la home leggibile solo dal proprietario:

chmod 0700 /home/username

Se preferisci consentire l’accesso al gruppo (es. per collaborazioni interne), usa 0750:

chmod 0750 /home/username

Schermata che mostra chmod applicato alla home directory per maggiore privacy

Nota: sostituisci username con il tuo nome utente reale.

Disabilitare il login root via SSH

Di default Ubuntu non consente l’accesso diretto SSH come root, ma se hai abilitato o assegnato una password a root è buona norma assicurarsi che SSH non lo permetta. Verifica prima se hai un server SSH in ascolto:

ssh localhost

Se ricevi “Connection refused”, non hai un server SSH installato — puoi ignorare la sezione SSH. Se invece risponde, modifica il file di configurazione di sshd:

sudoedit /etc/ssh/sshd_config

Cerca la riga:

PermitRootLogin yes

Sostituiscila con:

PermitRootLogin no

Poi riavvia il servizio SSH:

sudo systemctl restart sshd

Consiglio: preferisci sempre l’uso di chiavi SSH per l’autenticazione rispetto alle password e, ove possibile, limita l’accesso SSH tramite firewall o configurazioni per indirizzi IP.

Ulteriori misure consigliate

Le misure precedenti sono efficaci ma non esaustive. Ecco altre azioni facilmente applicabili per innalzare il livello di sicurezza:

  • Attiva il firewall UFW: sudo ufw enable e poi apri solo le porte necessarie come sudo ufw allow ssh (se usi SSH).
  • Abilita aggiornamenti automatici dei pacchetti critici: installa e configura unattended-upgrades.
  • Installa e configura fail2ban per bloccare tentativi di login ripetuti: sudo apt install fail2ban.
  • Rimuovi servizi e pacchetti non usati (riduce la superficie d’attacco).
  • Usa AppArmor (attivo su Ubuntu) e rivedi i profili per servizi esposti.
  • Valuta la cifratura del disco con LUKS se la macchina contiene dati sensibili.
  • Mantieni aggiornato il firmware (UEFI/BIOS) e considera l’uso di Secure Boot su hardware supportato.

Quando queste misure potrebbero non bastare (controesempi)

  • Macchine che eseguono software legacy/chiuso che richiede permessi speciali o scrittura in /run/shm: le impostazioni più vincolanti possono interrompere quei programmi.
  • Ambienti con amministrazione centralizzata (config management come Ansible/Puppet) dove le modifiche manuali vengono sovrascritte: integra le modifiche nei playbook.
  • Sistemi che richiedono accesso root per task automatizzati: valuta invece l’uso di sudo con regole molto restrittive.

Checklist rapida per lockdown iniziale (SOP breve)

  • Impostare password utente forte e account guest separato
  • [ ] Eseguire sudoedit /etc/fstab e aggiornare /run/shm come consigliato
  • [ ] Applicare dpkg-statoverride su /bin/su per limitare l’uso di su
  • [ ] Eseguire chmod 0700 /home/username o 0750 secondo necessità
  • [ ] Verificare e disabilitare PermitRootLogin in /etc/ssh/sshd_config se necessario
  • Abilitare UFW e consentire solo porte minime
  • [ ] Installare unattended-upgrades e fail2ban

Ruoli suggeriti:

  • Utente desktop: concentra su home protetta, password forte, blocco schermo automatico.
  • Amministratore di sistema: oltre alle misure sopra, integra in gestione configurazione, revisiona AppArmor, monitora log e update.

Diagramma decisionale rapido (Mermaid)

graph LR
  A[Hai SSH installato?] -- No --> B[Ignora SSH e procedi con lockdown locale]
  A -- Sì --> C[Hai bisogno di login root via SSH?]
  C -- No --> D[Imposta PermitRootLogin no e usa chiavi SSH]
  C -- Sì --> E[Usa sudo remoto limitato e MFA, documenta eccezioni]

Controlli di accettazione (Критерии приёмки)

  • /run/shm è montato con le opzioni desiderate (mount | grep /run/shm restituisce le opzioni corrette).
  • /bin/su è accessibile solo dagli amministratori (ls -l /bin/su mostra 4750 e gruppo sudo).
  • La tua home ha i permessi impostati come previsto (stat -c %a /home/username).
  • SSH non permette login root (ssh -v root@localhost mostra rifiuto se locale o tentativo bloccato).

Note su privacy e conformità (GDPR)

Queste misure tecniche riducono l’esposizione dei dati locali e i rischi di fuga di informazioni. Se gestisci dati personali soggetti a regolamenti come il GDPR, assicurati di integrare queste azioni con politiche di accesso, auditing e conservazione dati adeguate (registrazione dei consensi, minimizzazione dei dati, cifratura at-rest e in-transit).

Best practice e modelli mentali

  • Difesa in profondità: combinare firewall, hardening dei servizi, restrizioni di file e monitoraggio.
  • Minimo privilegio: concedere la minima capacità necessaria per svolgere un compito.
  • Riduzione della superficie d’attacco: disinstallare software inutilizzato, chiudere porte, disabilitare servizi.

Risorse successive

  • Wiki di Ubuntu per approfondimenti su AppArmor, gestione pacchetti e sicurezza.
  • Documentazione ufficiale di UFW, fail2ban e unattended-upgrades per configurazioni dettagliate.

Riepilogo

Hai eseguito i passi fondamentali per migliorare la sicurezza di un’installazione fresca di Ubuntu: gestione dei privilegi per su, isolamento della memoria condivisa, protezione della home e blocco dell’accesso root via SSH. Completa queste azioni con firewall, aggiornamenti automatici e controllo dei servizi per ottenere una postura di sicurezza solida.

Autore
Redazione

Materiali simili

Come restituire un gioco su Steam — Guida rapida
Guide.

Come restituire un gioco su Steam — Guida rapida

Compra crypto con Apple Pay su iPhone
Criptovalute

Compra crypto con Apple Pay su iPhone

Profilo pubblico Snapchat: guida completa
Social

Profilo pubblico Snapchat: guida completa

Alternative open source essenziali su Linux
Software Open Source

Alternative open source essenziali su Linux

Installare CyanogenMod su Lenovo P780
Android

Installare CyanogenMod su Lenovo P780

USB avviabile per Snow Leopard — guida
Mac

USB avviabile per Snow Leopard — guida