Sicherheit ist ein wichtiges und grundlegendes Thema für ein Datenbank- oder Geschäftslösungssystem. Dieser Artikel gibt Ihnen einen Überblick darüber, wie 4D Ihre Daten schützt. In der Tat geht es bei der Sicherheit um den Schutz von Daten. Und Datenschutz ist ein weites Feld. Daten müssen vor unerwünschtem Zugriff, aber auch vor Verlust geschützt werden.Dies ist eine wichtige Tatsache, da die meisten Benutzer nur an den Schutz vor unbefugten Benutzern denken, nicht aber an den Schutz vor Ereignissen wie Stromausfall, beschädigte Festplatten, versehentliche Datenänderungen usw.
Sicherheit und Datenschutz ist ein sehr weites Feld: Es beginnt bei der Benutzerauthentifizierung, geht über den externen Zugriff (z. B. Web oder SQL), die unerwünschte Codeausführung (SQL-Injection, Script-Inspection-Angriffe) bis hin zu Sicherheitsupdates, Backups und mehr.
4D Server
4D Server ist ein integriertes Client/Server-Entwicklungssystem, das für die Erstellung robuster Geschäftsanwendungen mit einem eingebetteten Datenbanksystem optimiert ist. Während 4D Daten senden kann (mit Standards wie HTTP, SOAP, ODBC oder OCI) oder von außen zugegriffen werden kann (mit HTTP, SOAP, ODBC/SQL), basiert die Hauptnutzung auf der internen Entwicklungssprache „4D“, die ein internes, proprietäres Netzwerkprotokoll zur Kommunikation zwischen dem Business-Client und dem Server verwendet.
Die Netzwerkkommunikation unterstützt TLS 1.2-Verschlüsselung, entweder mit einem vordefinierten Schlüssel (kein SSL-Zertifikat erforderlich) oder alternativ mit einer vom Kunden bereitgestellten Schlüsseldatei.
Die enge Bindung zwischen Entwicklungssprache und Netzwerkkommunikation ermöglicht ein hochgradig integriertes Schutzkonzept, das typische Angriffsszenarien wie SQL-Injection oder Pufferüberlauf verhindert.
Die 4D Sprache ist eine leistungsstarke und ausgereifte Sprache, die perfekt für die Entwicklung von Anwendungssystemen für Unternehmen geeignet ist. Sie besteht aus mehr als 1500 Befehlen, die Datenbankoperationen (Bestellung, Abfrage, Erstellung, Transaktionen usw.), Drucken, Kommunikation mit anderen Geräten oder Computern, Dokumentenmanagement, Befehle für Fenster oder Benutzeroberflächen und vieles mehr umfassen. Weitere Details finden Sie im 4D Sprachhandbuch.
Die Sprache selbst ist tokenisiert, selbst im interpretierten Modus (Entwicklung oder Prototyping) wird sie niemals als Textauswertung ausgeführt. Im Produktionsmodus wird die Sprache kompiliert, wobei eine automatische Bereichsprüfung zum Schutz vor Pufferüberlauf-Angriffen erfolgt.
4D Web Server
4D verfügt über einen eigenen integrierten HTTP Server, einen leistungsstarken Multi-Thread Server für statische und dynamische Inhalte. Die enge Integration hat einen drastischen Einfluss auf die Sicherheit.
Neben der besseren Codesicherheit (siehe unten) beseitigt dieses Konzept das typische Problem der vergessenen Updates. Da alles integriert ist, muss nur eine Software aktualisiert werden (siehe Abschnitt „Softwareaktualisierung“ für weitere Einzelheiten). Normale Lösungen erfordern eine große Anzahl von Softwarepaketen, die aktualisiert werden müssen: PHP, OpenSSL, Apache, NodeJS und so weiter… Alle müssen regelmäßig aktualisiert werden und es ist üblich, dass einige Teile für lange Zeit ungepatcht bleiben, besonders wenn sie als Abteilungslösung ohne ein spezialisiertes IT-Team verwendet werden.
Web-Anfragen lösen 4D Code aus, der auf der Ebene der Geschäftsanwendung auf die Anfrage reagiert, nicht nur auf der Ebene der Datenbank. Die enge Integration erlaubt es, jede Anfrage zu kontrollieren, mit eingebauter Autorisierung oder kundenspezifischen Implementierungen, natürlich TLS-verschlüsselt.
Der eingebaute HTTP-Server ermöglicht auch eine feine Kontrolle der Berechtigungen, zum Beispiel für einen REST-Server.
SOAP/Webdienst-Server
Ähnlich wie der HTTP-Server ist ein SOAP-Server eingebaut, der eine detaillierte Zugriffskontrolle auf der Grundlage von Geschäftsobjekten (nicht nur auf Datenbankebene) ermöglicht.
4D SQL Server
Während der Datenzugriff für 4D Remote standardmäßig über ein Property-Protokoll erfolgt, wird auch der SQL-Zugriff (nativ oder über ODBC) unterstützt. Darüber hinaus gibt es Open-Source-PDO-Treiber (PHP Data Objects) . Der SQL-Zugriff auf die Datenbankebene kann mit einem Passwortsystem, SQL-Schemata und einer Feinsteuerung über SQL-Ansichten kontrolliert werden.
4D’s eingebautes Passwortsystem
Das in 4D eingebaute Benutzerautorisierungssystem kann durch Systeme von Drittanbietern ersetzt werden. 4D unterstützt sowohl die direkte Nutzung von Microsoft Active Directory und LDAP als auch vollständig angepasste Systeme.
Software-Update-Mechanismus
Moderne Software kann eine komplexe Kombination aus Softwareprodukten, Datenbankserver, Middleware, Anwendungsserver, Webserver und mehr sein. Da kann es leicht passieren, dass man vergisst, alle Teile auf dem neuesten Stand zu halten, wie z.B. eine OpenSSL DLL. 4D reduziert dieses Problem in vielerlei Hinsicht und hilft nicht nur dem Administrator bei seiner täglichen Arbeit, sondern verringert auch das Risiko.
Als integrierte All-in-One-Lösung muss nur ein Ordner ersetzt werden. Alles wird in einem einzigen Ordner installiert und kann sogar mit einem Drag&Drop-Prozess ersetzt werden. Durch diese Vereinfachung wird das „Ich mach’s später“ -Syndrom vermieden. Mit einer einzigen Ersetzung werden alle Teile der Geschäftsanwendung in einem Schritt aktualisiert, nichts kann übersehen werden.
Der Server kann vollautomatisch aktualisiert werden. Der Aktualisierungsprozess wird weder von 4D selbst gesteuert noch erzwungen, er liegt vollständig in der Hand des Entwicklers der Lösung.
Backup und Journaling System
4D bietet von Haus aus ein transaktionsbasiertes Journaling-System. Jede einzelne Datenänderung wird protokolliert und kann rückgängig gemacht werden. Im Ernstfall kann die Arbeit des Tages wiederhergestellt werden – nichts geht verloren. Im Falle einer Unterbrechung wird die Datenbank beim Neustart automatisch überprüft und fehlende Operationen (die im Speicher gehalten und noch nicht auf der Festplatte gespeichert wurden) werden wiederhergestellt, so dass die Datenbank wieder mit allen Informationen zur Verfügung steht. Selbst im Falle einer totalen Datenbeschädigung (defekte Festplatte, etc…) wird die Datendatei automatisch aus dem letzten vollständigen Backup wiederhergestellt und das Journal mit der täglichen Arbeit wird integriert.
Das Transaktionsjournal kann auch im Falle einer versehentlichen Löschung (oder sabotierenden Datensatzmanipulation) nützlich sein, sowohl für die Forensik als auch für die Datenwiederherstellung.
Das Standard-Backup ist Teil des 4D Produkts, es ist keine zusätzliche Lizenzierung erforderlich, lediglich eine zusätzliche Festplatte wird benötigt (zum Schutz bei Festplattenausfällen).
In 24/7-Umgebungen unterstützt 4D die Verwendung von kaskadierten und/oder Sternspiegelsystemen. Ein Produktionssystem, ein Spiegelsystem und ein sekundäres Spiegelsystem bilden einen Cluster von Systemen, die rund um die Uhr Dienste anbieten. Ein zusätzliches Spiegelsystem kann in einer anderen Stadt oder Cloud betrieben werden, um die Daten auch bei extremen Katastrophen zu schützen.
Parallel zum transaktionsbasierten Journaling unterstützt 4D auch Snapshots von virtuellen Maschinen(VSS Writer).
Zusätzlicher Schutz
Alle gängigen Schutzkonzepte, wie z.B. die Absicherung des Serverraums oder die Verwendung von verschlüsselten Festplatten (Hardwarelösungen wie verschlüsselte SSD oder Softwarelösungen wie Bitlocker) sind natürlich ebenfalls zu empfehlen.