Last update Marzo 1, 2024 11:52 AM

 

 


Personal Website


Articoli / Articles
   

Pagina Iniziale Home Page

Informazioni About Me

Curriculum Vitae Resume
Attività Activities
Didattica Teaching
Guide Tutorials
Articoli Articles
Libri Books

Contatti Contacts
     
     
 
     
 

Autocostruzione di un Firewall hardware
di Roberto Saia

L'obiettivo da raggiungere
La distribuzione da utilizzare
Realizzazione pratica del Firewall
Sezione 1 - Scheda video
Sezione 2 - Schede di rete
Sezione 3 - Unità di memorizzazione
Sezione 4 - Unità di alimentazione
Installazione del Software
Operazioni conclusive
La nascita di AMEE

L'obiettivo da raggiungere
L'obiettivo di questo progetto consiste nella costruzione di un firewall hardware con caratteristiche similari a quelle riscontrate sui dispositivi commerciali che, pur essendo sicuramente molto comodi ed efficaci, sono estremamente costosi. Normalmente, la realizzazione di un firewall di questo tipo è relativamente semplice, in quanto è sufficiente installare su un PC, anche di modeste caratteristiche, una qualunque distribuzione Linux munita di alcuni pacchetti specifici. Ma ciò che mi prefiggo è leggermente diverso, in quanto, pur ritenendo valida la soluzione precedentemente accennata, intendo realizzare un qualcosa di leggermente diverso. Innanzi tutto, i requisiti primari devono essere i seguenti:

disporre di funzionalità avanzate come: NAT, DHCP, DMZ, etc.
eliminare dall'elaboratore tutto il software e l'hardware non indispensabile

Il primo requisito permette di fruire di alcune funzioni che, anche ad una utenza domestica, possono risultare estremamente utili, il secondo, invece, è suggerito dalle seguenti considerazioni:

il dispositivo rimane in funzione per moltissimo tempo
l'uso del solo software indispensabile riduce il rischio di problemi


La distribuzione da utilizzare
Per quanto detto in precedenza, ho subito scartato tutte le distribuzioni Linux standard ed ho focalizzato la mia attenzione su alcune particolari distribuzioni realizzate per assolvere a questo compito specifico. Dopo molte prove, la mia scelta è andata su "SmoothWall" , una mini-distribuzione basata su Linux, realizzata al fine di trasformare un vecchio PC (quindi con esigenze hardware ridotte) in Firewall con DMZ , Router, Proxy Server (Squid), DHCP Server, IDS (Snort), Gateway VPN (con supporto IPSec) ed altro ancora.

Per quanto riguarda le interfacce verso Internet, SmoothWall supporta connessioni ADSL (PPPoE e supporto USB per i modem della Alcatel), modem analogici ed ISDN (con Dial on Demand). Le sue potenzialità sono quindi veramente notevoli, inoltre, i pochi problemi, da me riscontrati, in fase di installazione e configurazione (rispetto a molti prodotti analoghi da me testati), mi hanno convinto definitivamente ad effettuare questa scelta. L'amministrazione di SmoothWall avviene tramite una funzionale interfaccia Web che è possibile utilizzare con uno dei 14 linguaggi disponibili (italiano incluso) e, cosa non da poco, è rilasciato con licenza GPL, quindi totalmente gratuito.

Realizzazione pratica del firewall
Per riuscire a ridurre all'osso i componenti hardware dell'elaboratore utilizzato per questa realizzazione e, quindi, ridurre al minimo l'assorbimento elettrico e la produzione di calore dello stesso, mi sono orientato verso un montaggio all'interno di uno chassis commerciale (comunemente reperibile presso qualunque rivenditore di componenti elettronici con una minima spesa) delle dimensioni sufficienti a ospitare tutti i componenti utilizzati.

Scheda video Schede di rete Hard Disk Alimentatore Led schede di rete Led Disco, Alimentazione e Reset Switch alimentazione Ventola alimentatore Alimentatore Connettore rete elettrica Ventola CPU (sostare con il cursore del mouse all'interno della foto per ottenere informazioni)

In figura è possibile osservare il firewall una volta che tutti i componenti sono stati installati. La motherboard utilizzata è basata su di un Pentium 166 e dispone di 32 Mbyte di RAM. Osserviamo adesso, di seguito, una breve descrizione di ogni sezione componente il firewall.

Sezione 1 - Scheda video
Affinchè fosse possibile l'installazione del software e per poter essere in grado di fronteggiare eventuali problemi futuri per i quali è indispensabile operare a video, ho ritenuto indispenabile dotare il firewall di una scheda video permanente, in questo caso è stata utilizzata una comunissima scheda di tipo PCI.

Sezione 2 - Schede di rete
In questa sezione ho adoperato tre schede di rete ISA tipo NE2000 compatibili ma, comunque, è possibile utilizzare altri tipi di schede, purchè supportate da Smoothwall (quasi tutte le più comuni lo sono).

Nel mio caso, l'utilizzo di tre schede di rete mi permetterà di sfruttare appieno le funzionalità della distribuzione Smoothwall che prevede la possibilità di gestire tre zone indipendenti classificate tramite le denominazioni Red, Orange e Green:

Zona
Descrizione
WAN RED L'interfaccia di rete connessa a Internet
DMZ ORANGE L'interfaccia di rete connessa alla zona demilitarizzata
LAN GREEN L'interfaccia di rete connessa alla nostra rete locale

L'interfaccia di rete che connette alla zona rossa (WAN), solitamente rappresentata dalla rete Internet, può anche essere rimpiazzata da un modem (Smoothwall supporta molti modem analogici, ADSL, ADSL con interfaccia usb e ISDN). Nel mio caso l'utilizzo di una scheda di rete è dettato dal fatto che dispongo di una connessione ADSL di tipo Ethernet. La DMZ (DeMilitarized Zone) traducibile in italiano in “Zona Demilitarizzata” è una particolare funzionalità offerta dal Firewall che permette di gestire una particolare zona. Quest'ultima rappresenta un limbo che, anche se violato in seguito ad un attacco, non consente l’accesso alle altre aree della rete. All'interno di un’area DMZ , quindi, sono dislocati i server che devono essere accessibili dall’esterno come, ad esempio, i server Web, Ftp, Mail, etc.

Affinchè gli indicatori luminosi delle schede di rete fossero ben visibili ho riportato, con un po di pasienza, tramite una piattina multifilo, i led di ogni scheda ("Link" e "Activity") sul frontale del dispositivo. L'estetica della parte frontale del firewall non è assolutamente curata, in quanto, ho utilizzato una mascherina di plastica nera sovrapposta a protezione di quella originale di alluminio (in modo che sia possibile, in futuro, applicare delle serigrafie e rifinire il tutto). Le indicazioni circa le funzionalità assolte dai vari comandi e indicatori sono tutte riportate in basso a destra in un apposito adesivo plastificato.

Sezione 3 - Unità di memorizzazione
In questo firewall è stato utilizzato un disco rigido da 540 MByte. Nonostante sia possibile utilizzare anche dischi di dimensioni minori (nell'ordine dei 100 mbyte), è consigliabile adoperare un disco più capiente, in quanto, molti servizi generano un numero ingente di file di log (come, ad esempio, l'IDS Snort). Questi file, se si utilizzano dischi non sufficientemente capienti, possono in breve tempo saturare lo spazio a disposizione.

Sezione 4 - Unità di alimentazione
L'unità di alimentazione del firewall è costituita da un normale alimentatore AT privato del suo invoulcro metallico. La ventola di quest'ultimo, siostituita con una di minore diametro, è stata posizionata nel retro dell'unità.

Installazione del Software
Una volta scaricata l'immagine ISO dal sito Web del produttore occorre procedere alla creazione del CD-ROM di Smoothwall. Qualora il BIOS della piastra madre lo permette, è possibile effettuare il boot per l'installazione direttamente dal CD. Nel caso si utilizzino Motherboard più datate, occorre seguire le istruzioni annesse e creare un floppy disk di avvio dll'intallazione (tramite i soliti tools Rawrite e Winrawrite). Occorre fare molta attenzione al fatto che, una volta avviata l'installazione di Smoothwall, essa cancellerà tutti i dati eventualmente presenti sul disco rigido utilizzato, in quanto, questo tipo di distribuzione necessita di un elaboratore dedicato. Durante la fase di installazione vi saranno richiesti solo alcuni parametri fondamentali, le rimanenti configurazioni potranno essere fatte, successivamente, tramite la comoda interfaccia Web disponibile in Smoothwall (inoltre, è possibile ottenere un accesso remoto al firewall tramite il protocollo SSH). Occorre precisare che le porte utilizzate da Smoothwall, per motivi di sicurezza, non sono quelle canoniche. Di seguito una tabela riassuntiva delle porte utilizzate:

Porta
Descrizione
81 HTTP
Accesso tramite protocollo HTTP (modalità insicura) alle pagine Web di configurazione di Smoothwall
445 HTTPS
Accesso tramite protocollo HTTPS (modalità sicura) alle pagine Web di configurazione
222 SSH
Accesso remoto a Smoothwall tramite protocollo SSH (modalità sicura)

Alcune delle caratteristiche più interessanti di questa distribuzione sono: la possibilità di operare come server DHCP e assegnare, quindi, in modo autonomo gli indirizzi ai Client della nostra rete locale; operare in modalità Tunnelling tramite le funzionalità VPN (Virtual Private Network) di cui dispone; permettere a coloro che non dispongono di un IP statico di utilizzare i servizi gratuiti di DNS dinamico e altro ancora. Per la gestione del firewall sono disponibili diversi account, i più importanti sono:

Accounts
Descrizione
ROOT
Per accessi locali o remoti ramite SSH (controllo completo)
SETUP
Per accessi locali o remoti ramite SSH (accede al setup)
ADMIN
Per accessi tramite interfaccia WEB

Una funzionalità molto importante disponibile in Smoothwall è quella che avverte l'utente della presenza di aggiornamenti del software, direttamente sulla Home Page dell'interfaccia Web di configurazione. Questo ci permette di mantenere il nostro firewall costantemente aggiornato.

Operazioni conclusive
Al termine di tutte le operazioni, nella parte posteriore del firewall, ho applicato una piccola targhetta riportante le informazioni più importanti da ricordare: zone, parametri delle schede di rete e indirizzi IP:

Ho inoltre ritenuto utile, oltre all'installazione permanente di una scheda video, disporre dei connettori per la tastiera e il mouse anche se, quest'ultimo, risulta poco utile in una configurazione di questo tipo. All'interno ho occultato un Flat Cable IDE e un connettore di alimentazione standard. Questi torneranno utili per installare un'unità CD-ROM nel caso vi sia la necessità di dover reinstallare il software del firewall.

La nascita di AMEE
L'ultima fase è stata quella di attribuire un nome a questo firewall, la scelta è ricaduta su "AMEE", nome ripescato da un non tanto vecchio film di fantascienza dove AMEE era il nome dato ad una sorta di robot inviato nel pianeta rosso. La cosa più importante dopo questa piacevole parentesi ludica era, comunque, la prova su strada, operazione che si è svolta sin da subito senza che si siano manifestati particolari problemi. Dal primo avvio di AMEE è trascorso ormai tantissimo tempo, il dispositivo è rimasto in funzione per intere giornate (anche settimane) senza dare alcun problema. Unica accortezza che vi suggerisco di adottare è quella di effettuare una corretta fase di shutdown quando occorre spegnerlo, infatti, nonostante Linux sia abbastanza robusto, un corretto spegnimento può evitarci di andare incontro a dei problemi.


 
Roberto Saia  -  All Rights Reserved