Sicherheit der Verbindung

4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 11 (Geändert)


Die Sicherheit Ihres 4D Web Servers beruht auf folgenden Elementen:

Kombination der Optionen für das Web Kennwort (BASIC oder DIGEST Modus) in den Einstellungen der Datenbank und der Datenbankmethode On Web Authentication,

Definition eines allgemeinen Web-Anwenders,

Definition eines Ordners Standard HTML Root,

Definition der Eigenschaft "Zugang per 4DACTION, 4DMETHOD, 4DSCRIPT" für jede Projektmethode der Datenbank.

Hinweis: Die Sicherheit der Verbindung selbst lässt sich über das SSL Protokoll steuern. Weitere Informationen dazu finden Sie im Abschnitt SSL Protokoll.

Kennwort-Verwaltungssystem für Web Zugriff


BASIC Modus und DIGEST Modus

In den Einstellungen der Datenbank können Sie das Zugriffsystem für Ihren Web Server einrichten. Es gibt zwei Authentifizierungsmodi: BASIC Modus und DIGEST Modus (ab Version 11). Je nach gewähltem Modus wird die Information zu Benutzername und Kennwort unterschiedlich gesammelt und bearbeitet:

Im BASIC Modus werden vom Benutzer eingegebener Name und Kennwort unver-schlüsselt mit der HTTP Anfrage gesendet. Das bietet keine umfassende Systemsicherheit, da diese Information abgefangen und von dritter Stelle weiter verwendet werden kann.

Der Digest Modus bietet eine höhere Sicherheitsstufe, da die Informa-tion durch einen nicht umkehrbaren Prozess, genannt Hashing, bear--beitet wird. Auf diese Weise ist es unmöglich, den jeweiligen Inhalt zu dechiffrieren.

Für den Benutzer ist der Authentifizierungsmodus unsichtbar.

Hinweise:

- Zur Wahrung der Kompatibilität verwenden 4D Datenbanken, die in Version 11 konvertiert wurden, standardmäßig den Basismodus zur Authentifizierung (wenn die Option "Benutze Kennwörter" in der vori-gen Version markiert war). Sie müssen den Digest Modus explizit akti--vieren.

- Die Digest Authentifizierung ist eine HTTP 1.1. Funktion und wird nicht von allen Browsern unterstützt. So akzeptiert Microsoft Internet Explorer diesen Modus ab Version 5.0. Sendet ein Browser, der diesen Modus nicht unterstützt, eine Anfrage an einen Web Server mit aktivierter Digest Authentifizierung, weist der Server die Anfrage zurück und sendet eine Fehlermeldung an den Browser.

Im Dialogfenster Einstellungen der Datenbank legen Sie fest, welche Zugriffsoptionen für Ihren Web Server gelten sollen. Wählen Sie dazu in den Einstellungen der Datenbank unter dem Thema Web die Seite Erweitert:

Im Bereich "Web Kennwörter" gibt es folgende Optionen:

Keine Kennwörter: Damit wird für Verbindungen an den Web Server keine Authentifizierung durchgeführt. Dann gilt folgendes:

- Ist die Datenbankmethode On Web Authentication vorhanden, wird sie ausgeführt. Zusätzlich zu $1 und $2 werden die IP-Adressen von Browser und Server ($3 und $4) geliefert, Benutzername und Kennwort ($5 und $6) sind leer. In diesem Fall können Sie die Verbindungen anhand der IP-Adresse des Browsers bzw. der angeforderten IP-Adresse des Servers filtern.

- Ist die Datenbankmethode On Web Authentication nicht vorhanden, werden Verbindungen automatisch akzeptiert.

Kennwörter mit BASIC Protokoll: Standard Authentifizierung im Basis Modus. Meldet sich ein Benutzer an den Server an, erscheint ein Dialogfenster auf dem Browser, wo er Benutzername und Kennwort eingibt. Diese beiden Werte sowie die Verbindungsparameter (IP Adresse und Port, URL...) werden an die Datenbankmethode On Web Authentication gesendet, die nun ablaufen kann

Hinweis: Gibt es hier die Datenbankmethode On Web Authentication nicht, wird die Verbindung zurückgewiesen.

Verwende 4D Kennwörter stellt an Stelle oder zusätzlich zu Ihrem eigenen Kennwortsystem das Kennwortsystem der 4D Datenbank zur Verfügung (wie in 4D definiert).

Kennwörter mit DIGEST Protokoll: Authentifizierung im Digest Modus. Benutzer müssen, analog zum BASIC Modus, Name und Kennwort eingeben. Diese beiden Werte sowie die Verbindungsparameter (IP Adresse und Port, URL...) werden verschlüsselt an die Datenbankmethode On Web Authentication gesendet, die nun ablaufen kann. Sie müssen einen Benutzer mit der Funktion Validate Digest Web Password authentifizieren.

Hinweise:

- Sie müssen den Web Server neu starten, damit diese Parameter berücksichtigt werden.

- Beachten Sie beim Web Server von 4D Client, dass alle Sites, die Client-Rechner veröffentlichen, auf dieselbe Benutzerliste zugreifen. Die Bestätigung von Benutzern/Kennwörtern erfolgt über die 4D Server Anwendung.

BASIC Modus: Kombination von Kennwörtern und der Datenbankmethode On Web Authentication

In diesem Modus richtet sich das System, das die Verbindungen zum 4D Web Server filtert, nach der Kombination der beiden Parameter:

Die Option Web Kennwörter im Dialogfenster Einstellungen der Datenbank.

Vorhandensein der Datenbankmethode On Web Authentication.

Sie erhalten je nach Einstellung unterschiedliche Ergebnisse:

Die Option "Kennwörter mit BASIC Protokoll " ist ausgewählt, "Verwende 4D Kennwörter" ist nicht ausgewählt

Gibt es die Datenbankmethode On Web Authentication, wird sie ausgeführt und alle Parameter werden zurückgegeben. So können Sie die Verbindungen genauer filtern, d.h. nach Benutzername, Kennwort und/oder IP-Adressen der Browser oder Web Server.

Gibt es die Datenbankmethode On Web Authentication nicht, wird die Verbindung automatisch zurückgewiesen. Der Browser erhält eine Meldung, dass die Datenbankmethode nicht vorhanden ist.

Hinweis: Ist der vom Browser gesendete Benutzername ein leerer String und gibt es die Datenbankmethode On Web Authentication nicht, erhält der Browser den Kennwortdialog.

Die Optionen "Kennwörter mit BASIC Protokoll " und "Verwende 4D Kennwörter" sind ausgewählt

Gibt es den vom Browser gesendeten Benutzernamen in der Tabelle der 4D Benutzer und ist das Kennwort korrekt, wird die Verbindung angenommen. Ist das Kennwort falsch, wird die Verbindung zurückgewiesen.

Gibt es den vom Browser gesendeten Benutzernamen nicht in 4D, sind zwei Ergebnisse möglich:

- Gibt es die Datenbankmethode On Web Authentication, werden die Parameter $1, $2, $3, $4, $5 und $6 zurückgegeben. Sie können dann die Verbindungen nach Benutzername, Kennwort und/oder IP Adresse des Browsers oder Web Servers filtern.

- Gibt es die Datenbankmethode On Web Authentication nicht, wird die Verbindung zurückgewiesen.

DIGEST Modus

Der DIGEST Modus ist, im Gegensatz zum BASIC Modus, nicht mit den standardmäßigen 4D Kennwörtern kompatibel: Sie können 4D Kenn-wörter nicht als Web-Kennung verwenden. Bei diesem Modus erscheint die Option "4D Kennwörter einfügen" in Grauschrift.

Sie müssen die Kennung für Web Benutzer selbst verwalten, z.B. über eine Tabelle.

Ist der DIGEST Modus aktiviert, wird der Parameter $6 (Kennwort) in der Datenbankmethode On Web Authentication immer leer zurückgegeben. In diesem Modus läuft diese Information nicht als Klartext (unverschlüsselt) über das Netz. Deshalb müssen Verbindungsanfragen unbedingt mit der Funktion Validate Digest Web Password ausgewertet werden

Die Funktionsweise des 4D Web Server Zugriffssystems im Überblick:

Über Roboter (Sicherheitshinweis)

Bestimmte Roboter (Suchmaschinen, Netze...) scrollen durch die Web Server und statische Seiten. Sollen Roboter Zugriff auf Ihre ganze Web-Site erhalten, können Sie festlegen, auf welche URLs sie nicht zugreifen dürfen.

Legen Sie dazu die Datei ROBOTS.TXT auf den Root des Servers. Sie muss folgende Struktur haben:

User-Agent: <name>
Disallow: <URL> oder <beginning of the URL>

Zum Beispiel:

User-Agent: *
Disallow: /4D
Disallow: /%23%23
Disallow: /GIFS/

"User-Agent: *" bedeutet, dass alle Roboter betroffen sind.

"Disallow: /4D" bedeutet, dass Roboter nicht auf URLs zugreifen können, die mit /4D beginnen.

"Disallow: /%23%23" bedeutet, dass Roboter nicht auf URLs zugreifen können, die mit /%23%23 beginnen.

"Disallow: /GIFS/' bedeutet, dass Roboter nicht auf /GIFS/ Ordner oder dessen Unterordner zugreifen können.

Weiteres Beispiel:

User-Agent: *
Disallow: /

In diesem Fall können Roboter nicht auf die ganze Web-Site zugreifen.

Allgemeiner Web-Anwender


Sie können einen Benutzer, der zuvor in der 4D Kennworttabelle definiert wurde, als "allgemeinen Web Anwender" festlegen. In diesem Fall kann jeder Browser, der die Verbindung zur Datenbank herstellt, die diesem generischen Benutzer zugeordneten Zugriffsrechte und Einschränkungen nutzen. So können Sie den Zugriff des Browsers auf die verschiedenen Teile der Datenbank einfach steuern.

Hinweis: Verwechseln Sie diese Option nicht mit dem Steuerungssystem der Web Server Verbindung. Mit "allgemeiner Web Anwender" können Sie den Zugriff des Browsers auf verschiedene Teile der Datenbank einschränken (Tabellen, Menüs, etc.). Das Steuerungssystem der Web Server Verbindung arbeitet mit dem Kennwortsystem und der Datenbankmethode On Web Authentication.

Um einen allgemeinen Web-Anwender zu definieren, gehen Sie folgendermaßen vor:

1. Legen Sie im Designmodus im Kennworteditor einen Benutzer an.

Sie können dem Benutzer bei Bedarf ein Kennwort zuordnen.

2. Legen Sie in den verschiedenen 4D Editoren die Zugriffsrechte bzw. -einschränkungen für diesen Benutzer fest.

3. Klicken Sie im Dialogfenster Einstellungen der Datenbank unter dem Thema Web auf die Seite Erweitert. Der Designer ist standardmäßig der allgemeine Web-Anwender, die Browser können auf die gesamte Datenbank zugreifen.

4. Wählen Sie einen Benutzer in der Liste "allgemeiner Web-Anwender" und bestätigen Sie den Dialog.

Alle Web Browser, die berechtigt sind, sich an die Datenbank anzumelden, können die diesem allgemeinen Web-Anwender zugewiesenen Zugriffsrechte bzw. -einschränkungen nutzen. Das gilt nur dann nicht, wenn die Optionen BASIC Modus und "Verwende 4D Kennwörter" markiert sind und der Benutzer, der die Verbindung herstellt, in der 4D Kennworttabelle nicht vorhanden ist. (siehe unten).

Interaktion mit dem BASIC Protokoll

Die Option "Kennwörter mit BASIC Protokoll" hat keinen Einfluss auf die Funktionsweise des allgemeinen Web-Anwenders. Unabhängig von dieser Option gelten alle Zugriffsrechte bzw. -einschränkungen des "allgemeinen Web-Anwender" für alle Web Browser, die berechtigt sind, sich an die Datenbank anzuschließen.

Ist dagegen die Option "Verwende 4D Kennwörter" ausgewählt, gibt es zwei Möglichkeiten:

Es gibt Benutzername und Kennwort NICHT in der Kennworttabelle von 4D. Wird nun die Verbindung von der Datenbankmethode On Web Authentication angenommen, gelten die Zugriffsrechte des allgemeinen Web-Anwenders für den Browser.

Es gibt Benutzername und Kennwort in der Kennworttabelle von 4D. Dann wird der Parameter "allgemeiner Web-Anwender" ignoriert. Der Benutzer meldet sich mit seinen eigenen Zugriffsrechten an.

Ordner Standard HTML Root definieren


Mit dieser Option bestimmen Sie den Ordner, in welchem 4D nach den statischen HTML Seiten und den Bildern sucht, die an die Browser gesendet werden sollen.

Darüberhinaus legt der Ordner HTML Root fest, bis zu welcher Ebene in der Hierarchie nicht mehr auf die Dateien zugegriffen werden kann.

Diese Einschränkung gilt für die URLs, die an Web Browser sowie an Befehle des 4D Web Server gesendet werden, wie z.B. SEND HTML FILE. Sendet der Browser eine URL an die Datenbank oder versucht ein 4D Befehl, auf eine Datei zuzugreifen, die in der Hierarchie oberhalb des Ordners HTML Root liegt, erhalten Sie eine Fehlermeldung. Sie gibt an, dass die Datei nicht gefunden wurde.

4D geht standardmäßig von einem Ordner HTML Root mit Namen WebFolder aus. Ist er noch nicht vorhanden, wird er physisch auf der Festplatte erstellt, wenn der Web Server zum ersten Mal gestartet wird.

Wollen Sie diese Standardeinstellungen beibehalten, wird er folgendermaßen angelegt:

Mit 4D im lokalen Modus und 4D Server auf derselben Ebene wie die Strukturdatei der Datenbank.

Mit 4D im remote Modus auf derselben Ebene wie die 4D.exe Datei unter Windows bzw. das Software-Paket auf Mac OS.

Anschließend müssen Sie lediglich die erforderlichen Elemente, wie statische Seiten, Bilder, in diesen Ordner kopieren.

Wollen Sie den Ordner bewegen bzw. umbenennen oder einen anderen Ordner verwenden, müssen Sie die Voreinstellungen von 4D Client anpassen.

Gehen Sie dazu unter dem Thema Web auf die Seite Konfiguration

Geben Sie im Eingabebereich "Standard HTML Root" den neuen Zugriffspfad für den gewünschten Ordner an.

Der hier eingetragene Zugriffspfad ist relativ: Er wird von dem Ordner mit der Struktur der Datenbank festgelegt (4D im lokalen Modus oder 4D Server) oder vom Ordner mit der 4D Anwendung oder dem 4D Software Paket (4D im remote Modus). Damit Ihre Datenbank auf mehreren Plattformen laufen kann, verwendet der 4D Web Server zum Beschreiben der Zugriffspfade spezifische Syntaxregeln:

Ordner werden durch Schrägstrich ("/") voneinander getrennt

Der Zugriffspfad darf nicht mit einem Schrägstrich ("/") enden

Wollen Sie in der Ordnerhierarchie eine Ebene höher gehen, geben Sie vor dem Ordner zwei Punkte ("..") ein

Der Zugriffspfad darf nicht mit einem Schrägstrich ("/") beginnen, außer der HTML Root Ordner soll der Datenbankordner oder der 4D remote Ordner sein (siehe unten).

Soll der Ordner HTML Root zum Beispiel der "Web" Unterordner im Ordner "4DDatenbank" sein, schreiben Sie 4DDatenbank/Web

Soll der Ordner HTML Root der Datenbank/4D remote Ordner sein, jedoch der Zugriff auf darüberliegende Ordner untersagt sein, geben Sie "/" in den Bereich ein. Soll der Zugriff auf alle Volumes möglich sein, lassen Sie den Bereich "Standard HTML Root" leer.

Warnung: Definieren Sie im Dialogfenster Einstellungen keinen Standardordner HTML Root, wird der Ordner verwendet, der die Strukurdatei der Datenbank oder der 4D Anwendung enthält. Seien Sie vorsichtig, denn in diesem Fall gibt es keine Zugriffsbeschränkungen. Benutzer haben Zugriff auf alle Ordner.

Hinweis: Wird der HTML Root Ordner im Dialogfenster Einstellungen geändert, wird der Cache geleert, damit keine Dateien mit beschränktem Zugriff gespeichert werden.

Sie können den Ordner HTML Root auch dynamisch über den Befehl SET HTML ROOT ändern. Die Änderung gilt dann für alle Web Prozesse für die Arbeitssitzung. Der Cache der HTML Seiten wird deshalb geleert.

Zugang per 4D ACTION, 4D METHOD und 4DSCRIPT


Mit den spezifischen URL 4DACTION (nicht kontextueller Modus) und 4DMETHOD (kontextueller Modus), sowie den Tag 4DSCRIPT, 4DVAR und 4DHTMLVAR können Sie die Ausführung jeder Projektmethode in einer 4D Datenbank auslösen, die im Web veröffentlicht wird: Die Anfrage http://www. server.com/4DACTION/Anzeigen löst z.B. die Projektmethode Anzeigen aus, wenn diese vorhanden ist.

Dieser Mechanismus bedeutet jedoch ein Sicherheitsrisiko für die Datenbank, insbesondere, wenn ein Internet Benutzer absichtlich oder auch versehentlich eine Methode auslöst, die nicht über das Web ausgeführt werden soll. Es gibt drei Möglichkeiten, dies zu verhindern:

Sie beschränken den Zugriff auf Projektmethoden über das 4D Kennwortsystem. Zur Erinnerung: Dieses System erfordert den Einsatz von 4D Kennwörtern und unterbindet jegliche Methodenausführung. Dazu gehört auch der Einsatz von HTML Tags.

Sie filtern die über URL aufgerufenen Methoden über die Datenbankmethode On Web Authentication. Beachten Sie jedoch, dass dieses System schwer zu verwalten ist, wenn die Datenbank eine grosse Anzahl Methoden enthält.

Sie verwenden die Option "Zugang per 4DACTION, 4DMETHOD und 4DSCRIPT" aus dem Dialogfenster Methode-Eigenschaften:

Mit dieser Option können Sie jede Projektmethode einzeln bestimmen, die über die spezifischen URL 4D ACTION, 4DMETHOD und den Tag 4DSCRIPT, 4DVAR und 4DHTMLVAR aufrufbar sind. Ist sie inaktiv, kann die Projektmethode nicht über eine HTTP Anfrage ausgeführt werden mit einer spezielle URL, die die 4D Methoden 4DACTION und 4DMETHOD aufruft. Bei anderen Aufrufen wie Formularen oder andere Methoden sind sie dagegen ausführbar.

Die Option ist für Datenbanken standardmäßig inaktiv. Sie müssen Methoden, die über die Web URL 4DACTION, 4DMETHOD oder den Tag 4DSCRIPT, 4DVAR und 4DHTMLVAR ausführbar sind, einzeln angeben.

Im Explorer erscheinen Projektmethoden, die 4DACTION, 4DMETHOD oder 4DSCRIPT erlauben, mit dem Icon

.

Referenz

Datenbankmethode On Web Authentication, Datenbankmethode On Web Connection , SSL Protokoll.


4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next