due chiacchiere

Rendere WordPress piu sicuro

All’università dove lavoro, tra le altre cose gestisco il sito di un centro di ricerca realizzato con WordPress. Circa un anno fa, il nostro “uomo della sicurezza” dell’ufficio informatico del rettorato mi comunicò che i suoi sistemi avevano rilevato attività anomala da quel sito, e che serviva investigare immediatamente cosa fosse successo. Long story short, come direbbero gli americani, qualcuno era riuscito ad usare una vulnerabilità sconosciuta per infilare alcuni file HTML nella cartella in cui il sistema salva immagini e documenti. Con l’aiuto degli esperti del rettorato, concludemmo che non erano riusciti ad entrare nel pannello di controllo, o che avessero trafugato altri dati dal sito, e che quelle pagine erano solo piene di pubblicità che traeva in inganno il malcapitato di turno, invitandolo a scaricare da un altro sito uno di quei programmi che promettono di aggiustare tutti i problemi del tuo computer. Dato che recentemente ho riattivato il sito del mio plugin su un nuovo hosting, ho deciso di riciclare sul mio spazio personal molti degli stratagemmi adottati al lavoro, per tenere i miei dati al sicuro. E così ho pensato di condividere quegli appunti in una miniserie, sperando che possano tornare utili a qualcuno.

La prima cosa che vorrei sottolineare quando si tratta di difendersi da un attacco hacker è di accettare il fatto che non stiamo parlando di “se” capiterà, ma di “quando” capiterà: avendo a che fare con codice scritto da terze parti, è impossibile avere la totale certezza che non vi siano vulnerabilità che qualche malintenzionato potrebbe usare per portare a compimento i suoi loschi piani. La battaglia si sposta dunque sul mitigare e reagire a quegli attacchi in maniera rapida e precisa. In questa miniserie non farò molte supposizioni sul tipo di server a tua disposizione, se non che sia un ambiente Linux che metta a disposizione strumenti come accesso via terminale SSH, git, wp-cli e la possibilità di eseguire operazioni ad intervalli regolari tramite cron. Tutto il resto, come si dice in questi casi, è grasso che cola. Il risultato finale sarà un sistema in cui ogni pezzo di codice è sottoposto a versionamento, che il server web non può modificare in alcun modo. Gli aggiornamenti di WordPress verranno fatti tramite appositi script da linea di comando, assieme al backup istantaneo e quotidiano della base di dati.

Vorrei precisare che quello che ti racconterò non è tutta farina del mio sacco, anzi. Il distillato che ti offrirò in queste puntate è ampiamente discusso da anni da quelli che hanno studiato: da Bedrock a Mark Jaquith, da Delicious Brains a Beanstalk. E sarà chiaro ben presto che queste raccomandazioni non sono soltanto utili a rendere il tuo sito più sicuro, ma aprono la porta ad un modo meno da “cowboy del Far West” di scrivere ed organizzare il proprio codice. Perché i tempi in cui si modificano i file direttamente sul sito in produzione dovrebbero essere oramai un lontano ricordo, e tutti dovremmo aver imparato oramai ad applicare delle basilari norme d’igiene digitale, come le chiamo io. Che comprendono cose come la creazione di un sito gemello dove potersi divertire a scassare tutto senza essere visti da nessuno, dove installare milioni di plugin senza paura di intasare la base di dati, e via dicendo. Beh, dici che ti ho incuriosito abbastanza?

Commenti

  1. kOoLiNuS ha detto:

    Stavo giusto aggiustandomi il tovagliolo sulle gambe che il post è finito…

    1. camu ha detto:

      Non dovrai attendere a lungo, il prossimo post è già programmato per Lunedì 🙂 Prometto che vale la pena attendere…

Lascia un commento