Introduzione
Dall' IPCop mission
IPCop Linux is a complete Linux Distribution whose sole purpose is to protect the networks it is installed on. By implementing existing technology, outstanding new technology and secure programming practices IPCop is the Linux Distribution for those wanting to keep their computers/networks safe.
"The Bad Packets Stop Here!"
IPCop è un progetto che mira a fornire all'utente (anche poco esperto) un firewall linux based stand alone attraverso una gestione mediante interfaccia web su protocollo https, un dhcp server, un DNS proxyng, un DND dinamico, un Time server, il traffic shaping, un comodo monitoraggio grafico del traffico di rete ed utilizzo delle risorse di sistema, un intrusion detection tramite snort, una VPN con funzionalità IPSec/PPTP e con supporto ISDN ed ADSL; insomma le comuni funzionalità che offre un router/firewall hardware economico con qualche funzionalità in più.
Iniziamo la sua presentazione con qualche informazione preliminare:
la versione corrente è la 1.4.10 ed è una minor release (versione di bug fix)
il suo peso è di 41,26 MB
sono disponibili nel download gli upgrade per la versione successiva con un peso medio di 1.60 MB
la documentazione messa a disposizione è rappresentata dall'installation manual, dall'amministration manual, dalla quick start guide e dall'hardware compatibility list disponibili nella consultazione on-line ed offline (nei formati html e pdf). Sono disponibili ache le consuete FAQ.
Requisiti hardware e precisazioni
Questa distribuzione è da molti segnalata come adatta per il riutilizzo di hardware datato, gli sviluppatori indicano come requisiti minimi:
386 CPU
32 Mb di RAM
non meno di 300 Mb di spazio libero sull'hd
questo se non utilizziamo il proxy e l'intrusion detection, in tal caso il requisito minimo segnalato è l'aumento della RAM che diveta 256 Mb e la segnalazione di un maggiore bisogno di spazio libero sull'hd per la memorizzazione dei log.
Detto ciò vorrei soffermarmi un pò su questo aspetto ed esporre una considerazione; eliminando i servizi di proxy server e di intrusion detection restano i comuni servizi che un router/firewall offre (dhcp, accesso web https ecc) con una dotazione harware (come la memoria ad esempio) e con un consumo di corrente ben inferiore a quello di un PC.
A questo aggiungo un esperinza personale, dopo diverse prove sul campo ho riscontrato un comportamento anomalo con l'utilizzo di schede di rete di produttori differenti con chip differenti ma anche con chip uguali ... , il server ha dei rallentamenti piuttosto strani anche con un carico molto basso, con sporadici blocchi in cui è necessario riavviarlo del server. Sostituenzo le schede con due dello stesso modello (quindi anche dello stesso produttore) ,il problema non si è più verificato; ciò denota una stranissima sensibilità alle schede di rete.
Se utilizziamo l'installazione anche come proxy server (coso più comune a dire il vero) ad esempio per il filtraggio dei contenuti, mediante uno degli addons disponibili, allora l'hardware ricopre un ruolo importantissimo. Anche in questo caso vi racconterò di un esperienza.
In primo luogo la RAM, sfogliando la guida di Squid proxy server ci accorgiamo che ne fa un uso intenso perchè vi alloca l'indice degli oggetti memorizzati su disco per velocizzare la ricerca, gli oggetti in transito ed un certo numero di "Hot object", quelli a cui si accede più spesso insomma; la quantità della stessa è dunque di vitale importanza per il server.
Prendiamo ora in considerazione la cache del proxy, la sua ubicazione è il disco fisso che a regime avrà accessi praticamente continui, un disco lento (e con esso il bus di comunicazione) penalizza pesantemente le prestazioni del server. Aggiungiamo che la dimensione della cache va calcolata con criterio e dovrebbe apparire oramai chiaro che le funzionalità più utili che questa distribuzione mette a disposizione hanno bisogno di una mirata configurazione hardware.
Un caso concreto, un pentiumII da 400 Mhz montato su motherboard con chipset intel con 128 Mb di RAM di tipo SDR a 100 Mhz con varie prove sulle dimensione dei parametri cache_mem e cache_swap, fu capace di servire con tempi di risposta accettabili, non più di 3 macchine. Sostituendo tale sistema con uno dotato di AMD Duron da 800 Mhz su motherboard con chipset VIA e 384 Mb di RAM SDR a 100 Mhz, riusciva a gestire 4/5 macchine. Tali prestazioni sono da imputare non solo all'hardware ma anche al software, Squid non è certo il proxy server più leggero in circolazione ma la qualità del servizio che offre è comunque ben bilanciato con il suo "peso".
Un ultimo caso concreto è quello di un sistema con AMD Sempron su socket A a modello 2600+ con 256 Mhz di RAM DDR a 400 Mhz ed un hard disk SATA attualmente gestisce circa 150 macchine.
Questi casi concreti hanno fatto maturare in me la convinzione che per i semplici servizi di router/gateway /firewall/dhcp, le richieste hardware sono veramente minimi ed i dispositivi specifici messi in commercio ne sono la conferma, non dobbiamo però illuderci che hardware datato possa servire e fornire servizi di un certo livello in maniera ottimale, in reti di complessità e/o estensione medio - grande.
Filosofia di rete
IPCOP identifica con un colore l'utilizzo degli adattatori/schede di rete:
rosso per l'interfaccia collegata drettamente ad internet o ad un router
verde per l'interfaccia collegata ad una rete interna
blu per l'interfaccia collegata ad una seconda rete interna o ad una rete wireless
aracio per l'interfaccia collegata ad una DMZ
per schematizzare il tutto gli sviluppatori di IPCop ci forniscono il seguente schema:
Installazione
Il processo di installazione avviene avviene mediante un installer ncurses based, si compone dei seguenti passi
Avvio del sistema di installazione via CDRom o FTP
Partizionamento del disco rigido
Rilevamento delle interfacce di rete
Scelta dell’indirizzo IP dell’interfaccia verde
Scelta dei parametri locali come lingua tastiera, data/ora ecc
Scelta del nome del sistema (hostname) e del domino.
Configurazione di un eventuale dispositivo ISDN
A questo punto il sistema è parzialmente configurato. Dopo il riavvio comparirà una schermata per la configurazione delle interfacce, di altri parametri di rete mediante l'opzione Impostazioni driver e schede ed impostazioni del sistema come la password di root. Per un riscontro visivo vi consiglio di visitare lo screeshoots tour pubblicato da Osdir.
Da questo momento in poi la configurazione di questa distribuzione potrà essere fatta mediasnte browser accedendo all'indirizzo o all'host dell'interfaccia verde alla porta 445, alcuni esempi:
la pagina a cui accederemo sarà la seguente:
come potete vedere abbiamo a disposizione i menù a tendina:
System dove possiamo riavviare-spegnare il server, abilitare l'accesso SSH, connetterlo-disconneterlo da internet
Status dove possiamo visualizzare i grafici del traffico di rete e di utilizzo delle risoprse di sistema (ram, swap ecc)
Network quì troveremo le voci per configurare - amministrare connessioni tramite modem
Service quì troveremo le voci per configurare - amministrazione dei servizi disponibili sul server
Firewall quì troveremo le voci per configurare - amministrazione delle opzioni del firewall
VPN quì troveremo le voci per configurare - amministrazione della VPN
Log dove possiamo accedere ai vari log di sistema
Gestione pacchetti: gli addons
Per agiungere servizi al server IPCop gli sviluppatori mettono a disposizione il "meccanismo" degli addons. Gli addons sono pacchetti .tar messi a disposizione da terze parti, essi includono il precompilato del servizio ed un installer. L'installer è generalmente testuale o grafico utilizzabile mediante l'interfaccia web ma per fare ciò necessita di un addons apposito, l'addons server. Tutti questi addons sono linkati sul sito ufficiale sotto la voce omonima.
Vorrei soffermarmi anche in questo caso, il non fornire addons ufficiali è secondo me una grande mancanza questo perchè, le nuove versioni della distribuzioni si susseguono per le varie correzioni ma anche per variazioni interne importanti, tanto da creare incompatibilità se si prova ad installare dei moduli che su versioni precedenti funzionano benissimo. Essendo addons realizzati da terzi, in molti casi da singoli, non cè un buon supporto alle varie versioni e il non utilizzare tale addons limita molto il suo utilizzo (ricordiamo che non comprende un proxy server, content filtering ecc).
Conclusioni
Arriviamo alla conclusione di questa panoramica su questo prodotto, elenchiamo i pro e i contro emersi:
Pro
facilità di installazione
velocità di installazione
risorse hardware minime per i servizi di base
Contro
permette poche se non nulle ottimizzazioni del sistema
richiede troppe risorse harware per i servizi di proxy e content filtering se paragonate ad altre distribuzioni (la causa è anche la scarsa possibilità di ottimizzare il sistema)
addons non ufficiali aggiornati troppo lentamente
fonti: