Un firewall è uno strumento hardware o software che si occupa della protezione di un singolo dispositivo, di un insieme di essi o di una rete informatica.
Quando si collegano o più dispositivi a un moderno router, questi sono generalmente protetti da eventuali tentativi di aggressione diretti verso le porte TCP/IP eventualmente aperte sui singoli dispositivi. Spieghiamo meglio iniziando a chiarire che cos’è un firewall.
Cos’è il firewall e come protegge la rete o il singolo computer
Il funzionamento logico della rete Internet si basa, com’è noto, sul protocollo TCP/IP. Esso può essere pensato come a una pila in cui ogni livello si occupa di gestire un singolo aspetto, offrendo la soluzione alle esigenze del livello immediatamente superiore.
In una rete TCP/IP, qual è appunto la rete Internet, ogni dispositivo collegato è identificato univocamente con un indirizzo IP. In questo modo, il dispositivo sarà raggiungibile da qualunque altro device collegato alla rete Internet, ovunque si trovi – fisicamente – sulla faccia della Terra.
La natura del protocollo TCP/IP impone di fatto l’utilizzo di un firewall che protegga il perimetro della rete informatica locale. Le risorse disponibili sui server e sulle workstation collegate alla propria LAN non devono essere esposte all’esterno, a meno di specifiche necessità, ed è per questo motivo che si una firewall per bloccare i tentativi di connessione non autorizzati.
Il firewall analizza i pacchetti dati in transito e prende delle decisioni sulla base delle regole definite dall’utente o dall’amministratore di rete.
In generale un firewall, di qualunque tipologia esso sia, può essere pensato come una barriera tra la rete privata (si pensi alla rete locale e ai dispositivi a essa connessi) e la rete esterna.
Le regole firewall prevedono l’impostazione dell’indirizzo IP e della porta della sorgente nonché indirizzo IP e porta della destinazione. Per ciascuna regola, si può decidere se permettere la comunicazione, negarla o se effettuare un drop ossia bloccare il pacchetto dati e scartarlo senza nulla comunicare al mittente.
Tali regole consentono di stabilire quali comunicazioni lasciar passare mentre, per impostazione predefinita, tutte le altre vengono automaticamente bloccate.
Quando si configurano le regole firewall si parla anche di regole TCP e UDP: entrambi sono infatti protocolli di livello di trasporto a pacchetto ma mentre il primo garantisce la costruzione di una comunicazione affidabile tra mittente e destinatario, il secondo è di tipo connectionless ovvero consente l’invio dei pacchetti senza accertarsi della loro effettiva ricezione.
Mentre TCP implementa meccanismi di controllo dell’errore sui pacchetti dati, possiede funzionalità di controllo di flusso e si occupa del riordinamento dei pacchetti, UDP non offre nulla di tutto ciò ma è ampiamente utilizzato, ad esempio, nelle applicazioni per lo streaming audio e video, nei videogiochi e così via proprio perché garantisce migliori prestazioni.
Con l’utilizzo del protocollo UDP, per esempio, si può sacrificare qualche frame in una videoconferenza in modo tale da migliorare le prestazioni. Non si può invece non vedere arrivare una parte di un documento via email o un pezzo di una pagina web: in questi casi si usano appunto protocolli come HTTP, HTTPS, IMAP, POP3 e SMTP che usano appunto TCP come livello di trasporto…
Nell’articolo Aprire porte sul router e chiuderle quando non più necessario abbiamo visto che sui moderni router è possibile creare delle regole firewall per inoltrare eventualmente il traffico in arrivo su porte specifiche (dalla rete Internet) verso IP locali della rete interna quindi verso singole macchine collegate al router in LAN.
A seconda dell’applicazione installata in locale (su uno dei dispositivi connessi in LAN) si possono aprire, lato router, le porte TCP o UDP in ingresso.
Ad esempio, supponendo di aver installato un server web sul computer 192.168.1.50 collegato in rete locale e che tale applicazione server sia in ascolto sulla porta 80, basterà aprire sul router la porta 80 in ingresso ed attivare il forwarding dei dati verso l’IP 192.168.1.50.
Sul router si potrà aprire anche una porta differente, ad esempio la 8080, creando una regola per l’inoltro dei dati sulla porta 80 verso l’IP 192.168.1.50.
A questo indirizzo è possibile consultare una lista delle porte utilizzate dai principali servizi e applicazioni.
Un firewall agisce sia in entrata che in uscita: consente cioè di gestire i tentativi di connessione diretti da host remoti, connessi alla rete Internet, verso il sistema locale e anche quelli che hanno origine dal dispositivo in uso e sono diretti verso altri host.
Il firewall software integrato nei principali sistemi operativi è solitamente configurato per bloccare il traffico in ingresso e, viceversa, consentire tutti i tentativi di connessione in uscita.
Il firewall sui router: NAT/SPI
Dicevamo che i dispositivi connessi in rete locale sono normalmente protetti da aggressioni provenienti dall’esterno. Ciò è dovuto al fatto che tutti i router usano NAT/SPI.
NAT, acronimo di Network Address Translation, permette di condividere una singola connessione Internet con più dispositivi collegati in rete locale.
Soltanto l’IP pubblico assegnato al router è, al limite, visibile dalla rete Internet mentre nessun sistema collegato in rete locale è direttamente esposto.
Come abbiamo chiarito in precedenza, a meno che il router non sia configurato per inoltrare il traffico in ingresso a uno o più dispositivi della LAN (usando il meccanismo port forwarding – vedere Port forwarding, cos’è e qual è la differenza con il port triggering – o la funzione DMZ, Demilitarized zone), nessun computer locale risulterà raggiungibile dall’esterno ovvero dalla rete Internet.
Gran parte dei router integra anche SPI (Stateful Packet Inspection), un meccanismo che controlla i pattern che fanno ipotizzare un attacco informatico dall’esterno e provvede a neutralizzarlo. Le aggressioni comunemente gestite da SPI sono attacchi DoS, Ping of Death (invio di un numero eccessivo di richieste ICMP), SYN Flood, LAND Attack e IP Spoofing. SPI è conosciuto anche con l’appellativo di dynamic packet filtering.
Molti router, poi, integrano anche un vero e proprio firewall capace di bloccare servizi specifici.
Firewall e gestione delle connessioni in uscita
Compreso che cos’è il firewall, è importante tenere presente che un firewall è in grado anche di gestire i tentativi di connessione in uscita da parte delle applicazioni installate sui singoli dispositivi connessi in rete locale.
La gestione può essere fatta in hardware, usando apposite appliance che forniscono un pannello per la creazione di regole a livello centralizzato, oppure utilizzando personal firewall installati sulle singole workstation.
Pochi sanno che Windows Firewall, il firewall integrato in Windows (può essere aperto digitando Windows Firewall con sicurezza avanzata nella casella di ricerca del sistema operativo, adesso chiamato Windows Defender Firewall in Windows 10), integra anche una solida protezione non soltanto nei confronti del traffico in ingresso ma anche per quanto riguarda le comunicazioni in uscita.
È quindi possibile creare regole firewall che permettono di bloccare determinate comunicazioni e consentirne altre di fatto limitando la libertà d’azione di qualunque programma.
Nell’articolo Firewall, a cosa serve e quando può essere utile abbiamo presentato TinyWall, un programma che funge da compendio a Windows Firewall: resta in esecuzione in memoria e chiede all’utente come comportarsi allorquando un programma dovesse tentare una comunicazione verso l’esterno.
TinyWall permette quindi di aggiungere regole firewall a Windows Firewall senza doversi cimentare con la sua complessa e farraginosa interfaccia (nell’articolo Configurare il firewall di Windows 7, 8 e 8.1 con Windows Firewall Control avevamo illustrato nel dettaglio il funzionamento di Windows Firewall.
Nell’articolo Bloccare accesso Internet per un programma Windows abbiamo visto come usare PowerShell per impedire a tutti i componenti software contenuti in una cartella di collegarsi alla rete Internet.
Firewall App Blocker è un’altra utile applicazione che rende più pratico da usare e più intelligente il firewall integrato in Windows.
Per utilizzarla, basta scaricare l’archivio compresso disponibile cliccando qui ed avviare l’eseguibile con il suffisso _x64 sui sistemi Windows a 64 bit; l’altro sulle installazioni di Windows a 32 bit.
Non appena comparirà Smartscreen (indicazione PC protetto da Windows), si dovrà cliccare su Ulteriori informazioni quindi su Esegui comunque: Firewall App Blocker (FAB) è un’applicazione assolutamente benigna.
Diversamente rispetto a TinyWall, FAB non si attiva subito quando un’applicazione dovesse richiedere l’accesso a Internet. Le regole firewall debbono insomma essere impostate a priori. Le funzionalità che FAB rende immediatamente disponibili e il fatto che si tratti di un programma leggerissimo (non richiede neppure l’installazione), consente di configurare regole Windows Firewall efficaci in men che non si dica.
FAB separa le regole firewall in ingresso da quelle in uscita e mostra comunque tutte le eventuali regole già impostate in Windows Firewall.
Il pulsante Aggiungi processo (il secondo della barra degli strumenti, da sinistra) è un’ulteriore novità dell’ultima versione: cliccandolo si potrà creare una regola firewall per qualunque programma in esecuzione, senza dover andare a ricercare manualmente il percorso corrispondente.
Cliccando sul menu File di FAB quindi selezionando il comando Aggiungi cartella, si potranno bloccare da Windows Firewall tutti gli eseguibili contenuti nella directory indicata.
Il programma dispone anche di una Lista bianca che, una volta attivata, consente di bloccare tutte le comunicazioni da parte dei programmi (anche quelli per i quali non esistono regole firewall) consentendo solo quelle definite nella white list.
Nell’articolo Firewall: come configurarlo con ufw su Ubuntu abbiamo visto come configurare il firewall in una popolare distribuzione Linux mentre nell’approfondimento Come proteggere con un firewall i server cloud e gestirli via VPN si è accennato all’ottimo pfSense.