Dieses Beispiel zeigt, wie die Auditing-Funktion Versuche aufzeichnet, entweder mit Sybase Central oder mit Interactive SQL Zugriff auf nicht autorisierte Daten zu erhalten.
Starten Sie Sybase Central und stellen Sie eine Verbindung mit der Beispieldatenbank unter Verwendung der Datenquelle SQL Anywhere 16 Demo her.
Dies verbindet Sie als Benutzer mit der SYS_AUTH_DBA_ROLE-Systemrolle.
Auditing aktivieren:
Rechtsklicken Sie auf die Datenbank und klicken Sie auf Eigenschaften.
Klicken Sie auf die Registerkarte Auditing.
Klicken Sie auf Alle Audit-Informationen für diese Datenbank sammeln.
Klicken Sie auf Übernehmen.
Klicken Sie auf OK.
Fügen Sie einen Benutzer namens Test1 mit dem Kennwort "welcome" zur Beispieldatenbank hinzu und erteilen Sie dem Benutzer das MANAGE PROFILING-Systemprivileg:
Rechtsklicken Sie auf Benutzer und klicken Sie auf Neu » Benutzer.
Wenn Sie dazu aufgefordert werden, geben Sie den Benutzernamen Test1 und das Kennwort welcome ein.
Klicken Sie auf Fertig stellen.
Wählen Sie den neuen Benutzer unter Benutzer aus und öffnen Sie die Registerkarte Systemprivilegien.
Rechtsklicken Sie auf die Registerkarte Systemprivilegien und klicken Sie auf Neu » Erteilte Systemprivilegien.
Wählen Sie MANAGE PROFILING aus und klicken Sie auf OK, um Test1 das MANAGE PROFILING-Systemprivileg zu erteilen.
Klicken Sie im Sybase Central-Hauptmenü auf Datei&rarrSpeichern, um Ihre Änderungen zu speichern.
Klicken Sie im Sybase Central-Hauptmenü auf Verbindungen&rarrTrennen, um die Verbindung mit der Beispieldatenbank zu trennen.
Unter Verwendung von Sybase Central stellen Sie eine Verbindung zur Beispieldatenbank als Test1 her und versuchen Sie, auf vertrauliche Informationen in der Employees-Tabelle zuzugreifen:
Klicken Sie auf Tabellen und wählen Sie dann die Employees-Tabelle aus.
Klicken Sie auf die Registerkarte Daten.
Sie werden in einer Fehlermeldung darauf hingewiesen, dass Sie keine SELECT-Berechtigung für die Employees-Tabelle haben. Siehe Berechtigung verweigert: %1.
Klicken Sie auf OK.
Trennen Sie die Verbindung zur Beispieldatenbank.
Zeigen Sie die Audit-Daten zu dieser Aktivität an:
Stellen Sie eine Verbindung zur Datenbank mithilfe des SQL Anywhere 16-Plug-Ins her.
Wählen Sie die Datenbank aus und klicken Sie auf die Registerkarte Auditing im rechten Fensterausschnitt.
Klicken Sie auf Audit-Nachrichten abrufen.
Klicken Sie auf Schließen.
Audit-Daten werden angezeigt.
Verwenden Sie die Filteroptionen, um die Position des Fehlers in der Tabelle der Audit-Daten zu ermitteln. Sie können den Fehler für Test1 finden, indem Sie die Option Nur Fehler auswählen. Verwenden Sie die Datums- und Uhrzeitinformationen, um den Fehler festzulegen. Beispiel: Wenn Test1 versucht hat, auf die Employees-Tabelle am 6. November 2007 um 10:07:14 zuzugreifen, sieht der Audit-Eintrag so ähnlich wie der folgende Eintrag aus:
2007-11-06 10:07:14 | Permission |
Setzen Sie die Beispieldatenbank in ihren ursprünglichen Zustand zurück:
Rechtsklicken Sie auf die Datenbank und klicken Sie dann auf Eigenschaften.
Klicken Sie auf der Registerkarte Auditing auf Keine Audit-Informationen für diese Datenbank sammeln.
Klicken Sie auf OK.
Klicken Sie auf Benutzer.
Rechtsklicken Sie auf "Test1" und klicken Sie auf Löschen.
Starten Sie Interactive SQL und stellen Sie eine Verbindung mit der Beispieldatenbank unter Verwendung der Datenquelle SQL Anywhere 16 Demo her.
Dies verbindet Sie als Benutzer mit der SYS_AUTH_DBA_ROLE-Systemrolle.
Schalten Sie Auditing ein, indem Sie die Anweisung SET OPTION folgendermaßen verwenden:
SET OPTION PUBLIC.auditing = 'On'; |
Fügen Sie einen Benutzer (Test1) der Beispieldatenbank unter Verwendung der Anweisung CREATE USER hinzu, und zwar folgendermaßen:
CREATE USER Test1 IDENTIFIED BY welcome; |
Öffnen Sie ein neues Interactive SQL-Fenster, stellen Sie für den Benutzer Test1 eine Verbindung mit der Beispieldatenbank her und versuchen Sie, auf vertrauliche Informationen in der Employees-Tabelle unter Verwendung der folgenden SELECT-Anweisung zuzugreifen:
SELECT Surname, Salary FROM GROUPO.Employees; |
Sie werden in einer Fehlermeldung darauf hingewiesen, dass Sie keine SELECT-Berechtigung für die Employees-Tabelle haben. Siehe Berechtigung verweigert: %1.
Führen Sie den folgenden Befehl aus, um die Audit-Daten zu dieser Aktivität anzuzeigen:
dbtran -g -c "DSN=SQL Anywhere 16 Demo" -n demo.sql |
Setzen Sie die Beispieldatenbank in ihren ursprünglichen Zustand zurück:
Verwenden Sie die Anweisung DROP USER, um den Benutzer Test1 aus der Datenbank zu entfernen:
DROP USER Test1; |
Schalten Sie Auditing aus, indem Sie die folgende Anweisung SET OPTION verwenden:
SET OPTION PUBLIC.auditing = 'Off'; |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |