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

nota

Security Hub se encuentra en versión preliminar y está sujeto a cambios.

Con Security Hub, puede automatizar tareas como la actualización de los detalles de búsqueda 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. Debes crear una regla de automatización para cualquier región que no sea una región vinculada.

Reglas, acciones y criterios

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

Campo OCSF Valor del filtro de 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

En el caso de los criterios etiquetados como campos de cadena, el uso de diferentes operadores de filtro en el mismo campo afecta a 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 de OCSF que se pueden actualizar

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

  • Comment

  • SeverityId

  • StatusId

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

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

Las reglas de automatización evalúan los resultados originales proporcionados por el proveedor. Los proveedores pueden proporcionar nuevos hallazgos y actualizar los existentes mediante su integración con Security Hub. Las reglas no se desencadenan cuando se actualizan los campos de resultados después de la creación de 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 la búsqueda actualiza la búsqueda y cambia el Status campo aNew. 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 de reglas. 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. La primera regla que cree tendrá un orden de reglas de 1. Si existe más de una regla, cada regla que se cree posteriormente tendrá el siguiente valor numérico más alto disponible para el orden de las reglas.

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 lo mismoRuleOrder, Security Hub aplica primero una regla con un valor anterior para el UpdatedAt campo (es decir, la regla que se editó más recientemente se aplica en último lugar).

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

En primer lugar, las acciones de la Regla A se aplican a los hallazgos de Security Hub que coinciden con los criterios de la Regla A. A continuación, las acciones de la Regla B se aplican a los hallazgos 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 las reglas de automatización para crear tickets para integraciones con Jira Cloud yServiceNow ITSM. Para obtener más información, consulte Crear una regla para una integración de terceros.

Escenarios en los que las reglas de automatización no funcionan

Los siguientes son escenarios en los 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 establece un nuevo administrador delegado

  • 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 administrar las reglas de automatización con operaciones de lista, obtención y eliminación en o AWS CLI APIs

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.