TLS 1.3 è una versione del protocollo TLS (Transport Layer Security) che è stato pubblicato nel 2018 come standard proposto in RFC 8446. Offre miglioramenti di sicurezza e prestazioni rispetto ai suoi predecessori.
Questa guida mostrerà come abilitare TLS 1.3 usando il web server Apache su Debian 10.
Requisiti
- Istanza di Vultr Cloud Compute (VC2) che esegue Debian 10 (Buster).
- Un nome di dominio valido e record DNS
A
/ AAAA
/ correttamente configurati CNAME
per il tuo dominio.
- Un certificato TLS valido. Ne avremo uno da Let's Encrypt.
- Versione di Apache
2.4.36
o successiva.
- Versione OpenSSL
1.1.1
o successiva.
Prima di iniziare
Controlla la versione di Debian.
lsb_release -ds
# Debian GNU/Linux 10 (buster)
Crea un nuovo non-root
account utente con sudo
accesso e passa ad esso.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
NOTA : sostituisci johndoe
con il tuo nome utente .
Imposta il fuso orario.
sudo dpkg-reconfigure tzdata
Assicurati che il tuo sistema sia aggiornato.
sudo apt update && sudo apt upgrade -y
Installa i pacchetti necessari.
sudo apt install -y zip unzip curl wget git socat
Installa il acme.sh
client e ottieni un certificato TLS da Let's Encrypt
Installa acme.sh.
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
source ~/.bashrc
Controlla la versione
/etc/letsencrypt/acme.sh --version
# v2.8.2
Ottieni i certificati RSA ed ECDSA per il tuo dominio.
# RSA
sudo /etc/letsencrypt/acme.sh --issue --standalone -d example.com --ocsp-must-staple --keylength 2048
# ECC/ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone -d example.com --ocsp-must-staple --keylength ec-256
NOTA: sostituisci i example.com
comandi con il tuo nome di dominio.
Crea directory sensibili in cui archiviare i certificati e le chiavi. Useremo /etc/letsencrypt
.
sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installa e copia i certificati in / etc / letsencrypt.
# RSA
sudo /etc/letsencrypt/acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem
# ECC/ECDSA
sudo /etc/letsencrypt/acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem
Dopo aver eseguito i comandi sopra, i certificati e le chiavi saranno nei seguenti percorsi:
- RSA :
/etc/letsencrypt/example.com
- ECC / ECDSA :
/etc/letsencrypt/example.com_ecc
Installa Apache
Apache ha aggiunto il supporto per TLS 1.3 nella versione 2.4.36. Il sistema Debian 10 viene fornito con Apache e OpenSSL che supportano TLS 1.3 immediatamente, quindi non è necessario creare una versione personalizzata.
Scarica e installa l'ultimo ramo 2.4 di Apache tramite il apt
gestore pacchetti.
sudo apt install -y apache2
Controlla la versione
sudo apache2 -v
# Server version: Apache/2.4.38 (Debian)
# Server built: 2019-04-07T18:15:40
Ora che abbiamo installato Apache con successo, siamo pronti a configurarlo per iniziare a utilizzare TLS 1.3 sul nostro server.
Innanzitutto, abilitare il modulo SSL.
sudo a2enmod ssl
Riavvia Apache.
sudo systemctl restart apache2
Esegui sudo vim /etc/apache2/sites-available/example.com.conf
e popola il file con la seguente configurazione di base.
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
# RSA
SSLCertificateFile "/etc/letsencrypt/example.com/fullchain.pem"
SSLCertificateKeyFile "/etc/letsencrypt/example.com/private.key"
# ECC
SSLCertificateFile "/etc/letsencrypt/example.com_ecc/fullchain.pem"
SSLCertificateKeyFile "/etc/letsencrypt/example.com_ecc/private.key"
</VirtualHost>
</IfModule>
Salva il file ed esci.
Attiva il nuovo file di configurazione collegando il file alla sites-enabled
directory.
sudo a2ensite example.com.conf
Controlla la configurazione.
sudo apachectl configtest
Ricarica Apache.
sudo systemctl reload apache2
Apri il tuo sito tramite il protocollo HTTPS nel tuo browser web. Per verificare TLS 1.3, è possibile utilizzare gli strumenti di sviluppo del browser o il servizio SSL Labs. Le schermate seguenti mostrano la scheda di sicurezza di Chrome con TLS 1.3 in azione.


TLS 1.3 è stato abilitato correttamente in Apache sul server Debian 10. La versione finale di TLS 1.3 è stata definita nell'agosto 2018, quindi non c'è momento migliore per iniziare ad adottare questa nuova tecnologia.