4D v14.3

SSL Protokoll

Home

 
4D v14.3
SSL Protokoll

SSL Protokoll  


 

 

Der 4D Web Server kann über das SSL Protokoll (Secured Socket Layer) im gesicherten Modus kommunizieren.

Das SSL Protokoll sichert die Kommunikation zwischen zwei Anwendungen ab, das sind hauptsächlich Web Server und Browser. Diese Art von Protokoll ist weit verbreitet und mit den meisten Web Browsern kompatibel.

In der Netzwerkarchitektur reiht sich das SSL Protokoll ein zwischen TCP/IP auf niederer Ebene und dem HTTP Protokoll auf hoher Ebene.

Netzwerkarchitektur mit SSL:

Hinweis: Das SSL Protokoll eignet sich auch zum Absichern von standard Client/Server Verbindungen sowie SQL Server Verbindungen. Weitere Informationen dazu finden Sie im Abschnitt Client/Server Verbindungen verschlüsseln des Handbuchs 4D Server und im Abschnitt Configuration of 4D SQL Server des Handbuchs 4D SQL Reference.

Das SSL Protokoll bürgt für die Identität von Sender und Empfänger, sowie für die Vertraulichkeit und Vollständigkeit der ausgetauschten Informationen:

  • Authentifizierung: Die Identität von Sender und Empfänger werden bestätigt.
  • Vertraulichkeit: Die gesendeten Daten sind verschlüsselt, damit sie für unbefugte Dritte nicht lesbar sind.
  • Integrität: Die empfangenen Daten wurden weder wissentlich noch versehentlich verändert.

Das Sicherheitsprinzip von SSL basiert auf Verschlüsselungsalgorithmen mit einem Schlüsselpaar, d.h. einem privaten und einem öffentlichen Schlüssel.
Mit dem privaten Schlüssel werden die Daten verschlüsselt. Diesen bewahrt der Sender (Web Site) auf. Mit dem öffentlichen Schlüssel werden die Daten entschlüsselt. Er wird über das Zertifikat an den Empfänger weitergegeben (Web Browser). Für den Einsatz von SSL im Internet wird ein Herausgeber für das Zertifikat benötigt, z.B Verisign®. Der Herausgeber stellt der anfragenden Web Site gegen eine Gebühr ein Zertifikat aus, das die Identität des Servers garantiert und den öffentlichen Schlüssel zur Kommunikation im gesicherten Modus enthält.

Hinweis: Weitere Informationen über die Funktionsweise der Verschlüsselung und die Verwendung von öffentlichen und privaten Schlüsseln finden Sie unter dem Befehl ENCRYPT BLOB.

Für einen 4D Web Server mit SSL ist ein numerisches Zertifikat notwendig, ausgestellt von einer Zertifizierungsstelle. Das Zertifikat enthält verschiedene Informationen, die an die Web Browser übertragen werden, die sich an die Web Site anschließen.

Hinweis: Ein Browser akzeptiert die Zertifikate einer Zertifizierungsstelle nur, wenn sie in seinen Eigenschaften registriert ist.

Die Auswahl der Zertifizierungsstelle hängt von mehreren Faktoren ab. Je bekannter der Herausgeber ist, desto mehr Browser erkennen die Zertifikate an, die er ausstellt, desto höher ist aber auch die zu zahlende Gebühr. Am häufigsten wird der Herausgeber Verisign® verwendet.

Um ein SSL Zertifikat zu erhalten:

  1. Generieren Sie über den Befehl GENERATE ENCRYPTION KEYPAIR einen privaten Schlüssel.
    Warnung:
    Aus Sicherheitsgründen darf der private Schlüssel NIEMALS über das Netz verbreitet werden. Er darf den Rechner mit dem Web Server nicht verlassen. Die Datei Key.pem muss im Ordner mit der Struktur der Datenbank liegen.
  2. Richten Sie über den Befehl GENERATE CERTIFICATE REQUEST eine Zertifikatsanfrage ein.
  3. Senden Sie diese Anfrage an die ausgewählte Zertifizierungsstelle.Zum Ausfüllen der Anfrage müssen Sie sich unter Umständen mit der Zertifizierungsstelle in Verbindung setzen. Diese prüft die Echtheit der übermittelten Informationen.
    Die Anfrage des Zertifikats wird in einem BLOB im Format PEM (Privacy Enhanced Mail) generiert. Dieses Format autorisiert das Kopieren und Einfügen der Schlüssel in Textform und den Versand per E-Mail ohne das Risiko, dass ihr Inhalt verändert wird. Sie können also zum Beispiel das BLOB mit der Zertifikatsanfrage über den Befehl BLOB TO DOCUMENT in einem Textdokument sichern, es dann öffnen, seinen Inhalt kopieren und in ein E-Mail bzw. ein Web Formular einfügen, das für die Zertifizierungsstelle bestimmt ist.
  4. Haben Sie Ihr Zertifikat erhalten, erstellen Sie ein Textdokument mit Namen „cert.pem“ und kopieren den Inhalt des Zertifikats in dieses Dokument.
    Sie erhalten das Zertifikat meist als E-Mail oder als HTML Formular. Der 4D Web Server akzeptiert alle für die jeweilige Plattform (PC, Mac OS, Linux...) kompatiblen Textformate. Das Zertifikat muss jedoch im PEM Format sein, z.B. PKCS codiert in base64.
  5. Legen Sie das Dokument „cert.pem“ in den Ordner mit der Strukturdatei der Datenbank. Der Web Server funktioniert nun im SSL Modus. Ein Zertifikat ist im allgemeinen 6 - 12 Monate gültig.

Wollen Sie das SSL Protokoll mit dem 4D Web Server verwenden, müssen auf dem Server an verschiedenen Stellen folgende Komponenten installiert sein:

  • 4DSLI.DLL (Windows) oder 4DSLI.bundle (Mac OS): Schnittstelle für die gesicherte Ebene (Secured Layer Interface) zum Verwalten von SSL. Diese Datei wird standardmäßig installiert, sie liegt:
    - Unter Windows neben der ausführbaren Datei von 4D oder 4D Server
    - Auf Mac OS im Unterordner Native Components des 4D bzw. 4D Server Pakets.
  • key.pem (Dokument mit dem Schlüssel zur privaten Verschlüsselung) und cert.pem (Dokument mit dem Zertifikat):
    - in 4D im lokalen Modus oder 4D Server müssen diese Dateien neben der Strukturdatei der Anwendung liegen,
    - in 4D im remote Modus müssen diese Dateien im Ordner für lokale Ressourcen der 4D Anwendung auf dem remote Rechner liegen. Weitere Informationen dazu finden Sie im Abschnitt 4D Client Database Folder (Client Rechner). Beachten Sie, dass Sie diese Dateien manuell auf den remote Rechner kopieren müssen.

Hinweis: 4DSLI.DLL benötigen Sie auch für die Verschlüsselungsbefehle ENCRYPT BLOB und DECRYPT BLOB.

Die Installation dieser Elemente ermöglicht, SSL für Verbindungen zum 4D Web Server zu verwenden. Damit der 4D Web Server SSL Verbindungen akzeptiert, müssen Sie SSL aktivieren. Gehen Sie dazu in den Datenbank-Eigenschaften auf die Seite Web>Konfiguration und markieren Sie die Option SSL aktivieren.

SSL Verbindungen sind standardmäßig erlaubt. Sie können diese Option deaktivieren, wenn Sie mit Ihrem Web Server keine SSL Funktionalitäten nutzen wollen oder auf demselben Rechner ein anderer Web Server mit SSL operiert.

Für die SSL Kommunikation ist in TCP die Portnummer 443 reserviert. Sie können diese Port Nummer unter HTTPS Port Nummer verändern, um beispielsweise die Sicherheit des Web Server zu erhöhen. Weitere Informationen dazu finden Sie im Abschnitt Web Server, Einstellungen. Der hier definierte TCP Port wird für die Standardverbindungen des Web Servers verwendet.

Hinweis: Die anderen Datenbank-Eigenschaften zum Verwalten des 4D Web Servers gelten immer, egal, ob der SSL Modus aktiviert bzw. nicht aktiviert ist. Das sind die Kennwörter, die Zeitspanne bis zum Abschalten der Verbindung (Timeout), die Größe des Cache, etc.

Damit eine Web Verbindung im gesicherten Modus ausgeführt wird, muss die vom Browser gesendete URL mit https statt http beginnen.
Meldet sich ein Browser an einen Web Server an, der im gesicherten Modus läuft, weist eine Meldung darauf hin. Sobald der Benutzer diesen Dialog bestätigt, sendet der Web Server das Zertifikat an den Browser.

Der Server bietet einige symmetrische Verschlüsselungsalgorithmen (RC2, RC4, DES...).Von den vorhandenen Algorithmen wird immer der leistungsstärkste verwendet.

Warnung: Die erlaubte Verschlüsselungsebene hängt von der geltenden Rechtslage des jeweiligen Landes ab. Die von 4D Web Server angebotene Verschlüsselungsebene richtet sich nach der Library, die für das Verschlüsselungssystem verwendet wird. 4D bietet standardmäßig eine „Export“ Version der Library, bei der die symmetrischen Algorithmen auf 40 Bits begrenzt sind.

Für den Einsatz von SSL im 4D Web Server ist keine besondere Systemkonfiguration notwendig. Sie müssen jedoch berücksichtigen, dass ein Web Server mit SSL auch im nicht-gesicherten Modus laufen kann. Der Modus lässt sich auf Anforderung des Browsers verändern. Dazu genügt es, wenn der Benutzer im URL Bereich des Browsers “HTTPS” durch “HTTP” ersetzt. Der Entwickler kann Anfragen im nicht-gesicherten Modus verbieten oder umleiten. Der aktuelle Verbindungsmodus lässt sich mit der Funktion WEB Is secured connection abfragen.

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Web Server

 
SIEHE AUCH 

DECRYPT BLOB
ENCRYPT BLOB
GENERATE CERTIFICATE REQUEST
GENERATE ENCRYPTION KEYPAIR
WEB Is secured connection
Web Server, Einstellungen

 
SCHLÜSSELWÖRTER 

cert.pem, key.pem, 4DSLI.DLL

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v13.5)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)

Geerbt von : SSL Protokoll ( 4D v12.4)