LinuxGuide.it > Documentazione Linux, Tutorial, HowTo, Guide, Manuale, Configurazioni, FaQ, howto, tutorial, News, Downloads e tanto altro ancora...
Ritorna alla Home Page  Aggiungi LinuxGuide.it ai Preferiti  
Documentazione Linux, HowTo, Guide, Configurazioni, Tutorial, FaQ, News, Downloads e tanto altro ancora... LinuxGuide.it
""
 "" Home   "" Documentazione e Tutorial   "" Linux Commands Line   "" Recensioni   "" Download Software    
""
.:: Documentazione ::.
Indice DocumentazioneIndice documentazione
Fondamentis
Distribuzioni Linux
Amministrazione sistema
Networking
Server
Tutorial
Lista Command Line
 
.:: Partners ::.
LinuxCMD.org
SoftLinux.it
SoftLinux.org
OpenSourceMania.it
 
.:: tag cloud ::.
 
 
.:: Ricerca documentazione ::.
Ricerca Documentazione Inserisci un termine
 
.:: News@Letter ::.
Ricevi le News sui nuovi tutorials Ricevi le News sulla documentazione!
 
LinuxGuide > Recensioni
Segnala questo documento su:
Forum Linux
Vai al Forum Linux
per discutere su problematiche, howto, tips & tricks, condividere idee ed argomenti...

Zeroshell

home page: www.zeroshell.net


Una piccola distribuzione Linux per gestire i servizi di rete.


Cosa è Zeroshell?
Zeroshell è una LiveCD Linux orientata alla gestione dei servizi di rete. Può essere utilizzato come router, firewall, traffic shaping per la garanzia del QoS, Captive Portal per la protezione degli accessi mediante web login, Radius server per la protezione di reti Wireless con WPA/WPA2, server VPN per la connessione tra LAN e singoli host, server DHCP e DNS ed altro.

Il nome Zeroshell deriva dalla possibilità di configurare e amministrare il tutto mediante un'interfaccia web che limita l'utilizzo della shell a quei casi di configurazione non previsti dalla GUI.

Contenendo soltanto il software strettamente necessario per fornire i suddetti servizi, Zeroshell è una distribuzione estremamente contenuta, con dimensioni inferiori ai 100MB. La scelta della forma di Live CD è motivata da diversi fattori. Il primo è la semplicità di upgrade che permette di passare ad una release successiva semplicemente con un reboot. Il secondo motivo è la intrinseca sicurezza di cui le immagini ISO sono caratterizzate. Infatti, poiché il filesystem contenente i binari eseguibili è in sola lettura, un'intrusione esterna, difficilmente può creare grossi danni facendo del nodo compromesso un punto di attacco verso altri host. Male che vada poi, un semplice reboot rimette le cose al loro posto.

Zeroshell è disponibile anche su Compact Flash, rendendo possibile il boot su dispositivi embedded che fanno uso di tale mezzo. Esiste poi una particolare immagine dedicata all'utilizzo con i WRAP e i Soekris Net4801 che sono piccoli sistemi con AMD Geode SC1100 a basso consumo e dotati di diversi interfacce Fast Ethernet. Tali dispositivi, dato il loro basso consumo e la loro silenziosità dovuta alla totale assenza di ventole, li rende adatti alla realizzazione di Router/Firewall per ambienti SOHO.

Prima di iniziare a vedere nel dettagli le funzionalità di Zeroshell, è utile segnalare i due forum http://www.zeroshell.net/forum/ in lingua Italiana e http://www.zeroshell.net/eng/forum/ in lingua Inglese che rappresentano i luoghi più adatti dove trovare e richiedere supporto.


Router, Bridge e Firewall e Traffic Shaping
Una delle funzionalità presenti in Linux da sempre è la possibilità di abilitare il routing fra le diverse interfacce di rete di cui è dotato il sistema. L'interfaccia web di Zeroshell dà massimo supporto in tal senso, gestendo il NAT, i Virtual Server e il RIP versione 2.

Il NAT (Network Address Translation) permette di avere sulla LAN indirizzi IP di classi private mascherati su Internet con indirizzi pubblici. Ciò è utile per esempio, quando si dispone di un collegamento ADSL con un solo IP, ma si vuole far accedere a Internet più computer simultaneamente.

La funzionalità di Virtual Server (detta anche Port Forwarding se riferita a servizi TCP/UDP) permette di configurare un server che accetti le connessioni dall'esterno, ma le trasmetta poi ai server reali che si occupano di fornire il sevizio richiesto. Ciò è utile per collocare i server su di una subnet privata (DMZ) e pubblicarne i servizi su di un nodo che sia raggiungibile dall'esterno.

Il RIPv2 (Routing Information Protocol versione 2) invece, consente ai diversi router presenti nella LAN di imparare automaticamente, gli uni dagli altri, i percorsi (next-hop)

per raggiungere tutti i nodi. Ciò consente un bel risparmio di lavoro agli amministratori, che in tale maniera non devono più configurare un numero eccessivo di route statiche per ogni router. Il RIP tiene conto anche della metrica (cioè del numero di hop necessari per raggiungere un nodo), permettendo così di creare percorsi di ridondanza per il fault tolerance della rete.

La web interface di Zeroshell consente anche la creazione di bridge mettendo insieme 2 o più interfacce Ethernet. I bridge possono essere pensati come router di livello 2, in cui l'instradamento delle trame ethernet ,avviene esaminando l'indirizzo MAC di destinazione (invece dell'IP che viene preso in considerazione nei router Layer 3). Uno dei casi in cui torna utile creare un bridge tra due pezzi di LAN, è quello in cui si vogliono applicare delle regole di firewalling, ma non lo si può fare su di un router layer 3 poiché i nodi appartenenti ai 2 segmenti di rete hanno IP appartenenti alla medesima subnet.

Il Firewall di Zeroshell, che ovviamente si appoggia sul modulo Netfilter del Kernel Linux e sul comando iptables, è interamente amministrabile via web. Tale firewall può essere utilizzato indifferentemente sia che Zeroshell stia agendo da router che da bridge. Una delle caratteristiche fondamentali è la presenza dei filtri Layer 7 (L7-Filter) che permettono di individuare i pacchetti guardando al contenuto del loro Payload (Deep packet inspection). Ciò è particolarmente utile per limitare mediante traffic shaping o bloccare le connessioni che avvengono su porte TCP/UDP variabili e non predefinite, come quelle generate da software P2P. E' configurabile anche il modulo IPP2P del Netfilter, anche esso dedicato all'individuazione del peer to peer. Da segnalare, per quel che riguarda il firewall, la possibilità di attivare il logging delle connessioni, tramite cui, per ogni connessione TCP e UDP che avviene da e verso la LAN, vengono registrati l'IP sorgente, la porta sorgente, l'IP destinazione e la porta destinazione. Ciò permette, qualora sia segnalato qualche abuso, di risalire al nodo della LAN che lo ha commesso.

Infine, la stessa interfaccia con cui si configurano le regole del firewall, può essere utilizzata, invece che per bloccare determinati protocolli, per assegnarli una priorità, una banda garantita ed una banda massima. Un esempio per tutti è quello in cui conviene dare bassa priorità ai grossi trasferimenti di dati e alta a quelli realtime come il VoIP, in cui una latenza troppo lunga comprometterebbe la qualità dell'audio. A tal scopo, sempre i filtri layer 7 danno un valido aiuto nella classificazione del traffico Skype, SIP e H323.


Le Virtual Private Network
Zeroshell supporta due tipologie di Virtual Private Network: LAN-to-LAN e Host-to-LAN. Le VPN LAN-to-LAN o Site-to-Site congiungono due LAN geograficamente distanti utilizzando un tunnel criptato che attraversa Internet. Per far ciò, Zeroshell utilizza il software Open Source OpenVPN. Il vantaggio di questa soluzione, rispetto ad altre come il diffuso protocollo IPSec, è che nel tunnel criptato si fanno passare vere e proprie trame Ethernet e non soltanto protocolli di livello 3. Le conseguenze sono immediate: si può taggare la VPN con il protocollo 802.1q e quindi realizzare un trunking con cui far transitare le VLAN (Virtual LAN) presenti sugli switch da un sito all'altro; una VPN composta da trame ethernet, può essere messa direttamente in bridge con le interfacce verso le LAN. In tale maniera, non solo si possono avere indirizzi appartenenti alla stessa subnet IP su entrambe le LAN, ma anche il traffico broadcast attraversa la VPN permettendo l'utilizzo di risorse Windows condivise con NetBIOS di funzionare anche senza la presenza di un server WINS. Il bridging di VPN permette, tra l'altro, di far transitare protocolli non necessariamente IP, come AppleTalk e IPX.

Per quel che riguarda le Virtual Private Network di tipo Host-to-LAN, che sono quelle che permettono ad un utente che si trova all'esterno della sua LAN, di connettersi ad essa tramite Internet e di accedere ai servizi senza subire le protezioni del firewall, Zeroshell ne supporta di due tipi: L2TP/IPSec e OpenVPN.

Il protocollo L2TP/IPSec è stato scelto perché sfruttando IPSec ha un'elevata sicurezza (rispetto per esempio al più diffuso ma debole PPTP). Un Road Warrior (così sono detti gli utenti che sono lontani dalla loro LAN) per potersi connettere ha bisogno di due livelli di autenticazione: IPSec viene autenticato con certificati digitali X.509, mentre L2TP tramite username e password Kerberos 5. Tuttavia, L2TP/IPSec si è dimostrato spesso complicato da configurare lato client, anche in sistemi come Microsoft Windows che nativamente può effettuare tali VPN, senza l'aggiunta di altro software. Per questo motivo, con l'ultima release di Zeroshell si è dato supporto alle VPN Host-to-LAN tramite OpenVPN, che risulta molto più semplice da configurare benché richieda l'installazione di tale software. Come si può vedere consultando il documento http://www.zeroshell.net/openvpn-client/, è disponibile un porting di OpenVPN per tutti i sistemi operativi più diffusi (Linux, Solaris, OpenBSD, FreeBSD, NetBSD, Mac OS X e Microsoft Windows). In particolare, il server OpenVPN configurato in Zeroshell ha un elevata flessibilità, poiché consente all'utente di autenticarsi oltre che mediante certificati digitali X.509, anche tramite Username e Password verificati con un server RADIUS o KDC Kerberos 5. In particolare l'autenticazione Kerberos V, permette agli utenti di un dominio Microsoft Active Directory, di accedere alle VPN di Zeroshell.


Server RADIUS e Captive Portal per l'autenticazione del WI-FI
Il diffondersi della tecnologia Wireless per l'accesso alla LAN, ha generato nuovi problemi di sicurezza, vista la semplicità con cui una persona non autorizzata, semplicemente avvicinandosi ad una zona coperta da segnale Wi-Fi, può associarsi qualora non siano state prese le opportune contromisure.

Una prima risposta al problema, fu l'introduzione del WEP, che consiste nell'utilizzare chiavi condivise RC4 con cui autenticare i client e successivamente criptare il traffico. Ma questo procedimento, che non solo costringe gli amministratori a generare le chiavi sugli Access Point e successivamente comunicarle agli utenti, mostrò presto i suoi limiti di sicurezza, dovuti alla debolezza dell'algoritmo di cifratura. Si introdussero perciò lo standard WPA successivamente evolutosi nel WPA2 (802.11i) che prevede due modalità di funzionamento: con pre-shared key (WPA-PSK) che assomiglia al WEP, vista la presenza di una chiave condivisa tra utenti e Access Point, ma che prevede algoritmi di cifratura robusti come AES e la modalità Enterprise, dedicata alle realtà più grandi, che elimina la necessità di avere chiavi condivise e autentica gli utenti tramite un server RADIUS compatibile con lo standard 802.1x.

Tramite FreeRADIUS, Zeroshell permette l'autenticazione dei client wireless, sia con username e password (EAP-TTLS e PEAP) che con certificati digitali X.509 (EAP-TLS).

L'utilizzo di WPA2 con un server RADIUS 802.1x offre altissime garanzie di sicurezza e di confidenzialità dei dati al prezzo di una non immediata configurabilità dei client degli utenti, che spesso necessitano di supporto da parte degli amministratori. Ciò non è accettabile in un ambiente pubblico come un HotSpot di un aeroporto o di un albergo. In questi luoghi, si è andata diffondendo la tecnica del Captive Portal, in cui un client che si trova nella rete Wi-Fi viene comunque da subito associato agli Access Point e assegnato un indirizzo IP. Tuttavia, prima di poter accedere ai servizi della LAN o poter accedere ad Internet deve aprire un web browser ed autenticarsi.

Zeroshell integra un Captive Portal che prevede l'autenticazione sia direttamente con certificati digitali X.509 che con credenziali normali. Mentre l'autenticazione X.509 apre la strada al riconoscimento mediante Smart Card, l'autenticazione con username e password permette l'autenticazione utilizzando un server Kerberos 5 o un server RADIUS esterno. Anche per il Captive Portal, così come per le VPN realizzate con OpenVPN, è possibile autenticare gli utenti di un dominio Microsoft Active Directory sfruttando Kerberos 5.

Grazie poi alla sua modularità, il Captive Portal di Zeroshell permette la realizzazione di accessi distribuiti alla rete. In altre parole, Zeroshell scinde la funzione di Captive Portal in due sotto funzionalità: quella di Authentication Server e quella di Captive Gateway.

Alla prima spetta il compito di fornire la pagina di web login e di interpellare i server RADIUS o Kerberos 5 quando l'utente cerca di autenticarsi. Al Captive Gateway (che può funzionare sia in Routed Mode che in Bridged Mode) spetta invece il compito di intercettare le richieste http e https ridirigendole verso l'Authentication Server e di sbloccare l'accesso se quest'ultimo riconosce l'utente. Grazie a questa suddivisione di compiti, si può distribuire l'accesso al Wireless su più Captive Gateway (anche geograficamente distanti), ma che fanno riferimento allo stesso server di autenticazione. Il vantaggio consiste nell'avere un unico punto in cui gestire l'autenticazione e la pagina di web login.


Load Balancing e Fault Tolerance dei collegamenti WAN
Un altro vantaggio dell'utilizzo di OpenVPN per connettere due sedi distanti utilizzando Internet è quello di poter creare VPN ridondate e con consequente incremento di banda. Ciò è possibile grazie al fatto che OpenVPN incapsula nel tunnel crittografato, trame Ethernet a tutti gli effetti e quindi è possibile utilizzare la capacità del Kernel di Linux di creare dei Bonding di schede di rete ethernet, per aggregare insieme anche le VPN.

In altre parole, se un'organizzazione possiede in una sede distaccata almeno 2 collegamenti WAN (anche ADSL vanno bene), può far passare una VPN con la sede centrale per ognuno di essi e riunire l'insieme delle VPN risultanti in unico canale BOND. In questa maniera, se uno dei collegamenti dovesse venire meno, la relativa VPN verrebbe temporaneamente esclusa per garantire la connessione mediante le VPN restanti. Peraltro, se il BOND di VPN è configurato in Load Balancing, viene utilizzato algoritmo Round-Robin per distribuire ciclicamente le trame Ethernet sui diversi canali criptati. In questa maniera si ottiene un incremento di banda proporzionale al numero di link WAN di cui l'organizzazione dispone.

Dalla prossima release di Zeroshell, allo scopo di ampliare le possibilità di bilanciare il carico dei collegamenti con Internet e di ridondarli in caso di guasto, sarà introdotto il Net Balancer. Questo modulo consentirà a Zeroshell di avere più di un Default Gateway. La logica con cui sarà distribuito il carico sui diversi router di confine con l'esterno sarà sia Round-Robin (quindi automatica), che attraverso delle regole simili a quelle del firewall. Con quest'ultima possibilità si dà all'amministratore, la facoltà di decidere determinate classi di traffico o determinati nodi con quale collegamento Internet devono comunicare. Tanto per fissare le idee, un amministratore potrebbe decidere di far transitare tutto il traffico VoIP (o interattivo più genericamente) da un link, mentre il resto del traffico dai restanti collegamenti.


Autenticazione Kerberos 5 e autenticazione X.509
Come si è visto nel caso delle VPN Host-to-LAN, del Radius Server per l'autenticazione 802.1x e per il Captive Portal, Zeroshell dispone di due metodi di autenticazione principali: Kerberos 5 per quel che riguarda il riconoscimento con username e password e l'autenticazione TLS per il riconoscimento mediante certificati digitali X.509.

Il protocollo di autenticazione Kerberos 5 (di cui è disponibile un tutorial all'URL http://www.zeroshell.net/kerberos/) è stato scelto perché ritenuto uno tra i protocolli di autenticazione più sicuri e flessibili. Grazie ad esso, Zeroshell permette di centralizzare e unificare l'autenticazione non soltanto dei servizi visti finora, ma anche del semplice login su workstation e server sia Linux/Unix che Windows.

In particolare poi, per permettere oltre alla semplice autenticazione, anche la gestione dell'autorizzazione su macchine Unix, al server Kerberos, Zeroshell affianca un servizio LDAP con cui memorizzare e distribuire le informazioni sugli utenti, i gruppi e gli host della rete. Grazie alla gestione di una directory LDAP, Zeroshell permette di sostituire l'ormai obsoleto servizio NIS (anche noto come Yellow Pages) che permette di centralizzare le informazioni contenute nei file /etc/passwd e /etc/group di una macchina Unix. Altro vantaggio nell'uso di LDAP consiste nella possibilità di gestire delle rubriche di indirizzi e-Mail centralizzate utilizzabili dai client di posta elettronica come Outlook o Thunderbird o per il routing della posta elettronica per mezzo di MTA come Postfix.

La scelta di supportare anche l'autenticazione dei client con TLS/SSL, che richiede ad un utente che voglia accedere ad un servizio di possedere un certificato X.509 insieme alla relativa chiave privata, ha richiesto di implementare in Zeroshell una Certification Authority, per l'emissione di certificati X.509. Tale CA ha funzioni minime, ma comunque sufficienti al fine dell'autenticazione X.509. Resta comunque possibile utilizzare in Zeroshell i certificati generati da una Certification Authority esterna. Ciò è senz'altro necessario, quando un'organizzazione che vuole utilizzare i servizi di Zeroshell, possiede già un'infrastruttura PKI.


Sviluppi futuri e nuovi servizi
A breve sarà disponibile il Net Balancer, che è uno dei servizi maggiormente richiesti. Successivamente verrà sviluppata la possibilità di attivare un proxy web (senz'altro Squid) che consentirà la scansione delle pagine web per bloccare Virus, Worm e Malware più in generale, prima che raggiungano i browser degli utenti. Con molta probabilità l'Antivirus utilizzato sarà ClamAV vista la sua natura Open Source. Anche questa è una necessità molto sentita, emersa dalle richieste sui forum, tanto che come testimonia il post http://www.zeroshell.net/forum/viewtopic.php?t=382, c'è chi a provveduto a installare tale software da se.

Probabilmente dopo la release 1.0.0, Zeroshell conterrà anche un server IMAP e un server SMTP con antivirus per la distribuzione della posta elettronica.




Commenta questo articolo sul forum! Commenta questa recensione sul forum!
Note sulle responsabilità.
LinuxGuide.it non si assume alcuna responsabilità e in nessun caso può esserne attribuita per eventuali danni fisici, morali o di altro tipo causati dall'utilizzo dei contenuti, dai comandi, dalle configurazioni e da qualsiasi altro contenuto pubblicato su www.linuxguide.it o copie degli stessi contenuti distribuiti da terzi.
 
TOP
     
.:: Contattaci | Siti amici | Directory internet ::. 
 
Eccetto dove diversamente specificato, i contenuti di LinuxGuide.it sono rilasciati sotto Licenza "Creative Commons" Attribuzione 2.5:
libera Riproduzione a condizione che vengano indicati gli Autori e, a scopi Non Commerciali e, Non Opere Derivate 2.5 Italia.
Linuxguide.it | Diventa autore Leggi la licenza Creative Commons per imparare come distribuire i contenuti di LinuxGuide.it usando questa licenza  Termini e condizioni d'uso | Privacy
Loghi e trademarks utilizzati per i link sono proprietà dei legittimi proprietari

(1) user on line

This Page Is Valid HTML 4.01 Transitional! This Page Is Valid CSS! Powered by CMSimple