Il Sistema Operativo LINUX
Linux: un sistema operativo
free software
Applicazioni nel campo dei sistemi
informativi aziendali
di Dott. Ing. Luca SALVADORI
salvadori.l@laben.it
Introduzione
Grazie alla possibilità di scambio rapido, economico ed efficiente di
informazioni dovuto alla diffusione delle reti
geografiche di calcolatori (Internet in testa), si diffonde sempre più
capillarmente la pratica di utilizzare software di
pubblico dominio, cioè ideato e realizzato
senza scopo di lucro da privati o
istituzioni. Il fenomeno ha già permeato la comunità
degli utenti di
Personal Computer con applicazioni varie, ma sta estendendosi fino al software
di base, cioè i sistemi operativi. In particolare è
molto interessante il
sistema operativo LINUX, che è un clone di UNIX,
sviluppato da un gruppo di
volontari sparsi in tutto il mondo e auto-coordinatisi attraverso la rete
Internet, con piene funzionalità in grado di operare praticamente su
qualsiasi PC Intel con prestazioni di tutto rispetto ottenute al costo del
solo media e senza royalties per gli usi successivi. Queste caratteristiche lo
pongono in ottima posizione per applicazioni varie nel campo dei sistemi
informativi aziendali, giacché possono portare
ad una significativa riduzione
dei costi di acquisto e manutenzione sia del parco hardware che del software,
mantenendo livelli di prestazione e funzionalità del tutto in linea con
quelle dei sistemi commercialmente disponibili. Inoltre, l'uso di hardware PC
consente la riconversione ad applicazioni DOS/Windows del sistema in caso di
necessità, riducendo al minimo i rischi dell'iniziativa. Il progetto di
ricerca afferisce appunto all'individuazione ed alla verifica delle
possibilità di introduzione di sistemi LINUX nella pratica corrente.
Metodi
Data la larga compatibilità di LINUX con
i sistemi PC attualmente in commercio, è assai agevole e di basso costo
dotarsi di una piattaforma di caratteristiche adeguate:
un PC con processore Intel 80386, 4Mb RAM e circa 100Mb di
spazio su disco è sufficiente ad effettuare tutte le attività
previste con un costo inferiore ai 3 milioni di Lire.
Il sistema operativo LINUX si ottiene direttamente
da Internet mediante accesso ai numerosi ftp-servers esistenti,
oppure può essere acquistato per poche decine di dollari
su CD-ROM presso diversi distributori.
Data la scarsità di applicazioni sviluppate su questo sistema
operativo, una piattaforma LINUX non può essere
utilizzata al momento come workstation di produzione, a meno di non
effettuare direttamente il porting
dell'applicazione stessa: è quindi più
proficuo indagare sulla possibilità di inserimento
di tale macchina come generico
server di rete, per servizi di file storage, backup, stampa e networking.
Si è quindi proceduto in tal senso, implementando un
file server con protocollo NFS, un mail server SMTP e POP, un
network router locale e remoto, un firewall system per il controllo della sicurezza rispetto ad accessi remoti, un ftp
server in modalità anonymous, un NIS server per la
gestione coordinata delle risorse di rete locale secondo gli
standard TCP-IP ed ISO-OSI.
Risultati teorici e sperimentali
Le applicazioni di LINUX sono finora state a
livello amatoriale o di ricerca a scopo personale: occorre quindi
verificare in dettaglio robustezza e funzionalità
delle soluzioni implementate.
Data la stretta aderenza di tutto il codice LINUX ai protocolli RFC
di Internet, la compatibilità teorica con altri
ambienti UNIX è teoricamente assicurata. Inoltre, gran parte
del codice sviluppato per lo UNIX BSD in ambiente
universitario statunitense è portabile su LINUX mediante
semplice ricompilazione. Ciò è assai promettente in vista di
possibili incrementi di funzionalità anche di sviluppo
autonomo da parte dell'utenza, essendo disponibili gratuitamente
tutti gli ambienti di sviluppo necessari.
Dal punto di vista sperimentale si sono ottenuti i seguenti risultati:
- NFS Server e Client - Piena funzionalità in modalità
read/write agendo direttamente attraverso i sistemi
operativi. Il throughput dipende fortemente dalle caratteristiche di I/O su disco e RAM del sistema target. Alcuni
problemi di compatibilità possono sorgere quando LINUX è acceduto direttamente da applicazioni remote che
fanno uso di file locking mediante RPC proprietarie,
che non sono a priori supportate: il problema peraltro non si
presenta in modalità read-only.
- Mail server - Essendo SMTP assai stabilizzato nel tempo la sua implementazione
è assai robusta. In
particolare le funzionalità di address parsing sono più
potenti di quelle normalmente disponibili in flavours
UNIX ben più blasonati. Alcuni problemi possono verificarsi
in fase di fine tuning data la presenza di alcune
incongruenze nella locazione dei files di configurazione da parte delle
procedure automatiche previste: la
documentazione peraltro è corretta e consente un rapido
isolamento del problema. POP ha notevole robustezza
pur se qualche difficoltà di configurazione in più.
- Routing - Sono presenti sia i demoni routed che il più moderno
named, di cui è consigliato l'uso. Il routing
viene effettuato in modo agevole e trasparente anche su
rete geografica. Il supporto X.25 come host-based PAD
richiede la presenza di schede apposite, non per tutte le quali
sono disponibili i drivers: è quindi consigliabile
l'uso di X.25 routers esterni, che risultano del tutto trasparenti a LINUX.
Qualche problema generale di
configurazione TCP-IP a livello di netmask e broadcast address,
che peraltro può dipendere dalla rete esistente
alla quale ci si collega, è facilmente risolvibile con un
po' di buon senso.
- Firewall - Al momento non sono disponibili su LINUX meccanismi
di security a livello C2 (ad es. password
shadowing ed ageing). La presenza del sorgente dei programmi
che gestiscono il login (getty, agetty, login,
passwd) consente peraltro di implementare direttamente tali caratteristiche.
Nel caso di un firewall, che gestisce
un numero limitato di passwords e protegge gli altri sistemi di rete
da accessi indesiderati, il problema risulta
minore in quanto la creazione di captive accounts impedisce l'esplorazione
del sistema. Altri meccanismi di self-
monitoring, basati ad esempio sul controllo degli eseguibili con
SUID e GUID e sull'accounting, sono facilmente
implementabili.
- FTP Server - La creazione di un anonymous ftp server è
semplice e ben guidata. La security, che pure è
generalmente critica in tale modalità, è ben presidiata
a patto di non rilassare le protezioni sul file system. È
invece scarsa, come del resto nella generalità dei sistemi UNIX
commerciali, la documentazione di supporto al
system manager per l'attivazione di funzionalità semplici
(ad esempio i README di directory, i prompts, ecc.)
ma assai utili per la presentazione ed il corretto uso del sistema.
- NIS Server - L'inserimento di un sistema LINUX in un dominio esistente
è quasi banale, data la completa
automazione del task. La creazione di un nuovo dominio, invece, richiede maggiore attenzione, seppure del tutto
proporzionata alla complessità del problema. Un baco nel meccanismo
di gestione delle mappe causa l'append
del NIS-passwd al passwd locale, cosa che pur avere pesanti applicazioni in termini di security. L'indagine in
corso stabilirà se il problema avviene in fase di configurazione,
ed è quindi gestibile in fase preliminare all'uso,
oppure durante le normali operazioni.
Discussione dei risultati
Le funzionalità implementate nel corso del progetto sono quelle normalmente
presenti sui sistemi UNIX più diffusi in
commercio. I risultati dei tests effettuati hanno dato conforto alle ipotesi di applicazione di LINUX in ambienti
operativi aziendali anche di grande complessità.
La funzionalità ed il livello di prestazioni sono ottimi pur se il
sistema in test disponeva di limitate risorse. La robustezza,
soprattutto in considerazione del fatto che il sistema è stato
sviluppato in piena ``anarchia'', è veramente a tutta prova, tanto
che non è stato osservato alcun crash o core dump
anche in circostanze di stabilità marginale dell'ambiente e
delle applicazioni. Nessun problema è sorto dall'uso di
componentistica commerciale non specificamente selezionata, mentre si è
verificata l'esistenza di una ``Incompatibility
List'' assai dettagliata e tale da evitare acquisti di parti inadatte. I problemi minori osservati nell'interfacciamento
con
altri sistemi sono aggirabili con un po' di astuzia e quindi
resi inoffensivi.
Prospettive e conclusioni
I costi da sostenere per l'acquisto e l'installazione di un sistema come quello proposto sono relativi in pratica al solo
hardware, poiché la distribuzione e la replicazione di
LINUX sono completamente libere e quindi ogni attività su di
esso è tale da non violare la legge sulla tutela dei diritti
d'autore sul software. Si ritiene tuttavia che, almeno nella fase
di iniziale diffusione sul mercato, LINUX richieda la presenza all'interno
dell'azienda utente di persone competenti in
grado di gestirne adeguatamente le fasi di configurazione
ed avviamento: pertanto, l'applicazione è al momento
accessibile in generale solo ad aziende a contenuto tecnologico medio-alto.
Data la tendenza al ribasso nei costi di
acquisizione dell'hardware, l'uso di sistemi LINUX diventa assai
competitivo rispetto all'adozione di soluzioni
commerciali che, anche se normalmente supportate da hardware di
elevate prestazioni, non hanno costi di acquisto
paragonabili e comportano ingenti oneri di manutenzione. Pertanto, LINUX
è una valida alternativa per applicazioni
che richiedano servizi generici a basso costo ed elevata produttività,
mentre si affacciano sul mercato le prime
applicazioni commerciali basate su questo sistema operativo.
Riepilogo
Il progetto ha verificato la possibilità di introduzione di
PC con sistema operativo di pubblico dominio LINUX nella
pratica dei sistemi informativi aziendali. I vantaggi previsti sono
principalmente dovuti al basso costo dell'hardware
necessario (quello di un comune PC) ed alla possibilità di libero uso,
distribuzione, duplicazione e modifica di LINUX,
al riparo dai rigori della legge. Le funzionalità di
LINUX sperimentate sono relative all'utilizzo del sistema come
server generico di rete, per applicazioni di file e print services,
routing, mailing, network management. I test effettuati
hanno dato esito complessivamente positivo, dando sostegno alle tesi
esposte e validando la tecnologia e le sue
possibilità di applicazione. Il prototipo funzionante, ottenuto
parzialmente con materiali di recupero ad un costo
complessivo di circa Lit. 2.000.000=, è attualmente in fase di
test di affidabilità in vista di un utilizzo H24 in ambiente
industriale su rete locale Ethernet.