Linee guida per l'implementazione di un file server

La funzione di un file server è ovviamente quella di mettere a disposizione e condividere via rete file di varia natura a client eterogenei.

La modalità di condivisione può presentare una varietà di situazioni che vanno valutate:
- Protocollo di file sharing
Se ne possono usare diversi, volendo si possono anche usare contemporaneamente in modo da condividere tramite vie diverse la stessa directory locale. In linea di massima in un ambiente prevalentemente basato su client Windows la scelta d'obbligo è SMB, se i client sono Unix è più comodo NFS. Se il parco macchine è piuttosto eterogeneo (Windows, Max, Unix...) probabilmente SMB risulta la soluzione più comodamente implementabile.
Se i file vanno consultati solo in lettura, ha senso considerare l'uso di un server web, che permetta il browsing fra le directory e risulta particolarmente comodo in quanto a supporto di client eterogenei.
Se c'è una necessità di accesso anche in scrittura si può considerare WebDAV, ma solo se i client lo supportano.
- Password e gestione degli accessi
In ambienti reali l'accesso ai file richiede generalmente una login e una password e spesso è necessario gestire diverse login contemporaneamente con diversi livello di accesso ai file.
In questo senso è utile prevedere, in ambienti business, diversi gruppi, dai nomi generici relativi alle funzioni e alle categorie del caso (es: contabilità, magazzino, commerciale, direzione, produzione e via dicendo). Ad ogni gruppo è quindi possibile aggiungere i singoli membri, possibilmente identificati con nome e cognome, con password che hanno una scadenza e divisione dei file in directory basate su potenziali gruppi di accesso (gestire i diritti di accesso al livello di singoli file e non di directory può diventare piuttosto scomodo)
E' logico aspettarsi che un singolo utente possa far parte di più gruppi e che ci siano gruppi a loro volta composti da altri gruppi di utenti.
La logica con cui si possono scegliere i gruppi, i diritti di accesso in lettura o scrittura a date directory, la divisione stessa dei file in directory dipende dai contesti particolari ma va studiata sulla base delle esigenze attuali e di quelle prevedibili per il futuro.
- Struttura di rete
Un file server tipicamente deve gestire un traffico di rete superiore alla media, per cui anche la struttura del network in cui si trova deve essere adeguatamente disegnata.
La porta di rete a cui viene collegato il server dovrebbe essere la più performante possibile (100Mbit o 1Gbit), scelta su uno switch centrale, che possa essere ugualmente accessibile da parte degli hub o degli switch perimetrali. Il link dovrebbe essere full duplex e senza errori, il cavo di rete, come qualsiasi componente fisico del file server, dovrebbe essere in un modo fisicamente protetto e riparato.
- Hardware
Il sistema su cui gira un file server dovrebbe essere ragionevolmente protetto e ridondato, dal momento che questa funzione è spesso critica in una azienda. La ridondanza, che non esclude un valido meccanismo di backup, può venire fatta tipicamente a livello degli hard disk, con un RAID 1 o un RAID 5 e, in casi particolarmente critici, utilizzando un cluster.
Su un file server le componenti solitamente più sotto pressione sono gli hard disk (per questo è consigliabile valutare l'uso di hard disk SCSI) e il network (schede di rete almeno a 100Mbit). Memoria, soprattutto, e CPU vanno dimensionate rispetto alle proprie esigenze.
Di memoria, come sempre, più ce n'è e meglio è: secondo il Samba team sono necessari circa 460 Kb di memoria per ogni client che si collega ad un Samba 2.2.5 (su Windows 2000 bastano circa 330 Kb).
Se la memoria e il resto delle risorse bastano, Samba scala meglio di Windows quando molti client (più di 50) contemporaneamente accedono al server: il troughtput compessivo rimane tendenzialmente stabile senza decadere eccessivamente.
La CPU va dimensionata al carico e in certe situazioni può essere raccomandabile un sistema biprocessore rispetto ad uno, a parità di potenza di calcolo, a singola CPU:  più processori degradano meno le performance del sistema quando è sotto stress.
Tendenzialmente un file server particolarmente utilizzato non dovrebbe svolgere altre funzioni, almeno di giorno, quando si presume debba svolgere gran parte della sua attività.
I dati condivisi dovrebbero stare su uno o più hard disk separati, rispetto a quelli dove sono presenti i file di sistema. Se questo non è possibile, prevedere almeno l'uso di partizioni distinte.
- Backup
Il backup dei file condivisi da un file server è fondamentale. Il supporto su cui viene fatta la copia dovrebbe essere rimuovibile (harddisk, nastri ecc.) e regolarmente portato in località remote. Si può prevedere un server che svolga la duplice funzione di backup dei dati e di macchina di standby, da attivare in tempi rapidi (automaticamente o in modo manuale) in caso di guasti del server principale.
- Sicurezza
Un file server per natura è una macchina delicata che può contenere file e documenti riservati. E' altamente improbabile che un simile sistema debba stare su IP pubblico, per cui sia il suo IP, sia gli IP dei suoi client, dvrebbero appartenere ad una rete privata.
L'accesso a tutti i documenti che non siano di pubblico dominio dovrebbe avvenire tramite password (non è il caso di regalare fiducia incondizionata a chiunque abbai accesso fisico alla rete locale).
A livello di host security, si dovrebbero disattivare tutti i servizi inutilizzati e mantenere aggiornati almeno quelli che ascoltano su porte raggiungibili via rete. Avere un sistema su una rete interna lo rende ragionevolmente sicuro da attacchi direttamente dall'esterno, ma non da attacchi perpetrati da host locali.
Se possibile evitare anche che il file server possa accedere ad Internet, semplicemente non impostandogli un default gateway: gli aggiornamenti del software, l'uso di mail e DNS e varie altre operazioni che richiedono la rete possono appoggiarsi ad altri server interni.
- Logging
A parte i meccanismi di logging di sistema, volti ad individuare eventuali problemi hardware, software o di sicurezza, può aver senso loggare ogni accesso, quantomeno in scrittura, sui file condivisi.
Nel log dovrebbe comparire il nome dell'utente che ha modificato o scritto un file.
I log vanno, come sempre, ruotati e archiviati, per evitare che crescano a dismisura andando ad esaurire lo spazio su disco.

Privacy Policy