Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Shorewall: un firewall avanzato su Linux

Shorewall consente di trasformare Linux in un firewall avanzato in grado di proteggere una LAN o una singola macchina da attacchi provenienti dall'esterno.
Shorewall consente di trasformare Linux in un firewall avanzato in grado di proteggere una LAN o una singola macchina da attacchi provenienti dall'esterno.
Link copiato negli appunti

Introduzione

Shorewall (Shoreline Firewall) è un tool per Linux che consente di configurare in modo semplice e potente iptables, trasformando una macchina Linux in un firewall in grado di proteggere una sola postazione o un'intera rete locale (LAN). In quest'articolo descriveremo la procedura per installarlo sulla distribuzione Linux Centos 5.x e successivamente, vedremo alcuni script per la configurazione dello stesso.

Installazione di Shorewall

Per installare Shorewall utilizzeremo il comando yum, in questo modo limiteremo i problemi relativi alle dipendenze dei pacchetti da installare singolarmente, ciò di cui abbiamo bisogno sono principalmente tre pacchetti rpm da scaricare tramite il comando wget lanciato da terminale, nello specifico digiteremo:

wget http://www.invoca.ch/pub/packages/shorewall/RPMS/ils-5/noarch/shorewall-4.5.12.0-1.el5.noarch.rpm
wget http://www.invoca.ch/pub/packages/shorewall/RPMS/ils-5/noarch/shorewall-core-4.5.12.0-1.el5.noarch.rpm
wget http://www.invoca.ch/pub/packages/shorewall/RPMS/ils-5/noarch/shorewall-init-4.5.12.0-1.el5.noarch.rpm

Ultimato il download possiamo passare all'installazione del pacchetto vera e propria, in questo caso possiamo seguire due strade alternative, la prima consiste nel lanciare sempre da terminale il comando

yum localinstall shorewall*.rpm

Così da poter installare tutti gli rpm precedentemente scaricati. La seconda possibilità invece ci viene in soccorso se durante la fase d'installazione viene generato un errore del tipo "Package shorewall-core-4.5.12.0-1.el5.noarch.rpm is not signed", in tal caso possiamo risolvere il problema lanciando il comando:

yum install --nogpgcheck shorewall *

La verifica dell'installazione può essere eseguita digitando alla fine dell'operazione il comando shorewall version, se tutto è andato a buon fine il sistema ci risponderà con la versione attualmente installata sul nostro sistema, nel nostro caso sul sistema è stata installata la versione 4.5.12.

Figura 1. Visualizziamo la versione di Shorewall installata
Visualizziamo la versione di Shorewall installata

Impostazioni Shorewall

Per iniziare ad utilizzare le funzionalità esportate da shorewall occorre avviarlo, ma prima si ha la necessità di abilitare lo startup del firewall impostando la direttiva STARTUP_ENABLED, contenuta in /etc/shoewall/shorewall.conf sul valore "Yes" tramite l'ausilio di un qualsiasi editor testuale come ad esempio gedit o vim, così come mostrato in figura 2. L'impostazione di tale direttiva su "Yes" permetterà anche l'avvio automatico del firewall ogni qualvolta il sistema viene avviato.

Figura 2. Impostiamo l'avvio automatico di Shorewall
Impostiamo l'avvio automatico di Shorewall

Ultimata e salvata la modifica possiamo procedere all'avvio del firewall utilizzando il comando: shorewall start, il corretto startup sarà eseguito, esclusivamente se sono state definite le "IP zone", la configurazione delle zone viene agevolata dalla presenza di alcuni file di configurazione standard da poter modificare a seconda delle proprie esigenze, i file sono contenuti in /usr/share/doc/shorewall-4.0.11/Samples/, il sistema ne mette a disposizione ben tre da utilizzare a seconda del numero di zone da configurare, nello specifico potremo scegliere tra: one-interface/, two-interfaces/ o three-interfaces/, individuato il file da utilizzare per la configurazione del nostro sistema occorrerà copiarlo dalla directory /usr/share/doc/shorewall-4.5.12.0/Samples/three-interfaces/{interfaces,policy,masq,routestopped,rules,zones} alla cartella /etc/shorewall/, naturalmente utilizzando il comando cp, nel nostro caso si è deciso di configurare shorewall con tre interfacce di rete, una per la LAN, una per WAN ed infine una per la DMZ.

La configurazione delle zone

Come in ogni firewall una delle operazioni fondamentali consiste nel'andare a definire le zone, shorewall ne permette la configurazione avvalendosi del file zones contenuto in /etc/shorewall/, in esso andremo ad inserire le specifiche delle zone, la nostra Linux box verrà identificata con la stringa fw, mentre le tre zone LAN, WAN E DMZ saranno identificate rispettivamente con le etichette loc, net e dmz, sarà necessario anche specificare il tipo di interfaccia che si va ad inserire, nel nostro caso firewall e ipv4.

Figura 3. Le zone di Shorewall
zone di Shorewall

Configurazione delle interfacce

Configurate le zone, si passa alla configurazione delle interfacce, resa possibile tramite l'utilizzo del file interfaces contenuto in /etc/shorewall/ , in esso dovremo associare le interfacce presenti sul nostro sistema con le zone precedentemente configurate, per ogni interfaccia dovremo fornire le zone, il nome dell'interfaccia, l'indirizzo di brodcast ed eventualmente delle opzioni, ad esempio nel campo options potremo inserire se l'interfaccia utilizza il protocollo dhcp, se si avvale del tcpflags ecc.

Figura 4. Le interfacce
interfacce rete Shorewall

Policy di configurazione standard

Arriviamo finalmente ad uno degli aspetti cardine di un firewall, la configurazione delle policy predefinite, tali policy sono applicate se non vengono specificate restrizioni specifiche per il servizio o la richiesta ricevuta, si dovrà quindi essere molto restrittivi in questa fase, in particolare potremo scegliere tra REJECT o DROP. L'impostazione delle policy di default avviene con l'ausilio del file policy presente all'interno della directory /etc/shorewall/. Ogni riga del file rappresenta una policy da applicare, per ogni policy si dovrà specificare la sorgente della richiesta e la destinazione (in termini di zona), la policy da applicare (accept,drop,reject) ed il livello di log da utilizzare, così da poter tracciare le attività svolte.

Figura 5. Le policy da applicare nel filtraggio delle connessioni
Le policy da applicare nel filtraggio delle connessioni

Le regole di Shorewall

Definite le policy di configurazione standard procediamo nel raffinamento della sicurezza, andando a specificare le regole, denominate "rules", per le diverse richieste, che vogliamo gestire con accuratezza. Le regole possono essere gestite tramite il file di configurazione rules, presente sempre in /etc/shorewall/.

Avvio del firewall

Ultimate le configurazioni siamo pronti per avviare il nostro firewall, tramite il comando "shorewall start", all'avvio vengono processati i file di configurazione, caricati i vari moduli e compilati, se non vengono riscontrati errori digitando il comando "shorewall status" il sistema ci risponderà con "State:Started" indicandoci la data e l'ora di avvio, così come mostrato nella figura seguente.

Figura 6. Shorewall è attivo e funzionante
Shorewall è attivo e funzionante

Non solo riga di comando

Per coloro i quali non sono amanti della riga di comando, e vogliono avvalersi di una GUI semplice ed intuitiva è possibile utilizzare webmin interface for Shorewall, scaricabile dal link ufficiale ed integrabile in webmin attraverso la sezione Webmin Configurazion > Webmin modules > Install Modul from file, ad installazione ultimata all'interno del menù networking troveremo la nuova voce Shorewall Firewall (figura 7).

Figura 7. Shorewall è configurabile anche con Webmin
Shorewall configurazione Webmin

Ti consigliamo anche