Recoger registros de Zscaler Internet Access
En este documento se describe cómo puede exportar los registros de Zscaler Internet Access configurando un feed de Google Security Operations y cómo se asignan los campos de registro a los campos del modelo de datos unificado (UDM) de Google SecOps.
Para obtener más información, consulta el artículo Descripción general de la ingesta de datos en Google SecOps.
Una implementación típica consta de Zscaler Internet Access y el feed de webhook de Google SecOps configurado para enviar registros a Google SecOps. Cada implementación de cliente puede ser diferente y más compleja.
La implementación contiene los siguientes componentes:
Zscaler Internet Access: la plataforma desde la que recoges los registros.
Feed de Google SecOps: el feed de Google SecOps que obtiene registros de Zscaler Internet Access y escribe registros en Google SecOps.
Google SecOps: conserva y analiza los registros.
Una etiqueta de ingestión identifica el analizador que normaliza los datos de registro sin procesar en formato UDM estructurado. La información de este documento se aplica al analizador con la etiqueta de ingestión ZSCALER_INTERNET_ACCESS
.
Antes de empezar
Asegúrate de que cumples los siguientes requisitos previos:
- Acceso a la consola de Zscaler Internet Access. Para obtener más información, consulta la ayuda de ZIA sobre acceso seguro a Internet y SaaS.
- Zscaler Internet Access 2024 o posterior
- Todos los sistemas de la arquitectura de implementación están configurados con la zona horaria UTC.
- La clave de API necesaria para completar la configuración de la fuente en Google Security Operations. Para obtener más información, consulta Configurar claves de API.
Configurar feeds
Para configurar este tipo de registro, sigue estos pasos:
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Añadir feed.
- Haga clic en el paquete de feeds Zscaler.
- Busca el tipo de registro que necesites y haz clic en Añadir nuevo feed.
Introduce los valores de los siguientes parámetros de entrada:
- Tipo de fuente: webhook (recomendado)
- Delimitador de división: carácter que se usa para separar las líneas de registro. Déjelo en blanco si no se usa ningún delimitador.
Opciones avanzadas
- Nombre del feed: valor rellenado automáticamente que identifica el feed.
- Espacio de nombres de recursos: espacio de nombres asociado al feed.
- Etiquetas de ingestión: etiquetas aplicadas a todos los eventos de este feed.
Haga clic en Crear feed.
Para obtener más información sobre cómo configurar varios feeds para diferentes tipos de registros en esta familia de productos, consulta el artículo Configurar feeds por producto.
Configurar Zscaler Internet Access
- En la consola de Zscaler Internet Access, haz clic en Administración > Servicio de streaming de Nanolog > Feeds de NSS en la nube y, a continuación, en Añadir feed de NSS en la nube.
- Aparecerá la ventana Añadir feed de NSS de Cloud. En la ventana Add Cloud NSS Feed (Añadir feed de NSS de Cloud), introduce los detalles.
- Escribe un nombre para el feed en el campo Nombre del feed.
- Selecciona NSS para web en Tipo de NSS.
- Seleccione el estado en la lista Estado para activar o desactivar el feed de NSS.
- En el menú desplegable Tasa de SIEM, deja el valor Ilimitado. Para suprimir el flujo de salida debido a licencias u otras restricciones, cambia el valor.
- Seleccione Otro en la lista Tipo de SIEM.
- Selecciona Inhabilitado en la lista Autenticación de OAuth 2.0.
- Introduce un límite de tamaño para la carga útil de una solicitud HTTP individual según la práctica recomendada del SIEM en Tamaño máximo del lote. Por ejemplo, 512 KB.
Introduce la URL HTTPS del endpoint de la API de Chronicle en el campo URL de la API con el siguiente formato:
https://<CHRONICLE_REGION>-chronicle.googleapis.com/v1alpha/projects/<GOOGLE_PROJECT_NUMBER>/locations/<LOCATION>/instances/<CUSTOMER_ID>/feeds/<FEED_ID>:importPushLogs
CHRONICLE_REGION
: región en la que se aloja tu instancia de Chronicle. Por ejemplo, "US".GOOGLE_PROJECT_NUMBER
: número de proyecto de BYOP. Obtén este valor de C4.LOCATION
: región de Chronicle. Por ejemplo, "US".CUSTOMER_ID
: ID de cliente de Chronicle. Obtenido de C4.FEED_ID
: ID de feed que se muestra en la interfaz de usuario del feed cuando se crea un webhookURL de API de ejemplo:
https://us-chronicle.googleapis.com/v1alpha/projects/12345678910/locations/US/instances/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/feeds/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy:importPushLogs
Haga clic en Añadir encabezado HTTP y, a continuación, añada encabezados HTTP con el siguiente formato:
Header 1
: Clave1:X-goog-api-key
y Valor1: clave de API generada en las credenciales de API de Google Cloud BYOP.Header 2
: Clave2:X-Webhook-Access-Key
y Valor2: clave secreta de la API generada en "CLAVE SECRETA" del webhook.
Seleccione Registros de auditoría de administrador en la lista Tipos de registro.
Seleccione JSON en la lista Tipo de salida del feed.
Asigna el valor
, \ "
a Carácter de escape del feed.Para añadir un campo al Formato de salida del feed,seleccione Personalizado en la lista Tipo de salida del feed.
Copia y pega el Formato de salida del feed y añade campos nuevos. Asegúrate de que los nombres de las claves coincidan con los nombres de los campos.
A continuación, se muestra el formato de salida de la feed predeterminado:
\{ "sourcetype" : "zscalernss-audit", "event" :\{"time":"%s{time}","recordid":"%d{recordid}","action":"%s{action}","category":"%s{category}","subcategory":"%s{subcategory}","resource":"%s{resource}","interface":"%s{interface}","adminid":"%s{adminid}","clientip":"%s{clientip}","result":"%s{result}","errorcode":"%s{errorcode}","auditlogtype":"%s{auditlogtype}","preaction":%s{preaction},"postaction":%s{postaction}\}\}
Seleccione la zona horaria del campo Hora del archivo de salida en la lista Zona horaria. De forma predeterminada, la zona horaria es la de tu organización.
Revisa los ajustes configurados.
Haz clic en Guardar para probar la conectividad. Si la conexión se realiza correctamente, aparecerá una marca de verificación verde junto con el mensaje Prueba de conectividad correcta: OK (200).
Para obtener más información sobre los feeds de Google SecOps, consulta la documentación de los feeds de Google Security Operations. Para obtener información sobre los requisitos de cada tipo de feed, consulta el artículo Configuración de feeds por tipo.
Si tienes problemas al crear feeds, ponte en contacto con el equipo de Asistencia de Google Security Operations.
Formatos de registro admitidos de Zscaler Internet Access
El analizador de Zscaler Internet Access admite registros en formato JSON.
Registros de ejemplo de Zscaler Internet Access admitidos
JSON
{ "sourcetype": "zscalernss-audit", "event": { "time": "Wed May 29 17:45:03 2024", "recordid": "6095", "action": "UPDATE", "category": "ACCESS_CONTROL_RESOURCE", "subcategory": "URL_CATEGORY", "resource": "Custom SSL Bypass", "interface": "UI", "adminid": "abc@xyz.com", "clientip": "198.51.100.1", "result": "SUCCESS", "errorcode": "None", "auditlogtype": "ZIA", "preaction": "{"id":{"val":130%2c"mask":255%2c"parent":"CUSTOM_SUPERCATEGORY"%2c"deprecated":false%2c"backendName":"custom_03"%2c"name":"CUSTOM_03"%2c"userConfiguredName":""}%2c"configuredName":"Custom%20SSL%20Bypass"%2c"superCategory":"USER_DEFINED"%2c"keywords":[]%2c"keywordsRetainingParentCategory":[]%2c"customUrlsToAdd":[]%2c"customUrlsToDelete":[]%2c"urlsRetainingParentCategoryToAdd":[]%2c"urlsRetainingParentCategoryToDelete":[]%2c"customIpRangesToAdd":[]%2c"customIpRangesToDelete":[]%2c"ipRangesRetainingParentCategoryToAdd":[]%2c"ipRangesRetainingParentCategoryToDelete":[]%2c"customCategory":true%2c"editable":true%2c"description":"https: //help.zscaler.com/zia/url-format-guidelines"%2c"type":"URL_CATEGORY"%2c"customUrlsCount":1%2c"urlsRetainingParentCategoryCount":60%2c"customIpRangesCount":0%2c"ipRangesRetainingParentCategoryCount":0%2c"urlsToAdd":[]%2c"urlsToDelete":[]%2c"dbCategorizedUrlsToAdd":[]%2c"dbCategorizedUrlsToDelete":[]}","postaction":"{"id":{"val":130%2c"mask":255%2c"parent":"CUSTOM_SUPERCATEGORY"%2c"deprecated":false%2c"backendName":"custom_03"%2c"name":"CUSTOM_03"%2c"userConfiguredName":""}%2c"configuredName":"Custom%20SSL%20Bypass"%2c"superCategory":"USER_DEFINED"%2c"customUrlsToAdd":[]%2c"customUrlsToDelete":[]%2c"urlsRetainingParentCategoryToAdd":["webcast.temoinproduction.com"]%2c"urlsRetainingParentCategoryToDelete":[]%2c"customIpRangesToAdd":[]%2c"customIpRangesToDelete":[]%2c"ipRangesRetainingParentCategoryToAdd":[]%2c"ipRangesRetainingParentCategoryToDelete":[]%2c"customCategory":true%2c"editable":true%2c"description":"https://help.zscaler.com/zia/url-format-guidelines"%2c"type":"URL_CATEGORY"%2c"customUrlsCount":1%2c"urlsRetainingParentCategoryCount":61%2c"customIpRangesCount":0%2c"ipRangesRetainingParentCategoryCount":0%2c"urlsToAdd":[]%2c"urlsToDelete":[]%2c"dbCategorizedUrlsToAdd":[]%2c"dbCategorizedUrlsToDelete":[]}"} }
Referencia de asignación de campos
En la siguiente tabla se enumeran los campos de registro del tipo de registro ZSCALER_INTERNET_ACCESS
y sus campos de UDM correspondientes.
Log field | UDM mapping | Logic |
---|---|---|
|
metadata.event_type |
The metadata.event_type UDM field is set to STATUS_UPDATE . |
|
metadata.product_name |
The metadata.product_name UDM field is set to Admin Audit . |
|
metadata.vendor_name |
The metadata.vendor_name UDM field is set to Zscaler . |
sourcetype |
additional.fields[sourcetype] |
|
time |
metadata.event_timestamp |
|
recordid |
metadata.product_log_id |
|
action |
security_result.action_details |
|
category |
target.security_result.category_details |
|
subcategory |
target.security_result.category_details |
|
resource |
target.resource.name |
|
interface |
principal.resource.attribute.labels[interface] |
|
adminid |
principal.user.userid |
|
clientip |
principal.ip |
|
|
security_result.action |
If the event.result log field value is equal to SUCCESS , then the security_result.action UDM field is set to ALLOW .Else, if the event.result log field value is equal to FAILURE , then the security_result.action UDM field is set to BLOCK . |
errorcode |
security_result.summary |
|
auditlogtype |
additional.fields[auditlogtype] |
|
preaction |
principal.resource.attribute.labels |
Iterate through preaction object: The preaction object key is mapped to the principal.resource.attribute.labels.key UDM field and preaction object value is mapped to the principal.resource.attribute.labels.value UDM field. |
postaction |
principal.resource.attribute.labels |
Iterate through postaction object: The postaction object key is mapped to the principal.resource.attribute.labels.key UDM field and postaction object value is mapped to the principal.resource.attribute.labels.value UDM field. |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.