Delen via


Beveiligingsevenementen auditeren

Toepassingen die zijn gemaakt met WCF (Windows Communication Foundation) kunnen beveiligingsevenementen (geslaagd, mislukt of beide) registreren met de controlefunctie. De gebeurtenissen worden naar het Windows-systeemgebeurtenislogboek geschreven en kunnen worden gecontroleerd met behulp van de Logboekviewer.

Controle biedt een manier voor een beheerder om een aanval te detecteren die al is opgetreden of wordt uitgevoerd. Daarnaast kan controle een ontwikkelaar helpen bij het opsporen van beveiligingsproblemen. Als bijvoorbeeld een fout in de configuratie van de autorisatie of het controleren van beleid per ongeluk de toegang tot een geautoriseerde gebruiker weigert, kan een ontwikkelaar de oorzaak van deze fout snel detecteren en isoleren door het gebeurtenislogboek te bekijken.

Zie Security Overviewvoor meer informatie over WCF-beveiliging. Zie Basic WCF Programmeren voor meer informatie over het programmeren van WCF.

Controleniveau en -gedrag

Er bestaan twee beveiligingscontroles:

  • Serviceautorisatieniveau, waarin een aanroeper is geautoriseerd.

  • Berichtniveau, waarbij WCF controleert op de geldigheid van het bericht en de beller verifieert.

U kunt beide auditniveaus controleren op succes of falen, wat ook wel het auditgedrag wordt genoemd.

Locatie van auditlogboek

Zodra u een controleniveau en gedrag hebt bepaald, kunt u (of een beheerder) een locatie voor het auditlogboek opgeven. De drie opties zijn: Standaard, Toepassing en Beveiliging. Wanneer u Standaard opgeeft, is het werkelijke logboek afhankelijk van het systeem dat u gebruikt en of het systeem ondersteuning biedt voor het schrijven naar het beveiligingslogboek. Zie de sectie 'Besturingssysteem' verderop in dit onderwerp voor meer informatie.

Als u naar het beveiligingslogboek wilt schrijven, is het SeAuditPrivilegevereist. Standaard hebben alleen lokale systeem- en netwerkserviceaccounts deze bevoegdheid. Voor het beheren van de beveiligingslogboekfuncties read en delete vereist u de SeSecurityPrivilege. Standaard hebben alleen beheerders deze bevoegdheid.

Geverifieerde gebruikers kunnen daarentegen lezen en schrijven naar het toepassingslogboek. Windows XP schrijft standaard auditgebeurtenissen naar het toepassingslogboek. Het logboek kan ook persoonlijke gegevens bevatten die zichtbaar zijn voor alle geverifieerde gebruikers.

Controlefouten onderdrukken

Een andere optie tijdens de controle is of er controlefouten moeten worden onderdrukt. Standaard heeft een controlefout geen invloed op een toepassing. Indien nodig kunt u echter de optie falseinstellen op , waardoor een uitzondering wordt gegenereerd.

Programmeercontrole

U kunt controlegedrag programmatisch of via configuratie opgeven.

Auditcursussen

In de volgende tabel worden de klassen en eigenschappen beschreven die worden gebruikt om het controlegedrag te programmeren.

Klasse Beschrijving
ServiceSecurityAuditBehavior Hiermee stelt u instellingsopties in voor audit-gedrag als een dienst.
AuditLogLocation Opsomming om aan te geven naar welk logboek wordt geschreven. De mogelijke waarden zijn Standaard, Toepassing en Beveiliging. Wanneer u Standaard selecteert, bepaalt het besturingssysteem de werkelijke logboeklocatie. Zie de sectie Toepassings- of beveiligingslogboekkeuze verderop in dit onderwerp.
MessageAuthenticationAuditLevel Hiermee geeft u op welk type berichtverificatiegebeurtenissen worden gecontroleerd op berichtniveau. De keuzes zijnNone, Failure, en SuccessSuccessOrFailure.
ServiceAuthorizationAuditLevel Hiermee geeft u op welk type serviceautorisatiegebeurtenissen worden gecontroleerd op serviceniveau. De keuzes zijnNone, Failure, en SuccessSuccessOrFailure.
SuppressAuditFailure Hiermee geeft u op wat er gebeurt met de clientaanvraag wanneer de controle mislukt. Bijvoorbeeld, wanneer de service probeert te schrijven naar het beveiligingslogboek, maar daar niet de rechten voor heeft SeAuditPrivilege. De standaardwaarde geeft true aan dat fouten worden genegeerd en dat de clientaanvraag normaal wordt verwerkt.

Zie Procedure: Beveiligingsgebeurtenissen auditeren voor een voorbeeld van het instellen van een applicatie voor het registreren van auditevenementen.

Configuratie

U kunt ook de configuratie gebruiken om controlegedrag op te geven door een <serviceSecurityAudit> toe te voegen onder het <gedrag>. U moet het element onder een <gedrag> toevoegen, zoals wordt weergegeven in de volgende code.

<configuration>  
  <system.serviceModel>  
    <behaviors>  
      <behavior>  
        <!-- auditLogLocation="Application" or "Security" -->  
        <serviceSecurityAudit  
                  auditLogLocation="Application"  
                  suppressAuditFailure="true"  
                  serviceAuthorizationAuditLevel="Failure"  
                  messageAuthenticationAuditLevel="SuccessOrFailure" />
      </behavior>  
    </behaviors>  
  </system.serviceModel>  
</configuration>  

Als controle is ingeschakeld en er auditLogLocation geen logboeknaam is opgegeven, is het standaardlogboek 'Beveiliging' voor het platform dat ondersteuning biedt voor het schrijven naar het beveiligingslogboek. Anders is het logboek 'Toepassing'. Alleen de besturingssystemen Windows Server 2003 en Windows Vista ondersteunen het schrijven naar het beveiligingslogboek. Zie de sectie 'Besturingssysteem' verderop in dit onderwerp voor meer informatie.

Beveiligingsoverwegingen

Als een kwaadwillende gebruiker weet dat controle is ingeschakeld, kan die aanvaller ongeldige berichten verzenden waardoor controlevermeldingen worden geschreven. Als het auditlogboek op deze manier wordt ingevuld, mislukt het controlesysteem. Als u dit wilt verhelpen, stelt u de SuppressAuditFailure eigenschap in op true en gebruikt u de eigenschappen van de Evenementen Viewer om het auditgedrag te beheren.

Controlegebeurtenissen die naar het toepassingslogboek in Windows XP worden geschreven, zijn zichtbaar voor elke geverifieerde gebruiker.

Kiezen tussen toepassings- en beveiligingslogboeken

De volgende tabellen bevatten informatie om u te helpen kiezen of u zich wilt aanmelden bij de toepassing of het gebeurtenislogboek van de beveiliging.

Besturingssysteem

Systeem Toepassingslogboek Beveiligingslogboek
Windows XP SP2 of hoger Ondersteund Niet ondersteund
Windows Server 2003 SP1 en Windows Vista Ondersteund Threadcontext moet beschikken over SeAuditPrivilege

Andere factoren

Naast het besturingssysteem worden in de volgende tabel andere instellingen beschreven waarmee het inschakelen van logboekregistratie wordt bepaald.

Kenmerk Toepassingslogboek Beveiligingslogboek
Auditbeleid beheren Niet van toepassing. Naast de configuratie wordt het beveiligingslogboek ook beheerd door het LSA-beleid (Local Security Authority). De categorie 'Objecttoegang controleren' moet ook zijn ingeschakeld.
Standaardgebruikerservaring Alle geverifieerde gebruikers kunnen schrijven naar het toepassingslogboek, dus er is geen extra machtigingsstap nodig voor toepassingsprocessen. Het toepassingsproces (context) moet beschikken over SeAuditPrivilege.

Zie ook