Sie befinden sich hier: Themen IT-Grundschutz-Kataloge. Inhalt. Dokumententitel: M 5.107 Verwendung von SSL im Apache-Webserver - IT-Grundschutz-Kataloge - Stand 2006
direkt zu der Navigation Servicebereich. direkt zu der Hauptnavigation. direkt zur Themennavigation. direkt zum Seiteninhalt.

M 5.107 Verwendung von SSL im Apache-Webserver

Verantwortlich für Initiierung: Leiter IT, IT-Sicherheitsmanagement

Verantwortlich für Umsetzung: Administrator

Bei der Verwendung von SSL auf dem Apache-Webserver ist eine Reihe sicherheitsrelevanter Einstellungen zu treffen. Die Beispiele in dieser Maßnahme beziehen sich auf das Modul mod_ssl der Version 2.0 des Apache-Webservers.

Die vom Webserver akzeptierten Versionen des SSL-Protokolls und die von ihm akzeptierten Kryptoalgorithmen können mit den Direktiven SSLProtocol und SSLCipherSuite festgelegt werden. Dabei sollten die "schwachen" Methoden nach Möglichkeit abgeschaltet werden. Beispielsweise sollten mittels

die als unsicher geltenden veralteten SSL-Protokollversionen sowie der "No-Encryption-Modus", bei dem keine Datenverschlüsselung stattfindet, entfernt werden. Dies kann dazu führen, dass mit bestimmten veralteten Clients keine Verbindung möglich ist.

Das SSL-Zertifikat für den Apache-Webserver selbst muss dem Apache-Webserver ebenso in einer Datei zur Verfügung gestellt werden wie der zugehörige private Schlüssel. Die Pfade zu diesen Dateien werden mit den Direktiven SSLCertificateFile und SSLCertificateKeyFile festgelegt.

Der private Schlüssel sollte nicht zusammen mit dem Zertifikat in einer Datei gespeichert werden und die Datei mit dem privaten Schlüssel sollte durch eine Passphrase geschützt sein. Die Datei, in der sich der private Schlüssel des Webservers befindet, muss besonders sorgfältig geschützt werden. Der Lesezugriff für diese Datei sollte auf denjenigen Benutzer beschränkt werden, unter dessen Kennung der Apache-Webserver abläuft.

Durch die Verwendung einer Passphrase für den privaten Schlüssel des Serverzertifikats werden automatische unbeaufsichtigte Neustarts des Servers sehr erschwert, da die Passphrase bei jedem Neustart abgefragt wird. Mit der Direktive SSLPassPhraseDialog kann festgelegt werden, auf welche Weise die Passphrase dem Apache-Webserver zur Verfügung gestellt wird. Standardmäßig erfolgt die Eingabe der Passphrase beim Start des Serverprogramms an der Kommandozeile. Da die Direktive SSLPassPhraseDialog die Angabe eines Programms erlaubt, als dessen Ausgabe die Passphrase entgegen genommen werden kann, kann eventuell auf diesem Weg eine Lösung erarbeitet werden, die automatische Neustarts in einem bestimmten Rahmen möglich macht. Jede solche Lösung wird jedoch einen Kompromiss zwischen Sicherheit und Bequemlichkeit darstellen.

Die Wurzelzertifikate von Zertifizierungsstellen, die der Server akzeptieren soll, müssen dem Apache-Webserver ebenso in einer Datei zur Verfügung gestellt werden, wie die CRLs (falls diese Option verwendet wird). Die Pfade zu diesen Dateien werden durch entsprechende Direktiven angegeben.

Für die Dateien bzw. Verzeichnisse, in denen der Apache-Webserver Zertifikate bzw. CRLs erwartet, muss durch Vergabe entsprechender Zugriffsrechte im Dateisystem sichergestellt werden, dass diese Dateien nur von dazu befugten lokalen Benutzern geändert dürfen. Insbesondere darf es der Benutzerkennung, unter der der Apache-Webserver abläuft, nicht möglich sein, diese Dateien zu ändern. Ein lesender Zugriff durch den Apache-Webserver muss jedoch möglich sein.

Ist der private Schlüssel des Webservers nicht durch eine Passphrase geschützt, so muss dies dokumentiert werden. Dies gilt auch, wenn die verwendete Passphrase auf dem Rechner selbst abgelegt wurde. Insbesondere muss in diesem Fall geprüft werden, ob ein solches Vorgehen konform zu den Sicherheitsrichtlinien der Organisation ist.

Ergänzende Kontrollfragen: