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 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 sola configuración Región de AWS y luego aplicarlas en todas las configuraciones Regiones de AWS. Al usar 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 aplica 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.
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 compatibles con el Criteria parámetro CreateAutomationRuleV2 coinciden con los filtros compatibles con el Filters parámetro en la GetFindings versión 2. 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 StringFilter 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 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 activan al actualizar los campos de búsqueda después de crear la regla mediante la BatchUpdateFindingsV2 operación. 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.
Al crear una regla mediante una CreateAutomationRuleV2 API 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.TypeesS3 Bucket -
Compliance.Status=FAILED -
RecordStateesNEW -
Workflow.Status=ACTIVE
-
-
Acciones de la regla A
-
Actualizar
Confidencea95 -
Actualizar
SeverityaCRITICAL -
Actualizar
CommentaThis needs attention
-
Regla B (el orden de la regla es2):
-
Criterios de la regla B
-
AwsAccountId=123456789012
-
-
Acciones de la regla B
-
Actualizar
SeverityaINFORMATIONAL
-
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 la cuenta de administrador delegado o independiente cambia cuando una región desvinculada pasa a ser una región vinculada
En estos casos, un miembro de una organización puede gestionar las reglas de automatización con operaciones de lista, obtención y eliminación en las AWS CLI API de quirófano.
Cuando una región desvinculada se convierte en una 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.