Translation(s): English - Italiano


Un firewall è un sistema progettato per prevenire accessi non autorizzati da o verso una rete privata. I firewall possono essere implementati sia come hardware sia come software, o come una combinazione dei due. I firewall sono spesso usati per impedire ad utenti Internet non autorizzati di accedere a reti private connesse ad Internet, specialmente intranet. Tutti i messaggi in entrata o in uscita dalla intranet passano attraverso il firewall, che esamina ciascun messaggio e blocca quelli che non rispondono a specifici criteri di sicurezza.

Nota: molte delle informazioni in questa pagina sono datate.

Ulteriori informazioni

Scegliere il frontend per IPtables

Introduzione

Ci sono moltissimi frontend per iptables. Perciò si hanno molte alternative tra cui scegliere. Questa sezione è pensata per aiutare a fare una scelta tra tutte queste possibilità fornendo un confronto fra gli strumenti. N.B.: si deve installare solamento uno di questi pacchetti. L'installazione di più di un pacchetto non renderà il sistema più sicuro: probabilmente renderà il sistema ingestibile.

A proposito, esiste anche un articolo di securityfocus (di aprile 2001) che confronta gli stessi strumenti. Alcuni di essi sono descritti nel Manuale Securing Debian.

Panoramica

Ecco una panoramica dei diversi strumenti (una selezione ispirata da ciò che era disponibile in Debian unstable nell'ottobre 2005):

Pacchetto e URL a monte;

Interfaccia;

Linguaggio di programmazione;

Dimensione dei sorgenti (ott 2005);

Rilasci (ott 2005)

arno-iptables-firewall

edit (debconf)

sh

60K

< 2003-08 - 2005-09

ferm (wiki page)

edit

perl

80K

< 2001-04 - 2005-06

fiaif

edit

bash

320K

< 2003-01 - 2004-02

filtergen

edit

C

150K

< 2002-10 - 2004-08

fireflier

gui

C

230K

2002-02 - 2005-09

firehol

edit

bash

210K

< 2003-05 - 2005-01

firestarter

gui (gnome)

C

1170K

< 2003-01 - 2005-01

fwbuilder

gui (kde)

C++

1190K

< 2003-12 - 2005-09

guarddog

gui (kde)

C++

960K

2000-06 - 2005-08

guidedog

gui (kde)

C++

590K

2001-11 - 2003-11

hlfl

edit

C

100K

< 2000-07 - 2003-10

ipkungfu

edit

sh

40K

2002-09 - 2003-10

kmyfirewall

gui (kde)

C++

1060K

2002-08 - 2005-03

knetfilter

gui (kde)

C++

960K

< 2001-01 - 2005-04

mason

shell (autolearning)

bash

500K

< 1999-03 - 2002-05

netscript-2.4

edit, iptables

sh

70K

< 2000-11 - 2004-10

shorewall

edit, webmin

sh

130K

< 2001-12 - 2005-09

uif

edit (debconf)

perl

34K

2002-02 - 2005-04

uruk

edit

sh

80K

2003-03 - 2005-07

Vuurmuur

curses

C

1877K

2004-07 - 2005-11

ufw

edit

python

247K

2009-5 - (NEW)

Il file di configurazione di fiaif è molto simile alle regole grezze di iptables.

Filtergen ha il supporto anche per filtri di pacchetti non-iptables. Il file di configurazione è specifico dell'applicazione.

fireflier ha una configurazione client-server. È "uno strumento che fa ciò che fanno tutti i firewall per uso personale di Windows; all'inizio è tutto proibito. Quando qualcuno desidera connettersi in entrata o in uscita, lo strumento chiede all'utente se accettare o rifiutare il pacchetto fornendo informazioni sul pacchetto in questione. Inoltre si possono creare regole basate sui pacchetti."

firestarter è un'applicazione pensata per gli utenti finali che include uno strumento di configurazione guidata per impostare velocemente le regole del firewall. L'applicazione include una interfaccia grafica per poter monitorare quando un regola del firewall blocca il traffico.

fwbuilder è un'interfaccia grafica orientata agli oggetti che include compilatori di politiche per varie piattaforme firewall, inclusi netfilter di Linux, pf di BSD (usato in OpenBSD, NetBSD, FreeBSD e MacOS X), oltre a liste di accesso dei router. È simile ai software di gestione di firewall aziendali. Tutte le funzionalità di fwbuilder sono disponibili anche dalla riga di comando. guarddog is oriented both to novice and advanced users.

knetfilter è un'alternativa/un concorrente dello strumento guarddog benché leggermente orientato agli utenti esperti.

mason è un'applicazione che può proporre regole del firewall basate sul traffico di rete del sistema.

La descrizione del pacchetto Debian di netscript-2.4 dice: "NON usare questo pacchetto su un server: è pensato per router dedicati e firewall con quasi nessun servizio configurato."

shorewall è uno strumento di configurazione del firewall che fornisce il supporto per IPsec, così come un supporto limitato per lo shaping del traffico oltre alla definizione delle regole del firewall. La configurazione viene fatto attraverso un semplice insieme di file che vengono usati per generare le regole di iptables.

ufw: ufw di Canonical proviene da Ubuntu. (Nuovo per squeeze)

vuurmuur: di Victor Julien; vuurmuur non è (ancora) incluso in Debian, ma pacchetti Debian sono disponibile in un archivio usabile con apt.

Informazioni specifiche per Debian

Alcuni dati Debian-specifici su questi pacchetti:

Pacchetto e URL del pacchetto Debian

Descrizione del pacchetto Debian

Popolarità (2010-10-24)

arno-iptables-firewall

Single- and multi-homed firewall script with DSL/ADSL support

554

ferm

maintain and setup complicated firewall rules

465

fiaif

An easy to use, yet complex firewall

53

filtergen

packet filter generator for various firewall systems

30

fireflier

Interactive firewall rule creation tool

11

firehol

An easy to use but powerful iptables stateful firewall

498

firestarter

gtk program for managing and observing your firewall

1239

fwbuilder

Firewall administration tool GUI

745

guarddog

firewall configuration utility for KDE

351

ipkungfu

iptables-based Linux firewall

37

kmyfirewall

iptables based firewall configuration tool for KDE

302

knetfilter

GUI for configuring the 2.4 kernel IP Tables

140

mason

Interactively creates a Linux packet filtering firewall

33

netscript-2.4

Linux 2.4.x (and 2.6.x) router/firewall network configuration system

29

shorewall

Shoreline Firewall (Shorewall)

2779

uif

Advanced iptables-firewall script

17

uruk

Wrapper for Linux iptables, for filtering rules management

63

ufw

program for managing a Netfilter firewall

332

Il numero relativo alla popolarità è il numero di installazioni. Più alto è il numero, più alto è il numero di installazioni; "-" nella colonna della popolarità significa che il pacchetto non è ancora in Debian.

Alla data del 02 novembre 2005, per tutti i pacchetti (ferm, fiaif, filtergen, fireflier, firehol, firestarter, fwbuilder, guarddog, guidedog, hlfl, ipkungfu, ipmenu, kmyfirewall, knetfilter, mason, netscript-2.4, shorewall, uif) il BTS aveva una situazione piuttosto OK, senza alcun bug importante; i pacchetti sembravano ben mantenuti.

Nota sulla dimensione dei pacchetti: se ci sono molti sorgenti il pacchetto potrebbe diventare troppo grosso per i gusti dell'utente. Tuttavia se la dimensione dei sorgenti è troppo piccola, ci sono probabilmente meno funzionalità carine. D'altro canto, è più facile controllare la presenza di errori in pacchetti piccoli e questi potrebbero fornire una bella esperienza "diretta e snella".

Ancora altre opzioni

Ci sono anche webmin-firewall, ipmasq e gshield. webmin-firewall è un plugin per webmin, fornito in firewall.wbm.gz: "Configurare un firewall Linux usando iptables". ipmasq è fornito come pacchetto per Debian lenny ma è stato abbandonato in squeeze. gshield non è più fornito con Debian.

ipmenu, un piccolo script perl con interfaccia curses non era fornito con il rilascio Etch di Debian.

Ci sono poi cose veramente obsolete: firewall-easy è stato fornito solamente con Debian potato. L'ultimo rilascio di fwctl è stato nel 2000. Gfcc e easyfw sono stati forniti solo con Debian woody.

Conclusioni

Come conclusione, viene fornito un modo per prendere una decisione usando i dati forniti più sopra.

Se si desidera uno strumento con interfaccia grafica usare firestarter, fwbuilder o guarddog è probabilmente una scelta saggia: sono strumenti popolari. fwbuilder (per KDE) era di gran lunga il più popolare. Tuttavia si dice che non sia per nulla uno strumento per principianti. Guarddog (KDE) e firestarter (GNOME) sono ugualmente popolari. La dimensione del codice di tutti e tre è più o meno la stessa.

Se non si desidera uno strumento con interfaccia grafica, ad esempio perché si lavora con server e le librerie X non sono installate, si potrebbe apprezzare un file di configurazione in puro testo modificabile, dato che si gestiscono i file di configurazione con un sistema di controllo delle versioni. Se si desidera uno strumento che sia anche attivamente mantenuto (dal settembre 2004 all'ottobre 2005 deve esserci stato almeno un rilascio.

Guardando più da vicino i 5 strumenti non-gui che soddisfano questi requisiti:

Pacchetto e documentazione online

Formato di configurazione del file

Dimensione dello script principale

arno-iptables-firewall

shell

135K

ferm

app specific

62K

firehol

shell

24K + 131K = 155K

shorewall

app specific

203K

uruk

shell

9K

ufw

python

848 k

Il pacchetto Debian arno-iptables-firewall viene fornito con un frontend debconf: è possibile configurarlo in modo interattivo.

Per usare ferm, è necessario scrivere da soli un file di configurazione. Per poterlo fare è necessario conoscere i comandi di iptables/ipchains. Ferm fondamentalmente aggiunge una sintassi annidata alle regole di iptables. Sembra che abbia il supporto migliore per IPv6 tra questi pacchetti. Questo strumento è molto probabilmente utile solo in alcuni casi molto specifici, in cui si ha veramente necessità del formato di file di configurazione specifico di ferm.

"FireHOL è un linguaggio per esprimere le regole del firewall, non semplicemente uno script che produce un qualche tipo di firewall." I file di configurazione di FireHOL sono script di shell (ma di fatto non lo sembrano; sembrano semplici che più semplici non si può). FireHOL viene fornito con firehol-wizard(8), che crea un file di configurazione che è poi necessario modificare a mano. Sembra non aver supporto per IPv6. È uno strumento piuttosto popolare.

"Shorewall non è il più facile strumento di configurazione di iptables disponibile, ma penso che sia il più flessibile e potente." "Può gestire ambienti di rete complessi e in continuo cambiamento." Necessità di più file di configurazione, anche per le impostazioni semplici. Sembra adatto solamente per gli utenti esperti. (Probabilmente ce ne sono molti tra gli utenti Debian: shorewall è molto popolare!)

Per uruk, esiste un file di configurazione d'esempio per uruk. Uruk è estremamente piccolo: ciò è un bene se si desidera adattare lo strumento alle proprie necessita, o se si vuole essere sicuri che faccia ciò che si vuole: non ci vuole molto a controllare tutto il codice manualmente. Naturalmente la dimensione ridotta ha il prezzo di minori funzionalità. Tuttavia se si hanno necessità molto specifiche si può facilmente inserire le proprie regole personalizzate di iptables nell'infrastruttura uruk. Ciò è documentato nelle pagine di manuale di uruk. Fare attenzione tuttavia al fatto che la maggior parte di questa sezione di questa pagina del wiki è stata scritta dall'autore di uruk. Se si pensa che questa pagina potrebbe essere più obiettiva, modificarla!

Prendere una decisione finale in questa lista ristretta di 5 candidati viene lasciato al lettore: dipende dalle specifiche situazioni e necessità. Si può installarli uno alla volta e provarli. Making the final decision between the 5 short-list ones is left as an exercise to the reader: it depends on your specific situation and needs. You could install them one after the other, and try them for yourself.

Ringraziamenti

Grazie a Michael Hanke per aver scritto il punto di partenza del confronto tra i frontendi di IPtables. Grazie a Victor Julien per aver contribuito con alcune annotazioni sul pacchetto Vuurmuur. Fornito in parte dalla mailing-list debian-firewall.