Vorgehensweise: Schreiben von Serverüberwachungsereignissen in das Sicherheitsprotokoll
In einer Umgebung mit hoher Sicherheit ist das Windows-Sicherheitsprotokoll der geeignete Speicherort für Ereignisse, die Objektzugriffe aufzeichnen. Andere Überwachungsspeicherorte werden unterstützt, können aber leichter manipuliert werden.
Es gibt zwei Hauptanforderungen für das Schreiben von SQL Server-Serverüberwachungen in das Windows-Sicherheitsprotokoll:
Die Einstellungen für die Überwachung von Objektzugriffsversuchen müssen so konfiguriert sein, dass die Ereignisse aufgezeichnet werden. Die beste Möglichkeit hierzu hängt vom Betriebssystem ab.
Verwenden Sie in Windows Vista und Windows Server 2008 das Tool für Überwachungsrichtlinien (auditpol.exe). Das Überwachungsrichtlinienprogramm macht einer Vielzahl von Einstellungen für Unterrichtlinien in der Kategorie Überwachung von Objektzugriffsversuchen verfügbar. Um SQL Server zu ermöglichen, den Objektzugriff zu überwachen, konfigurieren Sie die Einstellung automatisch generiert.
Für frühere Versionen von Windows ist das Tool für Überwachungsrichtlinien nicht verfügbar. Verwenden Sie stattdessen das Sicherheitsrichtlinien-Snap-In (secpol.msc). Falls verfügbar, ist die Überwachungsrichtlinie vorzuziehen, da Einstellungen exakter konfiguriert werden können.
Das Konto, unter dem der SQL Server-Dienst ausgeführt wird, muss über die Berechtigung zum Generieren von Sicherheitsüberwachungen verfügen, um in das Windows-Sicherheitsprotokoll schreiben zu können. Standardmäßig verfügen die Konten LOCAL SERVICE und NETWORK SERVICE über diese Berechtigung. Dieser Schritt ist nicht erforderlich, wenn SQL Server unter einem dieser Konten ausgeführt wird.
Die Windows-Überwachungsrichtlinie kann sich auf die SQL Server-Überwachung auswirken, wenn sie so konfiguriert wurde, dass sie in das Windows-Sicherheitsprotokoll schreibt. In diesem Fall besteht bei einer falschen Konfiguration der Überwachungsrichtlinie die Gefahr, dass Ereignisse verloren gehen. Das Windows-Sicherheitsprotokoll ist standardmäßig so konfiguriert, dass ältere Ereignisse überschrieben werden. Hierdurch werden immer die neuesten Ereignisse beibehalten. Wurde das Windows-Sicherheitsprotokoll jedoch so festgelegt, dass ältere Ereignisse nicht überschrieben werden, löst das System das Windows-Ereignis 1104 aus, sobald das Sicherheitsprotokoll voll ist. In diesem Fall geschieht Folgendes:
Es werden keine weiteren Sicherheitsereignisse aufgezeichnet.
SQL Server kann nicht erkennen, dass das System keine Ereignisse mehr im Sicherheitsprotokoll aufzeichnen kann, sodass Überwachungsereignisse möglicherweise verloren gehen.
Nachdem der Administrator das Sicherheitsprotokoll korrigiert hat, wird die Protokollierung wieder wie gewohnt ausgeführt.
Administratoren des SQL Server-Computers sollten sich bewusst sein, dass lokale Einstellungen für das Sicherheitsprotokoll durch eine Domänenrichtlinie überschrieben werden können. In diesem Fall könnte die Domänenrichtlinie die Unterkategorieeinstellung überschreiben (auditpol /get /subcategory:"application generated"). Dies kann sich auf die Fähigkeit von SQL Server auswirken, Ereignisse zu protokollieren. Dabei kann nicht erkannt werden, dass die Ereignisse, die SQL Server zu überwachen versucht , nicht aufgezeichnet werden.
Sie müssen Windows-Administrator sein, um diese Einstellungen konfigurieren zu können.
So konfigurieren Sie die Einstellung für die Überwachung von Objektzugriffsversuchen in Windows mit 'auditpol'
Wenn das Betriebssystem Windows Vista oder Windows Server 2008 ist, öffnen Sie eine Eingabeaufforderung mit Administratorberechtigungen.
Zeigen Sie im Menü Start auf Alle Programme, zeigen Sie auf Zubehör, klicken Sie mit der rechten Maustaste auf Eingabeaufforderung, und klicken Sie dann auf Als Administrator ausführen.
Wenn das Dialogfeld Benutzerkontensteuerung geöffnet wird, klicken Sie auf Weiter.
Führen Sie die folgende Anweisung aus, um die Überwachung von SQL Server zu aktivieren.
auditpol /set /subcategory:"application generated" /success:enable /failure:enable
Schließen Sie das Eingabeaufforderungsfenster.
Diese Einstellung wird sofort wirksam.
So konfigurieren Sie die Einstellung für die Überwachung von Objektzugriffsversuchen in Windows mit 'secpol'
Wenn das Betriebssystem eine frühere Version als Windows Vista oder Windows Server 2008 ist, klicken Sie im Menü Start auf Ausführen.
Geben Sie secpol.msc ein, und klicken Sie dann auf OK. Wenn das Dialogfeld Benutzerzugriffssteuerung angezeigt wird, klicken Sie auf Weiter.
Erweitern Sie im Tool Lokale Sicherheitsrichtlinie die Sicherheitseinstellungen, erweitern Sie Lokale Richtlinien, und klicken Sie dann auf Überwachungsrichtlinie.
Doppelklicken Sie im Ergebnisbereich auf Überwachung von Objektzugriffsversuchen.
Wählen Sie im Bereich Diese Versuche überwachen auf der Registerkarte Lokale Sicherheitseinstellung sowohl Erfolg als auch Fehler aus.
Klicken Sie auf OK.
Schließen Sie das Tool Sicherheitsrichtlinie.
Diese Einstellung wird sofort wirksam.
So erteilen Sie die Berechtigung zum Generieren von Sicherheitsüberwachungen für ein Konto mit 'secpol'
Klicken Sie in allen Windows-Betriebssystemen im Menü Start auf Ausführen.
Geben Sie secpol.msc ein, und klicken Sie dann auf OK. Wenn das Dialogfeld Benutzerzugriffssteuerung angezeigt wird, klicken Sie auf Weiter.
Erweitern Sie im Tool Lokale Sicherheitsrichtlinie die Sicherheitseinstellungen, erweitern Sie Lokale Richtlinien, und klicken Sie dann auf Zuweisen von Benutzerrechten.
Doppelklicken Sie im Ergebnisbereich auf Generieren von Sicherheitsüberwachungen.
Klicken Sie auf der Registerkarte Lokale Sicherheitseinstellung auf Benutzer oder Gruppe hinzufügen.
Geben Sie im Dialogfeld Benutzer, Computer oder Gruppen auswählen entweder den Namen des Benutzerkontos, z. B. Domäne1\Benutzer1 ein, und klicken Sie dann auf OK, oder klicken Sie auf Erweitert, und suchen Sie nach dem Konto.
Klicken Sie auf OK.
Schließen Sie das Tool Sicherheitsrichtlinie.
Diese Einstellung wird beim Neustart von SQL Server wirksam.