TLS 1.3 ist eine Version des TLS-Protokolls (Transport Layer Security), das 2018 als vorgeschlagener Standard in RFC 8446 veröffentlicht wurde. Es bietet Sicherheits- und Leistungsverbesserungen gegenüber seinen Vorgängern.
In diesem Handbuch wird gezeigt, wie TLS 1.3 mithilfe des Apache-Webservers unter Debian 10 aktiviert wird.
Bedarf
- VC2-Instanz (Vultr Cloud Compute) mit Debian 10 (Buster).
- Ein gültiger Domain - Name und richtig konfigurierte
A/ AAAA/ CNAMEDNS - Datensätze für Ihre Domain.
- Ein gültiges TLS-Zertifikat. Wir werden eine von Let's Encrypt bekommen.
- Apache-Version
2.4.36oder höher.
- OpenSSL-Version
1.1.1oder höher.
Bevor Sie beginnen
Überprüfen Sie die Debian-Version.
lsb_release -ds
# Debian GNU/Linux 10 (buster)
Erstellen Sie ein neues non-rootBenutzerkonto mit sudoZugriff und wechseln Sie zu diesem.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
HINWEIS : Ersetzen Sie johndoedurch Ihren Benutzernamen .
Richten Sie die Zeitzone ein.
sudo dpkg-reconfigure tzdata
Stellen Sie sicher, dass Ihr System auf dem neuesten Stand ist.
sudo apt update && sudo apt upgrade -y
Installieren Sie die benötigten Pakete.
sudo apt install -y zip unzip curl wget git socat
Installieren Sie den acme.shClient und erhalten Sie ein TLS-Zertifikat von Let's Encrypt
Installieren Sie 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
Überprüfe die Version.
/etc/letsencrypt/acme.sh --version
# v2.8.2
Erhalten Sie RSA- und ECDSA-Zertifikate für Ihre Domain.
# 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
HINWEIS: Ersetzen Sie example.comBefehle durch Ihren Domainnamen.
Erstellen Sie sinnvolle Verzeichnisse, in denen Sie Ihre Zertifikate und Schlüssel speichern können. Wir werden verwenden /etc/letsencrypt.
sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Installieren und kopieren Sie Zertifikate nach / 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
Nachdem Sie die obigen Befehle ausgeführt haben, befinden sich Ihre Zertifikate und Schlüssel an folgenden Orten:
- RSA :
/etc/letsencrypt/example.com
- ECC / ECDSA :
/etc/letsencrypt/example.com_ecc
Installieren Sie Apache
Apache hat Unterstützung für TLS 1.3 in Version 2.4.36 hinzugefügt. Das Debian 10-System wird mit Apache und OpenSSL geliefert, die TLS 1.3 standardmäßig unterstützen, sodass keine benutzerdefinierte Version erstellt werden muss.
Laden Sie den neuesten 2.4-Zweig von Apache über den aptPaketmanager herunter und installieren Sie ihn .
sudo apt install -y apache2
Überprüfe die Version.
sudo apache2 -v
# Server version: Apache/2.4.38 (Debian)
# Server built: 2019-04-07T18:15:40
Nachdem wir Apache erfolgreich installiert haben, können wir es so konfigurieren, dass TLS 1.3 auf unserem Server verwendet wird.
Aktivieren Sie zunächst das SSL-Modul.
sudo a2enmod ssl
Starten Sie Apache neu.
sudo systemctl restart apache2
Führen Sie sudo vim /etc/apache2/sites-available/example.com.confdie Datei aus und füllen Sie sie mit der folgenden Grundkonfiguration.
<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>
Speichern Sie die Datei und beenden Sie sie.
Aktivieren Sie die neue Konfigurationsdatei, indem Sie die Datei mit dem sites-enabledVerzeichnis verknüpfen .
sudo a2ensite example.com.conf
Überprüfen Sie die Konfiguration.
sudo apachectl configtest
Laden Sie Apache neu.
sudo systemctl reload apache2
Öffnen Sie Ihre Site über das HTTPS-Protokoll in Ihrem Webbrowser. Um TLS 1.3 zu überprüfen, können Sie Browser-Entwicklungstools oder den SSL Labs-Dienst verwenden. Die folgenden Screenshots zeigen die Registerkarte "Sicherheit" von Chrome mit TLS 1.3 in Aktion.


Sie haben TLS 1.3 in Apache erfolgreich auf Ihrem Debian 10-Server aktiviert. Die endgültige Version von TLS 1.3 wurde im August 2018 definiert, daher gibt es keinen besseren Zeitpunkt, um mit der Einführung dieser neuen Technologie zu beginnen.