Firewall basato sull'host e allowlisting delle applicazioni
Configuri firewall basati sull'host (Windows Defender Firewall, iptables) e allowlist di applicazioni che impediscano l'esecuzione di software non autorizzato.
Firewall basato sull'host e allowlisting delle applicazioni è una lezione Cloud & IT Cert Prep gratuita su CoddyKit. Questa è la lezione 4 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 Cloud & IT Cert Prep, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Firewall basati sull'host e firewall di rete
Un firewall di rete si trova sul perimetro e filtra il traffico tra segmenti di rete. Un firewall basato sull'host viene eseguito sul singolo endpoint e filtra il traffico in entrata e in uscita da quella specifica macchina. I firewall basati sull'host forniscono una difesa in profondità: anche se un attaccante aggira il firewall di rete (tramite una VPN, un insider compromesso o un movimento laterale da un altro host infetto), il firewall dell'host applica le regole locali sul traffico. Sono particolarmente importanti per i laptop che si spostano al di fuori del perimetro aziendale e si connettono a reti non attendibili.
Windows Defender Firewall
Windows Defender Firewall (WDF) è il firewall host integrato in tutte le versioni moderne di Windows. Supporta tre profili: Domain (connesso al dominio aziendale — in genere più permissivo), Private (rete domestica attendibile) e Public (reti non attendibili — il più restrittivo). Le regole WDF possono filtrare in base a porta, protocollo, percorso dell'applicazione, IP remoto e identità dell'utente. Lo snap-in MMC Windows Defender Firewall with Advanced Security (WFAS) e i Criteri di gruppo consentono la gestione centralizzata aziendale delle regole del firewall su tutte le macchine aggiunte al dominio.
# Windows: create inbound firewall rule
netsh advfirewall firewall add rule \
name='Block Telnet' \
dir=in \
action=block \
protocol=TCP \
localport=23
# PowerShell equivalent
New-NetFirewallRule \
-DisplayName 'Block Telnet Inbound' \
-Direction Inbound \
-Protocol TCP \
-LocalPort 23 \
-Action Blockiptables e nftables in Linux
I firewall host di Linux utilizzano il framework del kernel Netfilter, configurabile tramite iptables (legacy, ma ancora ampiamente utilizzato) o il più moderno nftables. Le regole sono organizzate in catene (INPUT, OUTPUT, FORWARD) all'interno di tabelle (filter, nat, mangle). Il criterio predefinito dovrebbe essere DROP, con regole ACCEPT esplicite per il traffico necessario: è l'approccio deny-by-default. Strumenti di livello superiore come ufw (Ubuntu) e firewalld (RHEL/CentOS) offrono interfacce più semplici, continuando a utilizzare Netfilter internamente.
# iptables: deny-by-default with selective allow
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Allow established connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow SSH from specific subnet only
iptables -A INPUT -s 10.10.0.0/24 -p tcp --dport 22 -j ACCEPT
# Allow HTTPS
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Save rules
iptables-save > /etc/iptables/rules.v4Regole del firewall a livello applicativo
I firewall basati sull'host possono applicare regole a livello applicativo, filtrando il traffico in base all'applicazione che lo ha generato e non solo alla porta. Windows Defender Firewall supporta regole basate sull'applicazione: è possibile consentire a C:\Program Files\MyApp\app.exe di stabilire connessioni in uscita, bloccando tutto il resto sulla stessa porta. In questo modo si impedisce al malware di dirottare porte consentite fingendosi un'applicazione attendibile. Le regole a livello applicativo sono significativamente più efficaci delle regole basate solo sulle porte, che possono essere aggirate associando il malware a porte comuni come la 443.
# Windows: firewall rule scoped to a specific app
New-NetFirewallRule \
-DisplayName 'Allow Chrome HTTPS' \
-Direction Outbound \
-Program 'C:\Program Files\Google\Chrome\Application\chrome.exe' \
-Protocol TCP \
-RemotePort 443 \
-Action Allow
# Blocks any OTHER process trying to use port 443
# unless that process also has an explicit ALLOW ruleChe cos'è l'allowlisting delle applicazioni
L'allowlisting delle applicazioni (precedentemente chiamato whitelisting) è un controllo di sicurezza che consente l'esecuzione su un endpoint solo delle applicazioni esplicitamente approvate. Qualsiasi eseguibile non presente nell'allowlist viene bloccato, indipendentemente dal fatto che sia malware o semplicemente software non approvato. Si tratta di una difesa efficace contro il malware, perché anche il malware nuovo e zero-day viene bloccato se non è incluso nell'elenco approvato. La difficoltà è di tipo operativo: la gestione dell'allowlist in ambienti grandi e dinamici richiede un processo maturo di gestione delle modifiche e genera un numero significativo di richieste al supporto se non viene calibrata correttamente.
Windows AppLocker
AppLocker è la funzionalità di controllo delle applicazioni integrata in Windows, disponibile nelle edizioni Enterprise ed Education. Filtra l'esecuzione in base a: percorso (blocco degli eseguibili provenienti da %TEMP% o da directory scrivibili dall'utente), hash del file (consente solo hash noti e affidabili) o editore (consente software firmato da Microsoft o Adobe). I criteri AppLocker vengono distribuiti tramite Criteri di gruppo e registrati nel Registro eventi di Windows (ID evento 8003 = bloccato). Eseguire inizialmente AppLocker in Modalità di controllo — registrando i blocchi senza applicarli — consente ai team di calibrare l'allowlist prima di iniziare l'applicazione dei criteri.
# AppLocker rule examples (Group Policy)
# Block executables in user-writable locations
Path Rule: C:\Users\*\AppData\*.exe -> DENY
Path Rule: C:\Windows\Temp\*.exe -> DENY
# Allow by publisher (certificate)
Publisher Rule: O=Microsoft, CN=* -> ALLOW
Publisher Rule: O=Adobe, CN=Adobe Acrobat -> ALLOW
# Hash rule for specific approved version
Hash Rule: SHA256:a1b2c3d4... -> ALLOW
# Check AppLocker events:
Get-WinEvent -LogName 'Microsoft-Windows-AppLocker/EXE and DLL'Windows Defender Application Control (WDAC)
WDAC è il successore più potente di AppLocker, applicato a livello del kernel anziché nello spazio utente. A differenza di AppLocker, WDAC non può essere aggirato da attaccanti con diritti di amministratore locale, il che lo rende il controllo preferito negli ambienti ad alta sicurezza. I criteri WDAC vengono scritti in XML e convertiti in file binari dei criteri, distribuiti tramite MDM (Intune) o Criteri di gruppo. WDAC consente inoltre l'integrazione con Intelligent Security Graph (ISG), che utilizza il servizio di reputazione cloud di Microsoft per consentire automaticamente il software con una reputazione attendibile, riducendo il carico operativo della gestione manuale dell'allowlist.
Le difficoltà dell'allowlisting
L'allowlisting è efficace, ma impegnativo dal punto di vista operativo. Tra le difficoltà più comuni vi sono i LOLBins (Living-Off-the-Land Binaries): gli attaccanti utilizzano strumenti di sistema Windows come PowerShell, wscript.exe e mshta.exe, generalmente presenti in ogni allowlist; l'allowlisting deve limitarne le modalità di invocazione, non solo stabilire se possono essere eseguiti. I linguaggi di scripting (PowerShell, Python) sono spesso inclusi nell'allowlist, ma possono eseguire codice dannoso. I falsi positivi — software legittimo bloccato dall'allowlist — generano richieste all'help desk e pressioni per indebolire i controlli. I programmi di allowlisting maturi gestiscono i LOLBins tramite ulteriori criteri che impongono la modalità del linguaggio vincolato.
# Restricting PowerShell with Constrained Language Mode
# Applied via WDAC when non-WDAC code runs
$ExecutionContext.SessionState.LanguageMode
# Full Language mode -> normal PowerShell
# Constrained Language -> no .NET, no COM objects
# Blocks many attack techniques
# Via Group Policy: force PowerShell logging
# Computer Config > Admin Templates > Windows Components
# > Windows PowerShell
# Enable: Module Logging, Script Block Logging, TranscriptionAllowlisting e denylisting
L'allowlisting consente solo gli elementi esplicitamente approvati e blocca tutto il resto: è un approccio di sicurezza più solido. Il denylisting (blacklisting) blocca gli elementi esplicitamente noti come dannosi e consente tutto il resto: è il modello tradizionale degli antivirus. Il denylisting non è efficace contro le minacce sconosciute; l'allowlisting non è efficace contro i LOLBins e le voci di allowlist troppo ampie. La maggior parte dei programmi di sicurezza maturi utilizza l'allowlisting come controllo principale per i sistemi critici, affiancandolo al rilevamento comportamentale (EDR) per individuare l'uso improprio delle applicazioni consentite. Per i sistemi meno critici, può essere accettabile un denylist ben calibrato con monitoraggio comportamentale.
Combinare firewall e allowlisting
I firewall basati sull'host e l'allowlisting delle applicazioni sono controlli complementari e stratificati. L'allowlist impedisce l'esecuzione di codice non autorizzato; il firewall impedisce connessioni di rete non autorizzate da parte di codice autorizzato ma compromesso. Insieme, applicano i principi del privilegio minimo sia a livello applicativo sia a livello di rete sull'endpoint. L'aggiunta dell'EDR come terzo livello crea una struttura di difesa in profondità in cui ogni controllo rileva ciò che gli altri potrebbero non rilevare, aumentando notevolmente il costo e la complessità degli attacchi riusciti agli endpoint.
# Endpoint defense-in-depth stack
Layer 1: Application Allowlisting (WDAC)
-> Blocks unauthorized executables from running
Layer 2: Host-Based Firewall (WDF)
-> Blocks unauthorized network connections
-> Even from allowlisted apps on non-standard ports
Layer 3: EDR (CrowdStrike/Defender for Endpoint)
-> Detects behavioral anomalies in allowed processes
-> Catches LOLBin misuse, process injection
-> Provides forensic telemetry for investigationRegistrazione e monitoraggio del firewall
Il valore dei firewall basati sull'host dipende dalla qualità dei log che generano. Abiliti la registrazione delle connessioni bloccate per acquisire i tentativi di attacco e le violazioni dei criteri. Abiliti la registrazione delle connessioni consentite per le regole sensibili (come quelle che consentono strumenti di amministrazione), così da mantenere una traccia di controllo. Inoltri i log del firewall al SIEM per la correlazione: un modello di connessioni in uscita bloccate da un singolo host può indicare un malware che tenta callback verso il C2. In Windows, i log del firewall vengono scritti per impostazione predefinita in %systemroot%\System32\LogFiles\Firewall\pfirewall.log e dovrebbero essere inoltrati tramite Windows Event Forwarding (WEF) o un agente di log.
# Enable Windows Firewall logging via PowerShell
Set-NetFirewallProfile -All \
-LogBlocked True \
-LogAllowed True \
-LogMaxSizeKilobytes 16384 \
-LogFileName '%systemroot%\System32\LogFiles\Firewall\pfirewall.log'
# Linux: log dropped packets with iptables
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 5/min -j LOG \
--log-prefix 'IPtables-Dropped: ' --log-level 4
iptables -A LOGGING -j DROPVerifica rapida
Verifichi la Sua comprensione dei concetti di CompTIA Security+ (SY0-701) trattati in questa lezione.
Riepilogo della lezione
In questa lezione ha imparato che: i firewall basati sull'host (Windows Defender Firewall, iptables) filtrano il traffico per endpoint adottando un approccio deny-by-default e regole con ambito applicativo; l'allowlisting delle applicazioni (AppLocker, WDAC) impedisce l'esecuzione di eseguibili non autorizzati, incluso il malware; infine, la stratificazione di firewall, allowlisting ed EDR crea una difesa in profondità che aumenta notevolmente il costo degli attacchi. Nella prossima lezione analizzeremo l'autenticazione delle email: SPF, DKIM e DMARC.
Domande Frequenti
La lezione «Firewall basato sull'host e allowlisting delle applicazioni» è gratuita?
Sì — il testo completo di «Firewall basato sull'host e allowlisting delle applicazioni» è 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 Cloud & IT Cert Prep, passa a CoddyKit PRO. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Cosa imparerò in «Firewall basato sull'host e allowlisting delle applicazioni»?
Configuri firewall basati sull'host (Windows Defender Firewall, iptables) e allowlist di applicazioni che impediscano l'esecuzione di software non autorizzato. Eserciti Cloud & IT Cert Prep 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 Cloud & IT Cert Prep?
Non è richiesta alcuna esperienza precedente. Cloud & IT Cert Prep su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Firewall basato sull'host e allowlisting delle applicazioni»?
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 Cloud & IT Cert Prep?
Sì. Ogni lezione Cloud & IT Cert Prep 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