Sie können viele Maßnahmen ergreifen, um die Sicherheit Ihrer Daten zu verbessern.
Wählen Sie Kennwörter mit Umsicht Führen Sie kein Deployment von Datenbanken durch, die die Standard-Benutzer-ID und das Standard-Kennwort verwenden. Siehe Hinweise zur Sicherheit: Kennwörter.
Setzen Sie Superuser sparsam ein Vermeiden Sie Erstellen und Erteilen von Rollen, die alle Privilegien, Rollen und Administrationsrechte besitzen (d.h., vermeiden Sie Superuser). Erstellen Sie stattdessen Rollen mit logischen Gruppierungen von Privilegien und Rechten und erteilen Sie diese Rollen umsichtig. Wenn Sie Superuser erstellen, verwenden Sie sie nur, wenn es absolut notwendig ist, und speichern Sie ihre Kennwörter an einem sicheren Ort, z.B. in einem Datensafe, um sie bei Bedarf abrufen zu können. Siehe Superuser.
Erwägen Sie, Ihren Datenbankadministratoren zwei Benutzer-IDs zuzuweisen: eine mit allen Privilegien und eine mit eingeschränkten Privilegien. Dann haben die Administratoren die Möglichkeit, sich nur dann mit allen Privilegien anzumelden, wenn dies notwendig ist.
Gesicherte Datenbankfunktionen verwenden Mit der Datenbankserveroption -sf können Sie Funktionen bei allen auf einem Datenbankserver laufenden Datenbanken aktivieren und deaktivieren. Die Funktionen, die Sie deaktivieren können, sind die Verwendung von externen gespeicherten Prozeduren, von Java und des Ferndatenzugriffs sowie die Fähigkeit, die Einstellungen des Anforderungsprotokolls zu ändern. Siehe Datenbankserveroption -sf und Schlüssel für gesicherte Funktionen erstellen.
Externe Systemfunktionen löschen Die folgenden externen Funktionen sind ein mögliches Sicherheitsrisiko:
Mit der Prozedur xp_cmdshell können Benutzer Betriebssystembefehle oder Programme ausführen.
Mit den E-Mail-Systemprozeduren können Benutzer selbst erstellte E-Mails über den Datenbankserver senden. Böswillige Benutzer könnten entweder E-Mail- oder Shell-Prozeduren verwenden, um Betriebssystemaufgaben mit anderen Berechtigungen als denjenigen auszuführen, die ihnen das Betriebssystem zugewiesen hat. In einer Betriebsumgebung, in der die Datensicherheit gewahrt bleiben soll, sollten diese Funktionen nicht verfügbar gemacht werden.
Hinweise zum Löschen von Prozeduren finden Sie unter DROP PROCEDURE-Anweisung.
Schützen Sie Ihre Datenbankdateien Schützen Sie Datenbankdatei, Logdateien und DBSpace-Dateien vor nicht autorisiertem Zugriff. Speichern Sie sie nicht in einem gemeinsam genutzten Verzeichnis oder auf einem gemeinsam genutzten Volume.
Schützen Sie Ihre Datenbank-Software Schützen Sie Ihre SQL Anywhere-Software vor nicht autorisiertem Zugriff. Geben Sie den Benutzern nur Zugriff auf die Anwendungen, DLLs und Ressourcen, die sie benötigen.
Datenbankserver als Dienst oder Daemon ausführen Sie können verhindern, dass nicht autorisierte Benutzer die Datenbank- oder Logdateien herunterfahren oder sich Zugriff darauf verschaffen, indem Sie den Datenbankserver als Windows-Dienst ausführen. Unter Unix dient das Ausführen des Servers als Daemon ähnlichen Zwecken. Siehe Datenbankserver als Dienst oder Daemon ausführen.
Setzen Sie die SATMP-Umgebungsvariable auf ein eindeutiges Verzeichnis (Unix) Um den Datenbankserver auf Unix-Plattformen zu sichern, setzen Sie SATMP auf ein eindeutiges Verzeichnis und versehen Sie dieses Verzeichnis mit Lese-, Schreib- und Ausführungsschutz gegen alle anderen Benutzer. Damit werden alle anderen Verbindungen gezwungen, TCP/IP zu benutzen, wodurch eine bessere Sicherheit gewährleistet ist als bei einer Shared Memory-Verbindung.
Die Puffer des Shared Memorys, die zwischen dem Client und dem Server verwendet werden, werden aus dem Verzeichnisbaum entfernt, bevor tatsächliche Daten zwischen den beiden Seiten ausgetauscht werden. Das bedeutet, dass kein anderer Prozess die Kommunikationsdaten einsehen kann, weil der Shared Memory-Puffer bzw. die Shared Memory-Datei verborgen ist. Daher erhält kein Prozess einen Handle für die Daten. Siehe SATMP-Umgebungsvariable.
Datenbank stark verschlüsseln Wenn Sie Ihre Datenbank stark verschlüsseln, kann nur mit dem Schlüssel darauf zugegriffen werden. Mit anderen Mitteln können Sie weder die Datenbank öffnen noch Datenbank- oder Transaktionslogdateien anzeigen. Siehe Datenbankserveroption -ep und Datenbankoption -ek .
Passen Sie den HTTP-Code der Serveroption -xs und die MaxRequestSize-Protokolloption an Passen Sie den HTTP-Code der Serveroption -xs an { TO, KTO und MaxRequestSize-Protokolloption }. Siehe Datenbankserveroption -xs .
Setzen Sie request_timeout, um zu gewährleisten, dass keine einzelne Anforderung Serverressourcen unbegrenzt verbrauchen kann Setzen Sie die request_timeout-Datenbankoption, um zu gewährleisten, dass keine einzelne Anforderung Serverressourcen unbegrenzt verbrauchen kann. Siehe request_timeout-Option.
Sichern Sie die Sandboxing-Funktion Wenn Sandboxing aktiviert ist, werden die Dateivorgänge der Datenbank mit Lese- und Schreibzugriff auf das Verzeichnis beschränkt, in dem sich die Hauptdatenbankdatei befindet, einschließlich der dazugehörigen Unterverzeichnisse. Siehe:
Datenbanken starten und stoppen Wenn ein Personal Datenbankserver (dbeng16) verwendet wird, kann standardmäßig jeder Benutzer eine zusätzliche Datenbank auf einem laufenden Server starten.
Auf Netzwerk-Datenbankservern (dbsrv16) ist standardmäßig das SERVER OPERATOR-Systemprivileg erforderlich, um eine Datenbank auf einem laufenden Datenbankserver starten zu können. Mit der Datenbankoption -gd können Sie den Zugriff auf diese Option auf Benutzer beschränken, die bestimmte Privilegien in der Datenbank haben, mit der sie bereits verbunden sind.
Datenbanken erstellen und löschen Wenn ein Personal Datenbankserver (dbeng16) ausgeführt wird, kann standardmäßig jeder Benutzer die CREATE DATABASE-Anweisung verwenden, um eine Datenbankdatei zu erstellen.
Auf Netzwerk-Datenbankservern (dbsrv16) ist zum Erstellen von Datenbanken standardmäßig das SERVER OPERATOR-Systemprivileg erforderlich. Mit der Option -gu können Sie den Zugriff auf diese Option auf Benutzer beschränken, die bestimmte Privilegien in der Datenbank haben, mit der sie bereits verbunden sind.
Server stoppen Das Dienstprogramm dbstop stoppt einen Datenbankserver. Dies ist in Batchdateien nützlich oder in anderen Fällen, in denen das interaktive Stoppen des Servers (über die Schaltfläche Herunterfahren im Meldungsfenster des Datenbankservers) nicht praktikabel erscheint.
Auf Personal Datenbankservern (dbeng16) kann standardmäßig jeder Benutzer dbstop ausführen, um einen Server herunterzufahren.
Auf Netzwerk-Datenbankservern (dbsrv16) ist zum Stoppen eines Datenbankservers laut Standardeinstellung das SERVER OPERATOR-Systemprivileg erforderlich. Mit der Option -gk können Sie den Zugriff auf diese Option auf Benutzer beschränken, die bestimmte Privilegien in der Datenbank haben.
Daten laden und entladen Die Anweisungen LOAD TABLE, UNLOAD TABLE und UNLOAD greifen alle auf das Dateisystem auf dem Datenbankserver-Computer zu. Mithilfe der Datenbankserveroption -gl können Sie steuern, welche Datenbankprivilegien zum Laden und Entladen von Daten erforderlich sind. Die Standardeinstellung ist all für Personal Datenbankserver (dbeng16) unter Nicht-Unix-Betriebssystemen.Die Standardeinstellung DBA gilt für den Netzwerk-Datenbankserver und für den Personal Server unter Unix. Wenn Sie den Personal Datenbankserver ausführen, haben Sie bereits Zugriff auf das Dateisystem und dies stellt kein Sicherheitsproblem dar. Wenn Sie den Netzwerk-Datenbankserver ausführen, kann ein unbefugter Zugriff auf das Dateisystem ein Sicherheitsproblem darstellen.
Transportschichtsicherheit zum Verschlüsseln der Client/Server-Kommunikation einsetzen Um Netzwerkpakete besser zu schützen, können Sie die Transportschichtsicherheit einsetzen, um die Kommunikation zwischen Clientanwendungen und dem Datenbankserver zu authentifizieren. Die Transportschichtsicherheit nutzt RSA-Verschlüsselungstechnologie.
Datenbankfunktionen deaktivieren Die Datenbankserveroption -sf gibt eine Liste von Funktionen an, die für auf dem Datenbankserver laufende Datenbanken deaktiviert sind und deshalb für Clientanwendungen oder gespeicherte Prozeduren, Trigger oder innerhalb der Datenbank definierte Ereignisse nicht zur Verfügung stehen. Das kann nützlich sein, wenn Sie eine Datenbank starten, die nicht Ihnen gehört und möglicherweise unerwünschte Aktionen enthält, z.B. Viren oder Trojaner.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |