Partager via


Comment : auditer les événements de sécurité relatifs à Windows Communication Foundation

Windows Communication Foundation (WCF) vous permet d'enregistrer des événements de sécurité dans le journal des événement Windows, qui peut être affiché à l'aide de l'Observateur d'événements Windows. Cette rubrique explique comment installer une application afin qu'elle enregistre des événements de sécurité. Pour plus d'informations sur WCF l'audit, consultez Audit des événements de sécurité.

Pour auditer des événements de sécurité dans le code

  1. Spécifiez l'emplacement du journal d'audit. Pour cela, affectez à la propriété AuditLogLocation de la classe ServiceSecurityAuditBehavior l'une des valeurs d'énumération AuditLogLocation, tel qu'indiqué dans le code suivant.

    L'énumération AuditLogLocation a trois valeurs : Application, Security ou Default. La valeur spécifie l'un des journaux visibles dans l'Observateur d'événements, le journal de sécurité ou le journal d'applications. Si vous utilisez la valeur Default, le journal réel dépend du système d'exploitation sur lequel l'application s'exécute. Si l'audit est activé et que l'emplacement du journal n'est pas spécifié, la valeur par défaut est le journal de Security pour les plateformes qui prennent en charge l'écriture dans le journal de sécurité ; sinon, les événements sont consignés dans le journal d'Application. Seuls Windows Server 2003 et Windows Vista prennent en charge l'écriture dans le journal de sécurité par défaut.

  2. Installez les types d'événements à auditer. Vous pouvez auditer simultanément des événements au niveau du service ou des événements d'autorisation au niveau du message. Pour cela, affectez à la propriété ServiceAuthorizationAuditLevel ou MessageAuthenticationAuditLevel l'une des valeurs d'énumération AuditLevel, tel qu'indiqué dans le code suivant.

  3. Spécifiez s'il convient de supprimer ou d'exposer les défaillances de l'application concernant des événements d'audit de journal. Affectez à la propriété SuppressAuditFailure la valeur true ou false, tel qu'indiqué dans le code suivant.

    La propriété SuppressAuditFailure par défaut a la valeur true, afin que l'échec de l'audit n'affecte pas l'application. Sinon, une exception est levée. Tout audit exécuté avec succès entraîne l'écriture d'un suivi de détails d'information. Tout échec d'audit entraîne l'écriture d'un suivi au niveau d'erreur.

  4. Supprimez le ServiceSecurityAuditBehavior existant de la collection de comportements située dans la description d'un ServiceHost. La collection de comportements est accessible par le biais de la propriété Behaviors, qui elle-même est accessible à partir de la propriété Description. Puis, ajoutez le nouveau ServiceSecurityAuditBehavior à la même collection, tel qu'indiqué dans le code suivant.

Pour installer l'audit dans la configuration

  1. Pour installer l'audit dans la configuration, ajoutez un élément <behavior> à la section Behaviors element du fichier web.config. Puis, ajoutez un élément serviceSecurityAudit et définissez les différents attributs, tel qu'indiqué dans l'exemple suivant.

    <behaviors>
       <behavior name="myAuditBehavior">
          <serviceSecurityAudit auditLogLocation="Application"
                suppressAuditFailure="false" 
                serviceAuthorizationAuditLevel="None" 
                messageAuthenticationAuditLevel="SuccessOrFailure" />
          </behavior>
    </behaviors>
    
  2. Vous devez spécifier le comportement du service, tel qu'indiqué dans l'exemple suivant.

    <services>
        <service type="WCS.Samples.Service.Echo" 
        behaviorConfiguration=" myAuditBehavior">
           <endpoint address=""
                    binding="wsHttpBinding"
                    bindingConfiguration="CertificateDefault" 
                    contract="WCS.Samples.Service.IEcho" />
        </service>
    </services>
    

Exemple

Le code suivant crée une instance de la classe ServiceHost et ajoute un nouveau ServiceSecurityAuditBehavior à sa collection de comportements.

Sécurité

Affecter à la propriété SuppressAuditFailure la valeur true supprime toute impossibilité de générer des audits de sécurité (si la propriété a la valeur false, une exception est levée). Toutefois, si vous activez la propriété Windows Paramètre de sécurité locale suivante, tout échec de génération d'événements d'audit provoque l'arrêt immédiat de Windows :

Audit : arrêter immédiatement le système s'il n'est pas possible de se connecter aux audits de sécurité

Pour définir la propriété, ouvrez la boîte de dialogue Paramètres de sécurité locaux. Sous Paramètres de sécurité, cliquez sur Stratégies locales. Puis, cliquez sur Options de sécurité.

Si la propriété AuditLogLocation a la valeur Security et que le paramètre Auditer l'accès aux objets n'est pas défini dans la Stratégie de sécurité locale, les événements d'audit ne seront pas écrits dans le journal de sécurité. Notez qu'aucun échec n'est retourné, mais que les entrées d'audit ne sont pas écrites dans le journal de sécurité.

Voir aussi

Référence

AuditLogLocation
ServiceSecurityAuditBehavior
AuditLogLocation

Concepts

Audit des événements de sécurité