Browsed by
Tag: unix

Sysadmin SI NASCE.

Sysadmin SI NASCE.

Esiste un problema. Un problema che nel mio settore si fa ogni giorno più pressante. Si chiama “improvvisazione”. Noi definiamo “improvvisato” quella persona che, dopo aver installato un server seguendo un howto e copiaincollando i comandi senza averli minimamente capiti, si sente, alla pari di ben più skillati sistemisti, pronta a gestire sistemi in produzione. E si lancia a farlo.

devotion_to_duty

I (veri) professionisti si trovano ogni giorno a dover combattere attacchi di vario genere, dallo spam ai DDoS, e nel 99.9% dei casi si scopre che provengono da macchine, appunto, in mano a persone che non hanno praticamente nessuna esperienza nella gestione di sistemi.

Non l’ho raccontato qui per pietà nei confronti degli interessati, ma qualche tempo fa alcuni siti su un server che gestisco, tutti facenti capo alla stessa persona, sono stati defacciati. Dopo una approfondita analisi dei log, ho concluso che chi è entrato via FTP aveva la password (probabilmente recuperata con un keylogger). Avendo trovato IP italiani nei log del deface, ho contattato i proprietari di due di quelle macchine, diventate sicuramente parte di una botnet ed usate da terzi per commettere illeciti. Il primo, dopo una risposta iniziale particolarmente sgarbata, confermando di non essersi accorto del fatto che il suo server veniva usato da terze persone per defacciare siti, ha preso le misure necessarie. Il secondo, no. Mi ha minacciato, dicendo che mi avrebbe denunciato per diffamazione, perchè quello che stavo dicendo era sicuramente inventato, e che se il provider, al cui abuse avevo segnalato la questione, gli avesse bloccato il server, mi avrebbe chiesto i danni. Perchè io mi stavo inventando tutto.

Inutile dirlo, dopo avergli spiegato come connettersi via SSH e come lanciare il comando “last”, sono venuti fuori login (root) da ogni parte del mondo sulla sua macchina. Login di cui lui, ovviamente, non sapeva niente.

Non sapeva bene cosa fosse SSH, ma il server lo aveva installato. I servizi erano up, il sito web era correttamente funzionante. Perchè, questo? Perchè siamo nel 2013. Perchè esistono pannelli di controllo e howto. Pannelli di controllo come Plesk e cPanel, che svolgono egregiamente tutte le operazioni di configurazione iniziale e di gestione ordinaria di una macchina. Questo è il punto. Il sistemista improvvisato, non fa niente che già non si possa fare con dei semplici click in un pannello di controllo. Non fa niente che non si possa fare cercando una guida su internet e copiaincollando i comandi indicati.

Considero infatti gli howto alla pari dei pannelli di controllo “tuttofare”. Guide passo a passo, che portano anche la persona più incapace a configurare un determinato servizio. I sistemisti improvvisati esistono perchè esistono le guide step by step, e queste guide esistono perchè vendono, perchè fanno views, e le fanno perchè esistono gli improvvisati. Il nocciolo della questione è che la guida spiega come installare qualcosa e come effettuare configurazioni basilari. Ma non spiega come gestire. Non spiega come affrontare i casi eccezionali. Perchè questo, forse, non può essere insegnato.

Chi usa una guida pronta, delega a terzi (cioè a chi quella guida l’ha scritta) tutta la fase preliminare di ricerca, di documentazione e di assemblaggio di diverse fonti, nonchè il testing. Si tratta invece di una componente fondamentale del nostro lavoro. Perchè è così che impariamo a muoverci senza usare guide, è questo il modo in cui impariamo ad affrontare situazioni non ordinarie. È così, e solo così, che impariamo a camminare (anzi, a correre) nel buio.

Partiamo dal presupposto che tutto quello che può essere spiegato in termini semplici ed in modo sequenziale a degli incapaci, può anche essere eseguito da una macchina. Anni e anni di howto su come installare un ambiente LAMP. Poi arriva cPanel. Si inventa EasyApache. E da quel momento con un comando si può fare in 3 secondi tutto quello che con la guida si faceva in 3 ore. A copiare righe di codice, sono capaci tutti. Le macchine sono bravissime ad eseguire comandi in sequenza prestabilita. Sono le migliori: le abbiamo inventate inventate noi, e le abbiamo inventate per fare proprio questo.

Se ne deduce che una persona che gestisca macchine in questo modo, non ha senso di esistere. Se l’amministrazione di un sistema consistesse solo in queste semplici e sequenziali operazioni, le macchine stesse saprebbero autogestirsi. Anzi, lo fanno già: ci sono strutture che svolgono il 90% delle operazioni di routine senza supervisione umana.

Ma gestire server è molto, molto altro. Le situazioni ordinarie durano ben poco, e ci si trova spessissimo a dover gestire casistiche eccezionali, a dover svolgere operazioni impossibili da eseguire attraverso un pannello di controllo. A dover svolgere operazioni per le quali non si trova da nessuna parte una guida pronta all’uso, perchè magari prima di noi nessuno si è trovato incastrato nella situazione in cui noi invece ci troviamo. Interventi per cui serve una mente umana, un cervello. Un cervello che funzioni, non un cervello che sappia solo usare i comandi cut&paste.

Si, è vero, molte operazioni sono state automatizzate negli ultimi anni, prima le svolgeva un uomo e adesso le svolge una macchina. Ma, state attenti: sono stati automatizzati quei processi che già il sistemista svolgeva in modo “automatico”, comportandosi come una macchina. Solo quelli: tutto il resto non potrà mai essere automatizzato. Forse si, un giorno succederà. Ma non a breve/medio termine.

Alcuni sostengono che stia proprio in questo l’abilità innata dei sysadmin. Saper affrontare situazioni, saper gestire casistiche eccezionali, saper gestire (e risolvere) i problemi. Saper cercare soluzioni, conoscere e saper usare gli strumenti a disposizione. Avere la tendenza che ti porta ogni giorno, senza nessuna spinta, a trovare nuovi strumenti e a scoprire nuove cose. Le capacità tecniche si possono acquisire, il resto no: si imparano i comandi da utilizzare, ma non si impara il modo in cui affrontare le situazioni critiche. Ed è questo che conta, è questo a fare la differenza.

Spesso, infatti, quando consiglio ad un improvvisato di cambiare professione, non lo faccio perchè abbia dimostrato di non conoscere semplici comandi o di non sapere il significato di alcuni termini tecnici, ma perchè noto la mancanza di abilità e tendenze ben più importanti. A volte vengo ricoperto di domande, domande la cui risposta è contenuta nell’anteprima del primo risultato di ricerca su Google. Questo, a mio parere, è un chiaro segno. Se l’istinto ti porta a chiedere a qualcuno che già sa piuttosto che a cercare da solo una risposta, sarai un perfetto studente, un perfetto schiavo del metodo educativo moderno. Ma, tranquillo, non farai mai il sistemista. Non giriamoci intorno. È così.

C’è chi nasce particolarmente portato al gioco di squadra e fisicamente agile, e diventa calciatore. Ci sono ragazze che nascono particolarmente belle, fini e portate alla cura della persona, e diventano modelle. Non si capisce perchè si sia invece diffusa la convinzione che chiunque possa diventare sistemista. Non si capisce come mai chiunque voglia diventarlo, e come mai sia così difficile difendere la professionalità in un mestiere che sta diventando sempre più critico e importante.

Non vorreste mai volare su un aereo pilotato da una persona con in mano una guida step by step. Non vi fareste mai trapiantare il cuore da qualcuno che, forte di 20 anni di esperienza in macelleria e con l’aiuto di un video su Youtube, vi garantisce di saperlo fare. Perchè, per risparmiare qualche euro, date in mano i vostri siti, i vostri gestionali e i vostri strumenti di comunicazione a persone che non fanno niente di più di quanto già le macchine stesse non facciano?

E tu. Si, tu, sistemista improvvisato che stai leggendo. Fai un favore a tutti noi: lascia che le tue 40 ore di lavoro settimanali diventino 2 ore di un vero professionista, anche se queste sue due ore costeranno al cliente come le tue 40. Sarà meglio per tutti.

Per oggi ho finito.

Giorgio