Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:apache_http_server_archlinux_-_mod_ssl_-_verschluesselung_https

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:apache_http_server_archlinux_-_mod_ssl_-_verschluesselung_https [2022/06/06 08:28] – [SSL-Ciphers - Apache] klaustachtler:apache_http_server_archlinux_-_mod_ssl_-_verschluesselung_https [2022/06/11 09:22] (aktuell) – [SSL-Ciphers - Apache] klaus
Zeile 84: Zeile 84:
 #   httpd 2.2.30, 2.4.13 and later force-disable aNULL, eNULL and EXP ciphers, #   httpd 2.2.30, 2.4.13 and later force-disable aNULL, eNULL and EXP ciphers,
 #   while OpenSSL disabled these by default in 0.9.8zf/1.0.0r/1.0.1m/1.0.2a. #   while OpenSSL disabled these by default in 0.9.8zf/1.0.0r/1.0.1m/1.0.2a.
-SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES +# Tachtler 
-SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES +# default: SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES 
 +SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 
 +# default: SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES 
 +SSLProxyCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 
 + 
 #  By the end of 2016, only TLSv1.2 ciphers should remain in use. #  By the end of 2016, only TLSv1.2 ciphers should remain in use.
 #  Older ciphers should be disallowed as soon as possible, while the #  Older ciphers should be disallowed as soon as possible, while the
Zeile 99: Zeile 102:
 # SSLCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA # SSLCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA
 # SSLProxyCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA # SSLProxyCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA
 + 
 #   User agents such as web browsers are not configured for the user's #   User agents such as web browsers are not configured for the user's
 #   own preference of either security or performance, therefore this #   own preference of either security or performance, therefore this
 #   must be the prerogative of the web server administrator who manages #   must be the prerogative of the web server administrator who manages
 #   cpu load versus confidentiality, so enforce the server's cipher order. #   cpu load versus confidentiality, so enforce the server's cipher order.
-SSLHonorCipherOrder on  +SSLHonorCipherOrder on 
 + 
 #   SSL Protocol support: #   SSL Protocol support:
 #   List the protocol versions which clients are allowed to connect with. #   List the protocol versions which clients are allowed to connect with.
Zeile 111: Zeile 114:
 #   disabled as quickly as practical.  By the end of 2016, only the TLSv1.2 #   disabled as quickly as practical.  By the end of 2016, only the TLSv1.2
 #   protocol or later should remain in use. #   protocol or later should remain in use.
-SSLProtocol all -SSLv3 +# Tachtler 
-SSLProxyProtocol all -SSLv3+# default: SSLProtocol all -SSLv3 
 +SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 
 +# Tachtler 
 +# default: SSLProxyProtocol all -SSLv3 
 +SSLProxyProtocol all -SSLv3 -TLSv1 -TLSv1.1
  
 #   Pass Phrase Dialog: #   Pass Phrase Dialog:
Zeile 337: Zeile 344:
 </code> </code>
 ++++ ++++
 +
 +**__Erklärungen__**:
 +
 +  * <code apache>SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384</code>
 +
 +Diese komplexe Direktive verwendet eine durch Doppelpunkte getrennte Cipher-Zeichenkette, die aus OpenSSL-Cipher-Spezifikationen besteht, um die Cipher Suite zu konfigurieren, die der Client in der SSL-Handshake-Phase aushandeln darf. Der optionale Protokollspezifizierer kann die Cipher Suite für eine bestimmte SSL-Version konfigurieren.
 +
 +  * <code apache>SSLProxyCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384</code>
 +
 +Diese Direktive kann verwendet werden, um die SSL-Protokollvarianten zu steuern, die ''mod_ssl'' beim Aufbau seiner Serverumgebung für Proxy verwenden soll. Es wird sich nur mit Servern verbinden, die eines der angegebenen Protokolle verwenden. **Siehe auch die Erklärungen zu: ''SSLCipherSuite''**
 +
 +  * <code apache>SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1</code>
 +
 +Diese Direktive kann verwendet werden, um zu steuern, welche Versionen des SSL/TLS-Protokolls bei neuen Verbindungen akzeptiert werden.
 +
 +  * <code apache>SSLProxyProtocol all -SSLv3 -TLSv1 -TLSv1.1</code>
 +
 +Mit dieser Direktive kann gesteuert werden, welche SSL-Protokollvarianten ''mod_ssl'' verwenden soll, wenn es seine Serverumgebung für Proxy einrichtet. Es wird sich nur mit Servern verbinden, die eines der angegebenen Protokolle verwenden. **Siehe auch die Erklärungen zu: ''SSLProtocol''**
  
 **__Erklärungen__**: **__Erklärungen__**:
Zeile 2237: Zeile 2262:
   * <code apache>SSLHonorCipherOrder On</code>   * <code apache>SSLHonorCipherOrder On</code>
  
-Bei der Auswahl von Cipher (Verschlüsselungs-Algorithmen) während eines SSLv3- oder TLSv1-Handshake mit einem Client (z.B. Browsern __oder__ mobile Geräte) wird normalerweise die Präferenz des Clients verwendet. Wenn diese Direktive aktiviert ist, wird stattdessen die **Präferenz des Servers verwendet**. **Dies ist die Standard-Einstellung**+Bei der Auswahl von Cipher (Verschlüsselungs-Algorithmen) während eines SSLv3- oder TLSv1-Handshake mit einem Client (z.B. Browsern __oder__ mobile Geräte) wird normalerweise die Präferenz des Clients verwendet. Wenn diese Direktive aktiviert ist, wird stattdessen die **Präferenz des Servers verwendet**. **Dies ist __NICHT__ die Standard-Einstellung, ist aber __explizit__ gesetzt!**
  
-  * <code apache>SSLessionTickets On</code>+  * <code apache>SSLSessionTickets On</code>
  
 **Dies ist die Standard-Einstellung** und ist normalerweise **__nicht__** explizit in der Konfigurationsdatei ''/etc/httpd/conf/extra/httpd-ssl.conf'' gesetzt. Diese Direktive bewirkt die Verwendung von TLS-Sitzungstickets ([[https://datatracker.ietf.org/doc/html/rfc5077|RFC 5077]]). **Dies ist die Standard-Einstellung** und ist normalerweise **__nicht__** explizit in der Konfigurationsdatei ''/etc/httpd/conf/extra/httpd-ssl.conf'' gesetzt. Diese Direktive bewirkt die Verwendung von TLS-Sitzungstickets ([[https://datatracker.ietf.org/doc/html/rfc5077|RFC 5077]]).
-Das "SSLessionTicket" ist dank einem **Prozess bei den das "SSLessionTicket" __signiert__ wird**, ebenfalls als sicher einzustufen. Das ändert aber nichts an der Tatsache, dass zumindest eine Verwundbarkeit besteht, indem die Session Parameter theoretisch Client-seitig gestohlen werden könnten. Es handelt sich also auch um eine Frage, ob man die Angreifbarkeit auf Kosten von Performance reduzieren sollte.+Das "SSLSessionTicket" ist dank einem **Prozess bei den das "SSLSessionTicket" __signiert__ wird**, ebenfalls als sicher einzustufen. Das ändert aber nichts an der Tatsache, dass zumindest eine Verwundbarkeit besteht, indem die Session Parameter theoretisch Client-seitig gestohlen werden könnten. Es handelt sich also auch um eine Frage, ob man die Angreifbarkeit auf Kosten von Performance reduzieren sollte. 
 + 
 +Ein Aufruf mit nachfolgenden Parametern ergab nachfolgende Antwort: 
 + 
 +[[https://ssl-config.mozilla.org/#server=apache&version=2.4.53&config=intermediate&openssl=1.1.1o&hsts=false&guideline=5.6|moz://a SSL Configuration Generator - Apache - Intermediate - Server Version: 2.4.53 - OpenSSL Version: 1.1.1o - HTTP Strict Transport Security: deaktiviert]] 
 + 
 +{{:tachtler:httpd:archlinux_apache_https_mozilla_ssl_config_generator.png|moz://a SSL Configuration Generator - Apache - Intermediate - Server Version: 2.4.53 - OpenSSL Version: 1.1.1o - HTTP Strict Transport Security: deaktiviert}} 
 + 
 +==== SSL-Ciphers - Apache: /etc/httpd/conf/extra/httpd-ssl.conf ==== 
 + 
 +Nachfolgende Konfigurationsdatei  
 +  * ''/etc/httpd/conf/extra/httpd-ssl.conf'' 
 +muss so abgeändert werden: 
 + 
 +(**__Nur relevanter Ausschnitt__**): 
 +<code apache> 
 +#   SSL Cipher Suite: 
 +#   List the ciphers that the client is permitted to negotiate, 
 +#   and that httpd will negotiate as the client of a proxied server. 
 +#   See the OpenSSL documentation for a complete list of ciphers, and 
 +#   ensure these follow appropriate best practices for this deployment. 
 +#   httpd 2.2.30, 2.4.13 and later force-disable aNULL, eNULL and EXP ciphers, 
 +#   while OpenSSL disabled these by default in 0.9.8zf/1.0.0r/1.0.1m/1.0.2a. 
 +# Tachtler 
 +# default: SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES 
 +SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 
 +# default: SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES 
 +SSLProxyCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384 
 + 
 +#  By the end of 2016, only TLSv1.2 ciphers should remain in use. 
 +#  Older ciphers should be disallowed as soon as possible, while the 
 +#  kRSA ciphers do not offer forward secrecy.  These changes inhibit 
 +#  older clients (such as IE6 SP2 or IE8 on Windows XP, or other legacy 
 +#  non-browser tooling) from successfully connecting.   
 +
 +#  To restrict mod_ssl to use only TLSv1.2 ciphers, and disable 
 +#  those protocols which do not support forward secrecy, replace 
 +#  the SSLCipherSuite and SSLProxyCipherSuite directives above with 
 +#  the following two directives, as soon as practical. 
 +# SSLCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA 
 +# SSLProxyCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA 
 + 
 +#   User agents such as web browsers are not configured for the user'
 +#   own preference of either security or performance, therefore this 
 +#   must be the prerogative of the web server administrator who manages 
 +#   cpu load versus confidentiality, so enforce the server's cipher order. 
 +SSLHonorCipherOrder on 
 + 
 +#   SSL Protocol support: 
 +#   List the protocol versions which clients are allowed to connect with. 
 +#   Disable SSLv3 by default (cf. RFC 7525 3.1.1).  TLSv1 (1.0) should be 
 +#   disabled as quickly as practical.  By the end of 2016, only the TLSv1.2 
 +#   protocol or later should remain in use. 
 +# Tachtler 
 +# default: SSLProtocol all -SSLv3 
 +SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 
 +# Tachtler 
 +# default: SSLProxyProtocol all -SSLv3 
 +SSLProxyProtocol all -SSLv3 -TLSv1 -TLSv1.1 
 +</code> 
 + 
 +**__Erklärungen__**: 
 + 
 +  * <code apache>SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384</code> 
 + 
 +Diese komplexe Direktive verwendet eine durch Doppelpunkte getrennte Cipher-Zeichenkette, die aus OpenSSL-Cipher-Spezifikationen besteht, um die Cipher Suite zu konfigurieren, die der Client in der SSL-Handshake-Phase aushandeln darf. Der optionale Protokollspezifizierer kann die Cipher Suite für eine bestimmte SSL-Version konfigurieren. 
 + 
 +  * <code apache>SSLProxyCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384</code> 
 + 
 +Diese Direktive kann verwendet werden, um die SSL-Protokollvarianten zu steuern, die ''mod_ssl'' beim Aufbau seiner Serverumgebung für Proxy verwenden soll. Es wird sich nur mit Servern verbinden, die eines der angegebenen Protokolle verwenden. **Siehe auch die Erklärungen zu: ''SSLCipherSuite''** 
 + 
 +  * <code apache>SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1</code> 
 + 
 +Diese Direktive kann verwendet werden, um zu steuern, welche Versionen des SSL/TLS-Protokolls bei neuen Verbindungen akzeptiert werden. 
 + 
 +  * <code apache>SSLProxyProtocol all -SSLv3 -TLSv1 -TLSv1.1</code> 
 + 
 +Mit dieser Direktive kann gesteuert werden, welche SSL-Protokollvarianten ''mod_ssl'' verwenden soll, wenn es seine Serverumgebung für Proxy einrichtet. Es wird sich nur mit Servern verbinden, die eines der angegebenen Protokolle verwenden. **Siehe auch die Erklärungen zu: ''SSLProtocol''** 
 + 
 +==== SSL-Ciphers - Apache - Neustart Apache HTTPD Server ==== 
 + 
 +Es muss nun ein abschliessender **Neustart** erfolgen, was mit nachfolgendem Befehl durchgeführt werden kann: 
 +<code> 
 +# systemctl restart httpd.service 
 +</code> 
 + 
 +:!: **HINWEIS** - **Es erfolgen __keine__ weiteren Ausgaben, wenn der Start erfolgreich war !** 
 + 
 +==== SSL-Ciphers - Apache - Test ==== 
 + 
 +Unter nachfolgendem Link kann eine **"Überprüfung"** durchgeführt werden, welche Cipher (Verschlüsselungs-Algorithmen) beim [[http://httpd.apache.org|Apache HTTP Server]] zur **Kommunikation mit den Clients (z.B. Browsern __oder__ mobile Geräte)** ausgehandelt werden können. 
 + 
 +Siehe auch nachfolgenden externen Link: 
 +  * [[https://www.ssllabs.com/ssltest/|Qualys SSL Labs - SSL-Server Test]] 
 + 
 +Ein Aufruf mit nachfolgenden Parametern ergab nachfolgende Antwort: 
 + 
 +[[https://www.ssllabs.com/ssltest/analyze.html?d=apache.tachtler.net&hideResults=on&latest|Qualys SSL Labs - SSL-Server Test - Hostname: apache.tachtler.net - Do not show the results on the boards: aktiviert]] 
 + 
 +{{:tachtler:httpd:archlinux_apache_https_qualys_ssl_labs_test_apache.tachtler.net.png|Qualys SSL Labs - SSL-Server Test - Hostname: apache.tachtler.net - Do not show the results on the boards: aktiviert}}
  
tachtler/apache_http_server_archlinux_-_mod_ssl_-_verschluesselung_https.1654496909.txt.gz · Zuletzt geändert: 2022/06/06 08:28 von klaus