apache:ssl

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
apache:ssl [2020/10/02 18:20] stapache:ssl [2020/11/14 15:27] (aktuell) – [sichere SSL Einstellungen] st
Zeile 1: Zeile 1:
 +====== SSL-Verschlüsselung in Apache2 (openssl) ======
 +
 +Bei [[server:Webserver|Webservern]] wie [[apache:Apache]](2) mit wird [[netzwerke:ssl und tls|SSL oder TLS]] die [[security:verschlüsselung#hybride verschlüsselung|Hybride Verschlüsselung]] zur Absicherung des Datenverkehrs eingesetzt.
 +
 +:!: [[apache:virtuelle server#namens-basierte virtuelle hosts|namensbasierte virtuelle Server]] sind in Verbindung mit aktuellen Clients mit Unterstützung der TLS-Erweiterung [[wpde>Server Name Indication (SNI)]] kein Problem ((Für ältere Browser Internet Explorer 6 auf Windows XP, Java 6u45, ... muss eine eigene IP pro [[netzwerke:ssl und tls|SSL]]-geschützter Seite existieren. Der Grund ist das die passende IP Teil des HTTP-Request ist, der nur mit dem passenden Host-Schlüssel entschlüsselt werden kann. Da aber der passende Host erst anhand des HTTP-Request ermittelt wird, kann es an dieser Stelle zu keiner Verifizierung kommen.)) Es sollte aber ein Standardhost definiert werden der Client auf die fehlende Unterstützung hinweist.
 +
 +Siehe auch [[security:ssl Zertifikate]].
 +
 +===== Apache2 Konfiguration für SSL =====
 +
 +  * das SSL-Modul aktivieren:
 +
 +<code>
 +a2enmod ssl
 +</code>
 +
 +  * **überprüfen ob Apache auf Port 443 lauscht** (Direktive "Listen 443")
 +  * **Konfiguration der virtuellen Hosts anpassen**:<file>
 +===== sichere SSL Einstellungen =====
 +
 +Alternativ der [[https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=apache|Mozilla SSL Configuration Generator]].
 +
 +<code apache>
 + SSLEngine On
 + SSLProtocol All -SSLv2 -SSLv3
 +
 + SSLHonorCipherOrder On
 + SSLCipherSuite 'EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA:EECDH:EDH+AESGCM:EDH:ECDH+AESGCM:ECDH+AES:ECDH:HIGH:MEDIUM:!RC4:!3DES:!CAMELLIA:!SEED:!aNULL:!MD5:!eNULL:!LOW:!EXP:!DSS:!PSK:!SRP'
 +
 +        SSLCertificateFile /etc/apache2/DATEI.crt
 +        SSLCertificateKeyFile /etc/apache2/DATEI.key
 +        SSLCACertificateFile /etc/apache2/intermediate-ca-cert.crt
 +
 + <IfModule mod_headers.c>
 +   Header always set Strict-Transport-Security "max-age=15768000"
 + </IfModule>
 +</code>
 +  * **restriktive Dateirechte vergeben**: Den Schlüsseldateien ''chmod 600'' zuweisen (''chown root'')
 +  * **Sicherheitsmechanismen**
 +    * **Testseiten**: https://www.ssllabs.com/ssltest oder https://sslcheck.globalsign.com
 +    * TLS v1.2: benötigt openssl ab Version 1.0.1 ([[debian:Debian]]: ab [[http://packages.debian.org/wheezy/openssl|wheezy]])
 +    * TLS v1.3: benötigt openssl ab Version 1.1.1 ([[debian:Debian]]: ab [[http://packages.debian.org/buster/openssl|buster]])
 +    * Forward Secrecy: benötigt Apache 2.4x ([[debian:Debian]]: ab [[http://packages.debian.org/jessie/apache2|jessie]]) siehe auch: [[http://blog.ivanristic.com/2013/08/configuring-apache-nginx-and-openssl-for-forward-secrecy.html|Configuring Apache, Nginx, and OpenSSL for Forward Secrecy]]