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 SeAuditPrivilege
vereist. 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 false
instellen 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 Success SuccessOrFailure . |
ServiceAuthorizationAuditLevel | Hiermee geeft u op welk type serviceautorisatiegebeurtenissen worden gecontroleerd op serviceniveau. De keuzes zijnNone , Failure , en Success SuccessOrFailure . |
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 SeAuditPrivilege over . |