Dies ist eine alte Version des Dokuments!
Immer öfter Hört man von Sicherer Verschlüsselter Datenübertragung über SSL. Doch wie richtet man es ein und wie sicher ist SSL wirklich?
allgemeine Konfiguration
Zunächst sollte man dem Apache2 ein paar grundsätzliche Flausen abgewöhnen. Warum verrät er z.B. bei jeder Anfrage seine Versionsnummer und Patchstand?
Forward Secrecy
Wieder so eine Phrase, bei der kein Mensch weiß, um was es sich handelt aber jeder mitreden will.
Damit man nicht dumm stirbt, gibt es hier die Erklärung.
Umsetzung
Um die Verschlüsselung global zu setzen, muss man in der Datei /etc/apache2/mods-enabled/ssl.conf die folgendenen Zeilen eintragen / Ändern
In den <VirtualHost>-Anweisungen wird der Wert noch einmal gesetzt und damit überschrieben. Kommentiert ihn bei jedem vHost aus!!
SSLProtocol all -SSLv2 SSLHonorCipherOrder On SSLCipherSuite EECDH+AES:EDH+AES:-SHA1:EECDH+RC4:EDH+RC4:RC4-SHA:EECDH+AES256:EDH+AES256:AES256-SHA:!aNULL:!eNULL:!EXP:!LOW:!MD5
Nachtrag:
- Leider Ist in der obigen Regel nicht der „anonyme Diffi-Hellmann Schlüsselaustausch“ inbegriffen. dieser sollte wenn mögliche auch abgeschalten werden. Ein
:!ADH
an die Zeile SSLCipherSuite angehängt und auch dieses Problem ist gelöst - RC4-Verschlüsselung gilt nicht mehr als sicher und kann mit
!:RC4
deaktiviert werden - Aufgrund von Inkompatibilität habe ich mich dazu entschieden, EDH-3DES und EECDH-3DES zu aktivieren. Die Optimierte CipherSuite ist nun
SSLCipherSuite EECDH+AES:EDH+AES:-SHA1:EECDH+AES256:EDH+AES256:EECDH+3DES:EDH+3DES:AES256-SHA:!aNULL:!eNULL:!EXP:!LOW:!MD5:!ADH
Quellen
Allgemeine Konfiguration
SSL
Forward-Secrecy
HTTP Strict Transport Security
SSL Security test
Diskussion