
Introduzione: Il concetto di Elevazione Temporanea
Lavorare secondo il Principio del Minimo Privilegio non significa rinunciare alle operazioni di amministrazione, ma eseguirle in modo controllato. Invece di rimanere costantemente collegati con un profilo “onnipotente”, i sistemi operativi moderni utilizzano un meccanismo di elevazione temporanea dei privilegi.
In questo tutorial approfondiremo l’architettura tecnica dei due strumenti chiave che gestiscono questo processo: UAC (User Account Control) su Windows e il comando
sudo sui sistemi Unix-like (Linux e macOS).1. Windows UAC: Architettura e Meccanismi Interni
Introdotto con Windows Vista e perfezionato nelle versioni successive, l’User Account Control (UAC) è il componente fondamentale che separa l’esecuzione delle app standard dalle modifiche di sistema.
Come funziona il Token di Accesso
Quando un amministratore effettua il login, Windows genera due token di sicurezza:
-
Token Filtrato (Standard): Privo di diritti amministrativi, usato per avviare la shell (
explorer.exe) e tutte le app quotidiane. -
Token Amministrativo (Elevato): Custodito in memoria e inattivo finché non viene richiesta un’operazione critica.
Quando un processo richiede privilegi elevati, l’UAC intercetta la richiesta e mostra la schermata di notifica per autorizzare l’uso del token amministrativo.
[INSERIRE IMMAGINE 1: Schema di scomposizione del Token di Accesso tra Token Filtrato e Token Amministrativo in Windows]Il ruolo del Desktop Sicuro (Secure Desktop)
Durante la comparsa della finestra UAC, lo schermo si oscura. Questo avviene perché Windows trasferisce la visualizzazione su una sessione isolata chiamata Desktop Sicuro. Nessun software o malware presente nel desktop utente standard può interagire, fare uno screenshot o inviare click simulati a quella finestra.
2. Linux e macOS: Il Comando sudo
Sui sistemi Unix-like, la gestione dei privilegi ruota attorno all’utente supremo:
root. Per evitare di lavorare direttamente come root (pratica estremamente pericolosa), si utilizza la utility sudo (Superuser Do).Differenza tra su e sudo
-
su(Switch User): Effettua un vero e proprio cambio di identità. Richiede la password dell’utenteroote concede una sessione con privilegi illimitati finché non viene chiusa. -
sudo: Esegue un singolo comando con i privilegi diroot, richiedendo la password dell’utente corrente (se autorizzato) e mantenendo un tracciato nei log di sistema.
Bash
# Esempio di aggiornamento pacchetti con sudo
sudo apt update && sudo apt upgrade
Il file /etc/sudoers e il Timeout
La gestione degli utenti abilitati a usare
sudo è definita nel file di configurazione /etc/sudoers. Dopo aver inserito correttamente la password, sudo mantiene un timestamp di grazia (di default 15 minuti): durante questo intervallo è possibile eseguire altri comandi elevati senza dover reinserire le credenziali.[INSERIRE IMMAGINE 2: Esempio di esecuzione di un comando rifiutato senza sudo e approvato dopo l'inserimento di sudo]3. Best Practice per la Gestione delle Elevazioni
Per garantire che questi meccanismi svolgano al meglio il loro lavoro, è bene seguire tre regole fondamentali:
-
Leggere prima di autorizzare: Quando compare una finestra UAC o una richiesta di password
sudo, verificare sempre il nome dell’applicazione e l’editore. Se la finestra appare mentre si sta solo navigando sul web, rifiutare sempre. -
Evitare di lanciare app grafiche con
sudo: Su Linux, non eseguire mai editor di testo o file manager grafici direttamente consudo(es.sudo gedit). Usare invece strumenti dedicati all’editing sicuro comesudoedito utility con polkit (pkexec). -
Mantenere il livello UAC predefinito: Su Windows, non abbassare mai la barra dell’UAC al livello “Mai notificare”, altrimenti si disattiverà il Desktop Sicuro lasciando il sistema vulnerabile ad attacchi injection.
Conclusione e Prossimi Passi
Capire cosa succede “sotto il cofano” quando il sistema operativo richiede un’autorizzazione aiuta a valutare con maggiore consapevolezza ogni richiesta di elevazione.
Nel prossimo tutorial analizzeremo le trappole di sicurezza ed errori comuni: dalle false finestre di autenticazione all’uso errato dei permessi di condivisione.
