Handbuch

3.5+46.3
Absicherung des QF-Test Daemon

Jeder, der auf den QF-Test Daemon Zugriff hat, kann auf dessen Rechner und mit dessen Benutzerkonto Programme starten, daher sollte dieser Zugriff auf den dazu berechtigten Personenkreis beschränkt werden.

Selbstverständlich sollte der QF-Test Daemon grundsätzlich auf einem Rechner betrieben werden, der durch eine Firewall vor dem Zugriff von außerhalb des lokalen Netzwerks geschützt ist. Wenn alle verbleibenden Anwender, die diesen Rechner erreichen können, zum Zugriff auf den Daemon berechtigt sind, ist diese Maßnahme ausreichend. Wenn der Nutzerkreis weiter eingeschränkt werden soll, lesen Sie bitte weiter.

Standardmäßig verwendet der QF-Test Daemon SSL zur Absicherung seiner RMI Verbindung. Ohne zusätzliche Maßnahmen bedeutet dies jedoch nur, dass die Kommunikation zwischen dem Daemon und seinem Client verschlüsselt wird. Um den Zugriff auf bestimmte Anwender zu beschränken, ist ein weiterer Schritt nötig.

Das Aufsetzen einer SSL Kommunikation kann sehr komplex sein. Man muss sich normalerweise mit den Themen "Schlüssel", "Zertifikate", "Zertifizierungsstelle", "ununterbrochene Sicherheitskette" etc. befassen. Zum Glück ist dies ein sehr spezieller Fall und die Tatsache, dass ein Anwender, der Zugriff auf den Daemon hat, damit auch Kontrolle über dessen Rechner erhält, macht eine Unterscheidung zwischen Daemon Administrator und Daemon Nutzer aus Sicherheits-Sicht überflüssig.

Ohne zu tief in die Details einzusteigen: QF-Test nutzt normalerweise einen einzelnen Keystore mit einem einzelnen selbst-signierten Zertifikat sowohl auf der Daemon als auch der Client-Seite. Komplexere Szenarien sind möglich aber nicht Gegenstand dieses Handbuchs. Die Standard-Keystore-Datei heißt daemon.keystore und liegt im Systemverzeichnis oder im versionsspezifischen Verzeichnis von QF-Test. Durch Erstellen einer eigenen Keystore-Datei wie unten beschrieben können Sie sicher stellen, dass nur Anwender auf den Daemon zugreifen können, die diese Keystore-Datei verwenden.

46.3.1
Erstellen einer eigenen Keystore-Datei

Um eine Keystore-Datei zu erzeugen, benötigen Sie ein aktuelles JDK Version 1.5 oder höher - ein JRE ist nicht ausreichend. In einer Shell oder einem Konsolenfenster führen Sie folgendes Kommando aus (ggf. müssen Sie den kompletten Pfad für das keytool Programm angeben, welches sich im bin Verzeichnis des JDK befindet):

keytool -keystore daemon.keystore -genkey -alias "qftest daemon"
          -keyalg DSA -validity 999999
Beispiel 46.1:  Erstellen einer Keystore-Datei zur Absicherung der Kommunikation mit dem Daemon

Nähere Informationen zu keytool finden Sie unter http://download.oracle.com/javase/6/docs/technotes/tools/solaris/keytool.htm.

Als Kennwort für die Keystore-Datei geben Sie 123456 ein. Wenn Sie nach Name oder Organisation gefragt werden, können Sie beliebige Einträge machen, für QF-Test sind diese nicht relevant. Sie können natürlich auch ein sicheres Kennwort an Stelle von 123456 angeben, aber das macht nur den Start des Daemon und seiner Clients komplizierter, ohne wirklich viel zur Sicherheit beizutragen. Sie könnten auch einen kürzeren Gültigkeitszeitraum angeben, aber falls die Keystore-Datei einmal in die falschen Hände gerät, müssen Sie lediglich den Daemon und seine Anwender mit einer neuen Keystore-Datei versorgen, die alte ist dann wertlos.

46.3.2
Festlegen der Keystore-Datei

Sie können QF-Test auf verschiedene Arten mitteilen, welche Keystore-Datei für den Daemon verwendet werden soll:

Falls Sie ihr eigenes Kennwort für die Keystore-Datei gewählt haben, müssen Sie dieses über das Kommandozeilenargument -keypass <Kennwort> an QF-Test übergeben.

Falls Sie den Daemon ohne SSL Unterstützung starten möchten, z.B. um mit einer QF-Test Version älter als 3.5 zu interagieren, entfernen Sie entweder die Datei daemon.keystore aus QF-Test's versionsspezifischem Verzeichnis oder verwenden Sie das Kommandozeilenargument in der Form -keystore= um festzulegen, dass kein Keystore verwendet werden soll..

46.3.3
Festlegen der Keystore-Datei auf der Client-Seite

Wenn Sie mittels qftest -batch -calldaemon oder über Skript Knoten von QF-Test aus auf den Daemon zugreifen, gelten die selben Anweisungen wir für den Daemon selbst.

Um den Daemon über SSL von Ihrem eigenen Code aus über die Daemon API anzusteuern, müssen Sie in Ihrer Anwendung die System Properties javax.net.ssl.keyStore und javax.net.ssl.trustStore auf die Keystore-Datei und die Property javax.net.ssl.keyStorePassword auf das Kennwort für die Keystore-Datei setzen. In Abschnitt 46.2 finden Sie Details zur Daemon API und in Abschnitt 19.2 Beispiele dazu.