3.5+55.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:e Anwender:in, der/die Zugriff auf den Daemon hat, damit auch Kontrolle über dessen Rechner erhält, macht eine Unterscheidung zwischen Daemon-Administrator:in und Daemon-Nutzer:in 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.
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
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.
Festlegen der Keystore-Datei
Sie können QF-Test auf verschiedene Arten mitteilen, welche Keystore-Datei für den Daemon verwendet werden soll:
-
Speichern Sie die Datei als
daemon.keystore
in QF-Test's Systemverzeichnis. -
Speichern Sie die Datei als
daemon.keystore
im benutzerspezifischen Konfigurationsverzeichnis. -
Speichern Sie die Datei wo Sie möchten und geben Sie diese über das
Kommandozeilenargument
-keystore <Keystore-Datei>
an QF-Test.
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..
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 55.2 finden Sie Details zur Daemon API und in
Abschnitt 25.2 Beispiele dazu.