Hardening dei sistemi operativi: patch, configurazione di base e benchmark CIS
Applichi tecniche di hardening del sistema operativo — disabilitazione dei servizi non necessari, applicazione delle configurazioni di base e utilizzo dei benchmark CIS — per ridurre la superficie d’attacco.
Hardening dei sistemi operativi: patch, configurazione di base e benchmark CIS è una lezione Security+ Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Security+ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Security+ Academy include 4 lezioni in totale.
Che cos'è l'hardening del sistema operativo?
L'hardening del sistema operativo è il processo di riduzione della superficie di attacco di un sistema operativo mediante la rimozione delle funzionalità non necessarie, l'applicazione di configurazioni di sicurezza e l'aggiornamento costante del sistema. Un sistema operativo appena installato non è sicuro per impostazione predefinita: privilegia la facilità d'uso, abilitando servizi e funzionalità che possono essere utili a molti utenti, ma che nella maggior parte dei server aziendali non sono necessari. Ogni servizio abilitato, porta aperta e credenziale predefinita può costituire un punto d'ingresso per gli aggressori. L'hardening chiude sistematicamente questi punti d'ingresso prima che il sistema venga messo in produzione.
Gestione delle patch
La gestione delle patch è il processo di identificazione, test e applicazione degli aggiornamenti software che correggono le vulnerabilità di sicurezza. Un sistema senza patch è uno degli obiettivi più facilmente sfruttabili: molte violazioni gravi (Equifax 2017, WannaCry 2017) hanno sfruttato vulnerabilità note e già corrette, che le organizzazioni semplicemente non avevano applicato. Un processo maturo di gestione delle patch definisce: identificazione delle patch (iscrizione agli avvisi dei fornitori e ai feed CVE), classificazione della criticità (Emergenza/Critica/Alta/Media), tempistiche di test (in molti framework, le patch critiche entro 48-72 ore) e verifica della distribuzione.
# Patch criticality SLA example
CVSS Score SLA Notes
---------- ---------- ----------------------
9.0 - 10.0 48 hours Emergency patch cycle
7.0 - 8.9 7 days Critical patch cycle
4.0 - 6.9 30 days Standard patch cycle
0.1 - 3.9 90 days Routine patch cycle
# Verify patch application:
# Windows: Get-HotFix | Where-Object {$_.HotFixID -eq 'KB5023706'}
# Linux: dpkg -l | grep package_nameDisabilitazione dei servizi non necessari
Ogni servizio in esecuzione è un potenziale vettore di attacco. L'hardening del sistema operativo inizia con un audit dei servizi: elenchi tutti i servizi in esecuzione, ne identifichi lo scopo e disabiliti quelli non necessari per il ruolo del sistema. In Windows Server, ruoli come Print Spooler, Remote Registry e LLMNR vengono spesso disabilitati sui server che non ne hanno bisogno. In Linux, servizi come rpcbind, cups (stampa) e avahi (mDNS) sono candidati tipici. Il principio è: se non ne ha bisogno, lo disabiliti.
# Windows: disable unnecessary service
SC config 'Spooler' start= disabled
SC stop 'Spooler'
# Linux: disable unused services
systemctl disable cups
systemctl stop cups
systemctl disable avahi-daemon
systemctl stop avahi-daemon
# Verify no unnecessary ports are listening:
ss -tulnp # Linux
netstat -an | findstr LISTENING # WindowsRimozione del software non necessario
Il software installato ma non utilizzato rappresenta un rischio non necessario. Ogni pacchetto introduce potenziali vulnerabilità: anche il software sottoposto a una buona manutenzione può presentare CVE. L'hardening del sistema operativo include: la rimozione dei runtime dei linguaggi non richiesti dalle applicazioni (Python, Perl, Ruby sui server web), la rimozione degli strumenti di sviluppo (compilatori e debugger sui sistemi di produzione) e la rimozione dei pacchetti applicativi predefiniti inclusi nelle immagini del sistema operativo (server FTP, client telnet, agenti SNMP). Per lo stesso motivo, le immagini dei container dovrebbero utilizzare immagini di base minimali (Alpine, scratch, distroless).
# Remove unused packages (Debian/Ubuntu)
apt purge telnet ftp netcat python2 perl
apt autoremove
# Remove unused packages (RHEL/CentOS)
yum remove telnet ftp nmap-ncat
# Check what is installed:
dpkg -l | grep -i 'telnet\|ftp\|netcat'Messa in sicurezza degli account predefiniti
Gli account predefiniti con nomi utente e password noti sono tra i primi obiettivi degli attaccanti. Passaggi per la messa in sicurezza: disabilitare l'account Administrator integrato (Windows) e rinominarlo se non è possibile disabilitarlo; rinominare l'account root o limitare l'accesso SSH di root (Linux); cambiare tutte le password predefinite di appliance, database e applicazioni prima di portarli in produzione; rimuovere gli account guest; e disabilitare gli account di servizio che non richiedono l'accesso interattivo. Uno strumento di scansione come Nessus segnalerà le credenziali predefinite come vulnerabilità critiche.
# Linux: disable root SSH login
# Edit /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication no
AllowUsers admin_user service_user
# Restart SSH:
systemctl restart sshd
# Windows: disable built-in Administrator
net user Administrator /active:no
# Rename (via Group Policy):
# Computer Config > Windows Settings > Security Settings
# > Local Policies > Security Options
# > 'Accounts: Rename administrator account'Permessi del file system e minimo privilegio
Permessi sicuri del file system applicano il principio del minimo privilegio nel sistema operativo. I processi del web server non devono avere accesso in scrittura alle directory che forniscono. Gli account delle applicazioni non devono avere accesso in lettura ai file di configurazione che contengono credenziali. In Linux, i binari setuid e setgid devono essere sottoposti ad audit perché vengono eseguiti con privilegi elevati indipendentemente dall'utente che li avvia. In Windows, i permessi NTFS e l'audit delle DACL garantiscono che le directory sensibili (hive SAM, copie shadow, archivi delle credenziali) siano accessibili solo ai processi autorizzati.
# Find setuid/setgid binaries (Linux)
find / -perm /4000 -o -perm /2000 2>/dev/null
# Secure web root permissions
chown -R root:www-data /var/www/html
chmod -R 755 /var/www/html
chmod 640 /var/www/html/config.php
# Check overly permissive files
find /etc -perm -o+w 2>/dev/null # world-writable in /etcCIS Benchmarks
I CIS Benchmarks sono guide gratuite alla messa in sicurezza, sviluppate dalla community, per specifici sistemi operativi, applicazioni e piattaforme cloud. Ogni benchmark contiene centinaia di raccomandazioni di configurazione specifiche, con motivazioni, passaggi di remediation e comandi di audit. I CIS Benchmarks utilizzano due livelli di profilo: Level 1 — configurazioni di base e ampiamente applicabili, che non limitano le funzionalità; Level 2 — configurazioni avanzate per ambienti ad alta sicurezza, che possono incidere sull'usabilità. Esistono benchmark per Windows Server, Ubuntu/RHEL, macOS, Docker, Kubernetes, AWS, Azure, GCP, browser e database.
# CIS Benchmark check example (Linux L1)
# CIS Ubuntu 22.04 - 1.1.1.1 Disable cramfs
modprobe -n -v cramfs 2>&1 | grep -q 'Module cramfs not found'
# Expected: Module cramfs not found OR 'install /bin/false'
# Remediate:
echo 'install cramfs /bin/false' >> /etc/modprobe.d/CIS.conf
# CIS Windows - Account Lockout threshold
# secedit /export /cfg secpol.txt
# Check: LockoutBadCount = 5 (not 0)Gestione della configurazione di riferimento
Una configurazione di riferimento di sicurezza è un insieme documentato di impostazioni di configurazione che ogni sistema appartenente a una categoria di ruolo deve rispettare. Le configurazioni di riferimento vengono applicate tramite Group Policy Objects (GPO) in Windows, Ansible playbooks, Chef cookbooks o Puppet manifests in Linux. Gli strumenti di gestione della configurazione consentono il rilevamento delle deviazioni: se un sistema si discosta dalla configurazione di riferimento approvata (ad esempio, se un servizio viene riabilitato), gli avvisi automatici e la remediation automatica possono riportarlo alla conformità. NIST SP 800-128 fornisce indicazioni sulla gestione della configurazione incentrata sulla sicurezza per i sistemi federali.
# Ansible hardening playbook snippet
- name: Disable ICMP redirects
sysctl:
name: net.ipv4.conf.all.accept_redirects
value: '0'
state: present
reload: yes
- name: Enable address space layout randomization
sysctl:
name: kernel.randomize_va_space
value: '2'
state: present
reload: yesRegistrazione degli audit e monitoraggio
La messa in sicurezza non riguarda solo la prevenzione: anche la registrazione e il monitoraggio sono altrettanto importanti. Configurate i criteri di audit per acquisire: eventi di autenticazione (riusciti e non riusciti), escalation dei privilegi, accessi agli oggetti (letture di file sensibili), creazione dei processi (con gli argomenti della riga di comando) ed eventi di connessione di rete. I log devono essere inoltrati a un SIEM centralizzato quasi in tempo reale, così che gli attaccanti locali con diritti di amministratore non possano cancellare le proprie tracce eliminando i log degli eventi. Conservate i log per almeno 12 mesi, come previsto dalla maggior parte dei framework di conformità.
# Enable Windows audit policy (Group Policy)
auditpol /set /category:'Logon/Logoff' /success:enable /failure:enable
auditpol /set /category:'Process Creation' /success:enable
auditpol /set /subcategory:'Privilege Use' /success:enable /failure:enable
# Linux: configure auditd for privilege use
echo '-a always,exit -F arch=b64 -S execve -k exec_track' >> /etc/audit/rules.d/audit.rules
echo '-w /etc/sudoers -p wa -k priv_change' >> /etc/audit/rules.d/audit.rules
augenrules --loadScansione automatizzata della conformità
La verifica manuale dei benchmark di messa in sicurezza su ogni sistema non è praticabile su larga scala. Gli strumenti di scansione della conformità automatizzano questo controllo. OpenSCAP (open source) applica i contenuti SCAP ai sistemi Linux e genera report HTML che mostrano i controlli superati, non superati e non applicabili. Nessus include criteri basati sui CIS benchmark. Microsoft Security Compliance Toolkit valuta i sistemi Windows rispetto alle baseline Microsoft. Questi strumenti vengono eseguiti regolarmente (ogni settimana o ogni mese) e le deviazioni generano ticket di remediation nel sistema di gestione delle modifiche.
# OpenSCAP compliance scan (RHEL/CentOS)
oscap xccdf eval \
--profile xccdf_org.ssgproject.content_profile_cis \
--results results.xml \
--report report.html \
/usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml
# Generate remediation script
oscap xccdf generate fix \
--fix-type bash \
--result-id '' \
results.xml > remediation.shCriteri di gruppo e modelli di sicurezza
Nei domini Windows, gli Group Policy Objects (GPO) sono il meccanismo principale per applicare e imporre configurazioni di riferimento di sicurezza su larga scala. I modelli di sicurezza (file .inf predefiniti o personalizzati) possono essere importati nei GPO per configurare simultaneamente centinaia di impostazioni: criteri degli account, criteri di audit, assegnazione dei diritti utente, opzioni di sicurezza e valori del registro. Lo snap-in Security Configuration and Analysis e lo strumento da riga di comando secedit confrontano le impostazioni correnti con un modello definito e generano report di conformità. I GPO vengono applicati all'avvio e a intervalli regolari, garantendo la correzione automatica delle deviazioni dalla configurazione di riferimento.
# Apply security template via secedit
secedit /configure /db %windir%\security\local.sdb \
/cfg C:\Templates\CIS_Level1_Server2022.inf \
/log secedit_apply.log
# Analyze current config vs template
secedit /analyze /db %windir%\security\local.sdb \
/cfg C:\Templates\CIS_Level1_Server2022.inf \
/log secedit_analysis.log
# View result: settings marked as compliant or non-compliantVerifica rapida
Verificate la vostra comprensione dei concetti di CompTIA Security+ (SY0-701) trattati in questa lezione.
Riepilogo della lezione
In questa lezione avete imparato che: la messa in sicurezza del sistema operativo riduce la superficie di attacco disabilitando i servizi, rimuovendo il software, proteggendo gli account e applicando permessi basati sul minimo privilegio; la gestione delle patch chiude le vulnerabilità note con SLA basati sulla criticità; e i CIS Benchmarks forniscono indicazioni di configurazione di Level 1 (base) e Level 2 (avanzata), applicate tramite strumenti automatizzati di scansione della conformità. Ora esploreremo la gestione dei dispositivi mobili e i criteri BYOD.
Domande Frequenti
La lezione «Hardening dei sistemi operativi: patch, configurazione di base e benchmark CIS» è gratuita?
Sì — il testo completo di «Hardening dei sistemi operativi: patch, configurazione di base e benchmark CIS» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Security+ Academy, passa a CoddyKit PRO. Il corso Security+ Academy include 4 lezioni in totale.
Cosa imparerò in «Hardening dei sistemi operativi: patch, configurazione di base e benchmark CIS»?
Applichi tecniche di hardening del sistema operativo — disabilitazione dei servizi non necessari, applicazione delle configurazioni di base e utilizzo dei benchmark CIS — per ridurre la superficie d’… Eserciti Security+ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Security+ Academy?
Non è richiesta alcuna esperienza precedente. Security+ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Hardening dei sistemi operativi: patch, configurazione di base e benchmark CIS»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Security+ Academy?
Sì. Ogni lezione Security+ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Piattaforme antivirus, EDR e XDR
- Hardening dei sistemi operativi: patch, configurazione di base e benchmark CIS
- Gestione dei dispositivi mobili (MDM) e criteri BYOD
- Firewall basato sull'host e allowlisting delle applicazioni