TLS 1.3 est une version du protocole TLS (Transport Layer Security) qui a été publié en 2018 en tant que norme proposée dans la RFC 8446. Il offre des améliorations de sécurité et de performances par rapport à ses prédécesseurs.
Ce guide vous montrera comment activer TLS 1.3 à l'aide du serveur Web Apache sur Debian 10.
Exigences
- Instance Vultr Cloud Compute (VC2) exécutant Debian 10 (Buster).
- Un nom de domaine valide et des enregistrements
A/ AAAA/ CNAMEDNS correctement configurés pour votre domaine.
- Un certificat TLS valide. Nous en obtiendrons un de Let's Encrypt.
- Version Apache
2.4.36ou supérieure.
- Version OpenSSL
1.1.1ou supérieure.
Avant que tu commences
Vérifiez la version Debian.
lsb_release -ds
# Debian GNU/Linux 10 (buster)
Créez un nouveau non-rootcompte utilisateur avec sudoaccès et passez-y.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
REMARQUE : remplacez johndoepar votre nom d'utilisateur .
Configurez le fuseau horaire.
sudo dpkg-reconfigure tzdata
Assurez-vous que votre système est à jour.
sudo apt update && sudo apt upgrade -y
Installez les packages nécessaires.
sudo apt install -y zip unzip curl wget git socat
Installez le acme.shclient et obtenez un certificat TLS de Let's Encrypt
Installez 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
Vérifiez la version.
/etc/letsencrypt/acme.sh --version
# v2.8.2
Obtenez des certificats RSA et ECDSA pour votre domaine.
# 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
REMARQUE: remplacez les example.comcommandes par votre nom de domaine.
Créez des répertoires judicieux pour stocker vos certificats et clés. Nous utiliserons /etc/letsencrypt.
sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installez et copiez les certificats dans / 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
Après avoir exécuté les commandes ci-dessus, vos certificats et clés seront dans les emplacements suivants:
- RSA :
/etc/letsencrypt/example.com
- ECC / ECDSA :
/etc/letsencrypt/example.com_ecc
Installer Apache
Apache a ajouté la prise en charge de TLS 1.3 dans la version 2.4.36. Le système Debian 10 est livré avec Apache et OpenSSL qui prennent en charge TLS 1.3, il n'est donc pas nécessaire de créer une version personnalisée.
Téléchargez et installez la dernière branche 2.4 d'Apache via le aptgestionnaire de paquets.
sudo apt install -y apache2
Vérifiez la version.
sudo apache2 -v
# Server version: Apache/2.4.38 (Debian)
# Server built: 2019-04-07T18:15:40
Maintenant que nous avons installé Apache avec succès, nous sommes prêts à le configurer pour commencer à utiliser TLS 1.3 sur notre serveur.
Tout d'abord, activez le module SSL.
sudo a2enmod ssl
Redémarrez Apache.
sudo systemctl restart apache2
Exécutez sudo vim /etc/apache2/sites-available/example.com.confet remplissez le fichier avec la configuration de base suivante.
<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>
Enregistrez le fichier et quittez.
Activez le nouveau fichier de configuration en liant le fichier au sites-enabledrépertoire.
sudo a2ensite example.com.conf
Vérifiez la configuration.
sudo apachectl configtest
Rechargez Apache.
sudo systemctl reload apache2
Ouvrez votre site via le protocole HTTPS dans votre navigateur Web. Pour vérifier TLS 1.3, vous pouvez utiliser les outils de développement du navigateur ou le service SSL Labs. Les captures d'écran ci-dessous montrent l'onglet de sécurité de Chrome avec TLS 1.3 en action.


Vous avez correctement activé TLS 1.3 dans Apache sur votre serveur Debian 10. La version finale de TLS 1.3 a été définie en août 2018, il n'y a donc pas de meilleur moment pour commencer à adopter cette nouvelle technologie.