Lighttpd ist ein freier Webserver, der alle wichtigen Funktionen eines Webservers besitzt und eine Alternative zum Webserver Apache darstellt. Zusammen mit dem Verschlüsselungsprotokoll Secure Sockets Layer (SSL) bildet er die Grundlage für viele Webseiten im World Wide Web (WWW). Nach der Erneuerung meines SSL-Zertifikats habe ich meinen Server durch den SSL Server Test von Qualys (Link) überprüfen lassen und habe eine mittelmäßige C-Wertung erhalten. Eine solche Wertung ist für mich unbefriedigend und daher beschreibe ich in diesem Artikel die Schritte, um eine gute A-Wertung zu erreichen.
Symptom
Der SSL Server Test hat eine mittelmäßige Bewertung ergeben und weist darauf hin, dass mein Server noch die schwache RC4-Stromchiffre unterstützt und keine Unterstützung von Forward Secrecy für bestimmte Browser leistet (vgl. Abb. 1).

Die genauere Betrachtung der Auswertung wird hier nicht diskutiert. Viele der Einstellungen können jedoch zu ernsthaften Problemen im Zusammenhang mit neuartigen Angriffen führen.
Problem
Die Konfiguration des Webservers ist nicht auf dem aktuellen Stand.
Lösungsstrategie
Für meine Anpassungen habe ich mich an dem Artikel Stong SSL Security on lighttpd von Raymii.org (Link) orientiert. In diesem wird beschrieben, wie man zahlreiche Sicherheitseinstellungen korrigiert, um eine gute Bewertung zu erhalten.
Chiffren
Zunächst werden die Einstellungen in der Datei 10-ssl.conf angepasst.
# sudo vi /etc/lighttpd/conf-enabled/10-ssl.conf
In dieser Datei ergänze ich die folgenden Zeilen.
ssl.use-sslv2 = "disable"
ssl.use-sslv3 = "disable"
ssl.cipher-list = "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"
Forward Secrecy
Wir wechseln in das folgende Verzeichnis und generieren dort stärkere Diffie-Hellman-Parameter, d. h. eine ausreichend große Primzahl (Link).
cd /etc/ssl/certs
openssl dhparam -out dhparam.pem 4096
Dann fügen wir in der Datei 10-ssl.conf weiterhin die folgenden Zeilen ein.
ssl.dh-file = "/etc/ssl/certs/dhparam.pem"
ssl.ec-curve = "secp384r1"
Bezüglich der Kurveneinstellung war ich zunächst etwas verwirrt, was es mit dieser Zeichenkette auf sich hat. Es handelt sich laut Bundesamtes für Sicherheit in der Informationstechnik (BSI) dabei um den Parameter einer Elliptischen Kurve, der als sicher bis zum Jahre 2021 gilt (Link).
Nachdem ich die Einstellungen gespeichert und den Server neugestartet habe, erhalte ich nun folgende Bewertung.

Mein Server ist somit vorerst wieder auf einem aktuellen Stand bezüglich seiner SSL-Konfiguration. Eine ausführliche Beschreibung aller Maßnahmen und Angriffe kann in dem Artikel auf Raymii.org nachgelesen werden.