Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les applications créées avec Windows Communication Foundation (WCF) peuvent consigner les événements de sécurité (réussite, échec ou les deux) avec la fonctionnalité d’audit. Les événements sont écrits dans le journal des événements système Windows et peuvent être examinés à l’aide de l’Observateur d’événements.
L'audit permet à un administrateur de détecter une attaque que s'est déjà produite ou qui est en cours. En outre, l'audit permet de déboguer des problèmes relatifs à la sécurité. Par exemple, si une erreur dans la configuration de la stratégie d'autorisation ou de vérification refuse accidentellement l'accès à un utilisateur autorisé, un développeur peut la détecter rapidement et en isoler la cause en examinant le journal des événements.
Pour plus d’informations sur la sécurité WCF, consultez Vue d’ensemble de la sécurité. Pour plus d’informations sur la programmation de WCF, consultez Programmation WCF de base.
Niveau d’audit et comportement
Deux niveaux d’audits de sécurité existent :
Niveau d’autorisation de service, dans lequel un appelant est autorisé.
Niveau de message, dans lequel WCF vérifie la validité des messages et authentifie l’appelant.
Vous pouvez vérifier les deux niveaux d’audit pour la réussite ou l’échec, qui est appelé comportement d’audit.
Emplacement du journal d’audit
Une fois que vous avez déterminé un niveau d’audit et un comportement, vous (ou un administrateur) pouvez spécifier un emplacement pour le journal d’audit. Les trois choix sont les suivants : Par défaut, Application et Sécurité. Lorsque vous spécifiez La valeur par défaut, le journal réel dépend du système que vous utilisez et de la prise en charge de l’écriture dans le journal de sécurité. Pour plus d’informations, consultez la section « Système d’exploitation » plus loin dans cette rubrique.
Pour écrire dans le journal de sécurité, vous devez disposer du SeAuditPrivilege
fichier . Par défaut, seuls les comptes De système local et de service réseau disposent de ce privilège. Pour gérer les fonctions read
du journal de sécurité et delete
nécessite le SeSecurityPrivilege
. Par défaut, seuls les administrateurs ont ce privilège.
En revanche, les utilisateurs authentifiés peuvent lire et écrire dans le journal des applications. Windows XP écrit des événements d’audit dans le journal des applications par défaut. Le journal peut également contenir des informations personnelles visibles par tous les utilisateurs authentifiés.
Suppression des échecs d’audit
Une autre option lors de l’audit consiste à supprimer toute défaillance d’audit. Par défaut, un échec d’audit n’affecte pas une application. Si nécessaire, toutefois, vous pouvez définir l’option false
sur , ce qui entraîne la levée d’une exception.
Audit de programmation
Vous pouvez spécifier le comportement d’audit par programmation ou par le biais de la configuration.
Classes d’audit
Le tableau suivant décrit les classes et propriétés utilisées pour programmer le comportement d’audit.
classe | Descriptif |
---|---|
ServiceSecurityAuditBehavior | Active la définition des options d’audit en tant que comportement de service. |
AuditLogLocation | Énumération pour spécifier le journal dans lequel écrire. Les valeurs possibles sont Default, Application et Security. Lorsque vous sélectionnez Par défaut, le système d’exploitation détermine l’emplacement du journal réel. Consultez la section « Choix du journal des événements d’application ou de sécurité » plus loin dans cette rubrique. |
MessageAuthenticationAuditLevel | Spécifie les types d’événements d’authentification de message audités au niveau du message. Les choix sont None , Failure , Success , et SuccessOrFailure . |
ServiceAuthorizationAuditLevel | Spécifie les types d’événements d’autorisation de service audités au niveau du service. Les choix sont None , Failure , Success , et SuccessOrFailure . |
SuppressAuditFailure | Spécifie ce qui arrive à la demande du client lors de l’échec de l’audit. Par exemple, lorsque le service tente d’écrire dans le journal de sécurité, mais n’a SeAuditPrivilege pas . La valeur par défaut indique true que les échecs sont ignorés et que la demande du client est traitée normalement. |
Pour obtenir un exemple de configuration d’une application pour journaliser les événements d’audit, consultez Guide pratique pour auditer les événements de sécurité.
Paramétrage
Vous pouvez également utiliser la configuration pour spécifier le comportement d’audit en ajoutant un <serviceSecurityAudit> sous les <comportements>. Vous devez ajouter l’élément sous un <comportement> , comme indiqué dans le code suivant.
<configuration>
<system.serviceModel>
<behaviors>
<behavior>
<!-- auditLogLocation="Application" or "Security" -->
<serviceSecurityAudit
auditLogLocation="Application"
suppressAuditFailure="true"
serviceAuthorizationAuditLevel="Failure"
messageAuthenticationAuditLevel="SuccessOrFailure" />
</behavior>
</behaviors>
</system.serviceModel>
</configuration>
Si l’audit est activé et qu’aucun auditLogLocation
nom de journal n’est spécifié, le nom du journal par défaut est « Sécurité » pour la plateforme prenant en charge l’écriture dans le journal de sécurité ; sinon, il s’agit du journal « Application ». Seuls les systèmes d’exploitation Windows Server 2003 et Windows Vista prennent en charge l’écriture dans le journal de sécurité. Pour plus d’informations, consultez la section « Système d’exploitation » plus loin dans cette rubrique.
Considérations relatives à la sécurité
Si un utilisateur malveillant sait que l’audit est activé, cet attaquant peut envoyer des messages non valides qui provoquent l’écriture d’entrées d’audit. Si le journal d’audit est rempli de cette façon, le système d’audit échoue. Pour atténuer ce problème, définissez la SuppressAuditFailure propriété sur true
et utilisez les propriétés de l’Observateur d’événements pour contrôler le comportement d’audit.
Les événements d’audit écrits dans le journal des applications sur Windows XP sont visibles par n’importe quel utilisateur authentifié.
Choix entre les journaux des événements d’application et de sécurité
Les tableaux suivants fournissent des informations pour vous aider à choisir si vous souhaitez vous connecter à l’application ou au journal des événements de sécurité.
Système d’exploitation
Système | Journal des applications | Journal de sécurité |
---|---|---|
Windows XP SP2 ou version ultérieure | Soutenu | Non prise en charge |
Windows Server 2003 SP1 et Windows Vista | Soutenu | Le contexte de thread doit posséder SeAuditPrivilege |
Autres facteurs
Outre le système d’exploitation, le tableau suivant décrit d’autres paramètres qui contrôlent l’activation de la journalisation.
Facteur | Journal des applications | Journal de sécurité |
---|---|---|
Gestion des stratégies d’audit | Non applicable. | En plus de la configuration, le journal de sécurité est également contrôlé par la stratégie de l’autorité de sécurité locale (LSA). La catégorie « Auditer l’accès aux objets » doit également être activée. |
Expérience utilisateur par défaut | Tous les utilisateurs authentifiés peuvent écrire dans le journal des applications. Par conséquent, aucune étape d’autorisation supplémentaire n’est nécessaire pour les processus d’application. | Le processus d’application (contexte) doit avoir SeAuditPrivilege . |