IPCOP - Firewall linux a portata di utente

Ipcop è una distribuzione di Linux orientata alla sicurezza, facile da installare e da usare e fornita di una comoda interfaccia web da cui è possibile gestire completamente un firewall potente ed efficace. Ritengo che Ipcop abbia molte potenzialità e che sia un'ottima soluzione a basso costo, ma valida come altre costose e close source. E' la soluzione ideale per chi vuole configurare un firewall senza avere specifiche competenze tecniche e sfruttare al meglio le potenzialità di Linux per fare una rete locale efficiente e protetta.

Contenuti

Obiettivi

Questa guida vuole fornire una panoramica di cos'è ipcop, di come configurarlo e ottimizzarlo e, soprattutto, come intregrare al meglio alcune delle sue svariate addon.
Ipcop è un ottimo firewall, robusto, dinamico, di facilissima gestione. Ma al momento non si può definire "totalmente completo" nelle sue funzionalità in quanto mancano alcune componenti (soprattutto riguardo antivirus e posta) di cui si sente la mancanza in ambienti diversi da quello casalingo.
Ciò che mi piace molto di Ipcop, a differenza di altre distribuzioni antagoniste, è la nascita e crescita di altri sotto progetti NON ufficiali, estranei al team di sviluppo ufficiale, da integrare in Ipcop come Add-On. Su questa falsa riga si trova letteralmente di tutto, da strumenti utili e performanti a altri tipi di aggiunte...più ludiche.
In questa guida non tratterò in maniera completa la distribuzione Ipcop ufficiale, in quanto documentazione di qualità già tradotta in italiano è disponibile sul sito ufficiale.
Sarà invece incentrata sull'ottimo lavoro fatto da queste realtà indipendenti nel fornire i giusti completamenti a Ipcop.

Overview

Ipcop viene completamente settato e gestito via web.
L'interfaccia web è l'unica parte grafica, infatti manca totalmente il server grafico e, direttamente sulla linux box, è possibile operare esclusivamente da shell. L'interfaccia web è composta da java e perl e risulta facilmente modificabile.
La sua bassa richiesta di risorse (dovuta anche alla mancanza di server grafico) lo rendono ideale per riutilizzare vecchi computer ormai dismessi. Per una rete di 5 - 10 pc una macchina classe PII con 64/128MB di ram è più che sufficiente. Chiaramente più aumentano il numero di pc collegati / i servizi attivi e aggiunti e più sarà necessario incrementare la potenza dell'hardware utilizzato.

Features di serie

  • 4 interfacce di rete disponibili:
   * RED: rete esterna (supporto degli ALIAS)
   * GREEN: rete interna
   * ORANGE: rete DMZ o demilitarizzata
   * BLUE: rete Wireless (preposta al collegamento in cascata di un Access Point)
  • Supporto hardware elevato:
   * moltissime schede di rete e ISDN 
   * da 12MB a 4GB di ram 
   * hard disk IDE,SATA,SCSI, sistemi RAID e memorie FLASH
   * Kernel SMP per processori HT/multicore o sistemi a multipli processori
  • Servizi principali:
   * Server & Client DHCP
   * Supporto domini Dynamic DNS
   * File Hosts settabile dall'interfaccia web
   * Proxy HTTP & FTP (squid)
   * IDS su tutte le interfacce (snort) selettivamente
   * Log locale e/o remoto (syslog)
   * Server & Client NTP
   * Server SSH (PSK o password)
   * Traffic shaping (solo interfaccia RED) 
  • Specifiche del firewall
   * statefull firewall
   * nat guidato per h323, irc, mms, pptp, proto-gre, quake3
   * possibilità di port forwarding verso l'interfaccia ORANGE
   * pin-hole sulle interfacce GREEN o BLUE 
   * risposta al ping configurabile su tutte le interacce selettivamente 
  • IPSEC VPN
   * roadwarrior e net to net
   * certificati o PSK 
  • Interfaccia grafica tradotta in 34 lingue
  • Varie modalità di backup della configurazione: remoto, locale, floppy, USB, web
  • Rapporti e grafici granulari

Features aggiuntive

Sono innumerevoli. Più di quelle di serie. Ricordate sempre che non sono ufficiali.
Qui entriamo nella parte più spinosa. Tutti (o quasi) questi add-on hanno delle procedure
di installazione veramente basilari.
Solitamente sono un archivio tar.gz da uppare sul nostro ipcop (io uso solitamente scp), decomprimerlo e nella directory creata troverete i classici bash script "install" & "uninstall" da lanciare.Dopo aver lanciato lo script d'installazione comparirà nell'interfaccia web di amministrazione una nuova sezione dedicata alla nuova feature.
Alcuni add-on hanno una procedura leggermente diversa ma più raffinata: alcuni programmatori hanno creato più add-on e per rendere più maneggevole all'utente il caricamento di quest'ultimi hanno pensato ad una specie di loader grafico da intallare con la procedura descritta sopra. Nell'interfaccia web di gestione comparirà una nuova sezione con il loader. Da qui è possibile scaricare dal sito del programmatore il pacchetto tar.gz che ci interessa e upparlo via web direttamente.
Spettacolare, vero? :)

I problemi nascono nel cercare di far interagire fra di loro più add-on di autori diversi. Per questi motivi.

  • Gli script di installazione di questi add-on vanno a modificare anche l'interfaccia web. Essendo aggiunte non ufficiali, questi script sono pensati per l'interfaccia web originale e non per una modificata da altre componenti. Alcune feature non fanno altro che aggiungere in certe sezioni le righe di codice aggiuntivo; altre, purtroppo, sostituiscono interamente gli script dell'interfaccia quindi capiterà spesso di installare l'add-on1 ma dopo aver installato anche l'add-on2 veder scomparire nell'interfaccia la sezione dedicata all'1.
  • Alcune feature sono equivalenti o comunque si accomunano in gran parte. Quindi non installate sia squidguard che dansguardian per fare content management pensando che 2 sono meglio di 1...e rimanete pure stupiti se non funziona più nulla...

La maggior parte delle volte si cerca invece di inserire varie add-on che si occupano di compiti specifici diversi. Qui l'unico problema rimane essere quello dell'interfaccia web. Fondamentalmente la soluzione che ho adottato è molto semplice quano rudimentale: prelevo i file perl dell'interfaccia grafica prima e dopo aver installato una nuova feature. Con un semplice programma di comparazione confronto le differenze per poi effettuare un merge e reinserire il file ottenuto in ipcop. Non c'è nulla di complicato; quando più avanti descriverò questa procedura step by step vedrete che è molto semplice e solo "meccanica".

Marco Sondermann

Tra tutti gli add-on non ufficiali io sono veramente entusiasta di questo programmatore perchè ha realizzato 4 add-on uno più utile degll'altro.
Ha creato per ognuno documentazione, manuale in PDF, descrizione dell'installazione e screenshot. Li ha testati e tutt'ora, ad ogni minor release di ipcop lui li ritesta ed eventualmente modifica per garantirne la compatibilità e tutte le funzionalità. Naturalmente i suoi add-on sono pensati per lavorare assieme e addirittura interagire fra loro. Per tutti i dettagli vi rimando ai suoi siti. Li trovate qui sotto, uno per ogni add-on.

  • Advanced Web Proxy
  • Calamaris
  • URL filter
  • Update Accelerator

Advanced Web Proxy

Ipcop monta a bordo un proxy per la navigazione (squid) che è però molto limitato. Non permette di avere alcun tipo di autenticazione, ne di fare regole di filtraggio piuttosto che avere orari di navigazione permessa/bloccata.
In IPCOP possiamo solo attivare il proxy sulla GREEN e/o sulla BLUE, settarlo in modalità transparente o cambiargli porta, dimensionare e cancellare la cache, abilitare o meno il logging. STOP.
Proxy.png
Un po riduttivo per un'esigenza aziendale, non trovate?

Guardate invece cosa può fare questo add-on e come ampia le capacità e le funzionalità del nostro ipcop:

   * Configurazione via interfaccia web con aposita sezione perfettamente integrata
   * Autenticazione locale con gestione utenze e regole per gruppi.
   * Autenticazione identd (RFC 1413)
   * Autenticazione LDAP incluso Active Directory, eDirectory e OpenLDAP
   * Autenticazione Windows inclusi domini AD Windows NT/2000/2003 e Samba
   * Autenticazione RADIUS
   * Gestione della cache avanzata
   * Controllo accessi al web per IP e MAC addresses
   * Restrizioni di accesso basate su orari
   * Filtro MIME type
   * Blocco di browser web o altri software client non autorizzati
   * Supporto configurazione automatica del browser (PAC and WPAD)
   * Pagina di errore per l'utente completamente customizzabile

Ed ecco ora come si presenta la nuova sezione dedicata al proxy di Ipcop:
Ipcop-advproxy.png
Decisamente meglio!!!
Altri screenshot, l'addon, la documentazione e quant'altro la trovateQUI

Calamaris

Calamaris esegue 2 funzioni ben distinte:

  • Analizza i file di log
  • Genera report molto comprensibili basandosi sui dati di questi file.

In questo caso viene utilizzato per analizzare i log di Squid e delle nuove funzionalità di proxy. In questa maniera avremo subito sotto mano una situazione ben dettagliata senza dover spulciare tonnellate di file di log.
Vediamo cosa riporta Calamaris nei suoi report più nel dettaglio:

   * Sommario
   * Metodo di richiesta (GET, HEAD, ...)
   * Richieste in ingresso (TCP and UDP)
   * Richieste in uscita
   * Richieste a domini di primo e secondo livello
   * Report de protocolli usati (http, gopher, ftp, ...)
   * Tipi ed estensioni dei file scaricati
   * Distribuzione di oggetti basati sulla dimensione
   * Performance in slot di tempo definibili dall'utente

Ed ecco il pannello di configurazione con tutte le opzioni che possiamo includere nel report che genereremo.
Ipcop-calamaris-1.png

Il sito ufficiale di Calamaris con altri screenshot e quant'altro lo trovate QUI

URL Filter

Questo è l'add-on che mi esalta di meno dei 4. Fondamentalmente fornisce ad Ipcop l'abilità di bloccare domini, URL e file non voluti.

Ecco nel dettaglio cosa fa:

   * Configurazione via interfaccia web con aposita sezione perfettamente integrata
   * Molto flessibile, le categorie di blocco non sono hardcoded nell'add-on
   * Lavora con tutte le blacklist compatibili SquidGuard
   * Aggiornamento automatico delle blacklist secondo schedulazione definita dall'utente.
   * Policy configurabili su orari, categorie e browser utilizzato

Come vi dicevo è l'addon che meno mi piace dei 4 per un semplice motivo: ci sono altri addon che poi vedremo che fanno le stesse funzionalità in maniera migliore.

Per i più curiosi, gli altri screenshot sono QUI mentre questo è il sito ufficiale

Update Xlrator

Arriviamo invece ora al mio preferito fra questi 4 addon, l'Update Xlrator.
Ora, io sono un appassionato d'informatica, studio reti e anche per lavoro ho in casa un discreto numero di pc windows funzionanti. Ogni tanto formatto anche qualche pc a qualche amico.Tutti questi pc richiedono di effetturare windows update. Questo significa un enorme spreco di tempo di attesa di ore e gigabyte di download. Se io ho 5 windows XP, la stessa patch verrà scaricata 5 volte. E finchè è una patch...passi. Ma se dovessi partire da un pc appena formattato...il tempo di attesa aumenta a dismisura.
Ebbene questo add-on crea una specie di secondo proxy dedicato esclusivamente agli update di:

  • Symantec
  • Adobe
  • Microsoft

Quando un pc della vostra rete richiederà un aggiornamento, esso verrà intercettato da Ipcop e memorizzato. D'ora in poi, qualsiasi altro pc che richiederà uel file, lo scaricherà direttamente dalla cache di Ipcop e non più da internet con un enorme risparmio di tempo e banda. Non solo: con cadenze programmabili Ipcop controllerà la sorgente di ogni aggiornamento per verificare che quest'ultimo sia ancora valido e non ritirato e inoltre possono essere create procedure automatizzate di pulizia per eliminare (ad esempio)file non più richiesti da X mesi/settimane.

   * Aumenta la velocità fino a 1.500 volte per una connessione 64kBit/s ISDN
   * Garantisce la distribuzione dei file anche se la cache del proxy venisse cancellata. Ha una cache a a parte.
   * La cache di Update Accelerator può essere trasferita ad un altro Ipcop per distribuzione offline

Qui è possibile vederlo all'opera e anche tutte le opzioni di configurazione:
Test-acc.jpg
Inoltre sulla guida ufficiale viene anche spiegato come aggiungere un eventuale secondo hard disk da dedicare solo agli aggiornamenti scaricati. Hard disk che può tranquillamente essere staccato e spostato fra altri IpCop. Hard disk che non verrà toccato nel caso di formattazione del vostro IpCop.
Il sito ufficiale lo trovate QUI

Frank78: LCD project e Squidguard

Frank78 ha realizzato uno stupendo hack per poter aggiungere un display LCD esterno che riporta alcune informazione principali sulla vostra linux box.
Lcd2.jpg

Sempre sul suo sito trovate un altro simpatico progetto che provvede a fornire un'interfaccia di amministrazione per Squidguard in varie lingue tra cui l'italiano e che utilizza le blacklist dell'università di Tolosa.

Tutte le informazioni le potete trovare QUI

IpCop Firewall Addon Server

Visti i problemi già citati di convivenza fra più modifiche assieme, c' è chi ha pensato bene di provare a mettere un po di ordine e risolvere la questione.
Questo progetto prevede d'integrare varie (tutte?) mod con una semplice modalità d'installazione, gestione degli update, delle news e dei pacchetti lingua.
Ad esempio, fra le mod citate, trovate incluso qui L'Advanced Proxy di cui abbiamo parlato qua sopra.
Ecco uno screenshot chiarificatore:
Addons main.jpg

L'add-on server e altri screenshot sono disponibili sul sito ufficiale

Net Traffic

Net Traffic è una simpatica aggiunta a Ipcop. Possiamo dire che si tratta di un addon passivo in quanto crea delle statistiche ma non influenza ne modifica il comportamento di alcuna delle funzionalità del nostro firewall.
Le sue caratteristiche sono:

  • Interfaccia web con aposita sezione perfettamente integrata
  • Informazioni sull'ammontare del traffico verso e attraverso Ipcop
  • Informazioni e avvertimenti sul traffico per ogni singola interfaccia via web ed e-mail

Nettraffic.jpg

Altre immagini sul sito ufficiale

La raccolta BAN - SOLMS

Su questo sito troverete una raccolta di alcuni add-on per Ipcop fra i migliori e più utili in circolazione. Sinceramente non ho capito se sia solo una raccolta o se l'autore del sito sia anche l'autore di tutti gli add-on listati. Daltro canto, tutti i riferimenti che ho trovato in internet portano a questo sito come "sito ufficiale".
Ve ne descrivo i principali

CopSpot

CopSpot è un porting del noto captive portal Chillispot per IpCop.

E qui la domanda sorge spontanea: "Cos'è un captive portal?"

Un captive portal forza un client HTTP sulla rete a vedere una speciale pagina web (solitamente utilizzata per effettuare l'autenticazione) PRIMA di poter navigare in internet normalmente.
Un captive portal trasforma il vostro browser in un sicuro dispositivo di autenticazione. Ciò viene effettuato intercettando tutti i pacchetti, indpendentemente dalla loro destinazione e porta utilizzata, appena l'utente apre il proprio browser e cerca di navigare in internet. A questo punto il browser viene rediretto su un'apposita pagina web che richiede l'autenticazione e/o un pagamento oppure, molto più semplicemente, mostra il regolamento di utilizzo del servizio richiedendo l'accettazione dell'utente prima di lasciarlo navigare.
I captive portal sono spesso impiegati negli hotspot wi-fi e possono essere utilizzati anche per controllare un'accesso "wired" oltre che "wireless" (si pensi ad aereoporti, stanza d'albergo, centri congressi...).

Capito cos' è un captive portal?

Unici requisiti per mettere in opera Copspot è avere già una interfaccia blu configurata e funzionante (in alternativa installare l'add-on "Extra Interface" e lavorare sull'interfaccia "Gray") e un server radius per l'autenticazione.
CopSpot inoltre è dotato di un proprio server DHCP differente da quello cmq, integrato in IpCop. Questo nuovo DHCP server dovrà essere attivato su quelle interfacce su cui utilizzerete CopSpot.

La configurazione è abbastanza banale:
Copspot-addon.png

mentre questo è un esempio del portale di login che si presenterà agli utenti:
Copspot-redirect.png

NOTE TECNICHE:

    *Al momento il progetto CopSpot può gestire solo la porta 80. Tutte le altre porte risultano
      bloccate. Se avete delle necessità maggiori dovete combinare CopSpot con un altro add.on:    
      BlockOutTraffic - BOT (ne parlo più avanti)
*CopSpot prevede la possibilità di specificare una white list di siti che sarà possibile visitare anche senza essersi autenticati.

Altre immagini e informazioni le trovate sul sito ufficiale del progetto.

Extra Interfaces

Questo add-on permette di estendere il numero d'interfacce previsto da Ipcop da 4 ad 8.L'importante è avere abbastanza hardware :)
Oltre alle classiche GREEN - RED - BLUE - ORANGE d'ora in poi si aggiungeranni anche le GRAY1 - GRAY2 - GRAY3 - GRAY4 (ricordate che le abbiamo appena nominate nell'addon qui sopra?)

La configurazione è molto semplice:
Extraiface-gui.png

Naturalmente il tutto si integra come sempre nell'interfaccia web di Ipcop
Maggiori immagini e info QUI

Iptables GUI

Questa add-on si commenta già da sola: fondamentalmente è una pagine in più nell'interfaccia web dove poter vedere tutte le regole attualmente attive di iptables.
Uno screenshot chiarirà ogni dubbio:

Iptablesgui-gui.png

Altre foto e maggiori info sul sito ufficiale

Connection Scheduler

Questa addon può essere vista come un'interfaccia web a "fcron".
Potete schedulare quando Ipcop dovrà connettersi ad internet, disconnettersi, cambiale profilo di connessione etc.

Un esempio:
Connscheduler-list.png

Come al solito, info e immagini le trovate QUI

Altri add-on presenti & Hardware

Sul sito trovate anche altre funzionalità per estendere il vostro ipcop:

   * DigiTemp
   * HDDGraph
   * Mbmongraph
   * Munin
   * Wake On LAN
   * WLAN AP
   * COM LED
   * Dialup Monitor
   * GUI Colors
   * Lost & Found

Infine, alcuni esempi di IPCOP modding

Twister-rear-connections.jpg

Block Out Traffic (BOT)

Un grosso difetto di IpCop se implementato in una realtà aziendale è quello di avere un policy di default per il traffico in uscita che permette tutto, indistintamente.
Come è facile capire non è il massimo della vita, soprattutto quando si vogliono bloccare determinati servizi o fare una cernita fra chi può navigare e chi no.
Proprio per colmare questa lacuna è stato creato questo add-on che fornisce un'ottima interfaccia grafica per poter creare regole ad hoc in maniera granulare per il traffico in uscita esattamente come per il traffico in entrata.

Le caratteristiche principali di questo modulo sono:

   * Configurazione via interfaccia web con aposita sezione perfettamente integrata
   * Controllo del traffico "verso" e "attraverso"IpCop
   * Limitazioni del traffico per MacAddress, indirizzi IP e interfacce di rete
   * Comodo raggruppamento degli indirizzi
   * Definizione di servizi personalizzati
   * Raggruppamento di servizi
   * Regole di firewalling basate ad orari
   * Controllo del logging del firewall

Alcuni screenshot:

All rules overview.png
Riepilogo e configurazione regole

Address groups.png
Address Grouping

Documentazione, altri screenshot e altre info sul sito ufficiale

Addon Server

Visto il proliferare di tutti questi addon, soprattutto di progetti minori o poco incisivi, c' è stato anche qualcuno che ha pensato di creare un sistema d'installazione centralizzato.
Il concetto è molto semplice:
si intalla il server di gestione add-on come se fosse un add-on qualsiasi, a questo punto gli altri addon-gestiti dal server (attenzione, solo quelli gestiti dal server, non tutti gli add-on in assoluto) vengono carigati semplicemente uploadando un file dall'interfaccia grafica:

Ecco un esempio:
Addons 23 mods.jpg

Nella prima parte della schermata vengono elencati gli add-on installati mentre nella parte sottostante compaiono gli add-on disponibili ancora da poter installare.
Inoltre l'add-on server fornisce altre 3 funzionalità molto utili:

  • Visualizzare le note di rilascio dei singoli addon (README)
  • Funzione centralizzata per gli aggiornamenti degli add-on
  • Pagina delle "News" con gli ultimi rilasci