Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Règles d'automatisation dans Security Hub
Note
Security Hub est en version préliminaire et peut faire l'objet de modifications.
Security Hub vous permet d'automatiser des tâches telles que la mise à jour des informations de recherche et la création de tickets pour des intégrations tierces.
Règles d'automatisation et Régions AWS
Les règles d'automatisation peuvent être créées en une, Région AWS puis appliquées dans toutes les configurations Régions AWS. Lorsque vous utilisez l'agrégation de régions, vous ne pouvez créer des règles que dans la région d'origine. Lorsque vous créez des règles dans la région d'origine, toutes les règles que vous définissez sont appliquées à toutes les régions liées, sauf si vos critères de règle excluent une région liée spécifique. Vous devez créer une règle d'automatisation pour toute région qui n'est pas une région liée.
Règles, actions et critères
Les règles d'automatisation de Security Hub utilisent des critères pour référencer les attributs OCSF dans les résultats de Security Hub. Par exemple, les filtres pris en charge pour le Criteria paramètre dans CreateAutomationRuleV2correspondent aux filtres pris en charge pour le Criteria paramètre dans GetFindingsV2. Cela signifie que les filtres utilisés dans les règles d'automatisation peuvent être utilisés pour obtenir des résultats. Security Hub prend en charge les champs OCSF suivants pour les critères des règles d'automatisation.
| Champ OCSF | Valeur du filtre de console | Opérateurs de filtrage | Type de champ |
|---|---|---|---|
activity_name |
Activity name |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
class_name |
Finding class name |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
cloud.account.uid |
Account ID |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
cloud.provider |
Cloud provider |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
cloud.region |
Region |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
comment |
Comment |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
compliance.assessments.category |
Assessment category |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
compliance.assessments.name |
Assessment name |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
compliance.control |
Security control ID |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
compliance.standards |
Applicable standards |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
compliance.status |
Compliance status |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.desc |
Finding description |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.related_events.product.uid |
Related findings product ID |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.related_events.title |
Related findings title |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.related_events.uid |
Related findings ID |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.src_url |
Source URL |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.types |
Finding type |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.uid |
Provider ID |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
metadata.product.feature.uid |
Generator ID |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
metadata.product.name |
Product name |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
metadata.product.uid |
Product ARN |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
metadata.product.vendor_name |
Company name |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
metadata.uid |
Finding ID |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
remediation.desc |
Recommendation text |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
remediation.references |
Recommendation URL |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
resources.cloud_partition |
Resource partition |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
resources.name |
Resource name |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
resources.region |
Resource region |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
resources.type |
Resource type |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
resources.uid |
Resource ID |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
severity |
Severity |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
status |
Status |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
vulnerabilities.fix_coverage |
Software vulnerabilities coverage |
EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS |
String |
finding_info.first_seen_time_dt |
First observed at |
Start, End, DateRange |
Date (formatted as 2022-12-01T21:47:39.269Z) |
finding_info.last_seen_time_dt |
Last observed at |
Start, End, DateRange |
Date (formatted as 2022-12-01T21:47:39.269Z) |
finding_info.modified_time_dt |
Updated at |
Start, End, DateRange |
Date (formatted as 2022-12-01T21:47:39.269Z) |
compliance.assessments.meets_criteria |
Compliance assessment meets criteria |
True, False |
Boolean |
vulnerabilities.is_exploit_available |
Software vulnerabilities with exploit available |
True, False |
Boolean |
vulnerabilities.is_fix_available |
Software vulnerabilities with fix available |
True, False |
Boolean |
activity_id |
Activity ID |
Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) |
Number |
compliance.status_id |
Compliance status ID |
Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) |
Number |
confidence_score |
Confidence |
Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) |
Number |
severity_id |
Severity ID |
Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) |
Number |
status_id |
Status ID |
Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) |
Number |
finding_info.related_events_count |
Related findings count |
Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) |
Number |
resources.tags |
Resource tags |
EQUALS |
Map |
Pour les critères étiquetés sous forme de champs de chaîne, l'utilisation de différents opérateurs de filtre sur le même champ affecte la logique d'évaluation. Pour plus d'informations, consultez le StringFilterdocument de référence de l'API Security Hub.
Chaque critère prend en charge un nombre maximum de valeurs pouvant être utilisées pour filtrer les résultats correspondants. Pour connaître les limites de chaque critère, consultez le OcsfFindingFiltersdocument de référence de l'API Security Hub
Champs OCSF pouvant être mis à jour
Les champs OCSF suivants peuvent être mis à jour à l'aide de règles d'automatisation.
-
Comment -
SeverityId -
StatusId
Comment les règles d'automatisation évaluent les résultats
Une règle d'automatisation évalue les résultats nouveaux et mis à jour que Security Hub génère ou ingère une fois que vous avez créé la règle.
Les règles d'automatisation évaluent les résultats originaux fournis par le fournisseur. Les fournisseurs peuvent fournir de nouveaux résultats et mettre à jour les résultats existants grâce à leur intégration à Security Hub. Les règles ne sont pas déclenchées lorsque vous mettez à jour les champs de recherche après leur création par le biais de l'BatchUpdateFindingsV2opération. Si vous créez une règle d'automatisation et effectuez une BatchUpdateFindingsV2 mise à jour qui affectent le même champ de recherche, la dernière mise à jour définit la valeur de ce champ. Prenons l'exemple suivant :
Vous l'utilisez BatchUpdateFindingsV2 pour mettre à jour le Status champ d'une constatation de New àIn Process. Si vous appelezGetFindingsV2, le Status champ a désormais une valeur deIn Process. Vous créez une règle d'automatisation qui fait passer le Status champ du résultat de New à Suppressed (rappelez-vous que les règles ignorent les mises à jour effectuées avecBatchUpdateFindingsV2). Le fournisseur de recherche met à jour la recherche et remplace le Status champ parNew. Si vous appelezGetFindingsV2, le Status champ possède désormais une valeur de Suppressed parce que la règle d'automatisation a été appliquée et que la règle est la dernière action entreprise sur la base du résultat.
Lorsque vous créez ou modifiez une règle sur la console Security Hub, celle-ci affiche un aperçu des résultats correspondant aux critères de la règle. Alors que les règles d'automatisation évaluent les résultats originaux envoyés par le fournisseur de recherche, l'aperçu de la console reflète les résultats dans leur état final tel qu'ils seraient affichés en réponse à l'opération de l'GetFindingsV2API (c'est-à-dire une fois que des actions de règles ou d'autres mises à jour ont été appliquées au résultat).
Comment les règles d'automatisation sont ordonnées
Un ordre de règles est attribué à chaque règle d'automatisation. Cela détermine l'ordre dans lequel Security Hub applique vos règles d'automatisation, et cela devient important lorsque plusieurs règles se rapportent au même champ de recherche ou de recherche.
Lorsque plusieurs actions de règle concernent le même résultat ou le même champ de recherche, la règle ayant la valeur numérique la plus élevée pour l'ordre des règles s'applique en dernier lieu et produit l'effet final.
Lorsque vous créez une règle dans la console Security Hub, Security Hub attribue automatiquement l'ordre des règles en fonction de l'ordre de création des règles. La première règle que vous créez aura un ordre de 1. Lorsqu'il existe plusieurs règles, chaque règle créée ultérieurement aura la valeur numérique la plus élevée disponible pour l'ordre des règles.
Lorsque vous créez une règle par le biais d'une CreateAutomationRuleV2API ou AWS CLI, Security Hub applique la règle dont la valeur numérique la plus faible est la RuleOrder première. Il applique ensuite les règles suivantes par ordre croissant. Si plusieurs résultats sont identiquesRuleOrder, Security Hub applique d'abord une règle avec une valeur antérieure pour le UpdatedAt champ (c'est-à-dire que la règle la plus récemment modifiée s'applique en dernier lieu).
Vous pouvez modifier l'ordre des règles à tout moment.
Exemple d'ordre des règles :
Règle A (l'ordre des règles est1) :
-
Critères de la règle A
-
ProductName=Security Hub CSPM -
Resources.TypeestS3 Bucket -
Compliance.Status=FAILED -
RecordStateestNEW -
Workflow.Status=ACTIVE
-
-
Actions de la règle A
-
Mettre à jour
Confidencevers95 -
Mettre à jour
SeverityversCRITICAL -
Mettre à jour
CommentversThis needs attention
-
Règle B (l'ordre des règles est2) :
-
Critères de la règle B
-
AwsAccountId=123456789012
-
-
Actions relevant de la règle B
-
Mettre à jour
SeverityversINFORMATIONAL
-
Tout d'abord, les actions de la règle A s'appliquent aux résultats du Security Hub qui répondent aux critères de la règle A. Les actions de la Règle B s'appliquent ensuite aux résultats du Security Hub avec l'ID de compte spécifié. Dans cet exemple, étant donné que la règle B s'applique Severity en dernier, la valeur finale des résultats provenant de l'ID de compte spécifié estINFORMATIONAL. Sur la base de l'action de la règle A, la valeur Confidence finale des résultats correspondants est95.
Intégrations tierces
Vous pouvez utiliser des règles d'automatisation pour créer des tickets pour les intégrations avec Jira Cloud etServiceNow ITSM. Pour plus d'informations, consultez la section Création d'une règle pour une intégration tierce.
Scénarios dans lesquels les règles d'automatisation ne fonctionnent pas
Les scénarios suivants indiquent que les règles d'automatisation ne fonctionnent pas.
-
Le compte autonome devient membre d'une organisation dotée d'un administrateur délégué
-
Le compte de gestion de l'organisation supprime l'administrateur délégué et définit un nouvel administrateur délégué
-
La configuration de l'agrégateur pour l'administrateur délégué ou le compte autonome change lorsqu'une région non liée devient une région liée
Dans ces scénarios, un membre d'une organisation peut gérer les règles d'automatisation avec des opérations de liste, d'obtention et de suppression dans le bloc AWS CLI opératoire APIs.
Lorsqu'une région non liée devient une région liée, l'administrateur délégué ou le compte autonome peut gérer les ressources d'une région liée avec des opérations de liste, d'obtention et de suppression.