L'audit de sécurité permet de
suivre et d'archiver les événements auditables qui surviennent au cours des opérations du module d'exécution des services Web. Quand l'audit de sécurité est activé pour des services Web, l'utilitaire de collecte des événements collecte et consigne dans des rapports d'événement d'audit tous les événements liés à la signature, au chiffrement, à la sécurité, à l'authentification et à la délégation. Vous pouvez analyser les rapports d'événement d'audit pour détecter les éventuelles violations de la sécurité et les faiblesses existant dans la configuration de sécurité de votre environnement.
Pour que le générateur d'événements puisse collecter les rapports d'audit générés pour le module d'exécution de sécurité des services Web, le sous-système d'audit de sécurité doit être activé dans WebSphere
Application Server. L'enregistrement des événements de sécurité auditables requiert l'activation du sous-système d'audit de sécurité. Pour plus d'informations sur l'activation de l'audit de sécurité, voir la rubrique "Activation du sous-système d'audit de sécurité".
L'audit de sécurité des Services Web est activé uniquement pour le programme d'exécution JAX-WS. Plusieurs événements d'audit peuvent se produire lors de la réception d'un message SOAP.
Les données d'audit sont collectées au cours des diverses opérations du module d'exécution de sécurité des services Web, par exemple lors de la validation de la signature numérique d'un message SOAP, du déchiffrement de ce message ou de la vérification de son en-tête de sécurité. Les données d'audit sont gérées par le générateur d'événements et stockées dans des journaux d'audit pour analyse ultérieure.
Les événements auditables des services Web sont les suivants :
Signature
Quand la signature numérique d'un message SOAP est validée, un événement SECURITY_SIGNING est envoyé au générateur d'événements, accompagné d'un résultat qui peut être SUCCESS ou ERROR. Des codes raison, comme VALID_SIGNATURE ou INVALID_SIGNATURE, sont également transmis. L'intégrité du message est contrôlée, cela génère un événement
SECURITY_SIGNING avec un résultat SUCCESS ou DENIED. Les codes raison possibles sont
INTEGRITY ou INTEGRITY_BAD. Le tableau suivant récapitule les événements liés aux signatures :
Tableau 1. Evénements d'audit de signature. Utilisez les enregistrements d'événement d'audit de signature pour détecter les éventuelles violations de sécurité et les faiblesses existant dans la configuration de la sécurité.Type d'événement |
Résultats possibles |
Codes raison |
SECURITY_SIGNING (signature numérique) |
SUCCESS
ERREUR
|
VALID_SIGNATURE
INVALID_SIGNATURE
|
SECURITY_SIGNING (intégrité) |
SUCCESS
DENIED
|
INTEGRITY
INTEGRITY_BAD
|
Si le résultat de l'événement SECURITY_SIGNING est DENIED et que le code raison est INTEGRITY_BAD, cela signifie que la signature d'au moins une partie du message, qui doit être signée selon les règles de sécurité, n'a pas été validée.
Si le résultat de l'événement SECURITY_SIGNING est ERROR et que le code raison est INVALID_SIGNATURE, cela signifie que la validation de la signature numérique a échoué. Ceci peut générer un code raison INTEGRITY_BAD dans le rapport d'audit selon que la signature numérique est requise ou non par les règles de sécurité.
Chiffrement
L'audit du chiffrement se fait en deux étapes : tout d'abord, les parties chiffrées du message SOAP sont traitées, puis la confidentialité du message est contrôlée. Pour contrôler chaque partie chiffrée du message, un événement SECURITY_ENCRYPTION est envoyé.
Un enregistrement d'événement est créé uniquement quand le résultat de l'événement est ERROR, ce qui signifie qu'une exception s'est produite. Le code raison associé est DECRYPTION_ERROR.
Ensuite, la confidentialité du message est contrôlée avec un autre événement SECURITY_ENCRYPTION. Les résultats possibles sont
alors SUCCESS ou DENIED. Les codes raison possibles pour cet événement sont
CONFIDENTIALITY et CONFIDENTIALITY_BAD. Le tableau suivant récapitule les événements liés aux chiffrements :
Tableau 2. Evénements d'audit de chiffrement. Utilisez les enregistrements d'événement d'audit de chiffrement pour détecter les éventuelles violations de sécurité et les faiblesses existant dans la configuration de la sécurité.Type d'événement |
Résultats possibles |
Codes raison |
SECURITY_ENCRYPTION (parties chiffrées du message) |
ERREUR |
DECRYPTION_ERROR |
SECURITY_ENCRYPTION (confidentialité) |
SUCCESS
DENIED
|
CONFIDENTIALITY
CONFIDENTIALITY_BAD
|
Si le résultat de l'événement SECURITY_ENCRYPTION est DENIED et que le code raison est CONFIDENTIALITY_BAD, cela signifie que le chiffrement d'au moins une partie du message, qui doit être chiffrée selon les règles de sécurité, est incorrect.
Un événement DECRYPTION_ERROR dans le rapport d'audit peut s'accompagner du code raison CONFIDENTIALITY_BAD selon que le chiffrement du message est obligatoire ou non.
Horodatage
Pour chaque message SOAP, l'horodatage est contrôlé quand un événement SECURITY_RESOURCE_ACCESS est envoyé au générateur d'événements. Les résultats possibles pour cet événement sont SUCCESS
et DENIED. Les codes raison possibles sont
TIMESTAMP ou TIMESTAMP_BAD. Le tableau suivant récapitule les événements liés aux horodatages :
Tableau 3. Evénement d'audit d'horodatage. Utilisez les enregistrements d'événement d'audit d'horodatage pour détecter les éventuelles violations de sécurité et les faiblesses existant dans la configuration de la sécurité.Type d'événement |
Résultats possibles |
Code anomalie |
SECURITY_RESOURCE_ACCESS |
SUCCESS
DENIED
|
TIMESTAMP
TIMESTAMP_BAD
|
En-tête de sécurité
L'en-tête de sécurité est contrôlé pour s'assurer de sa présence dans le message SOAP. Un événement SECURITY_RESOURCE_ACCESS
est envoyé et, si l'en-tête est absent, le résultat est DENIED et le code raison est SECURITY_HEADER_MISSING. Le tableau suivant récapitule les événements liés aux en-têtes de sécurité :
Tableau 4. Evénement d'audit d'en-tête de sécurité. Utilisez les enregistrements d'événement d'audit de sécurité pour détecter les éventuelles violations de sécurité et les faiblesses existant dans la configuration de la sécurité.Type d'événement |
Résultats possibles |
Code anomalie |
SECURITY_RESOURCE_ACCESS |
DENIED |
SECURITY_HEADER_MISSING |
Authentification
Le jeton de sécurité qui sert à authentifier un message est contrôlé pour déterminer si son authentification a réussi. Les informations relatives au type d'authentification, au nom du fournisseur et à l'état du fournisseur sont enregistrées dans le rapport d'événement d'audit. L'ID du jeton est également enregistré, avec des informations spécifiques au type de jeton, par exemple le nom d'utilisateur et le fichier de clés. Les informations sensibles, comme le jeton lui-même ou son mot de passe, ne sont pas enregistrées dans le rapport d'événement d'audit. Le tableau suivant récapitule les informations enregistrées pour chaque type de jeton :
Tableau 5. Informations sur le jeton enregistrées dans le rapport d'événement d'audit. Utilisez les enregistrements d'événement d'audit d'authentification pour détecter les éventuelles violations de sécurité et les faiblesses existant dans la configuration de la sécurité.Type de jeton |
Informations enregistrées |
Jeton de nom d'utilisateur |
- Nom d'utilisateur
- Mot de passe (null ou non null)
- ID de jeton
|
LTPA |
- Principal
- Expiration
- ID de jeton
|
LTPAPropagate |
- Principal
- Expiration
- ID de jeton
|
SecureConversation |
- UUID
- UUID d'instance
- ID de jeton
|
DerivedKey |
- ID de référence
- ID de jeton
|
Kerberos |
- Principal
- SPN
- pSHA1
- ID de jeton
|
X509 |
- Certificat
- Objet
- Emetteur
- Fichier de clés
- ID de jeton
- TrustAny
|
PKP Path (infrastructure PKI) |
- Certificat
- Objet
- Emetteur
- Fichier de clés
- ID de jeton
- TrustAny
|
PKCS7 (Public Key Cryptography Standards) |
- Certificat
- Objet
- Emetteur
- Fichier de clés
- ID de jeton
- TrustAny
|
jeton SAML |
- Principal
- Nom de l'émetteur du jeton SAML
- Méthode de confirmation
|
L'audit de l'authentification du message génère un événement SECURITY_AUTHN. Les résultats possibles de cet événement sont SUCCESS, DENIED et FAILURE.
Les codes raison possibles sont AUTHN_SUCCESS, AUTHN_LOGIN_EXCEPTION et AUTHN_PRIVILEDGE_ACTION_EXCEPTION.
Le tableau suivant récapitule les événements liés aux authentifications :
Tableau 6. Evénement d'audit d'authentification. Utilisez les enregistrements d'événement d'audit d'authentification pour détecter les éventuelles violations de sécurité et les faiblesses existant dans la configuration de la sécurité.Type d'événement |
Résultats possibles |
Codes raison |
SECURITY_AUTHN |
SUCCESS
DENIED
FAILURE
|
AUTHN_SUCCESS
AUTHN_LOGIN_EXCEPTION
AUTHN_PRIVILEDGE_ACTION_EXCEPTION
|
Délégation
L'authentification d'un message SOAP peut être déléguée, aussi la fonction de délégation peut-elle également être contrôlée. Cet audit génère un événement SECURITY_AUTHN_DELEGATION. Cet événement est envoyé lorsque l'identité du client
est propagée ou que la délégation implique l'utilisation d'une identité spéciale. Dans le module d'exécution de sécurité des services Web, les événements d'audit sont enregistrés uniquement quand le type de délégation défini est
Vérification d'identité. Les résultats possibles de cet événement sont
SUCCESS et DENIED. Les codes raison possibles sont AUTHN_SUCCESS et AUTHN_DENIED.
Des informations supplémentaires, comme le type de délégation, le nom de rôle et l'identité, sont collectées et stockées dans le rapport d'événement d'audit. Le tableau suivant récapitule les événements liés aux délégations :
Tableau 7. Evénement d'audit de délégation. Utilisez les enregistrements d'événement d'audit de la délégation pour détecter les éventuelles violations de sécurité et les faiblesses existant dans la configuration de la sécurité.Type d'événement |
Résultats possibles |
Codes raison |
SECURITY_AUTHN_DELEGATION |
SUCCESS
DENIED
|
AUTHN_SUCCESS
AUTHN_DENIED
|
Validation
Dans le cadre de la prise en charge du module de connexion du jeton de sécurité générique, un service de jeton de sécurité (STS) peut valider un jeton à l'aide d'une demande
WS-Trust Validate.
Cette opération de validation peut renvoyer un jeton en échange du jeton en cours de validation. Les informations qui sont échangées se trouvent dans la documentation relative au service d'audit d'un jeton de sécurité générique. Le tableau suivant répertorie les informations d'échange de jetons qui sont enregistrées.
Tableau 8. Echange de jetons . Utilisez les informations d'échange de jetons pour réaliser le suivi du processus d'échange de jetons.Evénement |
Description |
TokenSentForExchangeId |
Ces informations identifient le jeton envoyé à des fins de validation et qui est échangé. |
TokenSentForExchangeType |
Ces informations identifient le type de jeton envoyé à des fins de validation et qui est échangé. |
ExchangedTokenId |
Ces informations identifient le jeton qui est reçu en échange pendant la demande de validation. |
ExchangedTokenType |
Ces informations identifient le type de jeton qui est reçu en échange pendant la demande de validation. |
Si le jeton est validé sans un échange de jetons, seul l'ID de jeton est enregistré.