due chiacchiere

Un backup più intelligente per WordPress

Si conclude oggi il cammino intrapreso più o meno un mese fa, durante il quale abbiamo esplorato vari strumenti per consolidare l’ambiente su cui costruire il tuo sito web. Dopo aver visto come versionare il codice ed organizzare un flusso di lavoro per la gestione dei dati e dei permessi, ho pensato che la proverbiale ciliegina sulla torta potesse essere un sistema per salvare copie di sicurezza intelligenti, che faccia leva sugli altri strumenti visti in precedenza. Già, perché a fare un dump del database siamo buoni tutti, ma poi come posso sapere in maniera semplice e veloce quale versione di un certo tema o plugin era attiva con quella versione dei dati che sto per ripristinare? Cosa succede se nel frattempo la struttura di questi dati è cambiata, ed il plugin cerca di leggere qualcosa che non esiste più? Non sarebbe bello poter avere un backup che non solo salva il database, ma annota anche tutte le versioni di temi e plugin attive in quel momento? Un backup più intelligente per WordPress: Leggi il resto »

Uno script tiene d’occhio i log di Apache

Dopo aver imparato a versionare il codice sorgente del nostro sito, ed a gestire i permessi delle cartelle per evitare che il malintenzionato di turno trovi una vulnerabilità e si metta a caricare file per portare avanti i suoi loschi intenti, oggi vorrei condividere un semplice pezzo di codice che mi sono scritto per tener d’occhio questi vandali dell’ultima ora. Si, lo so che esistono già soluzioni ben più sofisticate come fail2ban, ma per me è stata l’occasione per spolverare le mie conoscenze da principiante di shell scripting ed imparare un paio di cose su quel misterioso comando che è sempre stato awk per me. Ti basterà aggiungere una riga al tuo crontab per invocare lo script ogni cinque minuti. Vediamo dunque di spacchettare le varie operazioni, per capire meglio come funziona questo pezzo di codice. Uno script tiene d’occhio i log di Apache: Leggi il resto »

Gestire i permessi delle cartelle di WordPress

La scorsa volta abbiamo visto come sottoporre il nostro codice ad un rigido regime di versionamento, che ci consente di poter tornare indietro nel tempo se qualcosa dovesse storto durante un aggiornamento. Questo sfortunatamente non basta ad evitare che malintenzionati di tutti i tipi provino a scassinare la porta sul retro per intrufolarsi dietro le quinte del tuo sito. A me ad esempio è capitato che un plugin avesse una vulnerabilità che consentiva a quei loschi figuri di scrivere file HTML nella cartella wp-content del sito. Per fortuna me ne sono accorto immediatamente, ed ho ripristinato in pochi minuti tutte le cartelle e la base di dati usando proprio i repo di GitHub di cui abbiamo parlato. Per scoraggiare tentativi simili, ho attivato l’autenticazione a due fattori per accedere al pannello di controllo, tramite il plugin iThemes Security Pro (soldi ben spesi), sebbene i tipi non fossero entrati da nessuna parte. Poi ho escogitato un sistema che rimuove i permessi di scrittura da tutti i file del sito esclusa la cartella uploads. Gestire i permessi delle cartelle di WordPress: Leggi il resto »

Versionare temi e plugin in WordPress

La scorsa volta abbiamo analizzato i passaggi per installare sul server dove girerà il nostro sito il cosiddetto boilerplate, ovvero la base standard su cui costruiremo il resto dell’architettura. Il filo conduttore, come dicevo, è rappresentato da Git, un sofisticato sistema che consente di tener traccia delle varie modifiche al codice, oramai ampiamente disponibile su vari servizi hosting di un certo livello. Se mi permetti una piccola marchetta, ti consiglio di provare SupportHost, che offre tutti gli strumenti di cui parlerò in questa guida. Il tassello del puzzle di oggi riguarda la gestione di temi e plugin. Supponiamo che tu abbia già un sito basato su WordPress: di sicuro avrai una manciata di plugin ed almeno un tema che vorrai cominciare a versionare. La prima cosa da fare è creare un profilo su una delle piattaforme Git esistenti sul mercato, ad esempio GitHub. Qui conserveremo tutto il nostro codice, anche se alcuni plugin e temi offrono accesso ai loro repository, credo sia più saggio crearne uno indipendente, in caso decidano di cambiare idea (come mi è capitato già un paio di volte). Versionare temi e plugin in WordPress: Leggi il resto »

Impariamo a versionare il nostro codice

Premetto che ho scritto il post di oggi in ginocchio sui ceci: l’inglesizzazione delle parole italiane mi ha sempre dato molto fastidio, specialmente nell’ambito informatico. Però non avevo altra scelta nel titolo (e qui di seguito) e sono costretto ad usare il neologismo versionare. Che fa riferimento alla possibilità di tener traccia della storia dei cambiamenti di un testo (o di un pezzo di codice) e poter riavvolgere questo nastro immaginario a nostro piacimento, saltando da una versione all’altra in maniera semplice e quasi divertente. Puoi già intuire come una funzionalità del genere sia la chiave di volta di quello che stiamo costruendo in queste lezioni. Immagina per un attimo di dover aggiornare un plugin di WordPress all’ultima versione disponibile. Nel Far West, i cowboy cliccheranno sull’apposito pulsantino nel pannello di controllo, pregando tutti i santi a disposizione affinché non si rompa nulla. Ma non sarebbe più facile se esistesse un sistema in grado di tenere traccia di quei cambiamenti per noi, e di consentirci di tornare indietro nel tempo digitando un paio di comandi, quando qualcosa va storto? Beh, questo sistema esiste da un pezzo, e si chiama Git. Impariamo a versionare il nostro codice: Leggi il resto »

Un ambiente di sviluppo WordPress in pochi minuti

La scorsa settimana ho promesso che avrei condiviso sul blog la mia ricetta per mettere il tuo sito WordPress al sicuro dai malintenzionati. Prima di tuffarci in quest’avventura, assumerò che tu abbia una conoscenza di base del terminale di Linux, ed un’infarinatura su strumenti come Git e shell scripting. Se non è così, ti consiglio di trovare qualcuno che capisca di questa roba per aiutarti ad implementare quello che vedremo nel seguito. Darò per scontato inoltre che il tuo servizio di hosting metta a disposizione quegli strumenti, il che vuol dire che se stai usando Tophost o certi piani base di Aruba per il tuo sito, puoi pure fermarti qui. Chiarito questo dettaglio, vediamo come creare il tuo ambiente di sviluppo locale, che diventerà la torre di controllo per tutto il resto. Che tu abbia Windows o Mac a casa non ha importanza: con Vagrant potrai facilmente configurare un sistema virtuale standard a prescindere dalla macchina che lo ospita. I più smaliziati tra i miei piccoli lettori potrebbero pensare: perché non un bel contenitore Docker? Il motivo è semplice: la mia ricetta è semplice e di base, poi ogni tassello è intercambiabile con altri più sofisticati, ed in base ai gusti ed alle esigenze del cuoco 🧑‍🍳. Un ambiente di sviluppo WordPress in pochi minuti: Leggi il resto »

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. Rendere WordPress piu sicuro: Leggi il resto »