Recopila registros de DLP de Zscaler
En este documento, se explica cómo exportar registros de DLP de Zscaler configurando un feed de Operaciones de seguridad de Google y cómo los campos de registro se asignan a los campos del modelo de datos unificados (UDM) de SecOps de Google.
Para obtener más información, consulta la descripción general de la transferencia de datos a Google SecOps.
Una implementación típica consta de la DLP de Zscaler y el feed de webhook de Google SecOps configurado para enviar registros a Google SecOps. Cada implementación de cliente puede diferir y ser más compleja.
La implementación contiene los siguientes componentes:
DLP de Zscaler: La plataforma desde la que recopilas registros.
Feed de Google SecOps: Es el feed de Google SecOps que recupera registros de la DLP de Zscaler y escribe registros en Google SecOps.
Google Security Operations: Retiene y analiza los registros.
Una etiqueta de transferencia identifica el analizador que normaliza los datos de registro sin procesar al formato estructurado del UDM. La información de este documento se aplica al analizador con la etiqueta ZSCALER_DLP
.
Antes de comenzar
- Asegúrate de tener acceso a la consola de acceso a Internet de Zscaler. Para obtener más información, consulta la Ayuda de ZIA de acceso seguro a Internet y SaaS.
- Asegúrate de usar Zscaler DLP 2024 o una versión posterior.
- Asegúrate de que todos los sistemas de la arquitectura de implementación estén configurados con la zona horaria UTC.
- Asegúrate de tener la clave de API necesaria para completar la configuración del feed en Google Security Operations. Para obtener más información, consulta Configura claves de API.
Configura un feed de transferencia en Google SecOps para transferir registros de DLP de Zscaler
- 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 DLP de Zscaler).
- Selecciona Webhook como el Tipo de origen.
- Selecciona Zscaler DLP como el Tipo de registro.
- Haz clic en Siguiente.
- Opcional: Especifica valores para los siguientes parámetros de entrada:
- Delimitador de división: Es el delimitador que se usa para separar las líneas de registro (déjalo en blanco si no se usa un delimitador).
- Espacio de nombres del activo: Es el espacio de nombres del activo.
- 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.
- Haz clic en Generate Secret Key para generar una clave secreta que autentique este feed.
Configura la DLP de Zscaler
- En la consola de acceso a Internet de Zscaler, ve a Administración > Servicio de transmisión de Nanolog > Feeds de NSS de Cloud.
- Haz clic en Agregar feed de NSS de Cloud.
- Ingresa un nombre para el feed en el campo Nombre del feed.
- Selecciona NSS para la Web en Tipo de NSS.
- Selecciona el estado de la lista Estado para activar o desactivar el feed de NSS.
- Mantén el valor en el menú SIEM Rate como Unlimited. Para suprimir el flujo de salida debido a licencias o a otras restricciones, cambia el valor.
- Selecciona Otro en la lista Tipo de SIEM.
- Selecciona Disabled en la lista OAuth 2.0 Authentication.
- Ingresa un límite de tamaño para una carga útil de solicitud HTTP individual en las prácticas recomendadas de SIEM en Max Batch Size (por ejemplo, 512 KB).
Ingresa la URL HTTPS del extremo de la API de Chronicle en la 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
: Es la región en la que se aloja tu instancia de Google SecOps (por ejemplo, EE.UU.).GOOGLE_PROJECT_NUMBER
: Número de proyecto de BYOP (obtén este número de C4).LOCATION
: Región de Google SecOps (por ejemplo, EE.UU.).CUSTOMER_ID
: ID de cliente de SecOps de Google (obtén este ID de C4).FEED_ID
: Es el ID del feed que se muestra en la IU del feed en el nuevo webhook creado.
URL de API de muestra:
https://us-chronicle.googleapis.com/v1alpha/projects/12345678910/locations/US/instances/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/feeds/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy:importPushLogs
Haz clic en Agregar encabezado HTTP para agregar más encabezados HTTP con claves y valores.
Por ejemplo:
- Clave:
X-goog-api-key
- Valor: Clave de API generada en las Credenciales de API de Google Cloud BYOP
- Clave:
Selecciona DLP de extremos en la lista Tipos de registro.
Selecciona JSON en la lista Tipo de salida del feed.
Establece el carácter de escape del feed en
, \ "
.Para agregar un campo nuevo al Formato de salida del feed, selecciona Personalizado en la lista Tipo de salida del feed.
Copia y pega el Formato de salida del feed y agrega campos nuevos. Asegúrate de que los nombres de las claves coincidan con los nombres de los campos reales.
El siguiente es el formato de salida del feed predeterminado:
\{ "sourcetype" : "zscalernss-edlp", "event" :\{"time":"%s{time}","recordid":"%d{recordid}","login":"%s{user}","dept":"%s{department}","filetypename":"%s{filetypename}","filemd5":"%s{filemd5}","dlpdictnames":"%s{dlpdictnames}","dlpdictcount":"%s{dlpcounts}","dlpenginenames":"%s{dlpengnames}","channel":"%s{channel}","actiontaken":"%s{actiontaken}","severity":"%s{severity}","rulename":"%s{triggeredrulelabel}","itemdstname":"%s{itemdstname}"\}\}
Selecciona la zona horaria para el campo Time en el archivo de salida en la lista Timezone. De forma predeterminada, la zona horaria se establece en la de tu organización.
Revisa la configuración establecida.
Haz clic en Guardar para probar la conectividad. Si la conexión se realiza correctamente, aparecerá una marca de verificación verde acompañada del mensaje Test Connectivity Successful: OK (200).
Para obtener más información sobre los feeds de Google SecOps, consulta la documentación de los feeds de Google SecOps. Para obtener información sobre los requisitos de cada tipo de feed, consulta Configuración de feeds por tipo.
Si tienes problemas cuando creas feeds, comunícate con el equipo de asistencia de SecOps de Google.
Tabla de asignación de UDM
En la siguiente tabla, se enumeran los campos de registro del tipo de registro ZSCALER_DLP
y sus campos de UDM correspondientes.
Log field | UDM mapping | Logic |
---|---|---|
mon |
additional.fields[mon] |
|
day |
additional.fields[day] |
|
scantime |
additional.fields[scantime] |
|
numdlpengids |
additional.fields[numdlpengids] |
|
numdlpdictids |
additional.fields[numdlpdictids] |
|
recordid |
metadata.product_log_id |
|
scanned_bytes |
additional.fields[scanned_bytes] |
|
dlpidentifier |
security_result.detection_fields[dlpidentifier] |
|
login |
principal.user.user_display_name |
|
b64user |
principal.user.user_display_name |
|
euser |
principal.user.user_display_name |
|
ouser |
security_result.detection_fields[ouser] |
|
dept |
principal.user.department |
|
b64department |
principal.user.department |
|
edepartment |
principal.user.department |
|
odepartment |
security_result.detection_fields[odepartment] |
|
odevicename |
security_result.detection_fields[odevicename] |
|
devicetype |
principal.asset.attribute.labels[devicetype] |
|
|
principal.asset.platform_software.platform |
If the deviceostype log field value matches the regular expression pattern (?i)Windows , then the principal.asset.platform_software.platform UDM field is set to WINDOWS . |
|
principal.asset.asset_id |
If the devicename log field value is not empty, then the asset_id:devicename log field is mapped to the principal.asset.asset_id UDM field.If the b64devicename log field value is not empty, then the asset_id:b64devicename log field is mapped to the principal.asset.asset_id UDM field.If the edevicename log field value is not empty, then the asset_id:edevicename log field is mapped to the principal.asset.asset_id UDM field. |
deviceplatform |
principal.asset.attribute.labels[deviceplatform] |
|
deviceosversion |
principal.asset.platform_software.platform_version |
|
devicemodel |
principal.asset.hardware.model |
|
deviceappversion |
additional.fields[deviceappversion] |
|
deviceowner |
principal.user.userid |
|
b64deviceowner |
principal.user.userid |
|
edeviceowner |
principal.user.userid |
|
odeviceowner |
security_result.detection_fields[odeviceowner] |
|
devicehostname |
principal.hostname |
|
b64devicehostname |
principal.hostname |
|
edevicehostname |
principal.hostname |
|
odevicehostname |
security_result.detection_fields[odevicehostname] |
|
datacenter |
target.location.name |
|
datacentercity |
target.location.city |
|
datacentercountry |
target.location.country_or_region |
|
dsttype |
target.resource.resource_subtype |
|
filedoctype |
additional.fields[filedoctype] |
|
filedstpath |
target.file.full_path |
|
b64filedstpath |
target.file.full_path |
|
efiledstpath |
target.file.full_path |
|
filemd5 |
target.file.md5 |
If the filemd5 log field value matches the regular expression pattern ^[0-9a-f]+$ , then the filemd5 log field is mapped to the target.file.md5 UDM field. |
filesha |
target.file.sha256 |
If the filesha log field value matches the regular expression pattern ^[0-9a-f]+$ , then the filesha log field is mapped to the target.file.sha256 UDM field. |
filesrcpath |
src.file.full_path |
|
b64filesrcpath |
src.file.full_path |
|
efilesrcpath |
src.file.full_path |
|
filetypecategory |
additional.fields[filetypecategory] |
|
filetypename |
target.file.mime_type |
|
itemdstname |
target.resource.name |
|
b64itemdstname |
target.resource.name |
|
eitemdstname |
target.resource.name |
|
itemname |
target.resource.attribute.labels[itemname] |
|
b64itemname |
target.resource.attribute.labels[itemname] |
|
eitemname |
target.resource.attribute.labels[itemname] |
|
itemsrcname |
src.resource.name |
|
b64itemsrcname |
src.resource.name |
|
eitemsrcname |
src.resource.name |
|
itemtype |
target.resource.attribute.labels[itemtype] |
|
ofiledstpath |
security_result.detection_fields[ofiledstpath] |
|
ofilesrcpath |
security_result.detection_fields[ofilesrcpath] |
|
oitemdstname |
security_result.detection_fields[oitemdstname] |
|
oitemname |
security_result.detection_fields[oitemname] |
|
odlpengnames |
security_result.detection_fields[odlpengnames] |
|
oitemsrcname |
security_result.detection_fields[oitemsrcname] |
|
srctype |
src.resource.resource_subtype |
|
actiontaken |
security_result.action_details |
|
|
security_result.action |
If the actiontaken log field value matches the regular expression pattern (?i)allow , then the security_result.action UDM field is set to ALLOW .Else, if the actiontaken log field value matches the regular expression pattern (?i)block , then the security_result.action UDM field is set to BLOCK . |
activitytype |
metadata.product_event_type |
|
addinfo |
additional.fields[addinfo] |
|
channel |
security_result.detection_fields[channel] |
|
confirmaction |
security_result.detection_fields[confirmaction] |
|
confirmjust |
security_result.description |
|
dlpdictcount |
security_result.detection_fields[dlpdictcount] |
|
dlpdictnames |
security_result.detection_fields[dlpdictnames] |
|
b64dlpdictnames |
security_result.detection_fields[dlpdictnames] |
|
edlpdictnames |
security_result.detection_fields[dlpdictnames] |
|
dlpenginenames |
security_result.detection_fields[dlpenginenames] |
|
b64dlpengnames |
security_result.detection_fields[dlpenginenames] |
|
edlpengnames |
security_result.detection_fields[dlpenginenames] |
|
expectedaction |
security_result.detection_fields[expectedaction] |
|
logtype |
security_result.category_details |
|
odlpdictnames |
security_result.detection_fields[odlpdictnames] |
|
ootherrulelabels |
security_result.detection_fields[ootherrulelabels] |
|
otherrulelabels |
security_result.rule_labels[otherrulelabels] |
|
b64otherrulelabels |
security_result.rule_labels[otherrulelabels] |
|
eotherrulelabels |
security_result.rule_labels[otherrulelabels] |
|
otriggeredrulelabel |
security_result.rule_labels[otriggeredrulelabel] |
|
severity |
security_result.severity_details |
|
|
security_result.severity |
If the severity log field value matches the regular expression pattern (?i)High , then the security_result.severity UDM field is set to HIGH .Else, if the severity log field value matches the regular expression pattern (?i)Medium , then the security_result.severity UDM field is set to MEDIUM .Else, if the severity log field value matches the regular expression pattern (?i)Low , then the security_result.severity UDM field is set to LOW .Else, if the severity log field value matches the regular expression pattern (?i)Info , then the security_result.severity UDM field is set to INFORMATIONAL . |
rulename |
security_result.rule_name |
|
b64triggeredrulelabel |
security_result.rule_name |
|
etriggeredrulelabel |
security_result.rule_name |
|
zdpmode |
security_result.detection_fields[zdpmode] |
|
tz |
additional.fields[tz] |
|
ss |
additional.fields[ss] |
|
mm |
additional.fields[mm] |
|
hh |
additional.fields[hh] |
|
dd |
additional.fields[dd] |
|
mth |
additional.fields[mth] |
|
yyyy |
additional.fields[yyyy] |
|
sourcetype |
additional.fields[sourcetype] |
|
eventtime |
metadata.event_timestamp |
|
time |
metadata.collected_timestamp |
|
rtime |
additional.fields[rtime] |
|
|
metadata.vendor_name |
The metadata.vendor_name UDM field is set to Zscaler . |
|
metadata.product_name |
The metadata.product_name UDM field is set to DLP . |
|
metadata.event_type |
If the activitytype log field value contain one of the following values, then the metadata.event_type UDM field is set to FILE_UNCATEGORIZED .
activitytype log field value is equal to File Copy , then the metadata.event_type UDM field is set to FILE_COPY .Else, if the activitytype log field value is equal to File Read , then the metadata.event_type UDM field is set to FILE_READ .Else, if the activitytype log field value is equal to File Write , then the metadata.event_type UDM field is set to FILE_MODIFICATION .Else, if the activitytype log field value is equal to Email Sent , then the metadata.event_type UDM field is set to EMAIL_UNCATEGORIZED .Else, if the activitytype log field value is equal to Print , then the metadata.event_type UDM field is set to STATUS_UPDATE .Else, the metadata.event_type UDM field is set to GENERIC_EVENT . |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.