FreeBSD, un'alternativa reale

ArticleCategory:

System Administration

AuthorImage:

Georges Tarbouriech

TranslationInfo:[Author and translation history]

original in en Georges Tarbouriech

en to it Katrame

AboutTheAuthor

Georges � utente Unix da molto tempo. � molto affezionato a tutte le versioni libere di questo grande sistema.

Abstract:

S�, state proprio leggendo LinuxFocus! Tuttavia, esistono altri Unix gratuiti, molto interessanti e pieni di features interessanti. Questo articolo � la panoramica di un altro Unix gratuito: FreeBSD.

ArticleIllustration:

freebsd

ArticleBody:[The article body]

Perch� FreeBSD ?

Quando parliamo di Unix gratuiti, le persone pensano sempre "Linux". Certo, Linux � assai diffuso e tutti o quasi ne hanno sentito parlare. Il numero dei nuovi utenti � in forte aumento e i media (specializzati o meno che siano) trattano l'argomento facendo un gran rumore. Una delle ragioni principali del successo di linux � il fatto che questo OS pu� essere installato su computers Intel, che � l'architettura al momento pi� diffusa. Naturalmente lo si pu� installare anche su altre piattaforme, alla base di tutto ci� l'idea di non preoccuparsi di quale tipo di processore verr� utilizzato. Tuttavia, Linux non sarebbe un prodotto ben riuscito se fosse stato sviluppato solo per processori "segreti", o comunque avrebbe impiegato molto pi� tempo.
Linux non � l'unico Unix gratuito: tutta la famiglia BSD lo �. Ce ne sono di tutte le salse: FreeBSD, NetBSD, e OpenBSD. BSD � acronimo di Berkeley Software Distribution. Se volete maggiori informazioni riguardanti la storia di Unix, potete dare un'occhiata qui article 176 (Vi avverto, questo articolo non parler� delle differenze tra BSD e System V: ci vorrebbe un intero libro per farlo.)
Ognuno ha qualcosa di particolare:

  1. NetBSD pu� lavorare sotto tutte le piattaforme esistenti sulla terra (o quasi), inclusi anche i vecchi computers: diciamo quasi 30 o 40 differenti sistemi. NetBSD mostra chiaramente quanto � stato accennato in precedenza: Unix non d� importanza al tipo di processore. � la scelta giusta se volete riutilizzare i vostri vecchi computer, a casa o al lavoro (ma non solo, ovviamente!). Personalmente, l'ho usato alcuni anni su Amiga e Intel e ne sono rimasto molto soddisfatto.
  2. OpenBSD meglio conosciuto come il pi� sicuro degli Unix in circolazione. � l'ideale per i vostri server, e naturalmente sono supportati svariati tipi di processore. � probabilmente uno dei sistemi pi� usati come server in internet. Difficilmente lo troverete a casa, tuttavia, ognuno � libero di fare ci� che gli pare...
  3. FreeBSD � un misto dei precedenti. � l'ideale per processori Intel e Alpha, ed eredita la filosofia della sicurezza da OpenBSD. Come per Linux, il fatto che possa lavorare con processori Intel, lo rende uno tra i pi� diffusi BSD. � la scelta ideale per un uso casalingo. Questo non vuol dire che non lo possiate usare al lavoro!
C'� qualcos'altro per quanto riguarda FreeBSD: molte persone hanno condiviso il loro lavoro con Apple per la parte gratuita di Mac OS X. E da allora sono molto affezionato agli OS X... Non lasciatevi confondere: anche se OS X � basato su BSD, il kernel non ha nulla a che fare con quello di FreeBSD. � un kernel Mach, usato su NeXTstep, fratello di OS X: ovviamente da quando nacque NeXTstep verso la fine degli anni 80, questo kernel si � un po' evoluto.
Andiamo a conoscerlo... lasciateci andare un p� pi� a fondo.

Dove trovarlo e come installare FreeBSD

Come molti software free, FreeBSD si pu� scaricare dal sito ufficiale. Ovviamente, questo richiede una connessione veloce. Non preoccipatevi: potete comunque trovare i CD in giro per il mondo.
La release attuale (al momento in cui � stato scritto questo articolo) � la 4.6. L'articolo parla della versione per i386.
Installare FreeBSD da CD-ROM (o altro) � semplice... lo si pu� fare nonostante non vi sia un'interfacia. Potrete usare ncurses. Seguite le istruzioni e vi ritroverete FreeBSD nel vostro hard disk. Come di consueto, dovrete partizionare il vostro disco rigido, configurare alcune cose quali la rete e persino il vostro kernel (facoltativo). Dopodich� incontrerete sysinstall, uno strumento che far� gran parte del lavoro di installazione, come il nome dice. Potrete scegliere se installare tutti o una parte dei pacchetti a disposizione. Potrete aggiungerli in qualunque momento.
L'amministrazione dei pacchetti � inoltre ovvia. Potete usare il comando pkg, come sotto Solaris, per esempio, o potete anche usare direttamente i sorgenti. In breve, i comandi di pkg sono simili agli RPM o i DEB per Linux, mentre i sorgenti sono archivi da compilare con make e make install. In altre parole: niente di complesso o difficile.
Poich� lo compariamo a Linux, ricordiamo che esiste un pacchetto che aggiunge la compatibilit� con Linux, e vi permetter� di compilare a lanciare applicazioni per Linux.
E' tutto molto ovvio, in caso di necessit�, vi verr� in aiuto il manuale fornito in varie lingue, che vi spiegher� dettagliatamente ogni punto.
Di conseguenza, non � necessario spendere troppo tempo su questa materia.

Configurazione di FreeBSD

Non � possibile trattare qui tutti gli argomenti, la cosa importante da conoscere � dove trovare i file essenziali. Come di consueto, li troverete nella directory /etc. Sono denominati rc.qualcosa e possono controllare molte parti differenti: configurazione generale, firewall, rete, sysctl, ecc.
Un file importante � rc.conf, poich�, come si evince dal nome, la configurazione pu� essere coordinata da qui. Da questo file potrete dire al sistema quali daemons (ssh, sendmail, etc) lanciare all'avvio e quali no, il tipo di firewall, abilitare o meno il "kernel secure level", come anche la possibilit� di avere il supporto IPv6 o no, etc. Vi � una gran quantit� di opzioni disponibili, e potrete dare un occhiata a /etc/defaults/rc.conf per averne una panoramica completa. Questo file contiene alcune impostazioni di default, non confondetevi con /etc/rc.conf, che � il file da cui verranno presi i reali settaggi, e sar� il file sul quale andrete ad effettuare le vostre modifiche.
Per vostra informazione, le scelte fatte da sysinstall sono automaticamente incluse in /etc/rc.conf (configurazione della scheda di rete, hostname, livello di sicurezza, etc).
Nota importante: FreeBSD per default non ha servizi attivi in /etc/inetd.conf. Questo significa, che al primo boot, i daemons gestiti da inetd sono disattivati. Secondo la mia modesta opinione, questo dovrebbe essere obbligatorio per ogni sistema di UNIX. Un punto a favore.
Gli altri files rc vi permetteranno di configurare per esempio il firewall o ad esempio sysctl e molte altre cose. Questo ci porta ovviamente alla configurazione di FreeBSD.

Tuning di FreeBSD

Un valido strumento per la configurazione � sysctl (lo stesso anche in Linux). Potrete usarlo da linea di comando andando a settare un valore in particolare, o potrete editare il vostro sysctl.conf (� preferibile a meno che non lo stiate usando per test).
Per esempio, se la vostra macchina � usata come gateway, sysctl vi permetter� l'ip forwarding attraverso il comando sysctl -w net.inet.ip.forwarding=1. Per migliorare la sicurezza potrete verificare che i pacchetti in ingresso abbiano l'indirizzo IP dell'interfaccia stessa usando sysctl -w net.inet.ip.check_interface=1.. Potrete controllare i comportamenti del vostro sistema usando sysctl: fate riferimento ai man page. Chiaramente, se volete editare sysctl.conf dovrete aggiungere i parametri senza il comand sysctl. Il file usa la seguente forma variabile = valore. Ad esempio:
net.inet.ip.forwarding=1
net.inet.ip.check_interface=1
Si suppone che il vostro sysctl.conf conterr� pi� di due linee, infatti, dovr� controllare ogni cosa del kernel.
All' inizio di questo articolo, abbiamo parlato di livelli di sicurezza. Ci sono quattro livelli differenti,da -1 a 3. -1 rappresenta un basso livello di sicurezza e 3 rappresenta il livello di sicurezza pi� alto. � consigliato capire cosa fa ogni livello prima di utilizzarlo. Usando livelli all'infuori di -1 o 0, potrete rendere il sistema inutilizzabile, o potrebbe non funzionare come voi vi aspettate. Potrebbe gi� essere sconveniente usare il livello 1 poich� non vi permetter� di usare l' X Server. Non vi sar� inoltre permesso il caricamento o lo scaricamento dei moduli dal kernel. Siete avvisati!
Tuttavia,se il server lo richiede potrebbero fare al caso vostro alti livelli di sicurezza. Come utente casalingo potrete usare il livello 0,
Il comando chflags � legato ai livelli di sicurezza. Per saperne di pi� leggete le man page, vi renderete conto delle sue potenzialit�.
Continuiamo questo articolo con il prossimo capitolo.

Aggiornamento di FreeBSD

Supponiamo che abbiate gi� coprato i CD di FreeBSD 4.5. Sfortunatamente pochi giorni dopo � stato rilasciato FreeBSD 4.6. Sfortuna!
Non preoccupatevi: FreeBSD � provvisto di un sistema di upgrade via CVS. Potrete usare CVS anonimo o CVSup. Il primo � il pi� semplice da usare, il secondo il pi� efficiente. Con questi strumenti, il vostro lavoro sar� di prendere i sorgenti e mantenerli sincronizzati.
In seguito dovrete compilarli, usando make buildworld. Nel manuale viene completamente spiegato come farlo. La cosa importante � che questo vi permette di avere un sistema sempre aggiornato.
Ma non finisce qui. Come sempre, tutti i software free affetti da vulnerabilit�, vengono velocemente aggiornati. Diversamente da molti software proprietari, in cui le vulnerabilit� rimangono irrisolte per molto tempo, nel mondo del free software, tutte le persone coinvolte forniranno velocemente le patch necessarie. Sar� compito vostro rimanere costantemente aggiornati su quanto accade. Il sito di FreeBSD ha una sezione di sicurezza nella quale vengono forniti gli advisories per ogni release. Qui potrete scaricare i file .asc (file di testo) che vi forniranno la descrizione del problema e la sua soluzione. Potete fare riferimento anche ad altri siti per reperire tali informazioni, solo per citarne alcuni: linuxsecurity, CERT, etc.
Ci� significa che dovete aggiornare il vostro sistema.

Aggiornamento di FreeBSD

Non volete avere vulnerabilit� nel vostro sistema? FreeBSD, come altri Unix, mette a disposizione delle patch. Scaricatele e applicatele. Per gli utenti Linux, la differenza principale sta nel fatto che non avrete una patch contenete il package corretto, ma i sorgenti della patch. Questo vuol dire che dovrete ricompilare il kernel dopo aver installato la patch
Una fra le importanti differenze tra Linux e FreeBSD sta nel kernel. FreeBSD � basato su BSD 4.4 e non ha varie versioni di kernel come per il mondo Linux Questo significa avere un kernel stabile che purtroppo cresce nel tempo, nonostante sia monolitico pu� trarre vantaggio usando i moduli. Lo svantaggio a differenza di Linux � che dovrete ricompilare il kernel pi� volte se vorrete avere un sistema il pi� sicuro possibile.
Ad ogni modo, preferisco questa filosofia a quella di Linux, rimane comunque la mia modesta opinione. Non penso che avere 3 kernels differenti possa portare alla stabilit� Non dimentichiamo che le applicazioni che dovranno essere portate da una versione all'altra, specialmente quelle che puntano sulla sicurezza. un altro esempio pu� essere il sistema di packet filtering: 3 versioni di kernel differenti, 3 software di packet filtering differenti!E cos� via.
Ho molto rispetto per la gente che fa questo grande lavoro, ma � questo il giusto senso di fare le cose. Il miglioramento � necessario, ma � coerente cambiare tutto ogni volta? Pazienza!
Ovviamente potete compilare un nuovo kernel per soddisfare le vostre esigenze... e questa volta � come sotto Linux. Il manuale spiega dettagliatamente come fare ci�.

Applicazioni

Come gi� detto, la vasta maggioranza delle applicazioni free (se non tutte) funziona sotto FreeBSD. Non avrete bisogno dei port o dei package suddetti. Potete compilare gli archivi disponibili, qualunque sia il tipo di software.
Per gli amanti degli ambienti desktop, sono disponibili Gnome e KDE e sono inclusi nella distribuzione. Lo stesso vale per i window managers. GNUstep funziona egregiamente sotto FreeBSD. Per compilarlo avrete bisogno di una versione pi� recente di GCC di quella inclusa nella distribuzione: nessun problema! Recuperate l'archivio corrispondente e compilate il nuovo compilatore. Ovviamente, le applicazioni di GNUstep quali GNUMail.app, Gorm.app o ProjectBuider.app funzioneranno perfettamente.
Trovate davvero tutto il software che gira sotto Linux...e molti altri ancora!
Per esempio, FreeBSD � provvisto di una serie di tools per la sicurezza. Tools per il monitoraggio, tools di amministrazione etc.
Sono inoltre disponibili Firewall, proxy, port scanner, IDS, etc. Scegliete inoltre se usare IPsec o ipfw. Potrete usare nessus, nmap, portsentry, etc. Molti di questi fanno gi� parte della distribuzione, nessuno vi vieta per� di aggiornarli all'ultima versione.
Abbiamo gi� discusso dei vari desktop o window manager, ma non abbiamo speso una parola per quanto riguarda colui che permette di farli funzionare: X Window System. XFree 4.* � quello di default. Fino alla versione di FreeBSD 4.5, XFree 3.* era quello di default. Viene fornito XFree 4.* ma vi verr� chiesto in fase di installazione se vorrete usare XFree 3.*, sta a voi decidere, come preferite.

Hardware

Poich� stiamo parlando della versione i386, possiame dire che la maggior parte dell'hardware disponibile funziona sotto FreeBSD, anche se un po' vecchio. Per esempio, una vecchia scheda di rete combo 3Com funzioner� benissimo, non appena verr� definito con ifconfig il tipo di device. Se state usando un collegamento di tipo BNC, baster� aggiungere media 10base2/BNC alla fine di /etc/rc.conf.
Lo stesso vale per le vecchie schede video: usando XFree 4.* verranno risolti molti problemi. Questo � particolarmente vero per alcune vecchie schede ATI.
Tuttavia, per essere sicuri consultate le note inerenti l'Hardware supportato, direttamente sul sito ufficiale di FreeBSD.

Security

Oltre ai gi� citati tools come firewall, port scanner, ecc. FreeBSD fornisce altre applicazioni. OpenSSH, OpenSSL, Kerberos, MD5, etc. Come al solito non potete vivere senza di loro, e ancora una volta dovrete rimanere aggiornati sulle eventuali vulnerabilit�.
Un esempio recente mostra la reale importanza di essere attenti. Di recente � stata infatti scoperta una vulnerabilit� in OpenSSH. La cosa giusta da fare � scaricare la versione corretta dal sito principale.
Si, questo per� non basta! Controllate anche il checksum del package.
Come nell' esempio di OpenSSH la cosa non deve essere fatta arbitrariamente: qualche settimana fa, qualcuno ha rimpiazzato l'archivio originale con quello corrotto. Come di consueto, la gente di OpenSSH ha reagito abbastanza velocemente. Purtroppo, coloro che avevano scaricato il pacchetto in questo lasso di tempo, senza verificare il checksum, hanno installato una versione non corretta. Perci�, l'esigenza di usare il checksum ... e anche di controllarlo.
Anche se � al di fuori di questo articolo, insistiamo sul fatto che la sicurezza � alla base di ogni comportamento.

Comunicazioni

La rete sotto FreeBSD � piuttosto evoluta. L'esecuzione IPv6 � fatta molto bene. I nuovi mezzi di comunicazione non sono lasciati da parte. Se state usando cable modem o ADSL, la configurazione sar� molto semplice.
Molti ISP oggi usano PPPoE. FreeBSD pu� gestirla molto facilmente: poche linee in ppp.conf e il gioco � fatto. Per PPPoA (ATM), al momento � supportato solo il modem Alcatel. Tutto ci� potrebbe cambiare in un futuro molto prossimo (pu� darsi che altri modem siano gi� supportati).

Documentazione

Il manuale fornito non � il solo disponibile. Potrete trovare FAQ, guide all'installazione, etc, nel sito di FreeBSD. Un altra fonte di informazion importante � http://www.freebsd-howto.com.

E ora?

Questa � una breve panoramica di FreeBSD. Questo sistema, come molti altri Unix � molto interessante. Ha molte caratteristiche e merita di essere provato. Sfortunatamente questo articolo non esamina tutto e molte features importanti non sono state menzionate.
FreeBSD richiede qualche conoscenza in pi� di Unix rispetto a qualche distribuzione "Windowish" Linux ma rimane comunque facile da usare.
Quelli che non hanno nessuna conoscenza di Unix potranno incontrare qualche difficolt�, poich� spesso si deve ricompilare il kernel dopo l'aggiornamento del sistema. Tuttavia, questo � un buon modo per imparare, anche se pu� richiedere "un certo" tempo. La gente oggi sembra si sia dimenticata che, all'inizio, UNIX venne fatto dagli sviluppatori per gli sviluppatori, non per l'utente domestico o l'utente normale.
Fortunatamente gli Unix free e quelli proprietari hanno cambiato il loro atteggiamento. Un ringraziamento va agli sviluppatori che hanno reso ci� possibile. Negli anni 80, la maggior parte degli utenti di Linux di oggi si sarebbero allontanati da Unix, soltanto a causa del processo dell'installazione. Le distribuzioni risiedevano su nastri e la fase di installazione poteva durare anche una gioranata lavorativa intera, la configurazione almeno un altro giorno. Per non parlare della configurazione delle applicazioni! Ed oggi, potete usare UNIX senza nemmeno conoscerlo, con i sistemi come l'OS X. Questo era gi� realt� agli inizi degli anni 90 con il padre di OS X, NeXTstep.
Questo pu� sembrare off-topic, tuttavia NeXTstep ha aperto la strada a tutti gli Unix sia free che proprietari... e pochi altri ancora! La sfida era di portare Unix all'utente domestico, � avvenuto. Congratulazioni a tutta la gente che si � impegnata in questa sfida, sia per soldi che gratuitamente. Per coloro che hanno svolto tale lavoro gratis, va un ringraziamento speciale ;-)
Il fatto che FreeBSD condivida le proprie risorse con Apple mi sembra positivo. Ognuno pu� trarre beneficio dall'altro nella giusta maniera. Il software proprietario ha usato sempre il software libero... senza gridarlo troppo in giro. Apple dichiara apertamente di usare il software libero, infatti ha creato SGI. Altri sembrano fare lo stesso... ma per altri motivi. Ad ogni modo, continuo a pensare che ci sia posto nella "stanza" per tutti..., tranne per coloro che vogliono tutta "la stanza" intera.
Il "rumore" circa Linux ha messo in ombra l'altra fetta di Unix free, finora. Questo pu� avere un lato positivo... � questa la ragione principale per cui uso FreeBSD. Naturalmente, continuo ad usare Linux (e molti altri): mi piace la diversit�!
Se vi sentite di provare FreeBSD, questo articolo vi sar� utile. Provatelo voi stessi a scoprite il mucchio di cose che non sono state trattate qui.
Ve l'ho detto: stiamo vivendo bei tempi!