Archives For Sviluppo Web

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
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:

Il titolo è volutamente simile a quanto già scritto poco tempo fa, e vuole analizzare alcuni consigli che anche io cerco di dare a chiunque si mette a preparare una nuova installazione WordPress (spero prima per sé, poi forse –con buona esperienza sulle spalle– anche per altri), anche se in realtà i concetti di base valgono per qualsiasi accesso a qualunque servizio disponibile sulla grande rete. Basandomi sul blog di chi iThemes Security lo scrive, riporto alcuni passaggi secondo me fondamentali.

WordPress e Authy: autenticazione OneTouch 6

According to this infographic by WP Template on WordPress safety, insecure WordPress themes and plugins contribute to over 50% of all successful WordPress hacks.

Plugins and themes have to go through a screening process before they are released for public use from the WordPress.org plugin repository, so it is important to download your plugins and themes from trustworthy sources and always keep active themes and plugins update to the latest version.

fonte: ithemes.com/2016/11/08/wordpress-hacks

e ancora:

Using the same password on multiple sites is risky.

Using strong passwords for all your logins is one of the best online security practices you can develop.

The best practice to follow is creating a different password for every sing website you are registered on. Definitely don’t use the password you use for your bank account on another site.

An average of 30,000 sites are hacked every day.
This should give you an idea of how many people are affected by cyber attacks, and motivate you to use stronger passwords.

fonte: ithemes.com/2016/11/04/brute-force-attacks

Che poi non è che proprio ci voglia la scala eh. Strumenti come KeePass o simili (anche quelli completamente in cloud) sono fatti apposta per ricordarti password altrimenti (probabilmente) molto difficili da ricordare, soprattutto quando decidi di lasciare fare loro nella fase di generazione di una nuova password complessa. Vale anche il vecchio (ma ancora perfetto) consiglio del “utilizza password apparentemente stupide“, perché ti assicuro che “Il cavallo bianco di Napoleone!” può essere una password certamente più complessa della targa della tua automobile (puoi provare tu stesso su passwordmeter.com, tanto per levarti la curiosità).

Sulla base di ciò, è semplice stilare una ToDo List da tenere sempre bene a mente:

  • Sempre tenere aggiornato il tuo WordPress. Questo vale per il motore principale del CMS, ma anche (soprattutto, in realtà) plugin, temi e codice personalizzato che potresti aver scritto e poi dimenticato lì dopo poco, offrendo una possibile backdoor poco simpatica. Se il server che lo ospita è controllato da te, occorre tenere aggiornato ciò che gli permette di stare online (server web, MySQL, PHP, ecc.).
  • Disinstallare sempre plugin e temi non più utilizzati. Perché qui non si tratta solo di pulizia (sicuramente necessaria per tenere sempre snella l’installazione), ma perché così si vanno a chiudere possibili ulteriori falle, esattamente come da ragionamento del precedente punto della lista.
  • Utilizzare password complesse per ciascun account, possibilmente. Perché se è vero che il tuo blog è aperto alle iscrizioni (e si basa così sul buon senso dei tuoi utenti), è -spero- anche vero che tu possa stabilire delle regole precise per le password di coloro che possono pubblicare qualcosa, o peggio che possono modificare il comportamento del blog intero (un amministratore, tanto per essere chiari).
  • Abilitare l’autenticazione in due fattori per WordPress. E qui ti rimando all’articolo dedicato ad Authy e alla sua possibile integrazione con WordPress, comoda, funzionale, sicura.
  • Cancellare o declassare l’account “admin” predefinito di WordPress. Detto e stradetto, anche nel mio precedente articolo sulla protezione degli accessi alla Dashboard amministrativa, perché quell’utente creato di default nel database, è sempre scomodo e attaccabile (perché è quello che si da per scontato che esista).
  • Scegliere un buon hosting provider per il proprio CMS. Perché la sicurezza comincia dalle fondamenta, e affidarsi a chiunque non è –probabilmente– la migliore scelta, almeno per come la vedo io (e non solo). Un buon partner (perché di questo si tratta, nda) è quello che è sempre attento e pronto ad affrontare una difficoltà, a suggerirti le prossime mosse da fare, a bloccare chi è sgradito prima che faccia danni (più di quanti ne abbia già fatti entrando nel tuo sistema), e che ci tiene alla salvaguardia dei tuoi dati ma anche di coloro che abitano nel tuo stesso “condominio” (quando si parla di hosting condiviso, molto diffuso e primo step per tutti).
  • Scarica plugin e temi solo da fonti sicure. Evita come la peste siti web che promettono di regalarti il tema all’ultimo grido, creati con ore di sudato lavoro e ricchi di plugin solitamente a pagamento, pacchetti “all-in-one” appositamente clonati da siti web che li vendono e supportano quotidianamente. Spesso quei temi contengono codice malevolo, codificato (quindi di difficile decodifica per chi è alle prime armi), da qui in poi è tutto un salto nel buio. Se pensi che un tema sia assolutamente irresistibile, valuta l’acquisto della sua licenza, otterrai così anche un aiuto qualificato in caso di problemi, certamente meno costoso di qualcuno in grado di rimetterti in piedi dopo un deface (o simile) ai danni del tuo sito web.

Hai altri consigli? Vuoi raccontare la tua esperienza e dare qualche suggerimento in merito? L’area commenti –manco a dirlo– è a tua completa disposizione :-)

Condividi l'articolo con i tuoi contatti: