View a markdown version of this page

Règles d'automatisation dans Security Hub - AWS Hub de sécurité

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

Avec Security Hub, vous pouvez automatiser des tâches telles que la mise à jour, la recherche de détails 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 seule, Région AWS puis appliquées à 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ègles 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.

Actions et critères relatifs aux règles

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 CreateAutomationRuleV2 correspondent aux filtres pris en charge pour le Filters paramètre dans GetFindings V2. 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 filtre Type de champ
activity_id Activity ID Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
activity_name Provider status EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
class_name Finding class name EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
cloud.account.name Finding account name EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
cloud.account.uid Account ID EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
cloud.provider Cloud provider EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
cloud.region Region EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.assessments.category Assessment category EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.assessments.meets_criteria Compliance assessment meets criteria True, False Boolean
compliance.assessments.name Assessment name EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.control Security control ID EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.control_parameters Control parameter name EQUALS Map
compliance.standards Applicable standards EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
compliance.status Compliance status EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
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
finding_info.created_time_dt Created at Start, End, DateRange Date (formatted as 2022-12-01T21:47:39.269Z)
finding_info.desc Finding description EQUALS, PREFIX, 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)
finding_info.related_events.product.uid Related findings product ID EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.related_events.title Related findings title EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.related_events.traits.category Traits category EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.related_events.uid Related findings ID EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.related_events_count Related findings count Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
finding_info.src_url Source URL EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.tags Finding info tags EQUALS Map
finding_info.title Finding title EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.types Finding type EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
finding_info.uid Provider finding ID EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.feature.uid Generator ID EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.name Product name EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.uid Product ARN EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
metadata.product.vendor_name Company name EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
remediation.desc Recommendation text EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
remediation.references Recommendation URL EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.cloud_partition Resource partition EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.modified_time_dt Resource last modified time Start, End, DateRange Date (formatted as 2022-12-01T21:47:39.269Z)
resources.name Resource name EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.owner.account.name Account name EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.owner.account.uid Account EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.owner.org.uid Organization EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.provider Cloud provider EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.region Resource region EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.tags Resource tags EQUALS Map
resources.type Resource type EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
resources.uid Resource ID EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
vendor_attributes.severity Provider severity EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
vendor_attributes.severity_id Provider severity ID Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
vulnerabilities.affected_code.file.path Affected code file path EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
vulnerabilities.affected_packages.name Affected package name EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
vulnerabilities.cve.cvss.base_score CVE CVSS base score Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal) Number
vulnerabilities.cve.epss.score Epss score EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
vulnerabilities.cve.uid Vulnerability ID EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
vulnerabilities.fix_coverage Software vulnerabilities coverage EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
vulnerabilities.is_exploit_available Software vulnerabilities with exploit available True, False Boolean
vulnerabilities.is_fix_available Software vulnerabilities with fix available True, False Boolean
vulnerabilities.related_vulnerabilities Related vulnerabilities EQUALS, PREFIX, CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String

Pour les critères étiquetés comme des 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 StringFilter document 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 OcsfFindingFilters la référence de l'API Security Hub

Champs OCSF pouvant être mis à jour

Les champs OCSF qui peuvent être mis à jour à l'aide de règles d'automatisation sont les suivants.

  • 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 affecte le même champ de recherche, la dernière mise à jour définit la valeur de ce champ. Prenons l'exemple suivant :

Vous utilisez BatchUpdateFindingsV2 pour mettre à jour le Status champ d'un résultat 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 change le Status champ de la découverte de New à Suppressed (n'oubliez pas que les règles ignorent les mises à jour effectuées avecBatchUpdateFindingsV2). Le fournisseur de recherche met à jour le résultat et remplace le Status champ parNew. Si vous appelezGetFindingsV2, la valeur du Status champ est désormais la suivante Suppressed : la règle d'automatisation a été appliquée et cette règle a été la dernière action entreprise suite à la découverte.

Lorsque vous créez ou modifiez une règle sur la console Security Hub, celle-ci affiche un aperçu des résultats qui correspondent 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 la recherche, l'aperçu de la console reflète les résultats dans leur état final, tels qu'ils seraient affichés dans une réponse à l'opération de l'GetFindingsV2API (c'est-à-dire après l'application d'actions de règles ou d'autres mises à jour à la découverte).

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 devient important lorsque plusieurs règles concernent le même champ de recherche ou de recherche.

Lorsque plusieurs actions de règle concernent la même recherche ou le même champ de recherche, la règle dont la valeur numérique est la plus élevée pour l'ordre des règles s'applique en dernier et a l'effet ultime.

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 règle de 1. Lorsqu'il existe plusieurs règles, chaque règle créée par la suite aura la valeur numérique disponible la plus élevée suivante pour l'ordre des règles.

Lorsque vous créez une règle via CreateAutomationRuleV2 l'API ou AWS CLI, Security Hub applique la règle dont la valeur numérique est la plus faible en RuleOrder premier. Il applique ensuite les règles suivantes dans l'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 modifiée la plus récente s'applique en dernier).

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.Type est S3 Bucket

    • Compliance.Status = FAILED

    • RecordState est NEW

    • Workflow.Status = ACTIVE

  • Actions relevant de la Règle A

    • Mettre à jour Confidence vers 95

    • Mettre à jour Severity vers CRITICAL

    • Mettre à jour Comment vers This 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 Severity vers INFORMATIONAL

Tout d'abord, les actions de la Règle A s'appliquent aux résultats de Security Hub qui correspondent aux critères de la Règle A. Les actions de la Règle B s'appliquent ensuite aux résultats de 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.

Third-party intégrations

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

Voici les scénarios dans lesquels 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 en effectuant des opérations de liste, d'obtention et de suppression dans les API AWS CLI ou.

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 en effectuant des opérations de liste, d'obtention et de suppression.