Questa notte stavo leggendo l’articolo di un amministratore di sistema che si lamentava dello stato della distribuzione Linux Debian. (The delusion of debian)
E’ una distribuzione che non ho mai seguito molto in passato. Ho quasi sempre usato CentOS o, in alcune occasione, Arch.
Debian è stata sempre ritenuta una distribuzione molto sicura o, se non altro, con una maggiore cura nei riguardi della sicurezza dei pacchetti che venivano resi disponibili ai suoi utenti. Per questa ragione molte strutture ne hanno fatto uso per offrire i loro servizi.
Sono stato spesso tentato di provare a costruirmi la mia personale distribuzione giusto per vedere che tipo di sforzo richiede una cosa di questo genere. Ho sempre desistito. Troppo impegnativo.
Ci sono tre aspetti fondamentali che valgono non solo per Debian ma per qualsiasi distribuzione esistente:
- Rimanere al passo con i frequentissimi rilasci dei diversi pacchetti.
- Assicurare che ciò che viene inserito nella distribuzione sia sicuro.
- Assicurarsi che ogni falla di sicurezza scoperta sia aggiunta in maniera tempestiva alla distribuzione.
Nell’articolo sopra citato si fa riferimento alla numerosità dei pacchetti presenti nella distribuzione Debian: più di 96000 pacchetti nella distribuzione stabile e più di 1419000 nella distribuzione non stabile.
E’ un numero enorme.
Credo che anche per una azienda che abbia a disposizione una platea di mantainer molto più numero di quella di Debian sia un compito impossible. Pare che Debian possa contare sul lavoro di 32 persone. Fate voi la divisione e capirete subito quanto è difficile.
A questo punto è abbastanza evidenti che qualsiasi amministratore di sistema non può fare totalmente conto su chi gli fornisce la distribuzione per avere contezza di avere sotto il sedere un sistema sicuro. Sicuro per quanto riguarda il server in sé e per sé. I problemi di sicurezza delle sue applicazione sono un altro genere di problema.
L’unica alternativa è quella di gestire in autonomia il flusso di problemi di sicurezza che vengono identificati nel tempo e provvedere in maniera autonoma alle varie patch che vengono rilasciate. Naturalmente questo è un lavoro che si aggiunge al normale lavoro di mantenere la continuità del servizio per quanto riguarda le proprie applicazione.
E’ un lavoro immane. Fare l’amministratore di sistema è un’arte. Oggi mi sembra proprio che tu debba essere un mago per non fare casino e per non rischiare che qualcuno si presenti alla tua porta chiedendoti dei quattrini per ritornare in possesso dei tuoi dati.
Se penso alla enorme quantità di server che tengono in piedi tutti i sistemi con i quali siamo abituati ad interagire e per non parlare di tutti i sistemi che le aziende operano per lavorare un brivido mi corre lungo la schiena.
Al di là della sciatteria nei confronti della sicurezza di molte aziende e molte istituzione c’è questo problema che non è banale risolvere.
Se è vero che ho fatto l’amministratore di sistema in passato devo confessare che oggi non avrei proprio il coraggio di rimettermi a fare quel lavoro. E questo nonostante mi sia divertito un casino a quei tempi.
Quando lo facevo io avevo a che fare con un porting proprietario di un sistema UNIX System V. C’era un botto di persone a lavorarci sopra e certamente il numero di pacchetti a disposizione era di un paio di ordini di grandezza inferiore. Addirittura, e parliamo del 1991, se volevi usare TCP/IP dovevi ordinare a parte la scheda ethernet (che costava un rene) e ordinare, sempre a parte, lo stack TCP/IP (che dovevi pagare con l’altro rene).
Credo che anche gli architetti software non abbiano vita facile. Riuscire a mettere insieme delle soluzioni robuste non deve essere cosa facile al giorno d’oggi. E questo sempre per le ragioni di cui sopra.
E’ un tema estremamente complesso e delicato. Confesso che occuparmi di tutt’altro mi permette di tirare un sospiro di sollievo perché non devo contribuire a trovare una soluzione.
Purtroppo è un tema di vitale importanza per la sicurezza di tutti ed ho il grande sospetto che venga grandemente sottovalutato.
Linux è così grandemente diffuso e pervasivo che possiamo dire con quasi assoluta certezza che dietro ogni prodotto o servizio oggi disponibile c’è almeno una macchina che fa girare una qualche distribuzione più o meno sicura.
Se poi sei una startup che pone grande attenzione al portafoglio e che al momento della sua nascita non può portarsi a casa il miglior amministratore di sistema del mondo per via dei costi, si può immaginare quale strada si può imboccare.
Non si tratta certo di una critica. Nelle stesse condizioni farei esattamente la stessa cosa.
Quello che intendo dire è che ho il sospetto che tutto il ferro che va viaggiare i nostri bit & bytes ha grande probabilità di essere un pochino arrugginito e poco sicuro.