Sicherheitsfragen
In diesem Abschnitt werden folgende Punkte beschrieben:
•Sicherheitsfragen im Zusammenhang mit der HTTP-Schnittstelle
Einige Schnittstellenfunktionalitäten von RaptorXML Server können ein Sicherheitsrisiko darstellen. Im Folgenden werden diese sowie die Lösung des Problems beschrieben.
Sicherheitsfragen im Zusammenhang mit der HTTP REST-Schnittstelle
Standardmäßig können Ergebnisdokumente über die HTTP REST-Schnittstelle in jeden durch den Client angegebenen Ordner (auf den über das HTTP-Protokoll Zugriff besteht) geschrieben werden. Beim Konfigurieren von RaptorXML Server sollte dieser Sicherheitsaspekt daher berücksichtigt werden.
Falls die Sicherheit eventuell gefährdet sein könnte oder jemand über die Schnittstelle unbefugten Zugriff erhalten könnte, kann der Server so konfiguriert werden, dass Ergebnisdokumente in ein eigenes Ausgabeverzeichnis auf dem Server selbst geschrieben werden. Dies geschieht durch Setzen der Option server.unrestricted-filesystem-access der Server-Konfigurationsdatei auf false. Wenn der Zugriff auf diese Weise eingeschränkt ist, kann der Client Ergebnisdokumente aus dem dafür vorgesehenen Ausgabeverzeichnis mit GET Requests herunterladen. Alternativ dazu kann ein Administrator die Ergebnisdokumentdateien vom Server in den Zielordner kopieren/laden.
Python-Skripts sicher machen
Wenn ein Python-Skript in einem Befehl über HTTP an RaptorXML Server adressiert ist, funktioniert das Skript nur, wenn es sich im vertrauenswürdigen Verzeichnis befindet. Das Skript wird vom vertrauenswürdigen Verzeichnis aus ausgeführt. Wenn Sie ein Python-Skript aus einem anderen Verzeichnis definieren, wird ein Fehler ausgegeben. Das vertrauenswürdige Verzeichnis wird in der server.script-root-dir Einstellung der Serverkonfigurationsdatei definiert. Wenn Sie Python-Skripts verwenden möchten, muss ein vertrauenswürdiges Verzeichnis definiert werden. Stellen Sie sicher, dass alle Python-Skripts, die verwendet werden sollen, in diesem Verzeichnis gespeichert werden.
Zwar werden alle vom Server für HTTP-Auftragsanforderungen generierten Ausgabedateien in das Auftragsausgabeverzeichnis (ein Unterverzeichnis von output-root-directory) geschrieben, doch gilt diese Einschränkung nicht für Python-Skripts, die in jeden Ordner geschrieben werden können. Der Server-Administrator muss die Python-Skripts im vertrauenswürdigen Verzeichnis auf potentielle Schwachstellen überprüfen.