installare https Linux Server

stampa questo articolo
Hai appeno acquistato un Virtual Private Server Linux e vuoi mettere in sicurezza il tuo website? In questo articolo ti descrivo come installare (gratis) il protocollo sicuro https sul tuo Linux Server usando certbot e Let’s Encrypt per Ubuntu 18.04 ed apache.

La sicurezza è fondamentale ed il protocollo https è ormai diventato indispensabile per ogni website, webapp o applicazione pubblicata su internet.

Se utilizzi un Hosting Condiviso hai sicuramente un pannello amministrativo (es. CPanel) che ti consente con pochi semplici click di installare il protocollo https, ma se invece hai appena acquistato un VPS Linux?

Tranquillo, niente panico. In questo articolo ti descrivo passo passo come installare il protocollo sicuro sul tuo Linux Server.

La guida è pensata per Ubuntu Server 18.04, ma con pochissime modifiche potrai adattarla anche ad altre distribuzioni Linux (Fedora, RHEL, Centos, … ).

Stai ancora cercando un VPS e non sai quale scegliere? Allora ti consiglio di leggere questo mio articolo su linode che offre SSD Cloud Server Linux a soli 5$ / mese.

Hai installato apache?

Prima di cominciare assicurati di avere un account Linux (preferibilmente non l’account root) con privilegi sudo attivi.

Poi verifica che il web server Apache sia attivo e funzionante, in caso contrario potrai installarlo con questi semplici comandi.

sudo apt update
sudo apt install apache2

Ora verifica che Apache sia funzionante con il comando

sudo systemctl status apache2

E per finire digita la url del tuo server nel browser, dovresti vedere la welcome page di Apache per Ubuntu.

Installa il client Let’s Encrypt (certbot)

Ci siamo, Apache è installato ed ora procediamo con l’installazione e la configurazione del protocollo https.

Aggiungi certbot alla repository Ubuntu, ovvero il client Let’s Encrypt

sudo add-apt-repository ppa:certbot/certbot

Premi invio quando richiesto, poi aggiorna la repository ed installa certbot

sudo apt update
sudo apt install python-certbot-apache

Premi Y ed invio quando richiesto per completare l’installazione.

Ottieni un nuovo certificato

Ora devi richiedere un nuovo certificato per il tuo dominio (Es. www.miodomino.com) con il comando:

sudo certbot --apache -d www.miodomino.com

Ti verrà chiesto di inserire una mail attraverso la quale potresti essere ricontattato per rinnovi o richieste.

Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel):

Inserisci una tua mail valida.

Poi ti verrà chiesto di accettare il termini del servizio

Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel:

Accetta i termini digitando A più invio.

Per finire ti verrà chiesto di condividere la tua mail

Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
---------------------------------------------------------------------------
(Y)es/(N)o:

Rifiuta di condividere la tua mail premendo N più invio

A questo punto ti verrà chiesto se instradare tutto il traffico, anche quello in http, su protocollo sicuro https. E’ buona norma fare questo redirect, ma scegli anche in funzione di quello che è il traffico del tuo website.

Il risultato di una installazione andata a buon fine dovrebbe essere simile al seguente screenshot

installare https Linux Server 4 1024x424 - Come installare (gratis) il protocollo https sul tuo Linux Server (Ubuntu 18.04)

Verifica e rinnovo del certificato

Appena hai terminato l’installazione puoi fare un test di congruenza dalla url

https://www.ssllabs.com/ssltest/

Inserisci l’indirizzo del tuo nuovo sito ed attendi il risultato, dovresti ottenere una schermata simile a questa

https linux test

I certificati Let’s Encrypt scadono dopo 90 giorni, certbot effettua per te un rinnovo automatico del tuo certificato a ridosso della scadenza. Per verificare che la procedura di rinnovo funzioni correttamente effettua un test con il comando

sudo certbot renew --dry-run

Metti in sicurezza il server con ufw

Il tuo web server è ora in sicurezza grazie al protocollo https, se però vuoi mettere in sicurezza anche il sistema operativo ti consiglio di abilitare anche il firewall di Ubuntu (ufw) e aprire solo le rotte che realmente utilizzi.

Per abiltare il firewall digita il comando

sudo ufw enable

Poi verifica il firewall con il comando

sudo ufw status

Ora abilita solo le “rotte web” ovvero le porte TCP utilizzate da Apache con il comando

sudo ufw allow 'Apache Full'

Disabilita eventuali altre rotte non utilizzate con il comando

sudo ufw deny porta/protocollo

Esempio, per disabilitare la porta 53 in tcp ed udp i comandi sono questi

sudo ufw deny 53/tcp
sudo ufw deny 53/udp

Ora il tuo Linux Server è veramente in sicurezza.

Conclusioni

In questo articolo ti ho mostrato come abilitare il protocollo https ed il firewall su un Linux Server Ubuntu 18.04 per metterlo in sicurezza attraverso delle “Buone Pratiche” sistemistiche.

Esistono tuttavia anche degli accorgimenti di tipo “applicativo” (software) legati alla sicurezza informatica che non andrebbero mai sottovalutati.

Per ultimo non dimenticare mai di gestire un backup dei tuoi sistemi, la sicurezza è un aspetto fondamentale e determinante per le applicazioni del futuro.

Se hai domande, richieste o vorresti altre informazioni in tal senso puoi contattarmi oppure lasciare un commento a questo articolo. Sarò lieto di risponderti.

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here