Comment activer TLS 1.3 dans Apache et Nginx

Comment activer TLS 1.3 dans Apache et Nginx

TLS 1.3 est la dernière version du Sécurité de la couche de transport (TLS) protocole et il est basé sur le 1 existant.2 Spécifications avec une norme IETF appropriée: RFC 8446. Il offre une sécurité plus forte et des améliorations de performances plus élevées par rapport à ses prédécesseurs.

Dans cet article, nous vous montrerons un guide étape par étape pour obtenir un certificat TLS valide et activer le dernier TLS 1.3 Protocole de version sur votre domaine hébergé sur Apache ou Nginx serveurs Web.

Exigences:

  • Apache version 2.4.37 ou plus.
  • Nginx Version 1.13.0 ou plus.
  • OpenSSL Version 1.1.1 ou plus.
  • Un nom de domaine valide avec des enregistrements DNS correctement configurés.
  • Un certificat TLS valide.

Installez le certificat TLS de Let's Encrypt

Pour obtenir un gratuit Certificat SSL depuis Escryptons, Vous devez installer Acmé.shot client et également quelques packages nécessaires sur le système Linux comme indiqué.

# apt install -y socat git [sur debian / ubuntu] # dnf install -y socat git [sur rhel / centos / fedora] # mkdir / etc / letsencrypt # git clone https: // github.com / neilpang / acme.shot.git # cd acme.sh # ./acmé.sh --install --home / etc / lesencrypt --accountEmail [e-mail protégé] # CD ~ # / etc / letSencrypt / acme.sh --issue --standalone --home / etc / LetSencrypt -d Exemple.com --ocsp-most-staple --keylength 2048 # / etc / lesencrypt / acme.sh --issue --standalone --home / etc / LetSencrypt -d Exemple.com --ocsp-most-staple --ykength ec-256 

NOTE: Remplacer exemple.com dans la commande ci-dessus avec votre vrai nom de domaine.

Une fois que le certificat SSL est installé, vous pouvez continuer à activer TLS 1.3 sur votre domaine comme expliqué ci-dessous.

Activer TLS 1.3 sur nginx

Comme je l'ai mentionné dans les exigences ci-dessus, que TLS 1.3 est pris en charge à partir de Nginx 1.13 version. Si vous exécutez l'ancienne version Nginx, vous devez d'abord passer à la dernière version.

# apt install nginx # yum install nginx 

Vérifier la Nginx version et le OpenSSL version contre laquelle Nginx a été compilé (assurez-vous que le nginx La version est au moins 1.14 et OpenSSL version 1.1.1).

# nginx -v 
Échantillon de sortie
Version Nginx: Nginx / 1.14.1 Construit par GCC 8.2.1 20180905 (Red Hat 8.2.1-3) (GCC) construit avec OpenSSL 1.1.1 FIPS 11 sept. 2018 TLS SNI Prise en charge activée… 

Maintenant, démarrez, activez et vérifiez l'installation de Nginx.

# systemctl start nginx.service # systemctl activer nginx.Service # Statut SystemCTL Nginx.service 

Ouvrez maintenant la configuration nginx vhost / etc / nginx / confre.d / exemple.com.confli Fichier en utilisant votre éditeur préféré.

# vi / etc / nginx / confr.d / exemple.com.confli 

et localiser ssl_protocols directive et ajouter TLSV1.3 à la fin de la ligne comme indiqué ci-dessous

Server écouter 443 SSL HTTP2; Écoutez [::]: 443 SSL HTTP2; Exemple de nom.com; # RSA SSL_CERTIFATE / ETC / LETSENCRYPT / EXEMPLE.com / fullchain.cer; ssl_certificate_key / etc / lesencrypt / exemple.com / exemple.com.clé; # Ecdsa ssl_certificate / etc / letSencrypt / Exemple.com_ecc / fullchain.cer; ssl_certificate_key / etc / lesencrypt / exemple.com_ecc / exemple.com.clé; SSL_PROTOCOLS TLSV1.2 TLSV1.3; Ecdhe-ECDSA-AES256-GCM-SHA384 de SSL_CIPHER RSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES256-SHA384: ECDHE-RSA-AES256-SHA384: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA256 '; ssl_prefer_server_ciphers sur;  

Enfin, vérifiez la configuration et recharger nginx.

# nginx -t # SystemCTL Reload nginx.service 

Activer TLS 1.3 dans Apache

À partir de Apache 2.4.37, Vous pouvez profiter de TLS 1.3. Si vous exécutez l'ancienne version de Apache, Vous devez d'abord passer à la dernière version.

# apt install apache2 # yum install httpd 

Une fois installé, vous pouvez vérifier l'Apache et la version OpenSSL par rapport à laquelle Apache a été compilé.

# httpd -v # OpenSSL Version 

Maintenant, démarrez, activez et vérifiez l'installation de Nginx.

-------------- Sur Debian / Ubuntu -------------- # systemctl start apache2.service # systemctl activer apache2.service # statut systemctl apache2.service -------------- Sur rhel / centos / fedora -------------- # systemctl start httpd.Service # SystemCTL Activer Httpd.Service # Statut SystemCTL Httpd.service 

Ouvrez maintenant le fichier de configuration de l'hôte virtuel Apache à l'aide de votre éditeur préféré.

# vi / etc / httpd / confre.d / vhost.confue ou # vi / etc / apache2 / apache2.confli 

et localiser ssl_protocols directive et ajouter TLSV1.3 à la fin de la ligne comme indiqué ci-dessous.

 Sslengine sur # RSA SSL_CERTIFATE / ETC / LETSENCRYPT /.com / fullchain.cer; ssl_certificate_key / etc / lesencrypt / exemple.com / exemple.com.clé; # Ecdsa ssl_certificate / etc / letSencrypt / Exemple.com_ecc / fullchain.cer; ssl_certificate_key / etc / lesencrypt / exemple.com_ecc / exemple.com.clé; SSL_PROTOCOLS TLSV1.2 TLSV1.3 Ecdhe-ECDSA-AES256-GCM-SHA384 de SSL_CIPHER RSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES256-SHA384: ECDHE-RSA-AES256-SHA384: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA256 '; ssl_prefer_server_ciphers sur; Sslcertificatefile / etc / lesencrypt / live / exemple.com / Cert.pem sslcertificatekeyfile / etc / letSencrypt / live / exemple.com / privkey.pem sslcertificatechainfile / etc / lesencrypt / live / exemple.com / chaîne.pem serveradmin [Protégé par e-mail] servername www.exemple.COM Serveralias Exemple.com #DocumentRoot / data / httpd / htdocs / exemple.com / documentroot / data / httpd / htdocs / example_hueman / # Locations de fichiers journaux Loglevel Warn errorlog / var / log / httpd / exemple.com / httpserror.log Customlog "| / usr / sbin / rotatelogs / var / log / httpd / exemple.com / httpsaccess.enregistrer.% Y-% m-% d 86400 "combiné  

Enfin, vérifiez la configuration et rechargez Apache.

-------------- Sur Debian / Ubuntu -------------- # apache2 -t # reload systemctl apache2.service -------------- Sur rhel / centos / fedora -------------- # httpd -t # Systemctl Reload httpd.service 

Vérifier que le site utilise TLS 1.3

Une fois que vous avez configuré via un serveur Web, vous pouvez vérifier que votre site est à la main TLS 1.3 protocole utilisant des outils de développement de navigateur Chrome sur Chrome 70+ version.

Vérifiez TLS 1.3 Protocole sur le domaine

C'est tout. Vous avez réussi à activer TLS 1.3 Protocole sur votre domaine hébergé sur les serveurs Web Apache ou Nginx. Si vous avez des questions sur cet article, n'hésitez pas à demander dans la section des commentaires ci-dessous.