Recopila registros de AWS Security Hub
En este documento, se explica cómo transferir los registros de AWS Security Hub a Google Security Operations. AWS Security Hub proporciona una vista integral de las alertas y los hallazgos de seguridad en todas las cuentas de AWS. Si envías estos resultados a Google SecOps, puedes usar sus funciones para mejorar la supervisión y la detección de amenazas.
Antes de comenzar
- Asegúrate de tener una instancia de Google SecOps.
- Asegúrate de tener acceso con privilegios a AWS.
Configura AWS IAM
- Crea un bucket de Amazon S3 siguiendo esta guía del usuario: Cómo crear un bucket
- Guarda el Nombre y la Región del bucket para usarlos más adelante.
- Crea un usuario siguiendo esta guía: Cómo crear un usuario de IAM.
- Selecciona el Usuario creado.
- Selecciona la pestaña Credenciales de seguridad.
- Haz clic en Crear clave de acceso en la sección Claves de acceso.
- Selecciona Servicio de terceros como Caso de uso.
- Haz clic en Siguiente.
- Opcional: Agrega una etiqueta de descripción.
- Haz clic en Crear clave de acceso.
- Haz clic en Descargar archivo CSV para guardar la clave de acceso y la clave de acceso secreta para usarlas más tarde.
- Haz clic en Listo.
- Selecciona la pestaña Permisos.
- Haz clic en Agregar permisos en la sección Políticas de permisos.
- Selecciona Agregar permisos.
- Selecciona Adjuntar políticas directamente.
- Busca y selecciona la política AmazonS3FullAccess.
- Haz clic en Siguiente.
- Haz clic en Agregar permisos.
Configura AWS Security Hub para que reenvíe los resultados con EventBridge
- Accede a la consola de administración de AWS.
- En la barra de búsqueda, escribe y selecciona Security Hub en la lista de servicios.
- Haz clic en Configuración.
- En la sección Integraciones, busca EventBridge y haz clic en Habilitar.
- En la barra de búsqueda, escribe y selecciona EventBridge en la lista de servicios.
- En la consola de EventBridge, haz clic en Rules > Create rule.
- Proporciona la siguiente configuración de reglas:
- Nombre de la regla: Proporciona un nombre descriptivo para la regla (por ejemplo, SendSecurityHubFindingsToS3).
- Fuente del evento: Selecciona Servicios de AWS.
- Nombre del servicio: Elige Security Hub.
- Tipo de evento: Selecciona Hallazgos de Security Hub.
- Establece el destino: Elige el bucket de S3 como destino de los resultados.
- Bucket de S3: Selecciona el bucket en el que se deben almacenar los resultados.
- Si aún no tienes configurado un bucket de S3, crea uno:
- Ve a la consola de S3 .
- Haz clic en Crear bucket.
- Proporciona un nombre de bucket (por ejemplo, securityhub-findings-logs).
- Haz clic en Crear.
- Configura los permisos: EventBridge configurará automáticamente los permisos necesarios para que pueda enviar los resultados al bucket de S3 especificado (si usas un bucket personalizado, asegúrate de que se hayan establecido los permisos de S3 adecuados para permitir que EventBridge escriba registros en el bucket).
- Haz clic en Crear.
Configura un feed en Google SecOps para transferir registros de AWS Security Hub
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Agregar nueva.
- En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros de AWS Security Hub).
- Selecciona Amazon S3 como el Tipo de fuente.
- Selecciona AWS Security Hub como el Tipo de registro.
- Haz clic en Siguiente.
Especifica valores para los siguientes parámetros de entrada:
- Región: Es la región en la que se encuentra el bucket de Amazon S3.
- URI de S3: Es el URI del bucket.
s3://your-log-bucket-name/
- Reemplaza
your-log-bucket-name
por el nombre real del bucket.
- Reemplaza
- El URI es un: Selecciona Directorio o Directorio que incluye subdirectorios.
Opciones de eliminación de fuentes: Selecciona la opción de eliminación según tus preferencias.
ID de clave de acceso: Es la clave de acceso del usuario con acceso al bucket de S3.
Clave de acceso secreta: Es la clave secreta del usuario con acceso al bucket de S3.
Espacio de nombres de recursos: Es el espacio de nombres de recursos.
Etiquetas de transferencia: Es la etiqueta que se aplicará a los eventos de este feed.
Haz clic en Siguiente.
Revisa la configuración de tu nuevo feed en la pantalla Finalizar y, luego, haz clic en Enviar.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
account |
principal.group.product_object_id |
Es el ID de la cuenta de AWS asociado con el hallazgo. |
configurationItem.ARN |
target.resource.id |
El Amazon Resource Name (ARN) del elemento de configuración. |
configurationItem.awsAccountId |
principal.user.userid |
El ID de la cuenta de AWS del elemento de configuración |
configurationItem.awsRegion |
target.asset.location.country_or_region |
La región de AWS del elemento de configuración. |
configurationItem.configuration.complianceType |
security_result.summary |
Es el tipo de cumplimiento del elemento de configuración. |
configurationItem.configuration.configRuleList[].complianceType |
security_result.summary |
Estado de cumplimiento de cada regla de configuración |
configurationItem.configuration.configRuleList[].configRuleArn |
security_result.rule_id |
El ARN de la regla de AWS Config |
configurationItem.configuration.configRuleList[].configRuleId |
security_result.about.labels.configRuleId |
El ID de la regla de AWS Config. |
configurationItem.configuration.configRuleList[].configRuleName |
security_result.rule_name |
Es el nombre de la regla de AWS Config. |
configurationItem.configuration.privateIpAddress |
target.ip |
La dirección IP privada del elemento de configuración |
configurationItem.configuration.publicIpAddress |
target.ip |
Es la dirección IP pública del elemento de configuración. |
configurationItem.configurationItemCaptureTime |
target.asset.attribute.creation_time |
Es la hora de captura del elemento de configuración, convertida en una marca de tiempo. |
configurationItem.configurationItemStatus |
target.asset.attribute.labels.Configuration Item Status |
El estado del elemento de configuración. |
configurationItem.relationships[].resourceId |
target.asset.attribute.cloud.vpc.id |
Es el ID del recurso relacionado, que se usa para el ID de VPC si coincide con "vpc". |
configurationItem.resourceId |
target.resource.id |
Es el ID de recurso del elemento de configuración. |
configurationItem.resourceName |
target.resource.name |
El nombre del recurso. |
configurationItem.resourceType |
target.resource.resource_subtype |
Es el tipo de recurso del elemento de configuración. |
configurationItem.tags.Contact |
principal.user.user_display_name O principal.user.email_addresses |
Detalles de contacto extraídos de las etiquetas, analizados para obtener el correo electrónico y el nombre de usuario |
configurationItem.tags.OS /configurationItem.tags.Os |
target.asset.platform_software.platform |
El sistema operativo de las etiquetas, asignado a la plataforma si es "Windows" o "Linux". |
configurationItemDiff.changeType |
metadata.event_type |
Es el tipo de cambio, asignado a RESOURCE_WRITTEN o RESOURCE_CREATION. |
detail.accountId |
principal.group.product_object_id |
Es el ID de la cuenta de AWS asociado con el hallazgo. |
detail.actionDescription detail.actionName detail.description |
sec_result.description |
Es la descripción del hallazgo. |
detail.findings[].AwsAccountId |
principal.group.product_object_id |
Es el ID de la cuenta de AWS asociado con el hallazgo. |
detail.findings[].CompanyName detail.findings[].CreatedAt detail.findings[].Description |
sec_result.description |
Es la descripción del hallazgo. |
detail.findings[].FindingProviderFields.Severity.Label |
sec_result.severity |
La etiqueta de gravedad del hallazgo, convertida en mayúsculas. |
detail.findings[].FindingProviderFields.Types[] detail.findings[].FirstObservedAt detail.findings[].GeneratorId detail.findings[].Id detail.findings[].LastObservedAt detail.findings[].ProductArn detail.findings[].ProductFields. |
Ver a continuación | Varios campos que se usan para campos adicionales, información principal y de destino. |
detail.findings[].ProductName detail.findings[].RecordState detail.findings[].Region |
target.location.name |
La región de AWS del hallazgo. |
detail.findings[].Resources[].Details. |
Ver a continuación | Detalles sobre los recursos involucrados en el hallazgo |
detail.findings[].Resources[].Id |
target.resource.product_object_id |
Es el ID del recurso. |
detail.findings[].Resources[].Partition detail.findings[].Resources[].Region |
target.location.name |
La región de AWS del recurso. |
detail.findings[].Resources[].Tags detail.findings[].Resources[].Type |
target.resource.resource_type , target.resource.resource_subtype , metadata.event_type |
Es el tipo de recurso que se usa para la asignación de tipos de recursos, subtipos y tipos de eventos. |
detail.findings[].Sample detail.findings[].SchemaVersion detail.findings[].Severity.Label detail.findings[].SourceUrl detail.findings[].Title |
sec_result.summary |
Es el título del hallazgo. |
detail.findings[].Types[] detail.findings[].UpdatedAt detail.findings[].Workflow.Status detail.findings[].WorkflowState detail-type |
metadata.product_event_type |
Es el tipo de detalle del evento. |
id |
metadata.product_log_id |
El ID del evento |
region |
target.location.name |
Es la región de AWS del evento. |
resources[] source time version (lógica del analizador) |
metadata.event_timestamp |
La hora de creación de la entrada de registro original, que se usa como marca de tiempo del evento. |
(lógica del analizador) | metadata.log_type |
Establece el valor en "AWS_SECURITY_HUB". |
(lógica del analizador) | metadata.product_name |
Establece la opción en “AWS Security Hub”. |
(lógica del analizador) | metadata.vendor_name |
Se establece en "AMAZON". |
(lógica del analizador) | target.asset.attribute.cloud.environment |
Configúralo como "AMAZON_WEB_SERVICES". |
(lógica del analizador) | metadata.event_type |
Se establece en "USER_RESOURCE_ACCESS" de forma predeterminada si no se asigna desde Resources[].Type o configurationItemDiff.changeType . Establece el valor en "STATUS_UPDATE" si configurationItems está presente y no se configuró ningún otro tipo de evento. Se establece en "RESOURCE_READ" si configurationItem o configurationItems están presentes y el estado es "OK" o "ResourceDiscovered". Se establece en "RESOURCE_DELETION" si configurationItem o configurationItems están presentes y el estado es "ResourceDeleted". |
(lógica del analizador) | metadata.description |
Se establece en "guardduty" si detail.findings[].ProductFields.aws/guardduty/service/serviceName está presente. |
(lógica del analizador) | target.asset.attribute.cloud.vpc.resource_type |
Establece en "VPC_NETWORK" si configurationItems.relationships[].resourceId coincide con "vpc". |
(lógica del analizador) | target.resource.resource_type |
Se establece en "VIRTUAL_MACHINE" si configurationItem o configurationItems están presentes. Establece el valor en "UNSPECIFIED" si no se establece ningún otro tipo de recurso. |
(lógica del analizador) | target.asset.platform_software.platform |
Se establece en "WINDOWS" o "LINUX" según la presencia de "Windows" o "(Linux |
(lógica del analizador) | disambiguation_key |
Se agrega cuando se generan varios eventos a partir de una sola entrada de registro. |
Cambios
2023-06-20
- Mejora:
- Se modificó "metadata.event_type" de "GENERIC_EVENT" a "USER_RESOURCE_ACCESS".
24-3-2023
- Mejora:
- when "detail.findings.0.Resources.0.Type" == "AwsEcsTaskDefinition" -
- Se asignó "target.resource.resource_type" a "TASK".
- Se asignó "event_type" a "USER_RESOURCE_ACCESS".
- Se asignó "detail.findings.0.ProductFields.Resources:0/Id" a "principal.asset_id".
- Se analizaron todos los demás registros con errores como GENERIC_EVENT, ya que STATUS_UPDATE no era una buena opción de análisis para ellos.
2022-08-22
- Mejora:
- Se actualizó vendor_name de "AWS SECURITY HUB" a "AMAZON".
- Se actualizó product_name de “AWS SECURITY HUB” a “AWS Security Hub”.
- Se analizaron los nuevos registros en formato JSON que contienen "configurationItem" o "configurationItems".
- Se controlaron los registros que se transfirieron como un archivo de importación separándolos con un bucle for y analizando cada uno como eventos individuales.
2022-07-01
- Analizador creado recientemente.
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.