In questo nuovo articolo, ho cercato di spiegare in modo semplice l’evoluzione costante dei firewall di Linux, prendendo spunto da un mio precedente articolo datato 29/09/2011 (che risulta essere poco attuale).
IPCHAINS è stato il primo sistema di filtraggio dei pacchetti di rete introdotto nel kernel Linux. È stato utilizzato per configurare il firewall a livello di rete e consentiva di definire regole di filtraggio basate su indirizzi IP sorgente e destinazione, porte di origine e destinazione, e altri criteri. Al contrario, IPCHAINS aveva alcune limitazioni, come la mancanza di supporto per il filtraggio stateful (basato sullo stato delle connessioni) e alcune funzionalità più avanzate.
Successivamente, IPTABLES è stato introdotto come il successore di IPCHAINS.
IPTABLES ha rappresentato un grande passo avanti, fornendo un framework di filtraggio dei pacchetti molto più flessibile, potente e completo. È stato introdotto nel kernel Linux 2.4.18 ed è diventato il sistema di filtraggio predefinito in molte distribuzioni Linux.
IPTABLES ha introdotto il concetto di “tabelle” e “catene” per organizzare le regole di filtraggio. Le tabelle principali di IPTABLES includono “filter” (utilizzata per il filtraggio dei pacchetti), “nat” (utilizzata per la traduzione degli indirizzi di rete) e “mangle” (utilizzata per modifiche speciali ai pacchetti). Le catene, come “INPUT”, “FORWARD” e “OUTPUT”, sono i punti in cui i pacchetti vengono controllati e processati in base alle regole definite.
Le regole di IPTABLES consentono di specificare criteri di filtraggio molto precisi, come indirizzi IP sorgente/destinazione, porte sorgente/destinazione, protocolli di trasporto e altro ancora. Inoltre, IPTABLES ha introdotto il supporto per il filtraggio stateful, consentendo di tenere traccia dello stato delle connessioni di rete e applicare regole in base a questo stato.
Più recentemente, NFTABLES è stato introdotto come successore di IPTABLES. Oggi rappresenta un nuovo framework di filtraggio dei pacchetti di rete progettato per sostituire IPTABLES in futuro. È stato introdotto nel kernel Linux 3.13 ed è in grado di fornire prestazioni migliorate e una sintassi più semplice rispetto a IPTABLES.
NFTABLES offre un modello di dati più flessibile rispetto a IPTABLES, consentendo di lavorare con oggetti di dati come set, mappe e insiemi. Questo rende più semplice la definizione di regole complesse e l’organizzazione dei dati di configurazione. Inoltre, NFTABLES è progettato per essere più efficiente in termini di prestazioni rispetto a IPTABLES.
NFTABLES non ha completamente sostituito IPTABLES in tutte le distribuzioni Linux, ma è in continua evoluzione e sempre più distribuzioni stanno adottando gradualmente NFTABLES come framework predefinito per il filtraggio dei pacchetti di rete.
Come puoi vedere, la vasta famiglia di Linux continua a migliorarsi giorno dopo giorno grazie a una comunità numerosa di sviluppatori e appassionati che condividono la loro tecnologia con tutti, senza richiedere compensi o, ancor peggio, abbonamenti annuali.