Hai un sito web? Utilizza un certificato SSL

Se avete un sito web si consiglia di utilizzare un certificato SSL. Perché è importante?
A partire dal prossimo anno, Chrome etichetterà le connessioni HTTP come non sicure. Infatti con la release 56 nel Gennaio 2017 Mountain View ha confermato che “contrassegnerà” le connessioni HTTP come insicure.
Questa non è la sola manovra di Google per spingere ad adottare il protocollo HTTPS (HTTP Secure).
La crittografia HTTPS è anche un fattore di ranking, infatti le pagine HTTPS sono indicizzate prima rispetto alle pagine HTTP dal famoso motore di ricerca.
Quindi la crittografia HTTPS oltre a fornire una maggiore protezione favorisce un miglior posizionamento nella SERP di Google.

Molti hosting danno la possibilità di acquistare come opzione un certificato SSL, altri li includono gratuitamente in alcuni piani proposti.
Alcuni fornitori di hosting supportano Let’s Encrypt, che permette di avere un certificato gratuitamente.

Una volta installato un certificato SSL è possibile effettuare il redirect da HTTP a HTTPS aggiungendo quanto segue al file .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

In questo modo digitando l’indirizzo del sito HTTP si verrà reindirizzati all’indirizzo con HTTPS.

Può capitare che qualcosa non funzioni utilizzando il protocollo HTTPS, è possibile utilizzare il servizio gratuito Why No Padlock? che effettua una scansione del sito mostrando ciò che è ok e se ci sono errori.

L’importanza del protocollo HTTPS

L’HTTPS è un protocollo che permette di trasmettere/ricevere dati relativamente al traffico HTTP (quindi tipicamente quello della navigazione web) in modo criptato.

L’utilizzo più diffuso è quello dell’autenticazione nei siti web; ciò permette di far viaggiare le proprie credenziali (login/password) in modo sicuro.

Ormai molti siti/servizi online lo implementano, anche se diversi non di default (si veda ad esempio Facebook, Twitter e Google); generalmente basta utilizzare lo stesso indirizzo aggiungendo una s in più, e quindi l’indirizzo diventa https://

Se non si vuole fare manualmente questa operazione ci vengono in aiuto delle estensioni per browser.
Per Firefox abbiamo HTTPS Everywhere, per Google Chrome abbiamo KB SSL Enforcer e per Opera abbiamo Redirect to HTTPS.
Queste estensioni hanno una loro lista di siti supportati con cui è possibile utilizzare il protocollo https.

Il seguente video Youtube illustra meglio la differenza tra i 2 protocolli

Come si può notare i dati di un’autenticazione tramite HTTP vengono passati in chiaro e quindi potenzialmente a rischio di essere sniffati (catturati) da malintenzionati tramite programmi appositi (ad esempio il conosciuto Wireshark) mentre quelli passati tramite protocollo HTTPS sono in forma criptata.

E’ buona norma che tutti i siti/servizi utilizzassero il protocollo HTTPS per far viaggiare i dati sensibili, qualora non fosse possibile per varie ragioni (es. il web hosting non lo supporta) i webmaster possono ricorrere a soluzioni di terze parti quali OpenID che oltre a fornire un livello di sicurezza permette di avere un’unico login da ricordare!

Altra soluzione sempre più diffusa è quella di adottare il login tramite servizi sociali quali Facebook e Twitter.

Come impostare connessione db MySQL remota utilizzando HTTP tunneling

I provider hosting, così come quello che ospita questo sito, forniscono degli strumenti online per la creazione/gestione database (cPanel, phpMyAdmin per esempio). Molti provider generalmente “bannano” l’utilizzo di strumenti per connettersi remotamente al db, ad esempio l’utilizzo di client desktop appositi.

Esiste però un modo di “bypassare” questo meccanismo collegandosi tramite http tunneling. In pratica in questo modo si forza il client ad effettuare una richiesta utilizzando il protocollo http, e quindi la porta tcp 80, e non viene bloccato.

Vediamo come effettuare questo tipo di collegamento con 2 programmi gratuiti, EMS SQL Manager e Navicat Lite.

Con il primo una volta installato bisogna copiare il file emsproxy.php che si trova dove è stato installato il programma all’interno del proprio server web. Fatto questo lanciamo il programma e andiamo nel menu Database e selezioniamo Register Database, qui dobbiamo impostare i parametri di connessione al nostro db MySQL remoto e cosa molto importante mettere il checkbox alla voce “use HTTP tunneling”. Nello step successivo inserire l’url completo dove abbiamo messo il file php uppato e confermare. Inserire quindi il nome del proprio database e premere su Finish.
In questo modo saremmo connessi ad esso e potremmo interagire ed eseguire tutte le operazioni direttamente da client desktop!

Con l’altro programma, Navicat Lite, è lo stesso principio.
Una volta installato posizioniamoci all’interno della cartella e uppiamo il file ntunnel_mysql.php, apriamo il programma e cliccare sul bottone Connection e selezionare MySQL. Nella finestra che apparirà digitare i propri dati, quindi posizionarsi nella tab HTTP e spuntare la voce “Use HTTP tunnel”; inserire quindi l’URL completo del file uppato e dare l’ok (si può anche provare se la connessione funziona cliccando il pulsante Test connection).

Ricevi gli aggiornamenti del blog

Vuoi rimanere aggiornato riguardo gli ultimi articoli pubblicati nel blog? Inserisci la tua email per sottoscriverti alla newsletter!