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

Reglas de automatización en Security Hub

nota

Security Hub se encuentra en versión preliminar y, por lo tanto, puede experimentar cambios.

Con Security Hub, puede automatizar tareas como actualizar los detalles de resultados y crear 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 Regiones de AWS configuradas. Cuando se utiliza la agregación de regiones, solo puede crear reglas en la región principal. Al crear reglas en la región principal, cualquier regla que defina se aplica a todas las regiones vinculadas, a menos que los criterios de su regla excluyan una región vinculada específica. Debe crear una regla de automatización para cualquier región que no esté vinculada.

Acciones y criterios de reglas

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 admitidos para el parámetro Criteria en CreateAutomationRuleV2 coinciden con los filtros admitidos para el parámetro Criteria 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_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

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 StringFilter en la 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 OcsfFindingFilters en la 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

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 desencadenan cuando se actualizan campos de un resultado después de crear la regla mediante 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.

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.

Cuando crea una regla mediante la API CreateAutomationRuleV2 o la AWS CLI, Security Hub aplica primero la regla con el valor numérico más bajo de RuleOrder. 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 es 1):

  • Criterios de la regla A

    • ProductName = Security Hub CSPM

    • Resources.Type is S3 Bucket

    • Compliance.Status = FAILED

    • RecordState is 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 es 2):

  • 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.

Integraciones de terceros

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 la cuenta de administrador delegado o la cuenta independiente cambia cuando una región sin vincular pasa a estar vinculada.

En estos casos, un miembro de la organización puede administrar reglas de automatización con operaciones de lista, obtención y eliminación en la AWS CLI o mediante las API.

Cuando una región sin vincular pasa a estar vinculada, la cuenta de administrador delegado o la cuenta independiente puede administrar recursos en esa región vinculada con operaciones de lista, obtención y eliminación.