Lade...
 

Sicherheit und Rechte

Sicherheit und Rechte

Absicherung der Datenbank

Die von ClassiX® verwendete Datenbank ObjectStore ist eine Client/Server-Datenbank. Das bedeutet, dass ein Client die Datenbank physikalisch nie anfasst. Der Client wendet sich zum benutzen der Datenbank an den ObjectStore Cache-Manager, dieser kommuniziert mit dem ObjectStore-Server. Der ObjectStore-Server verwendet je nach gesetzter OS_AUTH-Umgebungsvariablen bzw. „Authentication required“-Parameter unterschiedliche Verfahren um zu prüfen, ob der Benutzer Zugriff auf die Datenbank bekommt. Standardmäßig wird die Authentifizierung von ObjectStore nicht genutzt, da ClassiX® selbst einen entsprechenden Mechanismus implementiert.

Die Datenbank entspricht einer Datei, welche auf dem Server hinterlegt wird. Die Datei muss dabei nicht zwangsweise über das Netzwerk verfügbar sein. Dies lässt sich über eine spezielle Art der Spezifikation der Datenbank erreichen:

SET CX_DATABASE=cxserver:D:\ClassiX\ClassiX_DB.cxd

Es wird zunächst der Hostname (oder die IP-Adresse) des ObjectStore-Servers angegeben, gefolgt von einem Doppelpunkt. Hinter dem Doppelpunkt wird dann der Pfad zur Datenbank eingefügt. Dieser Pfad muss absolut sein und bezieht sich relativ auf den Server! Im obigen Beispiel muss also auf dem Server "cxserver" ein Laufwerk D: vorhanden sein, welches ein Verzeichnis "ClassiX" mit der Datei "ClassiX_DB.cxd" enthält. Dieses Verzeichnis muss nicht über das Netzwerk sichtbar oder auf andere Weise verfügbar sein und ist somit vor jeglichem unbefugten Zugriff geschützt. Die Zugriffsrechte für die Datei können rein auf den Benutzer beschränkt sein, unter welchem der ObjectStore-Server läuft.

Die einzige Information, welche vom Datenbankserver über das Netzwerk verfügbar gemacht werden muss, ist das Datenbankschema. Dies sind zum einen die Schema-Dateien von ObjectStore, zum anderen die Schema-Dateien von ClassiX® selbst. Dieses Verzeichnis muss bei der Installation des ObjectStore-Clients angegeben werden, es bietet sich an, hierzu eine Freigabe mit Lesezugriff auf dem Datenbankserver einzurichten. Nähere Informationen hierzu gibt es in der Dokumentation zur Installation der Datenbank.

Absicherung der ClassiX®-Dateien

Jeder Benutzer muss lesenden Zugriff auf die ClassiX®-Dateien haben (Ini-Files, AppsWh, Executables, Projekte, Bitmaps, ...). Dies ist über zwei Wege zu bewerkstelligen: Entweder bekommt jeder Benutzer eine lokale Kopie oder er greift über einen Fileserver auf die gemeinsam genutzten Dateien zu. Im letzteren Fall müssen die Dateien gegen Löschen und unbefugte Änderungen geschützt werden.

Zusätzlich gibt es ClassiX®-Administratoren, die bspw. DLLs austauschen dürfen. Ein weiterer ausgezeichneter ClassiX®-Benutzer ist der „ClassiX®-Superuser“, der neue Icons erzeugen oder Anpassungen an Skripten oder Ini-Dateien vornehmen darf.

Ein ClassiX®-Benutzer benötigt Schreibzugriff auf dem in der Umgebungsvariable CX_SYSTEM_OUT angegebenen Verzeichnis, da hier die Logfiles einer ClassiX®-Session abgelegt werden. Über die Umgebungsvariable ist dies jedoch frei konfigurierbar, d.h. kann auch auf einem beliebigen Netzwerklaufwerk liegen, welches mit den entsprechenden Berechtigungen. Ebenfalls sollte ein Benutzer Schreibzugriff auf das Verzeichnis Data unterhalb von Projects haben, da dieses häufig als Transferverzeichnis genutzt wird (z.B. für den Export von Daten in Dateien).

Gesamtkonzept

ClassiX® hat eine Standardverzeichnisstruktur, die wie folgt aussieht (Abbildung 1):

 

Abbildung 1: Standardstruktur eines ClassiX®-Verzeichnis

Zu beachten hierbei: Auf die blau hinterlegten Elemente (Data und SystemOut) benötigen die Clients auch Schreibzugriff. Die Datenbank (grau hinterlegt) liegt häufig auch auf einem separaten Server. Ort der Datenbank und des SystemOut-Verzeichnisses sind über die Umgebungsvariablen CX_DATABASE bzw. CX_SYSTEM_OUT konfigurierbar. Es wird daher empfohlen, die Datenbank entsprechend oben geschilderter Vorgehensweisen auf einem separaten Rechner abzusichern. Wie bereits erwähnt, kann auch das SystemOut-Verzeichnis verlegt werden, da hier alle Benutzer Schreibzugriff benötigen.

Folgende Gruppen werden empfohlen:

Name Beschreibung
ClassiX®-Administrator Nur Administratoren dürfen alle Verwaltungsaufgaben wahrnehmen, z.B. DLLs austauschen
ClassiX®-Superuser Superuser dürfen auch selbstständig Änderungen an Modulen und Bitmaps vornehmen
ClassiX®-Benutzer Benutzer des ClassiX®-Systems

Das gesamte ClassiX®-Verzeichnis (inkl. aller Unterverzeichnisse) sollte ClassiX®-Benutzern „Lesen“-Zugriff gewähren. Anderen Benutzern oder Gruppen sollten keine Berechtigungen zugewiesen werden. Zusätzlich benötigen die Benutzer auch noch Schreibzugriff auf das SystemOut-Verzeichnis (standardmäßig ist dies ein Unterverzeichnis von System). Ein ClassiX®-Superuser darf selbstständig Veränderungen an Modulen und Bitmaps vornehmen, daher sollte die Gruppe der Superuser zusätzlich "Ändern"-Zugriff auf die grün Hinterlegten Element haben. Nur die Gruppe der ClassiX®-Administratoren darf in allen Verzeichnissen, insb. also auch in den rot hinterlegten, entsprechenden Schreibzugriff haben. Um den Austausch der DLLs zu erleichtern, ist es unter Umständen ratsam, auch diese an einen anderen Ort zu verlagern. Dies ist mit der Umgebungsvariable CX_BIN möglich.

Windows Netzwerk-Administratoren sollten in der Lage sein, dieses Schema ggf. den organisatorischen (z.B. Unterabteilungen, Benutzer gehören zu mehreren Abteilungen, zusätzliche Gruppen) und technischen Gegebenheiten (Vertrauensstellungen, etc.) und anzupassen.

Eine beispielhafte Konfiguration auf Hardwareseite mit getrennten Servern und einem Terminalserver könnte folgendermaßen aussehen (Abbildung 2):

Abbildung 2: Beispielhafte Konfiguration von Servern und Clients