M0n0wall è un firewall open source e router wireless sviluppato da Manuel Kasper, costruito su un sistema operativo FreeBSD stripped-down. M0n0wall offre molte delle stesse funzionalità presenti nei prodotti firewall commerciali come Check Point Firewall-1 e Cisco Pix, incluso il filtraggio dei pacchetti stateful. Con esso è possibile creare una rete privata virtuale sicura (VPN) tra due siti, oppure è possibile utilizzare m0n0wall come gateway VPN, in modo da poter accedere alla LAN sicura da Internet. È possibile utilizzare RADIUS per l’autenticazione client per aumentare ulteriormente la sicurezza.
M0n0wall ha una bella interfaccia Web per la configurazione delle impostazioni del firewall. La maggior parte della configurazione può essere eseguita tramite l’interfaccia Web e tutti i valori sono memorizzati in un singolo file XML. La configurazione può essere salvata su un dischetto, un disco rigido o una scheda di memoria esterna. In questo modo è facile distribuire diversi firewall con una configurazione hardware simile.
Il firewall è stabile, e si presenta come un firewall commerciale; l’unica differenza è la sua mancanza di un cartellino del prezzo commerciale. Ho usato il firewall m0n0 su molte configurazioni PC diverse per più di un anno senza problemi. Come con tutti i software open source, è possibile scaricare una versione completa, non paralizzato di m0n0wall per la valutazione e test.
Installazione di m0n0wall
Per provare m0n0wall, scaricare un file immagine. È possibile scegliere tra le immagini per un normale PC o per uno speciale dispositivo hardware incorporato. Ogni approccio ha vantaggi e svantaggi. I vecchi computer di riserva (un 486 da 100MHz con 64MB di RAM o meglio) sono ovunque; tuttavia, fanno molto rumore e usano molta potenza. I sistemi embedded fanno poco o nessun rumore e utilizzare la potenza minima, ma probabilmente non si dispone di un sistema di riserva Soekris nel vostro seminterrato, così avrebbe dovuto acquistare l’apparecchiatura, che inizia a circa $200. Per configurazioni basate su hardware come Soekris, è possibile eseguire un aggiornamento del firmware su m0n0wall ogni volta che gli aggiornamenti sono disponibili dal progetto m0n0.
Ho testato m0n0wall su un vecchio 450MHz Compaq ProLiant con 128MB di RAM. Ho scaricato l’immagine corretta e l’ho masterizzata su un CD-ROM avviabile. Suggerimento: ricordarsi di utilizzare l’opzione immagine nel software masterizzatore CD; la semplice copia del file non produrrà un’immagine avviabile. Metti il CD nel tuo futuro firewall; scollega tutti i cavi di rete e accendi l’alimentazione.
Se tutto è corretto, dovresti vedere la seguente schermata :
*** Questo è m0n0wall, versione 1. 2b3
costruito su Sun Dec 5 11: 22: 47 CET 2004 per generic-pc-cdrom
Copyright (C) 2002-2004 di Manuel Kasper. Tutti i diritti riservati.
Visita http://m0n0.ch/wall per gli aggiornamenti.
Indirizzo IP LAN: 192.168.1.1
Configurazione della porta:
LAN> sis0
WAN -> sis1 m0n0wall configurazione di una console
**********************
1) Interfacce: assegnare le porte di rete
2) Impostare l’indirizzo IP LAN
3) Reset webGUI password
4) Ripristinare le impostazioni di fabbrica
5) Riavviare il sistema
6) Ping host Prima di scegliere l’opzione 1 per assegnare le interfacce LAN e WAN, e un semi-fiducia in DMZ se si sceglie di avere uno.
Se è necessario modificare l’indirizzo IP LAN in modo diverso dall’IP predefinito (192.168.1.1), scegliere l’opzione 2. Qui è anche possibile assegnare un server DHCP se si desidera utilizzare DHCP sulla propria LAN.
Le prossime quattro opzioni sono per la risoluzione dei problemi; non dovresti averne bisogno a questo punto.
Accesso alla GUI Web
Ora collegare un cavo crossover all’interfaccia LAN del firewall e utilizzare un altro computer in rete con un browser per fare il resto della configurazione. Puntare il browser a http://192.168.1.1 (o l’indirizzo IP impostato con l’opzione 2 nella console). Utilizzare il nome utente admin e la password m0n0.
Nella schermata di configurazione generale, è possibile e necessario modificare il nome utente/password predefinito. È inoltre possibile modificare il nome host del firewall e specificare se utilizzare DNS. È inoltre possibile specificare che si desidera utilizzare Network Time Protocol (NTP) per sincronizzare l’ora di sistema con un server NTP per garantire che i tempi del registro di sistema siano accurati.
È possibile impostare diverse configurazioni per l’interfaccia WAN, tra cui PPPoE, PPTP, cavo BigPond e altri.
Il passo successivo è configurare alcune regole del firewall. Inizia con alcune semplici regole, come ” tutto, dalla LAN alla WAN è permesso.”In m0n0 * significa “qualsiasi”, quindi la regola seguente consente qualsiasi cosa dalla tua LAN a Internet.
Proto | Fonte | Porta | Destinazione | Porta | Descrizione |
* | la rete LAN | * | * | * | Impostazione LAN -> qualsiasi |
È molto facile cambiare le regole. Se si desidera consentire solo il traffico HTTP a Internet dalla LAN, modificare la regola precedente nel modo seguente:
Proto | Fonte | Porta | Destinazione | Porta | Descrizione |
TCP | LAN net |
80 HTTP |
* | * | Solo HTTP LAN -> qualsiasi |
È possibile impostare il network address translation (NAT) e attivazione di traffic-shaping. Nella scheda servizio, è possibile attivare il server DHCP, ma se lo si fa, assicurarsi che nessun altro server DHCP sono attivi sulla LAN.
Dopo aver inserito la configurazione corrente, salvarla. È quindi possibile collegare il firewall alla WAN. Se hai fatto tutto correttamente, gli utenti LAN dovrebbero ora essere in grado di godere la navigazione in Internet.
Funzioni più avanzate
Se si desidera accedere alla LAN da Internet, è possibile impostare un tunnel PPTP da un client esterno per accedere in modo sicuro alla LAN o utilizzare un server RADIUS per l’autenticazione dei client esterni. La configurazione PPTP dipende molto dal sistema operativo della macchina client e dalla crittografia che è possibile utilizzare. Le impostazioni effettive devono essere inserite nel menu VPN.
È anche possibile impostare una connessione VPN da sito a sito, purché sia possibile configurare l’altro lato del tunnel VPN. Sono riuscito a creare una connessione VPN a una macchina Check Point Firewall – 1 con un minimo di lavoro.
Nonostante i suoi buoni punti, m0n0wall presenta alcuni inconvenienti rispetto ai prodotti commerciali. Più importante, non esiste un supporto 24×7 disponibile. C’è una mailing list molto attiva con molte persone utili e un canale IRC, ma sei da solo se il tuo firewall m0n0 mission-critical muore nel cuore della notte.