Delen via


Beveiligingsevenementen controleren

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-systeemlogboek geschreven en kunnen worden onderzocht met behulp van de Logboeken.

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 Beveiligingsoverzicht voor 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 controleniveaus controleren op slagen of mislukken, wat ook wel het controlegedrag 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.

Controleklassen

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

Klas Beschrijving
ServiceSecurityAuditBehavior Hiermee schakelt u instellingsopties in voor het controleren als een servicegedrag.
AuditLogLocation Opsomming om op te geven naar welk logboek moet worden 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 dat niet het geval is SeAuditPrivilege. De standaardwaarde geeft true aan dat fouten worden genegeerd en dat de clientaanvraag normaal wordt verwerkt.

Zie Procedure: Beveiligingsgebeurtenissen controleren voor een voorbeeld van het instellen van een toepassing voor het vastleggen van controlegebeurtenissen.

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 true in op en gebruikt u de eigenschappen van de Logboeken om het controlegedrag 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.

Factor Toepassingslogboek Beveiligingslogboek
Beleidsbeheer controleren 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 SeAuditPrivilegeover .

Zie ook