it-swarm.com.de

Wie aktiviere ich TLSv1.3 in Apache2?

Ich verwende die Apache2-Version:

Server version: Apache/2.4.29 (Ubuntu)
Server built:   2018-04-25T11:38:24

Ich möchte TLSv1.3 aktivieren, erhalte jedoch unten in Apache2 eine Fehlermeldung, wenn ich SSLProtocol TLSv1.2 TLSv1.3 in dem ssl.conf Datei:

# apachectl configtest

AH00526: Syntax error on line 79 of /etc/Apache2/mods-enabled/ssl.conf:
SSLProtocol: Illegal protocol 'TLSv1.3'
Action 'configtest' failed.
The Apache error log may have more information.

Ist es (noch) nicht möglich, TLSv1.3 in Apache2 zu aktivieren?

Ich weiß, dass Nginx das kann, aber diese Frage zielt auf Apache2 ab.

12
James Kowalski

TLSv1.3 wird von Apache 2.4 noch nicht unterstützt.

Wenn es von OpenSSL unterstützt wird (siehe Informationen hier) , sollte es auch Apache 2.4 haben.

4
Bora

Debian Buster = TLSv1.3 wird unterstützt

In Debian Buster (derzeit im Test) wird TLSv1.3 bereits unterstützt.

Die folgenden Informationen sind datiert auf:

# date -I

24.02.2019


Apache2-Version:

# Apache2 -v

Serverversion: Apache/ 2.4.38 (Debian)
Server erstellt: 2019-01-31 T20: 54: 05


Wo aktivieren

Weltweit in:

/etc/Apache2/mods-enabled/ssl.conf

Vor Ort in:

Ihre VirtualHost (s) befinden sich in:

/etc/Apache2/sites-enabled/

So aktivieren Sie

Bis zu diesem Datum ist TLSv1.1 endgültig veraltet. Sie möchten also nur TLSv1.2 und TLSv1.3.

Fügen Sie dazu diese Zeile in die oben genannte Datei ein:

SSLProtocol -all +TLSv1.3 +TLSv1.2

Chiffresuiten

Die Cipher Suites sind jetzt in zwei Kategorien unterteilt: SSL (unter TLSv1.3) und TLSv1.3, Sie möchten möglicherweise Ihren eigenen Satz von Chiffren verwenden. Nehmen Sie dies nur als Beispiel:

SSLCipherSuite    TLSv1.3   TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256
SSLCipherSuite    SSL       ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256

Kurven

Ein wichtiger Hinweis zum Ende:

Es gibt eine neue Kurve, die Sie aktivieren könnten/sollten: X25519 .

Sie können dies zum Beispiel so tun, wieder nur Beispiel:

SSLOpenSSLConfCmd Curves X25519:secp521r1:secp384r1:prime256v1

Beispiel für einen Domänentest in SSLLabs

Experimentell: Dieser Server unterstützt TLS 1.3 (RFC 8446).

(TLSv1.3 enabled

15

TLSv1.3 wird jetzt in Apache2 Version 2.4.36 mit OpenSSL 1.1.1 Source unterstützt.

12
obencs

Anmerkung der Redaktion

Beachten Sie, dass die Verwendung eines PPA Ihr System ruinieren könnte, zumindest die zukünftigen Distributions-Upgrades, zumindest aus meiner Erfahrung.


Wenn Sie bereit sind, das Risiko einzugehen ...

Sie können diese PPA verwenden. Dieser Befehl fügt sie problemlos zu Ihrem System hinzu:

Sudo add-apt-repository ppa:ondrej/Apache2

Zum Zeitpunkt dieses Schreibens war die aktuelle Version:

$ Apache2 -v

Server version: Apache/2.4.37 (Ubuntu)
Server built:   2018-10-28T15:27:08

TLSv1.3 wird in dieser Version unterstützt.

Um es global für alle VirtualHosts zu aktivieren, suchen Sie Ihr ssl.conf und setze:

SSLProtocol -all +TLSv1.2 +TLSv1.3

Starten Sie dann Apache2 neu und es sollte für einen Test bereit sein, insbesondere auf diesen Websites:

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

https://www.htbridge.com/ssl/

Mein Beispielergebnis = TLSv1.3 aktiviert

(My example result = TLSv1.3 enabled

3
Aryeh Beitz

Es stellte sich heraus, dass das Update auf OpenSSL 1.1.1 nicht ausreichte. Apache musste auch geändert sein. Diese Änderung war zurückportiert auf Version 2.4.29. Daher unterstützt Ubuntu 18.04 LTS seit Montag mit 2.4.29-1ubuntu4.12 TLS 1.3 ab Werk. Das war die Konfiguration, die auf dem Originalplakat erwähnt wurde.

TLS-Versionen, Cipher Suites und Kurven sind immer noch eine heiße Debatte, da die jüngste TLS 1.0-Ablehnung von Stack Exchange gezeigt ist. testssl.sh 3.0 war mit den Standardeinstellungen von Apache 2.4.29 und OpenSSL 1.1.1 sehr zufrieden. Daher sollten Sie überprüfen, ob Sie neuere Technologien wie die Kurve X448 oder TLS 1.3 nicht versehentlich deaktiviert haben. Wenn Sie beispielsweise SSLProtocol -all deaktivieren Sie alle anstehenden Protokollversionen. Wenn Sie beispielsweise SSLOpenSSLConfCmd Curves deaktivieren Sie alle anstehenden Kurven.

Folglich bin ich mir nicht sicher, ob es eine gute Idee ist, diese Standardeinstellungen einmal zu ändern und sie dann zu vergessen. Stattdessen habe ich für diejenigen, die die Standardeinstellungen ändern möchten und nach einer gepflegten Konfiguration suchen, Mozilla Generator als Ausgangspunkt verwendet. Am Ende des heutigen Tages - also überprüfen Sie es morgen noch einmal - und dank der bereits erwähnten Methode zum Konfigurieren der Kurven habe ich mich für die SSL_Conf_Cmd API entschieden:

SSLEngine on
#SSLOpenSSLConfCmd MinProtocol TLSv1 # commented because current default in Ubuntu 18.04 LTS
SSLOpenSSLConfCmd Ciphersuites TLS_AES_128_GCM_SHA256 # if you have the computing resources, consider not to Tweak this
SSLOpenSSLConfCmd CipherString ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA:AES128-SHA
SSLOpenSSLConfCmd Curves X25519:secp256r1:secp384r1 # if you have the computing resources, consider not to Tweak this
SSLOpenSSLConfCmd Options ServerPreference,-SessionTicket

Wenn Sie sich für eine duale ECDSA + RSA-basierte Zertifikatsinstallation entscheiden, z. B. ECC von Sectigo und RSA von RapidSSL, erfüllt die oben genannten Anforderungen Sicherheitsstufe , auch mit sehr alten Clients abwärtskompatibel.

1
Alexander Traud