apache:ssl

SSL-Verschlüsselung in Apache2 (openssl)

Bei Webservern wie Apache(2) mit wird SSL oder TLS die Hybride Verschlüsselung zur Absicherung des Datenverkehrs eingesetzt.

:!: namensbasierte virtuelle Server sind in Verbindung mit aktuellen Clients mit Unterstützung der TLS-Erweiterung Server Name Indication (SNI) kein Problem 1) Es sollte aber ein Standardhost definiert werden der Client auf die fehlende Unterstützung hinweist.

Siehe auch ssl Zertifikate.

  • das SSL-Modul aktivieren:
a2enmod ssl
  • überprüfen ob Apache auf Port 443 lauscht (Direktive „Listen 443“)
  • Konfiguration der virtuellen Hosts anpassen:<file>

Alternativ der Mozilla SSL Configuration Generator.

	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>

1)
Für ältere Browser Internet Explorer 6 auf Windows XP, Java 6u45, … muss eine eigene IP pro 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.