Die Überwachung von Microsoft SQL Server ist für die Identifizierung von Sicherheitsproblemen und Sicherheitsverletzungen von entscheidender Bedeutung. Darüber hinaus ist die Prüfung von SQL Server eine Voraussetzung für die Einhaltung von Vorschriften wie PCI DSS und HIPAA.
Der erste Schritt besteht darin, zu definieren, was überprüft werden soll. Sie können beispielsweise Benutzeranmeldungen, Serverkonfigurationen, Schemaänderungen und Datenänderungen überwachen. Als nächstes müssen Sie auswählen, welche Sicherheitsüberwachungsfunktionen verwendet werden sollen. Zu den nützlichen Funktionen gehören:
- C2-Prüfung
- Allgemeine Konformitätskriterien
- Login-Prüfung
- SQL Server-Prüfung
- SQL-Ablaufverfolgung
- Erweiterte Ereignisse
- Datenerfassung ändern
- DML, DDL, and Logon Triggers
Dieser Artikel richtet sich an Datenbankadministratoren (DBAs), die sich mit der Verwendung von C2-Auditing, Common Compliance Criteria und SQL Server-Auditing befassen. Wir werden uns keine Auditing-Tools von Drittanbietern ansehen, obwohl sie eine große Hilfe sein können, insbesondere für größere Umgebungen und in regulierten Branchen.
Aktivieren von C2-Auditing und Common Criteria Compliance
Wenn Sie Ihren SQL Server derzeit nicht auditieren, können Sie am einfachsten mit der Aktivierung von C2-Auditing beginnen. C2 Auditing ist ein international anerkannter Standard, der in SQL Server aktiviert werden kann. Es prüft Ereignisse wie Benutzeranmeldungen, gespeicherte Prozeduren und das Erstellen und Entfernen von Objekten. Aber es ist alles oder nichts – Sie können nicht wählen, was es ist, und es kann viele Daten generieren. Darüber hinaus befindet sich die C2-Überwachung im Wartungsmodus, sodass sie wahrscheinlich in einer zukünftigen Version von SQL Server entfernt wird.
Common Criteria Compliance ist ein neuerer Standard, der die C2-Prüfung ersetzt. Es wurde von der Europäischen Union entwickelt und kann in Enterprise- und Datacenter-Editionen von SQL Server 2008 R2 und höher aktiviert werden. Es kann jedoch zu Leistungsproblemen führen, wenn Ihr Server nicht ausreichend spezifiziert ist, um den zusätzlichen Overhead zu bewältigen.
So aktivieren Sie die C2-Überwachung in SQL Server 2017:
1. Öffnen Sie das SQL Server Management Studio.
2. Stellen Sie eine Verbindung mit dem Datenbankmodul her, für das Sie die C2-Überwachung aktivieren möchten. Stellen Sie im Dialogfeld Mit Server verbinden sicher, dass der Servertyp auf Datenbankmodul festgelegt ist, und klicken Sie dann auf Verbinden.
3. Klicken Sie im Bereich Objekt-Explorer links oben mit der rechten Maustaste auf Ihre SQL Server-Instanz, und wählen Sie Eigenschaften aus dem Menü aus.
4. Klicken Sie im Fenster Servereigenschaften unter Seite auswählen auf Sicherheit.
5. Auf der Seite Sicherheit können Sie die Anmeldeüberwachung konfigurieren. Standardmäßig werden nur fehlgeschlagene Anmeldungen aufgezeichnet. Alternativ können Sie nur erfolgreiche Anmeldungen oder sowohl fehlgeschlagene als auch erfolgreiche Anmeldungen überprüfen.
Abbildung 1. Konfigurieren der Zugriffskontrolle
6. Aktivieren Sie unter Optionen die Option C2-Audit-Ablaufverfolgung aktivieren.
7. Wenn Sie C2 Common Criteria Compliance Auditing aktivieren möchten, aktivieren Sie Common Criteria Compliance aktivieren.
Common Criteria (CC) Compliance ist ein flexibler Standard, der mit verschiedenen Evaluation Assurance Levels (EALs) von 1 bis 7 implementiert werden kann. Höhere EALs haben einen anspruchsvolleren Verifizierungsprozess. Wenn Sie Common Criteria Compliance in SQL Server aktivieren aktivieren, aktivieren Sie CC Compliance EAL1. Es ist möglich, SQL Server manuell für EAL4+ zu konfigurieren.
Das Aktivieren der CC-Konformität ändert das Verhalten von SQL Server. Beispielsweise haben Verweigerungsberechtigungen auf Tabellenebene Vorrang vor Berechtigungen auf Spaltenebene, und sowohl erfolgreiche als auch fehlgeschlagene Anmeldungen werden geprüft. Darüber hinaus ist der Restinformationsschutz (RIP) aktiviert, der Speicherzuordnungen mit einem Bitmuster überschreibt, bevor sie von einer neuen Ressource verwendet werden.
8. OK.
9. Basierend auf den ausgewählten Optionen werden Sie möglicherweise aufgefordert, SQL Server neu zu starten. Wenn diese Meldung angezeigt wird, klicken Sie im Warndialogfeld auf OK. Wenn Sie C2 Common Criteria Compliance aktiviert haben, starten Sie den Server neu. Andernfalls klicken Sie im Objekt-Explorer erneut mit der rechten Maustaste auf Ihre SQL Server-Instanz, und wählen Sie im Menü Neustart aus. Klicken Sie im Warndialogfeld auf Ja, um zu bestätigen, dass Sie SQL Server neu starten möchten.
Aktivieren der SQL Server-Prüfung
Die SQL Server-Prüfung kann anstelle der C2-Prüfung aktiviert werden. SQL Server-Überwachungsobjekte können so konfiguriert werden, dass Ereignisse auf Server- oder SQL Server-Datenbankebene erfasst werden.
Server-Überwachungsobjekt erstellen
Erstellen wir ein SQL Server-Überwachungsobjekt auf Serverebene:
1. Erweitern Sie im Bereich Objekt-Explorer auf der linken Seite die Option Sicherheit.
2. Klicken Sie mit der rechten Maustaste auf Audits und wählen Sie New Audit… aus dem Menü. Dadurch wird ein neues SQL Server-Überwachungsobjekt für die Überwachung auf Serverebene erstellt.
3. Geben Sie im Fenster Audit erstellen den Audit-Einstellungen einen Namen im Feld Audit-Name
4. Geben Sie an, was passieren soll, wenn die SQL Server-Überwachung fehlschlägt, indem Sie die Option On Audit Log Failure verwenden. Wenn Sie Vorgang fehlschlagen auswählen, funktionieren Datenbankoperationen, die nicht geprüft werden, weiterhin.
Abbildung 2. Erstellen eines SQL Server-Überwachungsobjekts auf Serverebene
5. Im Dropdown-Menü Überwachungsziel können Sie auswählen, ob Sie den SQL-Prüfpfad in eine Datei schreiben oder Ereignisse im Windows-Sicherheitsprotokoll oder im Anwendungsereignisprotokoll überwachen möchten. Wenn Sie eine Datei auswählen, müssen Sie einen Pfad für die Datei angeben.
Wenn Sie in das Windows-Sicherheitsereignisprotokoll schreiben möchten, müssen Sie SQL Server die Berechtigung erteilen. Wählen Sie der Einfachheit halber das Anwendungsereignisprotokoll aus. Darüber hinaus können Sie einen Filter als Teil des Audit-Objekts einschließen, um einen engen Ergebnissatz bereitzustellen; Filter müssen in Transact-SQL (T-SQL) geschrieben sein.
6. OK.
7. Die neue Audit-Konfiguration finden Sie nun im Objekt-Explorer unter Audits. Klicken Sie mit der rechten Maustaste auf die neue Überwachungskonfiguration und wählen Sie im Menü die Option Überwachung aktivieren.
8. Klicken Sie im Dialogfeld Prüfung aktivieren auf Schließen.
Datenbanküberwachungsobjekt erstellen
Um ein SQL Server-Überwachungsobjekt für die Überwachung auf Datenbankebene zu erstellen, ist der Prozess etwas anders und Sie müssen zuerst mindestens ein Überwachungsobjekt auf Serverebene erstellen.
1. Erweitern Sie Datenbanken im Objekt-Explorer, und erweitern Sie die Datenbank, für die Sie die Überwachung konfigurieren möchten.
2. Erweitern Sie den Ordner Security, klicken Sie mit der rechten Maustaste auf Database Audit Specifications und wählen Sie New Database Audit Specification… aus dem Menü.
Abbildung 3. Erstellen einer Serverauditspezifikation für die Prüfung auf Datenbankebene
3. Verwenden Sie im Eigenschaftenfenster unter Aktionen die Dropdown-Menüs, um einen oder mehrere Überwachungsaktionstypen zu konfigurieren, indem Sie die zu überprüfenden Anweisungen (z. B. DELETE oder INSERT), die Objektklasse, für die die Aktion ausgeführt wird, usw. auswählen.
4. Wenn Sie fertig sind, klicken Sie auf OK, und aktivieren Sie das Überwachungsobjekt, indem Sie mit der rechten Maustaste darauf klicken und Datenbanküberwachungsspezifikation aktivieren auswählen.
Anzeigen von SQL Server-Überwachungsprotokollen
C2 Audit SQL Server-Überwachungsprotokolle werden im Standarddatenverzeichnis der SQL Server-Instanz gespeichert. Jede Protokolldatei kann maximal 200 Megabyte groß sein. Eine neue Datei wird automatisch erstellt, wenn das Limit erreicht ist.
Eine native Lösung, die zum Anzeigen von SQL Server-Überwachungsprotokollen empfohlen wird, heißt Log File Viewer. Um es zu verwenden, führen Sie die folgenden Schritte aus:
1. Erweitern Sie in SQL Server Management Studio im Objekt-Explorer-Bereich Sicherheit und
2. Klicken Sie mit der rechten Maustaste auf das Überwachungsobjekt, das Sie anzeigen möchten, und wählen Sie im Menü Überwachungsprotokolle anzeigen aus.
3. Im Protokolldatei-Viewer werden die Protokolle auf der rechten Seite angezeigt. Unabhängig davon, ob die Protokolle in eine Datei oder in das Windows-Ereignisprotokoll geschrieben werden, zeigt Log File Viewer die Protokolle an.
4. Oben im Protokolldatei-Viewer können Sie auf Filter klicken, um anzupassen, welche Protokolleinträge angezeigt werden. SQL Server-Dateiprotokolle werden in gespeichert.sqlaudit-Format und sind nicht lesbar, so Log File Explorer können Sie auf Export, um Protokolle zu einem kommagetrennten speichern.Protokolldateiformat.
Abbildung 4. Überprüfen der SQL Server-Überwachungsprotokollierung im Protokolldateibetrachter