Oggi, con un ospite di eccezione, parliamo dell’aggiornamento dei portali web sia in termini di sicurezza che di modalità operative. Con Davide Messia, esperto di test e fondatore dell’Oracolo del Test, getteremo le basi per chiarire meglio i concetti chiave riguardanti la sicurezza delle web application più comuni.
Introduzione…doverosa
Questo articolo si rivolge ai neofiti, ai meno esperti e meno tecnici. A coloro che, in poche parole, sono desiderosi di capire come e perché è importante effettuare test e aggiornamenti sui portali web. Per molti questo è un argomento scontato ma i risultati dei recenti attacchi hacker (v. articolo) dimostrano tutt’altro. Sia che si parli del CNR, che di un piccolo sito, c’è molta disinformazione e quindi è importante dare informazioni chiare, semplici e, per molti aspetti, indispensabili per la corretta gestione di un sito. Non me ne vogliano i più tecnici ma è importante trasferire questi concetti a tutti, soprattutto a chi conosce meno la materia.
Vi presento Davide Messia
Ciao!
Mi presento: sono Davide Messia, lavoro nel mondo del Test dal 2007 e dieci anni dopo, nel 2017, a Milano ho dato vita all’Oracolo del Test, la prima comunità italiana dedicata proprio al Test, una comunità che cresce ogni giorno e si incontra sia on line che dal vivo, in una serie di meeting interessanti, mai scontati, coadiuvati da esperti o appassionati, che radunano gente del settore e neofiti finalmente uniti dal desiderio di confrontarsi e saperne sempre di più sull’argomento.
Dopo questa mini descrizione posso solo dire che nel momento in cui Edoardo mi ha chiesto di scrivere un articolo mi sono sentito come uno scolaretto nell’eseguire un compito, ma sono anche fiero di comparire sul suo sito, perché Test e Sicurezza informatica possono definirsi due facce della stessa medaglia. In Italia i giorni appena passati sono stati incredibili, è avvenuto di tutto: siti defacciati, dati sensibili rubati, reputazioni messe in discussione e così via… Credo che si possa facilmente definire come una doccia fredda per decine di istituzioni, proprietari e gestori di siti.
Dove seguire l’Oracolo del Test e le iniziative di Davide?
Facebook: https://www.facebook.com/oracolodeltest/
MeetUp: https://www.meetup.com/it-IT/Oracolo-del-Test/
Telegram: http://t.me/oracolodeltest
Sito: http://www.oracolodeltest.it
Che cosa è un test
Il test rientra in una visione più grande, chiamata Assicurazione di Qualità (QA), quella qualità e quell’attenzione al dettaglio che hanno reso anche i nostri artigiani italiani famosi nel mondo.
Stranamente pero’ quando si parla di qualità applicata nel mondo web e dintorni ci si dimentica di questa attenzione caratteristica dell’italianità.
Faccio un semplice esempio:
per mantenere intatta tutta la sua bellezza il Duomo di Milano è sottoposto ad un costante restauro. Proviamo ad immaginare di essere un personaggio pubblico, che ha speso mesi, se non anni e tonnellate di energia per costruire una sua immagine, una reputazione, una credibilità.
Abbiamo deciso che vogliamo essere presenti anche sul web, creiamo dunque un nostro sito, un profilo social stellare, ma poi non ce ne curiamo più e per risparmiare pochi euro interrompiamo anche il contratto di manutenzione col nostro sviluppatore web.
Il nostro sito viene attaccato, hackerato e trasformato nel peggiore degli incubi! Invece di essere il megafono della propria voce, delle proprie idee, della propria energia e positività, il nostro sito si è cosí trasformato in un bidone pieno di negatività e brutteria.
Il web è velocissimo e spietato, bastano pochi secondi per mettere in crisi incrollabili aziende (vedi il caso Paluani). Tanta fatica, energie e credibilità, possono essere distrutte e buttate via nel giro di un attimo. Tornando all’esempio di prima, per noi è come se il Duomo di Milano crollasse improvvisamente perchè abbiamo deciso di risparmiare sulla manutenzione! Ecco l’importanza di avere cura dei propri prodotti web testandoli sempre per tempo, tenendoli sotto controllo e di ricostruire la propria immagine, recuperare la fiducia della gente. È un po’ come ricostruire il Duomo di Milano… ma con la meta del tempo e soldi! Sei ancora sicuro che trascurare il tuo sito web senza i dovuti aggiornamenti sia la cosa più saggia?
Sei ancora sicuro che trascurare il tuo sito web senza i dovuti aggiornamenti sia la cosa più saggia?
Aggiungiamo qualcosa a quanto scritto da Davide, in merito alla sicurezza.
Come si testa la sicurezza
Avere un sito significa anche curarlo cosa che, spesso e volentieri, viene dimenticata anche dalle grandi aziende che gestiscono portali di caratura nazionale (v. caso SIAE). La sicurezza è un aspetto principe del consolidamento dei portali web ma come è possibile testare la sicurezza e come la si mantiene ad un livello alto?
Assumendo che siate gli amministratori/gestori di un sito di piccola o media grandezza, dovete sapere che parte della sicurezza è in carico al fornitore dei servizi (ad es. Aruba, Register, etc…) a seconda del tipo di contratto che avrete stipulato con loro. Di conseguenza voi potrete, in alcuni casi, coprire solo una parte degli aspetti di sicurezza e se il provider non farà bene il suo lavoro aggiornando i vari componenti, potrebbe compromettere anche voi.
Prima cosa: backup e aggiornamenti sempre!
Ogni portale (che sia Joomla, Drupal, WordPress, LifeRay, o altro) deve essere tenuto aggiornato. Non importa che sia un sito di commercio elettronico, un forum o una chat: gli aggiornamenti devono essere fatti e servono per chiudere falle di sicurezza e mantenere il codice “giovane” evitando che possa essere sfruttato dagli hacker o che possa creare un conflitto.
Il backup deve essere effettuato sempre prima di un aggiornamento e deve riguardare la parte di struttura, tanto quanto il database. Una volta fatto il backup ricordate sempre di verificare la sua correttezza e metterlo al sicuro. Ci vuole più tempo a dirlo che a farlo, credetemi!
Penetration test: non è porno ma è importante
LulzSecITA ha usato in molti attacchi strumenti come SQLMap (v. articolo). Gli strumenti di penetration test altro non fanno che “attaccare” il vostro portale web per testare la resistenza e l’efficacia della sicurezza. Cercheranno falle nel codice, falle nel DB, password troppo “banali” oppure troppo corte. Insomma ci sono strumenti di penetrazione per ogni gusto…ok detto così è abbastanza imbarazzante ma rende l’idea.
Exploit DB: cosa cercare e dove
L’exploit è una falla e in quanto tale può essere usata per abbattere un sito o per manipolarlo. È importante che capiate che ogni giorno vengono scoperte centinaia di queste falle e spesso gli aggiornamenti escono con più ritardo. Fortunatamente le segnalazioni delle falle vengono raccolte in alcuni siti che vi permettono, in base al nome del portale o all’estensione utilizzata in esso, di ricercare le ultime criticità di sicurezza.
Il sito Exploit DB (https://www.exploit-db.com) raccoglie oltre 40.313 exploit sparsi su vari applicativi web: è gratuito! Per favore consultatelo e prendete l’abitudine a guardarlo esattamente come fosse una rassegna stampa. Queste cose sono importanti e possono fare la differenza in una situazione critica.
Quello che LulzSecITA avrebbe dovuto insegnare con la “settimana nera” è che, prima ancora di temere gli hacker, gli utenti di un sito dovrebbero temere la potenziale negligenza dei loro gestori: è assurdo ma la maggior parte delle volte è la verità.
Attraverso siti come l’Exploit-DB gli utenti possono segnalare/leggere le principali falle afferenti applicativi, estensioni degli applicativi e quanto altro.
Pago quindi ho diritto…
Ricordate che voi pagate il provider perchè vi offra un servizio di cui siete in parte responsabili: non potete, ad esempio, usare lo spazio web di Aruba come se fosse un hard disk digitale e inzepparlo di file. Tuttavia se il vostro provider non vi aggiorna la versione di PHP, o la versione del vostro database, avete tutto il diritto di richiedere l’aggiornamento che deve essere sempre gratuito.
Le buone regole…
Ci sono poi delle buone prassi per mantenere alta la guardia e, in generale, per evitare problemi di incompatibilità e sicurezza tra cui:
- Evitate di inzeppare i vostri portali di plug-in inutili che fanno proliferazione di dati nelle tabelle che non vengono puliti al momento della cancellazione del plug-in.
- Adottate password forti (mi sto stancando di scriverlo).
- Aggiornate tutto, non solo il portale ma anche il plug-in e, se ne aveste il controllo, l’ambiente su cui gira (PHP, MySQL, Apache, componenti, etc…).
- Scegliete un provider serio.
Su questo punto vorrei essere chiaro: ci sono un sacco di provider che offrono servizi a prezzi stracciati e non sempre questo è un bene. Ricordate che i vostri dati sosteranno su macchine che potrebbero essere vecchie, non aggiornate, e voi stessi potreste non ricevere supporto. Ebbene, fate estrema attenzione e valutate ogni aspetto…non solo il prezzo.