Linux si presenta in multiformi e numerose distribuzioni, dai nomi a volte curiosi: Debian, Ubuntu, Mandrake, Fedora, Slackware che ormai sono noti e conosciuti da molti per quello che permettono di fare facilmente: installare un sistema Linux completo di software OpenSource in grado di placare la dieta informatica di ogni tipo di utente o sistemista.
Si consideri che il "Linux di Linus Torvalds" non è un sistema operativo completo come comunemente percepito, ma il semplice kernel, il cuore del sistema, che, a basso livello, si occupa della gestione diretta delle risorse hardware (CPU,memoria, dischi, interfacce, schede audio/video...).
Al kernel ogni distribuzione aggiunge tutto il software necessario per avere un sistema completo di programmi applicativi, utility e software lato server per gestire diversi servizi Internet.
Il panorama del software open source comunemente fornito in ogni distro prevede una grande varietà di programmi realizzati da persone, società ed organizzazioni diverse che riescono a interagire grazie a standard e librerie condivise.
Anche per questo molti preferiscono chiamarlo GNU/Linux poiché tutte le utility di base, dal gcc (compilatore di riferimento) alle utility tipiche del mondo Unix fanno parte del progetto GNU, ideato da Richard Stallman.
Le distribuzioni differiscono per:
- Numero e versioni dei programmi installabili;
- Versione del kernel utilizzata e modalità di pre-installazione (il kernel solitamente non viene compilato durante una normale installazione);
- Procedura di installazione (interfaccia utente e possibilità di definire opzioni e scegliere quale software installare);
- Organizzazione di file di configurazione, programmi, log nel file system;
- Configurazioni predefinite del software installato.
PRINCIPALI DISTRIBUZIONI
Red Hat
Red Hat è la più popolare distribuzione Linux e si adatta bene ad usi diversi (desktop, server, laptop) pur avendo una storia di sicurezza non certo esemplare. Pioniera nell'includere un meccanismo di update User Friendly e l'aggiornamento automatico tramite il RedHat Network. Ha introdotto il sistema di gestione di pacchetti software con estensione .RPM che facilita installazione e aggiornamento del software.
Fornisce due linee principali di prodotto:
Fedora, distribuzione completamente libera, aggiornata spesso e sviluppata in collaborazione con la community, con tempi di vita relativamente brevi.
Red Hat Enterprise Edition, versione commerciale, con supporto online per assistenza e aggiornamenti a pagamento, con tempi di vita lunghi e costo, non trascurabile, per singola licenza (in base alla possibilità di collegarsi al RedHat Network).
Debian
Distribuzione completamente sviluppata da una comunità che consta di migliaia di persone in tutto il mondo incarnando appieno lo spirito del Free Software. Fornisce un proprio sistema di pacchettizzazione simile all'RPM (pacchetti .DEB). Viene considerata per puristi ed esperti e risulta generalmente meno user-friendly e più stabile delle altre.
Ha tempi di vita decisamente superiori a quelli di altre distribuzioni free (spesso soggette ad aggiornamenti e cambi di versione frequenti) e per questo ben si presta per sistemi server dove la durata di vita del sistema è prioritaria rispetto alla necessità di software recente.
S.U.S.E.
Distribuzione nata in Germania, solida e ben accessoriata, RPM compatibile e user-friendly. Utilizza un software di gestione e configurazione (YAST) completo e piuttosto semplice, che può facilitare l'uso ad utenti non esperti.
Acquistata nel 2004 da Novell, Suse si propone come il più agguerrito concorrente commerciale di RedHat.
Viene fornita in diverse versioni:
Suse Linux Personal e Professional per il desktop (la versione Personal è liberamente scaricabile)
SuSE Linux Enterprise Server per ambienti enterprise, con costi di licenza superiori e supporto più duraturo.
Mandrake
In crescente diffusione, usa pacchetti simili a RPM (MDK) che sono aggiornati molto rapidamente. E' molto user friendly e probabilmente è una delle più adeguata per sistemi desktop. Prevede anche versioni server esplicitamente rivolte al mercato enterprise.
Slackware
Slackware è una delle prime distribuzioni, a differenza delle altre, è fortemente basata sulla attività di una singola persona, supportata comunque da una fedele comunità. Si distingue dalle altre per non usare package tipo RPM o DEB. E' essenziale nella sua logica e questo può essere gradito ai puristi e gli esperti ma risulta ostica per i principianti.
Gentoo
E' una distro relativamente recente ma a suo modo rivoluzionaria per il mondo Linux. E' fatta per essere compilata direttamente sul PC di installazione in ogni sua parte. Si basa su un sistema simile ai ports BSD basati su semplici file di testo con tutti i riferimenti su un programma/pacchetto in termini di nome, descrizione, caratteristiche, dipendenze e url per scaricare i sorgenti e procedure di compilazione.
E' decisamente per esperti, ma permette tuning e personalizzazioni notevoli.
Linspire
E' una delle distribuzioni più "commerciali", espressamente dedicata ad utenti non esperti che sono abituati a Windows. Incorpora e integra Wine e altri strumenti per rendere il sistema il più possibile simile a Windows, prevede un sistema di abbonamento online (Click'n'Run) tramite il quale si possono facilmente installare nuovi programmi. Non include nemmeno il compilatore gcc. Precedentemente chiamata Lindows ha dovuto cambiare nome in seguito a screzi legali con Microsoft.
ALTRE DISTRIBUZIONI
Il numero delle distribuzioni Linux supera le 300 unità, sviluppate in più di 50 nazioni diverse molte sono sfrozi collaborativi a livello mondiale), gli utilizzi sono svariati: molte sono "general purpose", alcune sono specifiche per il desktop, altre per il firewall, varie sono adatte per systemi embedded o incluse in network appliance di varia natura... Esistono inoltre distribuzioni specializzate per piattaforme non basate su processori Intel: PowerPC, sparc, alpha, motorola 68000, i390 e disribuzioni "Live" che possono essere utilizzate caricandole direttamente da un CDROM, senza installarle su Hard Disk.
Questo apparente caos e frammentazione, in realtà non devono fuorviare: le distribuzioni principali sono poche e da queste derivano gran parte delle altre, i punti in comune, inoltre, sono parecchi (kernel, software GNU, logica Unix, gerarchia del file system...) e un sistemista esperto non ha difficoltà a gestire una o l'altra.
Il kernel è il codice che gestisce le risorse presenti in un computer e le rende disponibili alle applicazioni con cui l'utente comunemente interagisce. In un sistema operativo, inteso in senso esteso, come può esserlo Windows completo di programmi accessori (Explorer, Internet Explorer, notepad e via dicendo), il kernel costituisce solo lo strato più profondo, quello che si occupa del "lavoro sporco" di interagire direttamente con l'hardware.
Il kernel si occupa principalmente di gestire:
- le comunicazioni con le memorie di massa (hard disk, floppy cdrom, dispositivi usb rimuovibili... ),
- i file system, cioè il modo con cui sono organizzate le informazioni sulle memorie di massa (fat, fat32, ntfs, ext3, reiserfs...),
- la memoria RAM, l'accesso dei singoli programmi alla stessa e il paging della memoria su hard disk,
- l'utilizzo della CPU e la condivisione della stessa fra i vari programmi,
- l'interfacciamento e la comunicazione con hardware vario (schede di rete, porte seriali, USB, parallele, schede audio, schede video ecc.
Le versioni del kernel Linux sono identificate con numeri a tre cifre separate da un punto (ed: 2.1.45) con una convenzione ben precisa.
Per esempio il kernel 2.4.15 ha:
2- Il major number, la serie principale. I kernel della serie 1.x sono ormai piuttosto vecchi e poco usati, quelli della serie 0.x sono ancora più vecchi e ormai rarità da collezionista (si fa per dire, dal sito ufficiale del kernel Linux sono ancora scaricabili.
4- Il minor number, il numero di versione principale. Se è pari il kernel viene considerato stable e pronto per sistemi in produzione, se è dispari lo si considera in development e da usare con cautela o per sperimentazione. Le release stable sono sempre figlie delle devel precedenti. Ad esempio il kernel attualmente considerato stabile, il 2.6, deriva dal 2.5 che era la versione in sviluppo mentre la 2.4 era quella considerata stabile. Solitamente nei kernel stable si tende a fare maintenance ed a implementare solo le feature strettamente necessarie, lasciando a quello in development lo sviluppo di nuove funzionalità.
15- E' la revisione (patch) corrente. Questo è un numero progressivo che parte da 0. Da una revisione alla successiva possono passare da pochi giorni a varie settimane.
Esistono inoltre varie patch temporanee, anche non di Torvalds stesso (comuni sono le -ac patch, di Alan Cox) che rappresentano stadi intermedi prima della release di una revisione definitiva.
Ha senso utilizzarle subito solo in caso di utilizzo di kernel con gravi problemi di sicurezza o stabilità (sul proprio sistema) che vengono risolte con le relative patch parziali.
Il kernel in development è attualmente composto da sorgenti realizzati da centinaia di programmatori e assemblati da Linus Torvalds che rilascia personalmente le nuove versioni.
Navigare e leggere il codice sorgente del kernel
Poter avere accesso completo al codice sorgente del proprio sistema operativo può essere per molti totalmente irrilevante ma per alcuni è una fonte inesauribile di studio, approfondimento e supporto allo sviluppo.
Esistono in rete progetti che favoriscono la possibilità di lettura ed analisi dei sorgenti di Linux, fra questi Cross-Referencing Linux.
E' un sito che permette il browsing all'interno del codice del kernel. E' particolarmente affascinante ed utile perchè, tramite una moltitudine di link, permette di correlare funzioni, variabili e strutture risultando piuttosto interessante, anche per il semplice curioso senza particolari cognizioni di programmazione in C.
Le discussioni sul kernel
Gli sviluppatori che affiancano Torvalds sono molti e tipicamente discutono e comunicano in una mailing list dedicata e piuttosto affollata: la linux-kernel mailing-list (è fortemente sconsigliato iscriversi, a meno che si sia direttamente coinvolti nello sviluppo del kernel.
Esistono in rete siti che riassumono le attività in corso sul kernel e le presentano in forme più accessibili a chi non è un kernel hacker:
Kernel Trap è un blog completo e aggiornato sugli sviluppi del kernel.
Kernel Traffic è una mailing list che riassume le principali discussioni su linux-kernel.
Kernel Newbies è un sito indicato per chi il kernel lo deve usare, compilare e imparare. Di fatto è il punto di partenza ideale per un sistemista Linux che vuole approfondire le sue conoscenze sul kernel.
Questa è un sommario elenco dei prezzi delle varie distribuzioni Linux, così come esposti sui siti ufficiali.
Va vista come lista indicativa dell'offerta commerciale su Linux basata sui prezzi di listino online, ovviamente non comprende costi indiretti potenzialmente legati all'uso di Linux (assistenza, formazione, hardware ecc) e si riferisce alle versioni commerciali delle varie distribuzioni, dove generlamente viene fornito supporto e assistenza di livello enterprise.
Dove specificato "ISO Online" si indica che le relative ISO sono scaricabili da Internet (un buon sito è www.linuxiso.org ) e liberamente distribuibili.
Aggiornamento: 15 Ottobre 2004
Prezzi e condizioni possono essere riportati in modo inesatto o incompleto, si rimanda ai siti ufficiali per informazioni dirette.
REDHAT
http://www.redhat.com/apps/commerce/ - RedHat Store
Per i suoi prodotti commerciali RedHat offre diverse "edition" che fondamentalmente si differenziano per il livello di supporto, e diverse versioni per WorkStation o Server.
Esistono poi delle soluzioni per il desktop e per sistemi di managemnt e assistenza.
Red Hat Enterprise Linux WS (WorkStation) - Basic Edition: $179 - Standard Edition: $299
Red Hat Enterprise Linux ES (Enterprise Server) - Basic Edition: $349 - Standard Edition: $799
Red Hat Enterprise Linux AS (Advanced Server) - Standard Edition: $1499 - Premium Edition: $2499
RedHat Desktop - Proxy Starter Pack: $2500 (10 Licenze RedHat Desktop + Red Hat Network Proxy Server (include Red Hat Enterprise Linux AS, Premium Edition)
RedHat Desktop - Extension Pack: $3500 (50 Licenze RedHat Desktop aggiuntive)
SUSE
http://store.suse.com - SUSE Store
SUSE Linux 9.1 Professional: $89.95
SUSE Linux 9.1 Professional Update: $59.95
SUSE Linux 9.1 Personal: $29.95 - ISO Online
SUSE Linux Enterprise Server 9 - 2CPU: $389 - 16 CPU: $939
MANDRAKE
http://store.mandrakesoft.com/ - Mandrake Store
Su Mandrake Store esistono vari bundle che alla distribuzione base aggiungono hardware e gadget di varia natura. Vediamo i costi delle versioni essenziali, su CD o DVD e dell'inscrizione al Mandrake Club, da cui è possibile scaricare tutte le versioni desktop di Mandrake.
Mandrakeclub membership Silver 120,00 € / anno (Accesso alla PowerPack Edition e altri bonus)
Mandrakelinux 10.1 Community DVD: 54,00 € ISO Online
Mandrakelinux 10.0 PowerPack: 79,90 € (8 CD, versione completa di programmi accessori)
Mandrakelinux 10.0 Discovery: 44,90 € (2+1 CD, versione entry level)
MandrakeSecurity Multi-Network Firewall: 499,90 € (Firewall Enterprise)
Corporate Server 2.1 - Standard support: 749,90 € (Enterprise Server, esistono costi aggiuntivi per diversi livelli di supporto)
MandrakeClustering Pentium (1-16 CPU): 1.990,90 € (Versione per cluster enterprise)
LINSPIRE
Linspire fornisce il servizio online Click And Run (CNR) per rendere semplice l'aggiornamento e l'installazione di nuovi programmi. Questo servizio viene erogano tramite un abbonamento che può essere mensile o annuo e permette l'accesso anche ad ulteriori software commerciali per Linux (ai relativi costi).
Linspire 4.5: $59.95
Abbonamento CNR Warehouse: $49.95 / anno - (Servizio online di aggiornamento e gestione software)
SLACKWARE GENTOO DEBIAN e molti altri
Non esistono versioni commerciali di queste distribuzioni, è comunque possibile comprarne i CD dai siti ufficiali o da terzi, pagandone i materiali, il tempo e i costi di distribuzione in puro GPL style, in ogni caso questi contengono esattamente le stesse versioni scaricabili da Internet o reperibili in varie riviste del settore.
Scegliere la distribuzione giusta fra le centinaia disponibili è impresa ardua, come lo è ottenere una risposta precisa da un "esperto di Linux".
Inevitabilmente, da bravo informatico, risponderebbe "dipende".
In genere, la migliore distribuzione da usare è quella che meglio si conosce e se si devono gestire diverse macchine è opportuno averle tutte con la stessa distribuzione e possibilmente versione, per facilità e rapidità di aggiornamente e manutenzione.
Qualunque sia la distro adottata è spesso consigliabile installarne l'ultima versione disponibile (contiene pacchetti e kernel più recenti) lasciando possibilmente passare almeno un mese dalla sua release per permettere il fixing dei bug e dei buchi di sicurezza più evidenti.
Fondamentale è comunque seguirne sul relativo sito le segnalazioni di aggiornamenti ("errata" o "patch"), possibilmente attivando sistemi di autoaggiornamento dei pacchetti.
Considerare che dopo l'installazione di una qualsiasi distribuzione, se si sta lavorando su un server che deve andare in produzione, sono auspicabili, consigliati e necessari una serie di interventi di post installazione:
- Aggiornamento di tutti i pacchetti per i quali esistono degli errata (nuove versioni che aggiornano bug o buchi di quelle rilasciata con il CDROM originale);
- Rimozione di tutti i servizi Internet non utilizzati;
- Eventuale aggiornamento del kernel;
- Configurazione dei servizi di produzione che si intende utilizzare;
- Implemementazione di script o configurazioni custom.
Nella scelta della distribuzione vanno valutati i seguenti aspetti e date risposte alle seguenti domande:
- In che contesto viene utilizzata?
Su un server, su un laptop, un dekstop... A seconda delle funzionalità richieste può essere adeguata una distribuzione piuttosto che un'altra.
Ci sono distribuzioni come Ubuntu, Mepis, Linspire, Xandros che sono particolarmente orientate al desktop e si differenziano per facilità di utilizzo o presenza di programmi per Internet e il multimedia in grado di soddisfare le tipiche esigenze di un poweruser.
Per un firewall esistono distribuzioni dedicate che possono risultare particolarmente comode e semplici da configurare.
Per un server è opportuno cercare distribuzioni con tempi di vita lunghi e in grado di riconoscere e supportare il proprio hardware.
- Che tempo di vita mi aspetto da questa installazione?
Un computer desktop può essere reinstallato in tempi relativamente brevi, quantomeno per rincorrere le nuove versioni di vari programmi comuni, un server può richiedere tempi di vita molto maggiori e questo influenza la scelta.
Un vizio comune a molte distribuzione sono i tempi di release estremamente rapidi, tali da rendere apparentemente obsoleta una versione dopo pochi mesi dal suo rilascio.
Questo vale in modo evidente con Fedora (una release indicativamente ogni 6 mesi, fine del supporto ufficiale di RedHat dopo 2 release) ma anche, in misura minore, per le versioni Personal/Professional di Mandriva, Suse e altre fra le distribuzioni principali.
Questa costante rincorsa è dovuta al tumultuoso e rapido sviluppo di software opensource e al fatto che difficilmente all'interno della stessa versione di una distribuzione viene fatto un "major upgrade" dei programmi forniti (per garantire la piena compatibilità e il funzionamento delle procedure di aggiornamento automatico del software (per bug e vulnerabilità di sicurezza)).
Fra le distribuzioni liberamente accessibili, Debian e in misura minore Slackware si distinguono per tempi di vita decisamente superiori. Debian, in particolare, ha un ramo "stable" particolarmente conservativo che ha tempi di vita molto lunghi a scapito di una certa obsolescenza del software fornito.
Se la necessità è di avere un sistema Linux per poche ore o alcuni giorni (per dimostrazioni, corsi, prove, test, ecc) le Live CD come Knoppix sono particolarmente indicate, in quanto non richiedono nemmeno l'installazione su hard disk.
- Quanto sono disposto a spendere per la licenza del mio Linux?
Le versioni commerciali delle distribuzioni Linux hanno tempi di vita e supporto generalmente maggiori e sono adatte ad ambienti in cui è prioritario avere garanzia di supporto duraturo rispetto ai costi di licenza.
RedHat, Suse/Novell, Mandriva forniscono tutte versioni "enterprise" a pagamento delle proprie distribuzione con tempi di supporto di vari anni e durata di vita del software molto superiori alle versioni liberamente distribuite dagli stessi produttori.
Nella analisi dei costi, ovviamente, vanno anche considerati il training del personale, la consulenza di esterni, i tempi di disservizio eventualmente dovuti a guasti o problemi, ecc.
- La distribuzione che voglio usare supporta l'hardware che ho a disposizione?
Per quanto il supporto hardware su Linux sia piuttosto avanzato esistono casi in cui va opportunamente verificato. In particolare non tutte le distribuzioni sono in grado di riconoscere immediatamente i device di un laptop (winmodem, scheda wireless connettori infrarossi ecc.) e, per sistemi di fascia medio/alta con controller scsi è schede di retei in gigabit è opportuno verificarne il supporto nella hardware compatibility list del produttore della distribuzione.
Il kernel di un sistema operativo può avere diverse strutture di base. Qui si accenna alle caratteristiche dei diversi tipi di kernel.
Monolitico
E' un singolo file binario eseguibile in modalità "kernel" che contiene il gestore del processo, della memoria, del sistema e tutto il resto.
Esempi di tali sistemi sono UNIX, Linux, MS-DOS.
Microkernel
E' un piccolo nucleo ridotto ai minimi termini che ha il compito di gestire le comunicazioni fra i gestori di sistema, processi separati eseguiti al di fuori dal kernel.
Esempi di tali sistemi sono BE OS, GNU HURD, MINIX.
Modulare
Per kernel Modulare si intende un' estensione del kernel monolitico, con la capacità di caricare/scaricare parti di codice (moduli) secondo necessità e richieste.
Può esserlo Linux se lo si definisce in fase di configurazione pre-compilazione.
Il kernel monolitico è più veloce, poichè tutto il codice è già stato caricato al bootstrap dell'OS, ma di contro occupa maggiori risorse del sistema.
Un altro punto a favore è la maggiore stabilità: non richiede moduli evitando così pericolose dipendenze.
Il kernel modulare è quello utilizzato da tutte le distribuzioni in fase di installazione di LINUX su una macchina.
Backtrack è una distribuzione Live basata su Slackware, ed è il risultato dell'unione di due precedenti distribuzioni: Whax e Auditor.
Realizzata dal team di RemoteExploit (www.remote-exploit.org), questa distribuzione combina tutte le qualità delle precedenti versioni di Whax e Auditor realizzando una suite senza precedenti per completezza, stabilità e finezza nei dettagli.
La quantità di tool presenti è ottima: oltre ai pacchetti base reperibili in qualsiasi repository, backtrack è completata da software realizzato direttamente dallo staff di RemoteExploit.
Se anche la grande scelta di software non fosse abbastanza per le nostre esigenze Backtrack supporta la user modularity, che ci permette quindi di personalizzare la nostra Live-CD con nostri script, altri tool, kernel personalizzato.
Backtrack contiene tool per ogni esigenza di pentest, infatti contiene software come:
- tools di enumerazione
- archivio di exploit
- scanner di vulnerabilità
- scanner di porte
- password attacks
- sniffers
- SQL injection tools
- Wireless cracking
- Scanner e Cracking di Bluetooth
Consiglio quindi questa distribuzione a chiunque si interessi di sicurezza informatica e penetration test, poichè facile nell'utilizzo, fornita di una grande scelta di software e tool e per una grande capacità di adattamento e personalizzazione.
Esistono distribuzioni che si presentano come un "LIVE CD" che permette l'esecuzione sul proprio computer di un Linux completo, che viene caricato direttamente dal CD-ROM e non ha bisogno di essere installato su Hard Disk.
In questo caso l'hard disk può essere assente o venir utilizzato solo per creare file temporanei, ed eventuali dati dell'utente.
Simili Live CD, che ovviamente richiedono l'impostazione del CDROM come device di boot principale, possono essere utili per operazioni di disaster recovery e, soprattutto, per provare sulla propria macchina un Linux senza di fatto doverlo installare sull'Hard Disk.
Una interessante applicazione di un LiveCD è quella specificatamente dedicata all'utilizzo di una macchina Linux come firewall. In questi casi basta un Live CD, che viene caricato al boot, e un floppy da cui caricare le impostazioni e le configurazioni specifiche: al termine del caricamento si potrà avere un firewall basato su Linux particolarmente sicuro, in quanto non presenta la possibilità di scrivere file da alcuna parte e, fatte salve adeguate regole di packet filtering, risulta praticamente impermeabile a molti tipi di attacco.
Fra queste distribuzione una delle più complete, interessanti ed efficaci è Knoppix che condensa in un singolo CD, 2Gb di software compattato che può essere eseguito e scompattato on-the-fly, dopo un rapido boot (nell'ordine di 2 minuti, dal Bios ad un KDE completo) direttamente da CD, senza scrivere un byte su hard disk e con attime capacità di riconoscimento dell'hardware locale.
Consigliato a chi vuole provare Linux o deve farne dimostrazioni pubbliche.
Presentazione di una distribuzione per avere un server linux affidabile e sicuro da inserire senza problemi in un ambiente di produzione.
Se cercate una distribuzione affidabile, stabile aggiornata e decisamente sicura da inserire in un ambiente di produzione, TSL rappresenta un'ottima scelta.
La versione attualmente stabile è la 2.2 ma già da qualche settimana è disponibile la versione 3 alfa, su cui molti utenti stanno testando potenzialità e bug.
TSL (www.trustix.org) è da precisare segue i canoni del Free Software, per cui, niente licenze proprietarie/niente costi.
Si installa da un unico cd, (supporta anche altri metodi di installazione), e il riconoscimento hardware è decisamente elevato.
Basata su kernel 2.4 non esclude la possibilità di aggiornamento alla versione 2.6.
Proprio l'aggiornamento è un punto di forza di questa distro, tramite “swup” (nativo di questa distribuzione poco ha da invidiare a yum|apt ) è possibile ricercare, aggiornare e installare applicazioni con risoluzione automatica delle dipendenze molto comodamente. I repository sono aggiornati e comprendono un ramo stabile, uno sulla sicurezza e un contrib. I pacchetti sono “rpm based”. Swup inoltre comprende un tool automatico di cron per automatizzare gli aggiornamenti, caratteristica questa decisamente utile.
Al termine dell'installazione è attivato solamente il servizio di smtp locale, sintomo questo di un'accurata attenzione al fattore sicurezza.
Personalmente accedo al mio server trustix solamente tramite ssh (versione 2) per cui la prima operazione da fare è quella di attivare il demone sshd. Tramite il comodo chkconfig si può visualizzare e decidere l'avvio di ogni servizio. Sshd di default non permette l'accesso a root da remoto, questo vale cmq anche per molti altri servizi successivamente attivati.
I programmi disponibili per TSL sono i più comuni e disparati, per cui difficilmente si dovrà ricorrere alla compilazione manuale di programmi aggiuntivi. Volendo si può anche installare il motore grafico (x.org), kde, e tutti gli applicativi in ambiente X.
Personalmente su un server in ambiente di produzione non l'ho mai fatto e non ne ho ancora sentito la reale necessità. In effetti ho aggiunto webmin manualmente scoprendo con piacere che riconosce ottimamente proprio la piattaforma trustix, sintomo positivo della non poca notorietà di questa distribuzione.
Per quanto riguarda la documentazione, non c'è che da rimanerne soddisfatti. Sul sito si trova un esauriente wiki che tratta praticamente qualsiasi necessità, inoltre la comunità del newsgroup è molto attivo e funzionale. Non c'è da stupirsi se entro un'ora da un post si riceve un feedback da parte di altri utilizzatori.
Concludo citandovi le mie configurazioni:
Server1: Acer G520 1 Gb di Ram, 3 dischi SCSI in raid 5, dat 72 gb SCSI con controller dedicato.
Servizi: samba, mysql, squid.
Server 2: IBM Netfinity 3000.
Servizi: postfix+courier-imap (pop3d), spamassassin, clamd, clamsmtpd, bind9.
Questa vuole essere una presentazione di trustix strettamente legata alla mia esperienza dopo 10 mesi di utilizzo, ovviamente però le considerazioni da fare nella scelta di una distribuzione in ambiente di produzione possono essere molte, ma in questo caso allora credo sia più opportuno aprire una live discussion :).
Prima di iniziare è opportuno dire che la configurazione standard del kernel OpenBSD adempie adeguatamente alle richieste dell'utenza generale.
Qualora si volesse unicamente cambiare qualche parametro di configurazione, al posto di ricompilare, lo si può fare in realtime attraverso il comodissimo comando config(8):
# config -e -o bsd.new /bsd
OpenBSD 3.8 (GENERIC) #236: Wed Nov 9 18:56:51 MST 2005
[email protected]:/usr/src/sys/arch/i386/compile/GENERIC
Enter 'help' for information
ukc>
L'uso di un kernel configurato a mano è da intendersi sconsigliato dal progetto OpenBSD.
E` consigliabile farsi una panoramica del sistema sfruttando il comodo comando dmesg(8) andando ad individuare le eventuali periferiche non riconosciute dal sistema:
# dmesg | less
Andremo, successivamente a scriverci (o meglio, modificare) la nostra configurazione iniziale, infine, compileremo:
# cd /usr/src/sys/arch/ARCH/conf per ARCH intendiamo l'arch. del nostro sistema
# vi OPENSKILLS per OPENSKILLS intendiamo il nome da assegnare alla nostra conf.
# config OPENSKILLS
# cd ../compile/OPENSKILLS
# make depend
# make
# make clean
Il nuovo kernel creato dovrà sostituirsi al vecchio nella directory radice:
# cp bsd.new /bsd
# reboot
ZeroShell è una distribuzione Linux per server amministrabile via web e disponibile nel comodo formato di Live CD di soli 103MB o di Compact Flash da utilizzare su embedded devices perrealizzare Network Appliances.
La versione 1.0 è la presenza del Captive Portal che permette di realizzare dei gateway per autenticare e autorizzare gli accessi in rete mediante web login.
In particolare il Captive Portal di ZeroShell permette di creare strutture multigateway in cui un solo authentication server può fornire il web login a più gateway e utilizzare come fonti di autenticazione il server Kerberos 5 locale, un KDC esterno o la cross-authentication tra domini Kerberos. Si noti che le ultime 2 possibilità permettono di autorizzare gli accessi in rete degli utenti di un dominio Windows Active Directory.
Altra caratteristica dei Captive Gateway di ZeroShell è che possono lavorare sia in routed mode sia in bridged mode: nel primo caso il gateway funge da default router per la subnet da proteggere; nel secondo caso la protezione si applica su una delle interfacce di rete di un bridge. In questa maniera, una volta che un client ottiene accesso alla rete tramite autenticazione, il gateway è trasparente è lascia passare qualsiasi traffico ethernet (non solo IP come in routed mode).
Tra gli altri servizi offerti da ZeroShell, si ricordano:
Radius server per l'autenticazione dei client wireless mediante protocolli quali WPA e WPA2; DNS e dhcp server, routing e bridging con supporto per le VLAN lo Spanning Tree e il RIPv2, VPN, autorità di certificazione per certificati digitali x.509, autenticazione e autorizzazione con Kerberos 5 e LDAP, integrazione tra sistemi Linux/Unix e sistemi Windows di un dominio Windows Active Directory, server NTP, client dns dinamico, client PPPoE per l'accesso a internet mediante ADSL e bilanciamento di 2 o più ADSL per ottenere un aumento di banda e di affidabilità, firewall sia di tipo SPI che packet filter.