Überwachen von Sicherheitsereignissen
Mit Windows Communication Foundation (WCF) erstellte Anwendungen können mit der Überwachungsfunktion Sicherheitsereignisse (Erfolg, Fehler oder beides) protokollieren. Die Ereignisse werden in das Ereignisprotokoll von Windows geschrieben und können in der Ereignisanzeige untersucht werden.
Mithilfe der Überwachung können Administratoren bereits stattgefundene oder gerade laufende Angriffe erkennen. Darüber hinaus können Entwickler mittels Überwachung sicherheitsrelevante Probleme debuggen. Falls beispielsweise berechtigten Benutzern versehentlich aufgrund eines Fehlers in der Konfiguration der Autorisierung oder Überprüfungsrichtlinie der Zugriff verweigert wird, kann die Ursache für diesen Fehler schnell durch Überprüfung des Ereignisprotokolls erkannt und isoliert werden.
Weitere Informationen über zur WCF-Sicherheit finden Sie unter Sicherheitsübersicht. Weitere Informationen über zum Programmieren in WCF finden Sie unter Basis-WCF-Programmierung.
Überwachungsstufe und Überwachungsverhalten
Es gibt zwei Stufen für die Sicherheitsüberwachung:
Autorisierung auf Dienstebene: Es wird ein Aufrufer autorisiert.
Auf Nachrichtenebene: WCF überprüft die Gültigkeit der Nachricht und authentifiziert den Aufrufer.
Sie können beide Überwachungsstufen auf Erfolg oder Fehler hin überprüfen. Dies wird als Überwachungsverhalten bezeichnet.
Auswahl des Überwachungsprotokolls
Nachdem Überwachungsstufe und Überwachungsverhalten festgelegt wurden, können Sie (oder ein Administrator) angeben, in welches Überwachungsprotokoll geschrieben werden soll. Zur Auswahl stehen drei Optionen: Standard (Default), Anwendung (Application) und Sicherheit (Security). Falls Sie "Standard" auswählen, ist das tatsächlich verwendete Protokoll vom verwendeten Betriebssystem abhängig und davon, ob auf diesem System in das Sicherheitsprotokoll geschrieben werden darf. Weitere Informationen finden Sie unter "Betriebssystem" weiter unten in diesem Thema.
Zum Schreiben in das Sicherheitsprotokoll ist die Berechtigungsstufe SeAuditPrivilege erforderlich. Standardmäßig verfügen nur die Konten "Lokales System" und "Netzwerkdienst" über diese Berechtigung. Zum Verwalten der Sicherheitsprotokollfunktionen read und delete ist die Berechtigungsstufe SeSecurityPrivilege erforderlich. Standardmäßig verfügen nur Administratoren über diese Berechtigung.
Authentifizierte Benutzer dagegen dürfen das Anwendungsprotokoll anzeigen und in dieses Protokoll schreiben. Unter Windows XP werden Überwachungsereignisse standardmäßig in das Anwendungsprotokoll geschrieben. Dieses Protokoll kann auch persönliche Daten enthalten, die allen authentifizierten Benutzern zugänglich sind.
Unterdrücken von Überwachungsfehlern
Eine weitere Option bei der Überwachung ist die Unterdrückung von Überwachungsfehlern. Standardmäßig wirken sich Überwachungsfehler nicht auf die Anwendung aus. Bei Bedarf können Sie diese Option jedoch auf false setzen. In diesem Fall wird eine Ausnahme ausgelöst.
Programmieren der Überwachung
Sie können das Überwachungsverhalten entweder programmatisch oder über die Konfiguration festlegen.
Überwachen von Klassen
In der folgenden Tabelle werden die Klassen und Eigenschaften vorgestellt, mit denen das Überwachungsverhalten programmiert wird.
Klasse | Beschreibung |
---|---|
Ermöglicht das Festlegen von Optionen für die Überwachung als Dienstverhalten. |
|
Eine Enumeration, mit der festgelegt wird, in welches Protokoll geschrieben werden soll. Die möglichen Werte sind Standard (Default), Anwendung (Application) und Sicherheit (Security). Bei Auswahl von "Standard" (Default) wird das Protokoll durch das Betriebssystem bestimmt. Weitere Informationen finden Sie unter "Auswählen des Anwendungsereignisprotokolls oder des Sicherheitsereignisprotokolls" weiter unten in diesem Thema. |
|
Legt fest, welche Arten von Ereignissen für die Nachrichtenauthentifizierung auf Nachrichtenebene überwacht werden. Zur Auswahl stehen None, Failure, Success und SuccessOrFailure. |
|
Legt fest, welche Arten von Ereignissen für die Dienstautorisierung auf Dienstebene überwacht werden. Zur Auswahl stehen None, Failure, Success und SuccessOrFailure. |
|
Legt fest, was mit der Clientanforderung geschieht, wenn bei der Überwachung ein Fehler auftritt. Zum Beispiel, wenn der Dienst versucht, in das Sicherheitsprotokoll zu schreiben, ohne über die SeAuditPrivilege-Berechtigung zu verfügen. Der Standardwert true gibt an, dass Fehler ignoriert werden und die Clientanforderung normal verarbeitet wird. |
Ein Beispiel, wie Sie eine Anwendung für die Protokollierung von Überwachungsereignissen einrichten können, finden Sie unter Vorgehensweise: Überwachen von Windows Communication Foundation-Sicherheitsereignissen.
Konfiguration
Sie können Überwachungsverhalten auch über die Konfiguration angeben, indem Sie ein serviceSecurityAudit element unter dem Behaviors element hinzufügen. Sie müssen das Element wie im folgenden Code gezeigt unter einem Behavior element hinzufügen.
<configuration>
<system.serviceModel>
<behaviors>
<behavior>
<!— auditLogLocation="Application" or "Security" -—>
<serviceSecurityAudit
auditLogLocation="Application"
suppressAuditFailure="true"
serviceAuthorizationAuditLevel="Failure"
messageAuthenticationAuditLevel="SuccessOrFailure" />
</behavior>
</behaviors>
</system.serviceModel>
</configuration>
Falls bei aktivierter Überwachung auditLogLocation nicht angegeben wird, lautet der standardmäßige Protokollname "Security" bei Plattformen, auf denen in das Sicherheitsprotokoll geschrieben werden darf. Andernfalls wird "Application" verwendet. Das Schreiben in das Sicherheitsprotokoll wird nur auf den Betriebssystemen Windows Server 2003 und Windows Vista unterstützt. Weitere Informationen finden Sie unter "Betriebssystem" weiter unten in diesem Thema.
Sicherheitsüberlegungen
Wenn böswillige Benutzer erkennen, dass die Überwachung aktiviert ist, können diese Angreifer ungültige Nachrichten senden, die dazu führen, dass Überwachungseinträge geschrieben werden. Wenn das Überwachungsprotokoll auf diese Weise ausgefüllt wird, schlägt das Überwachungssystem fehl. Sie können diese Gefahr verringern, indem Sie die SuppressAuditFailure-Eigenschaft auf true festlegen und mit den Eigenschaften der Ereignisanzeige das Überwachungsverhalten steuern. Weitere Informationen finden Sie unter dem Microsoft Support-Artikel zum Anzeigen und Verwalten von Ereignisprotokollen in der Ereignisanzeige von Windows XP unter SO WIRD'S GEMACHT: Einsehen und Verwalten von Ereignisprotokollen in der Ereignisanzeige in Windows XP.
Unter Windows XP sind die in das Anwendungsprotokoll geschriebenen Überwachungsereignisse für alle authentifizierten Benutzer sichtbar.
Auswählen des Anwendungsereignisprotokolls oder des Sicherheitsereignisprotokolls
Die folgenden Tabellen enthalten Informationen, die Ihnen dabei helfen sollen zu entscheiden, ob in das Anwendungsereignisprotokoll oder in das Sicherheitsereignisprotokoll geschrieben werden soll.
Betriebssystem
System | Anwendungsprotokoll | Sicherheitsprotokoll |
---|---|---|
Windows XP SP2 oder höher |
Unterstützt |
Nicht unterstützt |
Windows Server 2003 SP1 und Windows Vista |
Supported |
Threadkontext muss SeAuditPrivilege verarbeiten |
Andere Faktoren
Neben dem Betriebssystem wird die Aktivierung der Protokollierung noch durch andere, in der folgenden Tabelle beschriebene Einstellungen gesteuert.
Faktor | Anwendungsprotokoll | Sicherheitsprotokoll |
---|---|---|
Überwachungsrichtlinienverwaltung |
n/v |
Das Sicherheitsprotokoll wird nicht nur über die Konfiguration, sondern auch über die Richtlinie der lokalen Sicherheitsautorität (LSA) gesteuert. Darüber hinaus muss die Kategorie "Objektzugriffsversuche überwachen" aktiviert sein. |
Standardmäßige Benutzerfreundlichkeit |
Alle authentifizierten Benutzer können in das Anwendungsprotokoll schreiben, es sind also für Anwendungsprozesse keine weiteren Berechtigungsschritte erforderlich. |
Der Anwendungsprozess (Kontext) muss über die SeAuditPrivilege-Berechtigung verfügen. |
Siehe auch
Aufgaben
Vorgehensweise: Überwachen von Windows Communication Foundation-Sicherheitsereignissen
Verweis
ServiceSecurityAuditBehavior
AuditLogLocation
Konzepte
Weitere Ressourcen
Basis-WCF-Programmierung
serviceSecurityAudit element
Behaviors element
Sicherheitsmodell für Windows Server AppFabric