View a markdown version of this page

Reglas de automatización en Security Hub - AWS Security Hub

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Reglas de automatización en Security Hub

Con Security Hub, puede automatizar tareas como la actualización de los detalles de búsqueda, la actualización de la criticidad de sus recursos y la creación de tickets para integraciones de terceros.

Reglas de automatización y Regiones de AWS

Las reglas de automatización se pueden crear en una Región de AWS y luego aplicarse en todas las configuraciones Regiones de AWS. Al utilizar la agregación de regiones, solo puede crear reglas en la región de origen. Al crear reglas en la región de origen, cualquier regla que defina se aplicará a todas las regiones vinculadas, a menos que los criterios de la regla excluyan una región vinculada específica. Debe crear una regla de automatización para cualquier región que no sea una región vinculada.

Tipos de reglas de automatización

Las reglas de automatización de Security Hub admiten dos tipos de reglas: reglas de búsqueda y reglas de recursos. Una regla de búsqueda coincide con los resultados y actualiza los detalles de la búsqueda o crea un ticket para una integración de terceros. Una regla de recursos hace coincidir los recursos y establece la criticidad de esos recursos. Una sola regla utiliza criterios de búsqueda o criterios de recursos, pero no ambos. Una regla de recursos combina los criterios del recurso con la acción del recurso para establecer la criticidad y no puede actualizar los detalles de la búsqueda ni crear un ticket.

Las reglas de búsqueda y las reglas de recursos comparten la misma cuota. Puedes crear un máximo de 100 reglas de automatización por cuenta en cada una de ellas Región de AWS, tanto con reglas de búsqueda como con reglas de recursos.

Búsqueda de reglas, acciones y criterios

Las reglas de automatización en Security Hub utilizan criterios para hacer referencia a atributos OCSF en los resultados de Security Hub. Por ejemplo, los filtros compatibles con el Criteria parámetro en CreateAutomationRuleV2coinciden con los filtros compatibles con el Filters parámetro en GetFindingsV2. Esto significa que los filtros utilizados en las reglas de automatización se pueden emplear para obtener resultados. Security Hub admite los siguientes campos OCSF para los criterios de las reglas de automatización.

Campo OCSF Valor del filtro en la consola Operadores de filtro Tipo de campo
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

Para los criterios etiquetados como campos de cadena, el uso de distintos operadores de filtro en el mismo campo afecta la lógica de evaluación. Para obtener más información, consulte StringFilterla Referencia de la API de Security Hub.

Cada criterio admite una cantidad máxima de valores que se pueden utilizar para filtrar los resultados que coinciden. Para conocer los límites de cada criterio, consulte OcsfFindingFiltersla Referencia de la API de Security Hub

Campos OCSF que se pueden actualizar

Los siguientes son los campos OCSF que se pueden actualizar mediante reglas de automatización.

  • Comment

  • SeverityId

  • StatusId

Acciones y criterios de las reglas de recursos

Los criterios de recursos hacen referencia a los atributos de los recursos. Los filtros compatibles con los criterios de recursos son un subconjunto de los filtros compatibles con la operación GetResourcesV2. Puede combinar filtros con OR operadores AND y agruparlos con una profundidad de hasta tres niveles, con un máximo de 100 filtros por regla.

Security Hub admite los siguientes campos de recursos para los criterios de recursos.

Campo de recursos Valor del filtro en la consola Operadores de filtro Tipo de campo
ResourceId Resource ID EQUALS, PREFIX, CONTAINS, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ResourceName Resource name EQUALS, PREFIX, CONTAINS, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ResourceType Resource type EQUALS, PREFIX, CONTAINS, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ResourceCategory Resource category EQUALS, PREFIX, CONTAINS, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ResourceSubCategory Resource sub-category EQUALS, PREFIX, CONTAINS, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ResourceProvider Cloud provider EQUALS, PREFIX, CONTAINS, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ResourceCloudPartition Resource partition EQUALS, PREFIX, CONTAINS, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ResourceRegion Region EQUALS, PREFIX, CONTAINS, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ResourceGuid Resource GUID EQUALS, PREFIX, CONTAINS, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
AccountId Finding account EQUALS, PREFIX, CONTAINS, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
AccountName Account name EQUALS, PREFIX, CONTAINS, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
Region Finding region EQUALS, PREFIX, CONTAINS, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ResourceOwnerAccountId Account EQUALS, PREFIX, CONTAINS, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ResourceOwnerOrgId Organization EQUALS, PREFIX, CONTAINS, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS String
ResourceCreationTime Created at Start, End, DateRange Date
ResourceDetailCaptureTime Resource detail capture time Start, End, DateRange Date
ResourceTags Resource tags EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS Map

Security Hub no admite filtros numéricos. No admite los criterios de recursos CONTAINS_WORD del operador. Para obtener la lista completa de los campos de filtro de recursos y sus valores permitidos, consulte ResourcesFiltersy GetResourcesV2 en la Referencia de la API de Security Hub.

Campos de recursos que se pueden actualizar

Una regla de recursos actualiza la criticidad de los recursos que coinciden con sus criterios. Puede establecer la criticidad en uno de los siguientes valores, ordenados del más alto al más bajo.

  • Very High

  • High

  • Medium

  • Low

  • Unknown

Las reglas de recursos no se aplican a los recursos de IA autohospedados. Estos tipos de recursos están excluidos de la criticidad de las reglas de automatización y siguen recibiendo la criticidad inferida.

Cómo las reglas de automatización evalúan los resultados

Una regla de automatización evalúa los resultados nuevos y actualizados que Security Hub genera o ingiere después de que se crea la regla.

Las reglas de automatización evalúan los resultados originales proporcionados por el proveedor. Los proveedores pueden aportar resultados nuevos y actualizar resultados existentes mediante su integración con Security Hub. Las reglas no se activan cuando se actualizan los campos de búsqueda tras la creación de la regla durante la operación. BatchUpdateFindingsV2 Si crea una regla de automatización y realiza una actualización BatchUpdateFindingsV2 que afecten al mismo campo de resultado, la última actualización establecerá el valor de ese campo. Vea el siguiente ejemplo:

Se utiliza BatchUpdateFindingsV2 para actualizar el campo Status de un resultado de New a In Process. Si llama a GetFindingsV2, el campo Status ahora tendrá un valor de In Process. Se crea una regla de automatización que cambia el campo Status del resultado de New a Suppressed (recuerde que las reglas ignoran las actualizaciones realizadas con BatchUpdateFindingsV2). El proveedor de resultados actualiza el resultado y cambia el campo Status a New. Si llama a GetFindingsV2, el campo Status ahora tendrá un valor de Suppressed, ya que se aplicará la regla de automatización y la regla será la última acción que se realice en el resultado.

Cuando crea o edita una regla en la consola de Security Hub, la consola muestra una vista previa de los resultados que coinciden con los criterios de la regla. Mientras que las reglas de automatización evalúan los resultados originales enviados por el proveedor de resultados, la vista previa de la consola refleja los resultados del estado final, tal como se mostrarían en respuesta a la operación de la API GetFindingsV2 (es decir, después de aplicar las acciones de regla u otras actualizaciones al resultado).

Cómo se ordenan las reglas de automatización

A cada regla de automatización se le asigna un orden. Esto determina el orden en que Security Hub aplica sus reglas de automatización y adquiere importancia cuando varias reglas se relacionan con el mismo resultado o campo de resultado.

Cuando varias acciones de reglas se refieren al mismo resultado o campo de resultado, la regla con el valor numérico más alto de orden de reglas se aplica en último lugar y tiene el efecto definitivo.

El orden de las reglas también determina la criticidad final de un recurso. Cuando varias reglas de recursos coinciden con el mismo recurso, la regla que se aplica en último lugar determina la criticidad del recurso.

Al crear una regla en la consola de Security Hub, Security Hub asigna automáticamente el orden de las reglas según el orden de creación de las mismas. A la primera regla que cree se le asigna el orden 1. Cuando exista más de una regla, cada regla nueva recibirá el siguiente valor numérico disponible para el orden.

Al crear una regla a través de la CreateAutomationRuleV2API o AWS CLI, Security Hub aplica RuleOrder primero la regla con el valor numérico más bajo. Luego aplica las reglas subsiguientes en orden ascendente. Si varios resultados tienen el mismo RuleOrder, Security Hub aplica primero la regla con un valor anterior para el campo UpdatedAt (es decir, la regla que se editó más recientemente se aplica al final).

Puede modificar el orden de las reglas en cualquier momento.

Ejemplo de orden de reglas:

Regla A (el orden de la regla es1):

  • Criterios de la regla A

    • ProductName = Security Hub CSPM

    • Resources.Type es S3 Bucket

    • Compliance.Status = FAILED

    • RecordState es NEW

    • Workflow.Status = ACTIVE

  • Acciones de la regla A

    • Actualizar Confidence a 95

    • Actualizar Severity a CRITICAL

    • Actualizar Comment a This needs attention

Regla B (el orden de la regla es2):

  • Criterios de la regla B

    • AwsAccountId = 123456789012

  • Acciones de la regla B

    • Actualizar Severity a INFORMATIONAL

Primero, las acciones de la Regla A se aplican a los resultados de Security Hub que coinciden con los criterios de la Regla A. Luego, las acciones de la Regla B se aplican a los resultados de Security Hub con el ID de cuenta especificado. En este ejemplo, como la regla B se aplica en último lugar, el valor final de Severity en los resultados del ID de cuenta especificado es INFORMATIONAL. Según la acción de la regla A, el valor final de Confidence en los resultados coincidentes es 95.

Third-party integraciones

Puede usar reglas de automatización para crear tickets para integraciones con Jira Cloud y ServiceNow ITSM. Para obtener más información, consulte Creación de una regla para una integración con terceros.

Situaciones en las que las reglas de automatización no funcionan

Las siguientes son situaciones en las que las reglas de automatización no funcionan:

  • La cuenta independiente pasa a ser miembro de una organización con un administrador delegado

  • La cuenta de administración de la organización elimina al administrador delegado y designa uno nuevo

  • La configuración del agregador para el administrador delegado o la cuenta independiente cambia cuando una región desvinculada se convierte en región vinculada

En estos escenarios, un miembro de una organización puede gestionar las reglas de automatización mediante operaciones de lista, obtención y eliminación en las API o API. AWS CLI

Cuando una región desvinculada se convierte en región vinculada, el administrador delegado o la cuenta independiente pueden administrar los recursos de una región vinculada mediante operaciones de lista, obtención y eliminación.