Archives For Sviluppo Web

Una domanda apparentemente complessa che merita una risposta semplice, per cercare di incontrare quanto più pubblico alle prime armi possibile. Ho risposto in separata sede, mi piace però condividere pubblicamente quella che secondo me può essere una buona scaletta per far muovere i primi passi al tuo nuovo sito web basato su WordPress (a prescindere che si tratti di blog personale o altro tipo di idea). Ti invito a dire la tua nell’area commenti, inserendo nuovi punti esclusi dalla mia personale lista, ma evidentemente non per questo non meritevoli di menzione. Cominciamo?

WordPress: ShortPixel Image Optimizer 8

#1: Creare un account amministrativo diverso

In realtà di questo argomento ne abbiamo già parlato, forse lo ricorderai. Mi cito copiando e incollando un passaggio fondamentale di questo diverso articolo:

Ciò che intendo è, per esempio, non utilizzare l’account amministrativo di default (che va quanto prima degradato a semplice utente, se non addirittura eliminato), in favore di un nuovo account da te appositamente realizzato, amministrativo, con username non facilmente indovinabile e con una password complessa (parleremo anche di password robuste quanto prima, ma ti porto a questa vignetta, che tanto spiega in merito). Non utilizzare la stessa password che hai già usato in passato per altri servizi. Fatti aiutare da un buon password manager se ti serve.

Il consiglio rimane lo stesso identico: elimina quanto prima l’account “admin” creato automaticamente da WordPress, non prima di averne creato uno diverso con gli stessi poteri, il quale dovrà avere username differente, più complesso, così come la password, che dovrà inoltre essere dedicata e non condivisa con altri servizi che sfrutti su internet. Posso comprendere che questa sia per te una scocciatura, ma ringrazierai quel giorno in cui qualcuno scoprirà (per errore altrui) qualche tua coppia di credenziali (ne parlo nell’articolo Firefox Monitor ti avvisa in caso di furto credenziali) e le userà anche per appropriarsi del tuo sito web.

Fondamentale e oggi ormai dato per scontato è il doppio passaggio di autenticazione. In passato ti ho parlato di Authy, ho poi virato verso un diverso metodo di verifica autenticazione, te ne ho parlato nell’articolo WordPress: migrazione da Authy OneTouch a Duo.

#2: Creare gli account aggiuntivi per editor e collaboratori

Che, a voler essere puntigliosi, potrebbero bastare anche alla tua quotidianità. Le operazioni da eseguire tramite l’account amministrativo sono relativamente poche se hai ormai configurato al meglio il tuo sito WordPress, per questo motivo potresti pensare di creare per te un account “Editor” in grado di scrivere, modificare o cancellare qualsivoglia contenuto pubblicato (o in attesa di pubblicazione), lasciando all’amministratore il compito della manutenzione del software, l’installazione di qualche plugin e poco più. Occhio a ciò che permetti ai tuoi collaboratori, i ruoli di WordPress sono pochi e ben spiegati nel documento Roles and Capabilities sul Codex.

Per aggiungerne di nuovi, io ho utilizzato (e utilizzo tutt’oggi) il plugin Members, fantastico per poter creare nuovi ruoli e modificarne i permessi scendendo molto nel dettaglio (puoi permettere o negare singole azioni, la granularità è davvero ottima):

Members
Members
Developer: Justin Tadlock
Price: Free

#3: Occhio al fuso orario

Sembra una banalità ma non lo è, il fuso orario di WordPress (Timezone nelle installazioni in inglese, come la mia) è fondamentale quando programmi la pubblicazione di un articolo, non vorrai mica rischiare di tirare fuori dei pezzi a orari tutt’altro che in accordo con la tua linea editoriale, vero? :-)

SettingsGeneral (Impostazioni → Generali in italiano) nella tua dashboard amministrativa, quindi seleziona Roma (immagino) nel menu a tendina in corrispondenza del fuso orario:

WordPress: muovere i primi passi post-installazione 1

#4: Permetti la Visibilità ai motori di ricerca

Altro parametro che può passare inosservato ma che è fondamentale se vuoi iniziare a macinare qualche visita oltre quelle che sei solito fare tu per amministrare il sito web o scrivere e pubblicare contenuti. All’interno delle Impostazioni di lettura troverai un’opzione relativa alla Visibilità ai motori di ricerca, ciò che permette a Google e soci di indicizzare i tuoi contenuti e renderli fruibili da chi lancia query tramite i siti web più utilizzati al mondo (i motori di ricerca, per l’appunto).

WordPress: muovere i primi passi post-installazione 2

Assicurati che questa non sia impostata per scoraggiare tale comportamento, configurazione che solitamente si usa durante la preparazione del sito web, che va assolutamente modificata quando questo andrà in produzione e farà il suo debutto sul web.

#5: Configura una corretta struttura Permalink

In breve: Un permalink o collegamento permanente è un tipo di URL che si riferisce ad una specifica informazione, implementato in modo da non cambiare o almeno da rimanere lo stesso per lunghi periodi di tempo. Il termine è spesso impiegato nell’ambito dei blog per indicare il link ad un determinato post.

Continua su it.wikipedia.org/wiki/Permalink

È ciò che condurrà il lettore al tuo articolo negli anni, a prescindere da ciò che succederà, dando stabilità ai risultati di un motore di ricerca, rendendolo ben felice di continuare a servirti e portare al tuo porto nuove visite. È una struttura molto importante, critica per certi versi, è giusto deciderla all’avvio di un tuo nuovo progetto, la puoi configurare da ImpostazioniPermalink. Per questo blog ho scelto ormai tanti anni fa quella basata su anno/mese/giorno e nome dell’articolo, se potessi tornare indietro (cosa che comunque puoi pilotare abbastanza agilmente, con tanta pazienza e qualche giusto aiuto) sceglierei quella basata solo sul nome dell’articolo.

WordPress: muovere i primi passi post-installazione 3

#6: I soli Permalink non risolvono tutto, genera una Sitemap

La Sitemap permette a Google di venire a conoscenza di tutti i collegamenti che un lettore può fruire all’interno del tuo nuovo sito web, generarla e darla in pasto al motore di ricerca toglie carico di lavoro a quest’ultimo, il quale -salvo errori- digerirà immediatamente quanto dato in pasto, generando immediatamente visite a tuo favore (ammesso che l’utente stia cercando ciò che tu metti a disposizione). Per farlo puoi farti dare una mano da uno dei tantissimi (pure troppi) plugin disponibili sul repository ufficiale di WordPress. Io, come tanti altri, utilizzo la funzione integrata all’interno di Yoast, quella che trovi all’interno di SEOFeatures → XML Sitemaps:

Yoast SEO
Yoast SEO
Developer: Team Yoast
Price: Free

WordPress: muovere i primi passi post-installazione 4

#7: Hai attivato Google Analytics?

Restiamo sull’argomento statistiche e corretta gestione da parte dei motori di ricerca. Analytics è lo strumento realizzato da Google per tenere d’occhio le proprie “performance” (che detta così suona un po’ come un film di Rocco, ma non è ciò su cui si fonda il pezzo!), per cercare di costruire una strada di costante miglioramento, seguire i gusti dei lettori (senza dimenticarsi però che l’opera è prima di tutto tua, deve piacere a te), sfoderare l’asso quando serve tirarlo fuori dalla manica.

A tal proposito, ThemeTrust aveva pubblicato un articolo molto ricco e ben realizzato (in inglese) che puoi trovare all’indirizzo themetrust.com/google-analytics-in-wordpress (se vuoi proporre un’alternativa altrettanto valida in italiano sei il benvenuto, lascia un commento a fondo articolo!).

#8: Il backup ragazzo, il backup.

Ripeti con me: creerò e manterrò un backup aggiornato del mio sito web, di ogni suo contenuto e del database. Ora continua a ripeterlo, ma nel frattempo metti in piedi una soluzione di backup del tuo WordPress. Ci sono mille metodi validi, io continuo a operare su due piani diversi, facendo più backup al giorno del database MySQL e un backup quotidiano dei file. Te ne ho già parlato qui, ma ti ripropongo lo specifico passaggio:

Avere una copia di backup aggiornata è fondamentale per evitare di incorrere in possibili disastri (causati da te, dal tuo provider o da qualcuno di completamente estraneo).
Per portare a termine questa operazione esistono decine di plugin, sia gratuiti che a pagamento. Io ho scelto di affidarmi a BackUpWordPress della Human Made.

BackUpWordPress

In conclusione

Di punti ce ne potrebbero essere molti altri, ci si ferma qui per convenienza e per non mettere ulteriore carne sul fuoco, ma sei libero di suggerirne di nuovi, per poterli integrare all’interno di questa lista o per giustificare una nuova pubblicazione dedicata, libero sfogo ai tuoi consigli quindi. Resto a disposizione anche per correggere qualche svista o migliorare qualche punto sopra riportato, un po’ come sempre capita :-)

Buon divertimento!


liberamente ispirato a themetrust.com/do-after-launching-a-wordpress-site

Condividi l'articolo con i tuoi contatti:

Da qualche tempo ormai, un paio di referer vengono utilizzati per tentare di verificare se esistono vulnerabilità all’interno dei WordPress in giro per il web (questo che leggi compreso), il che comincia a diventare abbastanza fastidioso. Si tratta ovviamente di movimenti eseguiti da bot che non fanno altro durante l’arco della giornata, ma che continuano a generare righe di log che ovviamente si notano lato server, cose che tu stesso in teoria potresti notare (se hai accesso ai log del tuo hosting), oppure utilizzando plugin come Redirection.

WordPress: bloccare site.ru e baidu.com (spam referer)

Non ho scoperto l’acqua calda certamente, c’è chi se n’è accorto da tempo (dai un’occhiata qui, oppure qui) e chi ha già fatto qualcosa in merito per impedire ulteriori accessi da quel tipo di referer HTTP. Ah già, a tal proposito, dovesse sfuggirti di che diamine sto parlando, propongo:

Il referer (o HTTP referer) è semplicemente l’URL di un elemento che conduce all’elemento corrente: ad esempio, il referer di una pagina HTML può essere un’altra pagina HTML. In sostanza, esso rappresenta la fonte dalla quale un utente è venuto a conoscenza di una pagina. Il referer è parte integrante di una request HTTP inviata dal browser al webserver.

continua qui: it.wikipedia.org/wiki/Referer

Detto ciò, quello che puoi fare –nel caso in cui tu sia protagonista della stessa scocciatura– è mettere mano al tuo file .htaccess e prevedere l’esclusione dei referer di cui puoi fare tranquillamente a meno. Io in lista ti propongo anche baidu.com,

Baidu (百度=Bǎidù) è il principale motore di ricerca in lingua cinese in grado di ricercare siti web, file audio e immagini e secondo il sito Netmarketshare.com a novembre 2016 è il 3° motore di ricerca al mondo con un 7,54% di share dopo Bing che deteneva nello stesso periodo l’8,28%.

continua qui: it.wikipedia.org/wiki/Baidu

il quale compare in diverse righe di errore 404 perché tenta strani accessi o inclusioni di file non propriamente standard, motivo per il quale c’è quella ragionevole certezza che si tratti di un ulteriore attacco bot (spero mi perdoneranno gli amici cinesi che intendono utilizzare realmente il loro motore di ricerca preferito per arrivare a qualche mio articolo, ammesso che quegli amici esistano realmente, e che –soprattutto– vogliano leggere un mio articolo!).

Modifica del file .htaccess

Come già saprai, il file .htaccess si trova nella cartella principale del tuo WordPress e viene generalmente gestito da quest’ultimo o dai plugin installati (per esempio, quelli di sicurezza), occhio quindi a dove metti le mani. Apri il file in modifica e individua un “posto tranquillo” in cui depositare il nuovo codice, puoi copiare quanto di seguito e incollarlo subito prima della riga di commento “# END WordPress” che dovresti trovare intorno alla fine del file:

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{HTTP_REFERER} site\.ru [NC,OR]
 RewriteCond %{HTTP_REFERER} www\.baidu\.com [NC]
 RewriteRule ^.* - [F]
</IfModule>

Salvando il file, dopo poco tempo dovresti già notare molta più pulizia all’interno dei tuoi log (e degli errori 404), con buona pace del tuo WordPress e delle molteplici volte che non sarà più costretto a rispondere negativamente ai tentativi di attacco, dai quali sta bene anche a debita distanza.

In alternativa

Beh, in alternativa si potrebbe passare da un diverso metodo, basato su IP o su regole di Redirection (il plugin di cui ti parlavo a inizio articolo, nda). Per la prima alternativa citata, qualcuno sta già facendo un buon lavoro di raccolta IP dai quali generalmente partono gli attacchi di site.ru, la trovi su GitHub all’indirizzo github.com/rogercomply/siteru-blocklist/blob/master/ipblocklist, e viene continuamente aggiornata (considera che -a ora che sto scrivendo l’articolo- l’ultimo aggiornamento riporta la data di due giorni fa).

Potresti pensare di copiare quegli IP e includerli all’interno della ban list di iThemes Security (altro plugin di cui ti ho parlato in passato), ricordando di tanto in tanto di passare a copiare e incollare la lista aggiornata.

La seconda alternativa passa invece da redirect di tipo 301, consegnando i bot su pagine alle quali chiedere perdono. Ho pensato quindi di rispolverare la vecchia storia del rilancio “stile proxy” verso siti web che possono dare la redenzione, come radiomaria.it.

Inaugurando un nuovo gruppo di filtri di Redirection chiamato “Strunz Interceptor” (poetico, lo so!), ho pensato di prevedere alcuni degli attacchi più classici e ripetitivi, rimbalzandoli verso la home page di Radio Maria. Ho raccolto quei filtri in un file CSV che puoi tranquillamente salvare e importare all’interno del tuo WordPress con Redirection installato. Ho salvato il tutto su Gist, così da poterlo aggiornare agilmente in futuro nel caso ce ne fosse bisogno:

Sentiti assolutamente libero di segnalarne di nuovi all’interno dei commenti di questo articolo o direttamente sotto al file Gist.

Condividi l'articolo con i tuoi contatti:

Dando per assodato che tu abbia già letto il vecchio articolo sull’argomento (tutt’oggi valido, quindi leggilo pure se non lo hai già fatto), in questo nuovo articolo voglio proporti ulteriori best practices da adottare per provare a proteggere quanto più possibile il tuo blog, il tuo utente e quindi l’accesso a ore e ore di lavoro che vuoi mantenere pulite e funzionanti online, per garantire la tua presenza nel web.

WordPress e sicurezza: alcune best practices 2

L’articolo dei 5 passaggi fondamentali per la sicurezza di WordPress include note riguardanti la rimozione dell’utente amministrativo predefinito, la verifica e l’aggiornamento dei plugin installati (ma anche di WordPress stesso), il backup dei dati (file modificati e copia del database MySQL completo) e l’utilizzo di un plugin di sicurezza che possa dare maggiori indicazioni verso la direzione desiderata (quella per una protezione quanto più completa possibile). Cosa si può aggiungere oggi alla lista?

Autenticazione a due fattori

Te ne sto parlando fino a sfinirti, i miei articoli dedicati al mondo dell’autenticazione 2-Step hanno ormai lo stesso sapore delle preghiere che la nonna ti costringeva a dire prima di andare a letto, oppure in chiesa quando riusciva a trascinarti là dentro durante la domenica mattina, me ne rendo conto. Eppure, nonostante i gravi bug che saltano ogni ostacolo, l’autenticazione in due passaggi resta uno dei punti fondamentali da sfruttare per la propria protezione. Dove possibile, è sempre bene abilitarla.

Ti ho già parlato di autenticazione 2-Step e WordPress, grazie all’utilizzo del plugin di Authy, mi basta riportarti il vecchio articolo, è valido tutt’oggi:

WordPress e Authy: autenticazione OneTouch

Modifica delle chiavi di sicurezza

Tecnicamente “Salt“. Copio e incollo direttamente da un wp-config.php di base:

Authentication Unique Keys.
Change these to different unique phrases!
You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/ WordPress.org secret-key service}
You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.

e trovi qui un articolo su iThemes.com che meglio spiega di cosa si tratta:

A WordPress salt is a random string of data that hashes the WordPress security keys in the wp-config.php file.
If you open your wp-config.php file, you’ll see the Authentication Unique Keys and Salts section with seven security keys.

Puoi aprire in qualsiasi momento il tuo file wp-config.php e, spostandoti nell’area dedicata alle “Authentication Unique Keys“, selezionarle e sostituirle con quelle generate randomicamente dal tool ufficiale di WordPress che trovi all’indirizzo api.wordpress.org/secret-key/1.1/salt. Caricando nuovamente il file sul tuo spazio FTP, perderai l’accesso alla tua Dashboard e ti verrà richiesto di eseguire nuovamente il login, lo stesso varrà per qualsiasi altra postazione precedentemente collegata alla stessa Dashboard.

Se utilizzi come me un plugin di sicurezza, controlla che questo ti permetta di eseguire più rapidamente questa operazione, come succede per iThemes Security:

WordPress e sicurezza: alcune best practices 1

Meglio se HTTPS

In linea di massima questo sarebbe necessario e dovuto per blog (siti web più in generale) che propongono form di login, ma è comunque bene tenere conto che sarebbe meglio passare da HTTP a HTTPS pur integrando un certificato di base generato via Let’s Encrypt. Così facendo si crea una connessione criptata tra client e server, più difficile da intercettare e analizzare (ho detto più difficile, non impossibile, prima che qualcuno faccia lo sborone nei commenti). Se vuoi, ti posso proporre un articolo in inglese che ti descrive buoni motivi per passare a HTTPS, altrimenti ti rimando direttamente al mio –di articolo– dove ti spiego come eseguire la migrazione del tuo blog WordPress:

WordPress: passaggio da HTTP a HTTPS (aggiornato)

C’è altro?

Lo chiedo a te, proprietario di un blog e curatore del WordPress alla sua base. Di punti riguardanti la sicurezza del software ideato e inizialmente sviluppato da Matt Mullenweg probabilmente ce ne sono moltissimi altri, si può sempre migliorare il suo hardening, ogni giorno c’è un buon consiglio da seguire e mettere in atto, ma voglio potermi confrontare con te che stai leggendo questo mio ulteriore pezzo sull’argomento, chiedendoti di proporre nuovi punti per un prossimo aggiornamento, o magari precisare qualcosa di già discusso, sai bene che mi fa sempre piacere sviluppare discorsi ben motivati in merito agli articoli pubblicati.

Buon lavoro!


Immagine di copertina Glenn Carstens-Peters on Unsplash
Condividi l'articolo con i tuoi contatti:

Rispondo a una domanda abbastanza comune che viene generalmente rivolta a mezzo mail o tra una chiacchiera e l’altra quando ci si trova con conoscenti che muovono passi autonomi sul web. WordPress è meraviglioso, è adatto a qualsiasi tipo di sito web e sì, può contare su una miriade di temi e plugin disponibili gratuitamente e a pagamento.

Quali sono però i 5 passi comuni per evitare che qualcosa vada storto esponendosi a un attacco dall’esterno? Provo a darti una base –spero– solida.

WordPress: 5 step per la sua (e tua) sicurezza

Questo nuovo articolo va a riprendere (parzialmente) e fare coppia con uno più vecchio, che trovi ancora qui. Cominciamo?

Occhio a username e password

Che vuol dire tutto e nulla.

WordPress: 5 step per la sua (e tua) sicurezza 3

Ciò che intendo è, per esempio, non utilizzare l’account amministrativo di default (che va quanto prima degradato a semplice utente, se non addirittura eliminato), in favore di un nuovo account da te appositamente realizzato, amministrativo, con username non facilmente indovinabile e con una password complessa (parleremo anche di password robuste quanto prima, ma ti porto a questa vignetta, che tanto spiega in merito). Non utilizzare la stessa password che hai già usato in passato per altri servizi. Fatti aiutare da un buon password manager se ti serve.

Inutile dire che l’autenticazione e due fattori è ormai una cosa fondamentale. Dai un’occhiata qui per capire di cosa sto parlando: gioxx.org/2016/09/01/wordpress-e-authy-autenticazione-onetouch.

Verifica i plugin installati

Che si traduce con:

  • utilizza dei plugin costantemente mantenuti, che non superino (se possibile) i 6 mesi dall’ultima data di aggiornamento;
  • cancella quelli non più utilizzati, che non ti servono, non pensare che un domani possano tornarti utili ancora, perché si fa sempre in tempo a ricercarli nuovamente e reinstallarli;
  • cerca di rimanere informato in merito ai loro cambiamenti, perché è facile che un attacco possa sfruttare falle in loro integrate (oppure in servizi a cui si appoggiano).

Capisco che spesso non è cosa semplice, però potrai sempre chiedere un aiuto alle community di condivisione e assistenza sul mondo WordPress in giro per il web, già più approcciabile per chiunque.

Aggiorna WordPress

Ma anche i plugin, che poi potrebbe ricadere nella voce precedente.

WordPress: 5 step per la sua (e tua) sicurezza 2

Tenere aggiornato ogni sistema (non solo operativo) è fondamentale per tappare falle scoperte e dichiarate, prima che qualcuno le sfrutti nella peggior maniera possibile. Quando viene pubblicata una nuova versione di WordPress, questa va a correggere problemi e anomalie generalmente importanti, che ti permettono di dormire sonni tranquilli. Per fortuna, salvo problemi o limitazioni imposte, WordPress aggiorna automaticamente ogni minor release, lasciando a te l’onere di pensare alle major.

Aggiornare costa solo un paio di clic, ma prima di farlo ricorda di verificare che non ci sia del codice personalizzato che possa smettere di funzionare in seguito all’operazione (chiedi aiuto al tuo sviluppatore nel caso non sia tu direttamente a occuparti del tuo blog).

Tieni sempre un backup aggiornato

WordPress: 5 step per la sua (e tua) sicurezza 4

Sia del database, sia dei file salvati sullo spazio disco del server. Se i secondi cambiano forse meno spesso (occhio però alle immagini e più in generale ai media caricati online), il primo è in costante crescita e modifica. Avere una copia di backup aggiornata è fondamentale per evitare di incorrere in possibili disastri (causati da te, dal tuo provider o da qualcuno di completamente estraneo).

Per portare a termine questa operazione esistono decine di plugin, sia gratuiti che a pagamento. Io ho scelto di affidarmi a BackUpWordPress della Human Made.

BackUpWordPress
BackUpWordPress
Developer: XIBO Ltd
Price: Free

Comodo, molto personalizzabile e disponibile anche in versione gratuita limitata (io uso questa), lasciando fare poi a SyncBack il lavoro sporco (quello del download totale di tutti i file, backup compresi). Ce ne sono anche altri (di plugin, intendo), magari prova a dare un’occhiata a questo articolo di ThemeTrust pubblicato qualche tempo fa: themetrust.com/wordpress-backup-plugins (e provali sempre in ambiente di test, mai di produzione!)

Utilizza un plugin di sicurezza

WordPress: 5 step per la sua (e tua) sicurezza 1

Che sembra una sciocchezza, forse, ma non lo è. Un plugin di sicurezza ti aiuta a prenderti cura della tua installazione WordPress, suggerendoti dove mettere mano per evitare sgradite sorprese. Ne esistono di ogni tipo, e generalmente sono tutti in grado di suggerire buone strategie di protezione della propria area amministrativa, fare scansioni alla ricerca di possibili anomalie (sfruttabili dall’esterno), limitare gli accessi di ogni utente conosciuto (e non, soprattutto).

Io utilizzo da tempo iThemes Security (ex Better WP Security). Ne ho parlato in maniera approfondita in un precedente articolo disponibile qui:

Proteggere WordPress da login non autorizzati

Tutto chiaro? Al solito: per consigli, suggerimenti e critiche costruttive, l’area commenti è a tua totale disposizione, sempre ben felice di leggere cose nuove e interessanti! Per il supporto, invece, vi rimando al forum di ogni singolo plugin, o genericamente al forum della community italiana di WordPress.

Buon lavoro!

Condividi l'articolo con i tuoi contatti:

Qualcuno lo avrà certamente notato. Da qualche giorno questa installazione di WordPress è raggiungibile al suo “nuovo” URL in HTTPS. Dico “nuovo” perché da circa un anno avevo già forzato la Dashboard in HTTPS, lasciando ancora in HTTP il blog visibile pubblicamente a tutti i lettori. Il tutto ha potuto funzionare generando un certificato con Let’s Encrypt e chiedendo al supporto di Serverplan (l’hosting che ospita questo blog) di caricarlo.

WordPress: passaggio da HTTP a HTTPS 8

Qualche giorno fa, tutti i clienti del provider hanno però ricevuto una comunicazione decisamente più ufficiale:

[…]

Dopo un periodo di test, necessario per la tranquillità dei clienti, Serverplan ha attivato il certificato TLS gratuito Let’s Encrypt su tutti i piani Hosting. Cosa devi fare per attivare questo servizio? Niente, è già attivo. Devi solo goderti la tranquillità di una connessione sicura.

[…]

Ho quindi pensato fosse arrivato il momento giusto per portare tutto su HTTPS, anche perché Google sembrerebbe avere tutte le intenzioni di cominciare a penalizzare chi non passa alla connessione più sicura e che permette maggiore sicurezza nel caso in cui si debbano utilizzare delle credenziali di autenticazione (cosa che però qui sul blog non accade, poiché i commenti –unico login che potresti voler effettuare– vengono gestiti da Disqus, anch’esso passato a HTTPS).

Molti hosting provider oggi propongono un certificato di Let’s Encrypt in maniera semplice, attivabile direttamente dal proprio pannello di controllo oppure pre-attivato sul proprio spazio (quello che ha scelto di fare Serverplan, nda). Se nel tuo caso questo non è ancora possibile, sappi che puoi procedere in autonomia, creando il tuo certificato personale e chiedendo al supporto tecnico del tuo provider di attivarlo sul tuo sito web.

Creare un certificato Let’s Encrypt

Le linee guida per la richiesta e creazione di un certificato sono disponibili sul sito web ufficiale del progetto, all’indirizzo letsencrypt.org/getting-started. Per fartela più semplice, puoi passare dal sito web sslforfree.com, ti propongo la solita galleria esplicativa ma ti indico istruzioni più dettagliate subito di seguito, per evitare possibili errori:

  • Inserisci il sito web che vuoi certificare. Puoi specificare il dominio di secondo livello (tuodominio.tld), il sito web inserirà in maniera automatica il www davanti, per certificare anche il terzo livello.
  • Scegli di effettuare una verifica manuale tramite upload di file sul tuo spazio FTP (questo è quello che ti consiglio). Scarica i due file necessari alla verifica da sslforfree (fai clic su Download File #1 e Download File #2, scarica entrambi i file sul Desktop o equivalente, servono per poco tempo).
  • Vai sul tuo spazio FTP, crea una cartella chiamata .well-known, entra al suo interno e crea una nuova cartella chiamata acme-challenge. Carica entrambi i file che hai precedentemente scaricato all’interno di quest’ultima cartella.
  • Torna su sslforfree e procedi con la verifica, ti basterà fare clic su Download SSL Certificate e, salvo errori, potrai avere accesso al tuo set di chiavi. Fai clic su Download All SSL Certificate Files e metti a disposizione il pacchetto che scaricherai ora al tuo hosting provider, aprendo un ticket di richiesta supporto per caricare il tuo nuovo certificato SSL Let’s Encrypt.

Passiamo a WordPress, adesso

Se il tuo Hosting Provider ti confermerà il caricamento del certificato, potrai finalmente procedere con la migrazione del tuo blog. Provo a fartela semplice anche in questo caso, ti consiglio l’utilizzo di un paio di plugin che possono fare tutto il lavoro al posto tuo, cercando così di abbattere i rischi di possibili errori.

Easy HTTPS Redirection
Easy HTTPS Redirection
SSL Insecure Content Fixer
SSL Insecure Content Fixer
Developer: WebAware
Price: Free

Entrambi ti aiuteranno a redirigere il traffico facilmente e correggere tutto quello che punta al vecchio indirizzo HTTP, salvo modifiche manuali (per esempio nel tema o in un file functions.php modificato, facilmente individuabili se sei stato tu a farlo). C’è ben poco di complesso da impostare, è tutto dannatamente semplice:

  • Vai in SettingsHTTPS Redirection, seleziona Enable automatic redirection to the “HTTPS” e Force resources to use HTTPS URL. Salva la tua scelta e, quando la pagina sarà aggiornata, seleziona la voce The whole domain in corrispondenza di You can apply a force HTTPS redirection on your entire domain or just a few pages. Salva ancora una volta. Hai appena terminato qui.
  • Spostati ora in SettingsSSL Insecure Content. Il plugin seleziona una papabile configurazione basata su un’analisi della tua installazione. Nel mio caso le opzioni selezionate sono:
    • Fix insecure content → Simple;
    • Fixes for specific plugins and themes → WooCommerce + Google Chrome HTTP_HTTPS bug (fixed in WooCommerce v2.3.13);
    • HTTPS detection → standard WordPress function.

Puoi –in qualsiasi momento– verificare che venga individuato correttamente il funzionamento HTTPS da Tools → SSL Tests.

Salvo errori, la tua configurazione ti permetterà ora di vedere il sito in HTTPS. Ricordati però che, a meno che il tuo Hosting Provider non lo preveda, dovrai ricordarti di rinnovare il tuo certificato SSL di Let’s Encrypt ogni 90 giorni. Puoi farlo facilmente tramite sslforfree, dovrai poi ricontattare il tuo provider per far caricare le nuove chiavi.

WordPress: passaggio da HTTP a HTTPS 16

Se utilizzi il sistema di commenti integrato in WordPress, il tuo lavoro finisce qui. In caso contrario potresti aver scelto di utilizzare Disqus (il sistema in uso su questo blog), e dovrai quindi seguire ancora qualche passaggio prima di poterti congedare ;-)

Migrare i commenti di Disqus

Cerco di riepilogare rapidamente anche questa: Disqus carica i commenti nei tuoi articoli grazie a un banale (si fa per dire, da gestire lato server) sistema di mappature URL. Il sistema capisce che commenti caricare in base all’indirizzo visitato in quel momento. Avendo tu migrato tutto sotto HTTPS, occorrerà allineare anche Disqus.

Tale funzione è ovviamente prevista, e viene spiegato all’indirizzo help.disqus.com/customer/portal/articles/286778-using-the-migration-tools, nasce più probabilmente per cambiare completamente URL (primodominio.tld verso secondodominio.tld per esempio), ma torna comodo anche per questo caso.

Accedi alla tua area di amministrazione Disqus, quindi spostati in Migration Tools (dalla colonna di sinistra), dovresti arrivare all’URL TUOUTENTE.disqus.com/admin/discussions/migrate/?p=migrate. A questo punto dovrai scaricare una lista completa delle tue mappature commenti, modificarla e darla nuovamente in pasto a Disqus, così che possa aggiornarsi. Dai un’occhiata alla galleria qui di seguito (sotto includo istruzioni più dettagliate):

  • Cominciata la migrazione, Disqus invierà all’indirizzo di posta elettronica (che hai fornito durante l’iscrizione al servizio) la lista degli URL indicizzati.
  • Apri la lista con Excel (o equivalente), clona la prima colonna, seleziona solo la seconda colonna e sostituisci tutti gli http:// con https:// (utilizza la funzione Cerca e sostituisci di Excel).
  • Salva il file, esci da Excel, riapri il file con Notepad++ (o qualsiasi altro editor di testo) e sostituisci tutti i punti e virgola con semplici virgole (anche in questo caso utilizza il Cerca e sostituisci), è richiesto da Disqus (che evidentemente non digerisce poi tanto bene i ;).
  • Carica il file su Disqus, verifica che la mappatura sia corretta, quindi lascia partire il lavoro in batch, a quel punto dovrai solo attendere che termini.

Entro le successive 24 ore, Disqus metterà a posto le cose, e tu finalmente potrai tornare a vedere i tuoi commenti :-)

Google Search Console

Update

In base al giusto suggerimento di Emanuele (nei commenti), mi sono
accorto di non averti parlato di Google Search Console, nonostante sia andato ad aggiornare la proprietà del sito inserendo l’URL con HTTPS. Trovi qui un suo articolo dedicato alla migrazione di WordPress da HTTP a HTTPS pubblicato al termine dello scorso anno, davvero molto interessante e completo.

In realtà è molto semplice anche questa cosa e va fatta se hai già configurato il tuo sito web nella console di big G. Secondo la documentazione ufficiale (support.google.com/webmasters/answer/6073543?hl=it), in caso di migrazione, si adotta questo metodo:

Se esegui la migrazione del sito da HTTP a HTTPS, Google considera l’operazione uno spostamento del sito con modifiche agli URL. Ciò può influire temporaneamente sulle cifre relative al traffico. Per ulteriori informazioni, consulta la pagina recante una panoramica sullo spostamento di un sito.
Aggiungi la proprietà HTTPS a Search Console. Search Console gestisce HTTP e HTTPS separatamente, non condividendo i dati relativi a tali proprietà. Pertanto, se hai pagine che adottano entrambi i protocolli, devi indicare una proprietà Search Console distinta per ciascuno di essi.

Quindi ti basterà entrare in Search Console, aggiungere “una proprietà” e specificare il tuo solito dominio, con l’unica differenza che ora avrà https:// davanti. Al resto, salve tue specifiche necessità di diversa configurazione, ci penserà Google, secondo un intervallo variabile che servirà ad analizzare nuovamente i contenuti del sito disponibili, indicizzandoli quanto prima e rendendoli disponibili nelle sue ricerche. Continueranno -contestualmente- a rimanere disponibili anche tutti i dati in HTTP semplice.

WordPress: passaggio da HTTP a HTTPS 17

Troubleshooting

Questione di Cookie

Paragrafo che spero non ti serva, ma ti lascio un consiglio spassionato: avvia quanto prima una sessione anonima con il tuo browser preferito, quindi visita il tuo sito web ora sotto HTTPS. Tutto si vede correttamente? Noti problemi o strani caricamenti che non vanno a buon fine? Io l’ho scoperto dopo un un po’ di tempo (stupidamente non ci avevo pensato, sono un po’ un pirla) e grazie anche alla segnalazione di alcuni lettori (che ancora ringrazio). Il plugin che caricava il famoso blocco di accettazione cookie (per quella stupida legge europea), impediva al CSS di fare il suo lavoro, rendendo di fatto inutilizzabile il blog.

Ho sostituito il plugin di (eu-cookie-law-widget) con Cookie Notice di dFactory:

Cookie Notice for GDPR
Cookie Notice for GDPR
Developer: dFactory
Price: Free

Un .htaccess per intercettare ogni cosa

Update

Anche questo nasce dal commento di Emanuele (vedi commento),
ed entra in gioco perché è riuscito a collegarsi a uno dei contenuti del blog forzando manualmente il protocollo HTTP dalla barra dell’URL. Per questo motivo, ho messo in produzione una modifica del file .htaccess, che ognuno di noi ha nella root della propria installazione WordPress (cos’è un file .htaccess?), pari a quella da lui utilizzata.

ATTENZIONE: Prima di partire, il solito consiglio: occhio sempre a quello che tocchi e che rimuovi, effettua il backup del tuo file .htaccess per sicurezza, così potrai agilmente tornare indietro in caso di problemi.

Apri il tuo file .htaccess con un editor di testo e scorrilo fino a trovare qualcosa che assomigli a questo:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

A questo punto, inserisci ciò che ti permetterà di intercettare i tentativi di connessione via HTTP, che verranno automaticamente portati verso HTTPS:

RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Entrambe le righe possono essere inserite prima della RewriteBase /, ottenendo quindi questo risultato:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Se aggiornando il tuo blog (sia come utente autenticato, sia come visitatore ospite, mi raccomando!) qualcosa non dovesse funzionare, ripristina immediatamente il backup che avevi precedentemente effettuato. Probabilmente hai toppato qualcosa, o magari il codice riportato qui sopra non è adatto alla tua configurazione e occorrerà approfondire con il tuo fornitore di servizi (il provider sul quale hai acquistato il tuo piano di hosting).

Ora mi sembra che ci sia davvero tutto, spero di non aver dimenticato nulla.

Enjoy.

Condividi l'articolo con i tuoi contatti: