Linux: Amministrazione sistema, Documentazione, HowTo, Tutorial, Recensioni, Manuale, Programmi, Software
LinuxGuide.it - Amministrazione Linux, Documentazione, HowTo, Tutorial, Recensioni, FAQ, Guide, News, Open Source...
Recensioni
 Recensioni Anno 2008  Anno 2008
 
Amministrazione sistema
 Amministrazione sistema Fondamentis  Fondamentis
 Amministrazione sistema Ambiente di sistema  Ambiente di sistema
 Amministrazione sistema Comandi Linux  Comandi Linux
 Amministrazione sistema Boot loader  Boot loader
 Amministrazione sistema Filesystem  Filesystem
 Amministrazione sistema Backup  Backup
 Amministrazione sistema Gruppi e Utenti  Gruppi e Utenti
 Amministrazione sistema Permessi  Permessi
 Amministrazione sistema Archivi e file compressi  Archivi e file compressi
 Amministrazione sistema Pacchetti (rpm, deb...)  Pacchetti (rpm, deb...)
 Amministrazione sistema Periferiche  Periferiche
 Amministrazione sistema Autenticazione utenti  Autenticazione utenti
 Amministrazione sistema Rete  Rete
 Amministrazione sistema Servizi di Rete (Server)  Servizi di Rete (Server)
 Amministrazione sistema Sviluppo  Sviluppo
 
Tutorial & HowTo
 Tutorial & HowTo Applicazioni  Applicazioni
 Tutorial & HowTo Internet  Internet
 Tutorial & HowTo Rete  Rete
 
FAQ Linux
 FAQ Linux Amministrazione sistema  Amministrazione sistema
 FAQ Linux Reti e rete  Reti e rete
 FAQ Linux Programmi  Programmi
 FAQ Linux X Window System  X Window System
 FAQ Linux Applicazioni  Applicazioni
 FAQ Linux Stampa  Stampa
 FAQ Linux Editoria  Editoria
 FAQ Linux I Caratteri font  I Caratteri font
 FAQ Linux Immagini  Immagini
 FAQ Linux Masterizzazione  Masterizzazione
 FAQ Linux Audio  Audio
 FAQ Linux Programmazione  Programmazione
 FAQ Linux Hardware  Hardware
 
Software Linux
Software Linux Giochi  Giochi
Software Linux Grafica  Grafica
Software Linux Internet  Internet
Software Linux Multimedia  Multimedia
Software Linux Rete  Rete
Software Linux Server  Server
Software Linux Sicurezza  Sicurezza
Software Linux Sistema  Sistema
Software Linux Sviluppo  Sviluppo
 
News Letter
Per essere sempre aggiornato!
 
 
RSS Feed
News in tempo reale!
 
Seguici su Facebook
Unisciti al nostro Linux Facebook Group
 
Popular tags
 
 
 
 
 
 
 
Home page Recensioni Anno 2008
Cerca:
 Categoria: Recensioni > Anno 2008

Linux: Zeroshell una piccola distribuzione Linux per gestire i servizi di rete

 
è stato letto: 9026 volte
voto: -8 / 30
rating:
Vota OK questo articolo Vota KO questo articolo (vota questo articolo)
 
tag: zeroshell, appliance, firewall, kerberos, vpn
 
Condividiamo documentazione, howto, info, news, articoli, manuali linux Condividi questo documento su:
 

Zeroshell

home page: www.zeroshell.net


Una piccola distribuzione Linux per gestire i servizi di rete.


Cosa e` Zeroshell?
Zeroshell e` una LiveCD Linux orientata alla gestione dei servizi di rete. Puo` 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 possibilita` 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 e` una distribuzione estremamente contenuta, con dimensioni inferiori ai 100MB. La scelta della forma di Live CD e` motivata da diversi fattori. Il primo e` la semplicita` di upgrade che permette di passare ad una release successiva semplicemente con un reboot. Il secondo motivo e` la intrinseca sicurezza di cui le immagini ISO sono caratterizzate. Infatti, poiche` il filesystem contenente i binari eseguibili e` in sola lettura, un'intrusione esterna, difficilmente puo` 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 e` 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 silenziosita` 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 funzionalita` di Zeroshell, e` 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 piu` adatti dove trovare e richiedere supporto.


Router, Bridge e Firewall e Traffic Shaping
Una delle funzionalita` presenti in Linux da sempre e` la possibilita` di abilitare il routing fra le diverse interfacce di rete di cui e` dotato il sistema. L'interfaccia web di Zeroshell da` 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. Cio` e` utile per esempio, quando si dispone di un collegamento ADSL con un solo IP, ma si vuole far accedere a Internet piu` computer simultaneamente.

La funzionalita` 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. Cio` e` 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. Cio` consente un bel risparmio di lavoro agli amministratori, che in tale maniera non devono piu` configurare un numero eccessivo di route statiche per ogni router. Il RIP tiene conto anche della metrica (cioe` del numero di hop necessari per raggiungere un nodo), permettendo cosi` 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 piu` 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, e` quello in cui si vogliono applicare delle regole di firewalling, ma non lo si puo` fare su di un router layer 3 poiche` 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, e` interamente amministrabile via web. Tale firewall puo` essere utilizzato indifferentemente sia che Zeroshell stia agendo da router che da bridge. Una delle caratteristiche fondamentali e` la presenza dei filtri Layer 7 (L7-Filter) che permettono di individuare i pacchetti guardando al contenuto del loro Payload (Deep packet inspection). Cio` e` 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 possibilita` 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. Cio` 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, puo` essere utilizzata, invece che per bloccare determinati protocolli, per assegnarli una priorita`, una banda garantita ed una banda massima. Un esempio per tutti e` quello in cui conviene dare bassa priorita` ai grossi trasferimenti di dati e alta a quelli realtime come il VoIP, in cui una latenza troppo lunga comprometterebbe la qualita` 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 cio`, Zeroshell utilizza il software Open Source OpenVPN. Il vantaggio di questa soluzione, rispetto ad altre come il diffuso protocollo IPSec, e` che nel tunnel criptato si fanno passare vere e proprie trame Ethernet e non soltanto protocolli di livello 3. Le conseguenze sono immediate: si puo` 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, puo` 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 e` stato scelto perche` sfruttando IPSec ha un'elevata sicurezza (rispetto per esempio al piu` diffuso ma debole PPTP). Un Road Warrior (cosi` 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 e` dimostrato spesso complicato da configurare lato client, anche in sistemi come Microsoft Windows che nativamente puo` effettuare tali VPN, senza l'aggiunta di altro software. Per questo motivo, con l'ultima release di Zeroshell si e` dato supporto alle VPN Host-to-LAN tramite OpenVPN, che risulta molto piu` semplice da configurare benche` richieda l'installazione di tale software. Come si puo` vedere consultando il documento http://www.zeroshell.net/openvpn-client/, e` disponibile un porting di OpenVPN per tutti i sistemi operativi piu` diffusi (Linux, Solaris, OpenBSD, FreeBSD, NetBSD, Mac OS X e Microsoft Windows). In particolare, il server OpenVPN configurato in Zeroshell ha un elevata flessibilita`, poiche` 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 semplicita` con cui una persona non autorizzata, semplicemente avvicinandosi ad una zona coperta da segnale Wi-Fi, puo` 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, mostro` presto i suoi limiti di sicurezza, dovuti alla debolezza dell'algoritmo di cifratura. Si introdussero percio` lo standard WPA successivamente evolutosi nel WPA2 (802.11i) che prevede due modalita` 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 modalita` Enterprise, dedicata alle realta` piu` grandi, che elimina la necessita` 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 confidenzialita` dei dati al prezzo di una non immediata configurabilita` dei client degli utenti, che spesso necessitano di supporto da parte degli amministratori. Cio` non e` accettabile in un ambiente pubblico come un HotSpot di un aeroporto o di un albergo. In questi luoghi, si e` 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, cosi` come per le VPN realizzate con OpenVPN, e` possibile autenticare gli utenti di un dominio Microsoft Active Directory sfruttando Kerberos 5.

Grazie poi alla sua modularita`, 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 funzionalita`: 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 puo` 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 puo` distribuire l'accesso al Wireless su piu` 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 e` quello di poter creare VPN ridondate e con consequente incremento di banda. Cio` e` possibile grazie al fatto che OpenVPN incapsula nel tunnel crittografato, trame Ethernet a tutti gli effetti e quindi e` possibile utilizzare la capacita` 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), puo` 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 e` 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 possibilita` di bilanciare il carico dei collegamenti con Internet e di ridondarli in caso di guasto, sara` introdotto il Net Balancer. Questo modulo consentira` a Zeroshell di avere piu` di un Default Gateway. La logica con cui sara` distribuito il carico sui diversi router di confine con l'esterno sara` sia Round-Robin (quindi automatica), che attraverso delle regole simili a quelle del firewall. Con quest'ultima possibilita` si da` all'amministratore, la facolta` 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 piu` genericamente) da un link, mentre il resto del traffico dai restanti collegamenti.


Autenticazione Kerberos 5 e autenticazione X.509
Come si e` 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 e` disponibile un tutorial all'URL http://www.zeroshell.net/kerberos/) e` stato scelto perche` ritenuto uno tra i protocolli di autenticazione piu` 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 possibilita` 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. Cio` e` senz'altro necessario, quando un'organizzazione che vuole utilizzare i servizi di Zeroshell, possiede gia` un'infrastruttura PKI.


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

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




 
 
 
Ultimo aggiornamento: 2009-06-25 14:00:56
 
 
 
 
 
»Home | About | Legale | Privacy | Pubblicità | Contatti