Ü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

ServiceSecurityAuditBehavior

Ermöglicht das Festlegen von Optionen für die Überwachung als Dienstverhalten.

AuditLogLocation

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.

MessageAuthenticationAuditLevel

Legt fest, welche Arten von Ereignissen für die Nachrichtenauthentifizierung auf Nachrichtenebene überwacht werden. Zur Auswahl stehen None, Failure, Success und SuccessOrFailure.

ServiceAuthorizationAuditLevel

Legt fest, welche Arten von Ereignissen für die Dienstautorisierung auf Dienstebene überwacht werden. Zur Auswahl stehen None, Failure, Success und SuccessOrFailure.

SuppressAuditFailure

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

Sicherheitsübersicht

Weitere Ressourcen

Basis-WCF-Programmierung
serviceSecurityAudit element
Behaviors element
Sicherheitsmodell für Windows Server AppFabric