Recopila registros de Cato Networks
En este documento, se explica cómo transferir registros de Cato Networks a Google Security Operations con AWS S3. Primero, el analizador inicializa un conjunto de campos en cadenas vacías y, luego, analiza los registros de Cato Networks con formato JSON. Luego, asigna los campos extraídos a los campos correspondientes en el modelo de datos unificado (UDM) de Google SecOps, controla diferentes tipos de eventos y enriquece los datos con contexto adicional.
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
- Instancia de Google SecOps
- Acceso con privilegios a AWS S3 y AWS IAM
- Acceso privilegiado a Cato Networks
Configura IAM de AWS y el bucket de S3
- Crea un bucket de Amazon S3 siguiendo esta guía del usuario: Crea un bucket
- Guarda el Nombre y la Región del bucket para referencia futura.
- Crea un usuario siguiendo esta guía del usuario: 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 consultarlas en el futuro.
- 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 la política AmazonS3FullAccess y, luego, selecciónala.
- Haz clic en Siguiente.
- Haz clic en Agregar permisos.
Configura una política de IAM nueva para el bucket de S3 y habilita las cargas de datos
- En Política, haz clic en la pestaña JSON.
Edita el siguiente JSON, reemplaza
<bucket name>
por tu bucket de S3 y, luego, pégalo en la pestaña.{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::<bucket name>" ] }, { "Sid": "", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::<bucket name>/*" ] } ] }
Haz clic en Crear política.
Configura un rol de IAM nuevo con el ARN de Cato
En la pantalla Selecciona una entidad de confianza, selecciona Política de confianza personalizada y agrega el ARN de Cato al rol: arn:aws:iam::428465470022:role/cato-events-integration
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::428465470022:role/cato-events-integration" }, "Action": "sts:AssumeRole" } ] }
Haz clic en Siguiente.
En la pantalla Agregar permisos, adjunta la política que creaste antes al rol.
Haz clic en Siguiente.
Ingresa el Nombre del rol y haz clic en Crear rol.
Configura la integración de eventos y S3 de Cato Networks
- Accede a la IU web de Cato Networks.
- Ve a Recursos > Integraciones de eventos.
- Haz clic en Habilitar la integración con eventos de Cato.
- Haz clic en Nuevo.
- Proporciona los siguientes detalles de configuración:
- Ingresa el Nombre de la integración.
- Nombre del bucket: Es el mismo nombre del bucket de S3.
- Folder: Nombre idéntico para la ruta de la carpeta dentro del bucket de S3 (si es necesario).
- Región: Es la misma región para el bucket de S3.
- ARN del rol: Copia y pega el ARN del rol para el bucket de S3.
- (Opcional) Define la configuración del filtro para los eventos que se suben al bucket de S3 (cuando defines varios filtros, hay una relación AND, y se suben los eventos que coinciden con todos los filtros).
- Haz clic en Aplicar.
Configura feeds
Existen dos puntos de entrada diferentes para configurar feeds en la plataforma de Google SecOps:
- Configuración de SIEM > Feeds
Centro de contenido > Paquetes de contenido
Configura feeds en Configuración del SIEM > Feeds
Para configurar un feed, sigue estos pasos:
- Ve a SIEM Settings > Feeds.
- Haz clic en Agregar feed nuevo.
- En la siguiente página, haz clic en Configurar un solo feed.
- En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo,
Cato Logs
). - Selecciona Amazon S3 como el Tipo de fuente.
- Selecciona Cato Networks 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 (el formato debe ser
s3://<your-log-bucket-name>
). Reemplaza lo siguiente:your-log-bucket-name
: el nombre del bucket.
- El URI es un: Selecciona Directorio o Directorio que incluye subdirectorios.
- Opciones de borrado de la fuente: Selecciona la opción de borrado según tu preferencia.
- 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.
Haz clic en Siguiente.
Revisa la nueva configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
Configura feeds desde el Centro de contenido
Especifica valores para los siguientes campos:
Región: Es la región en la que se encuentra el bucket de Amazon S3.
- URI de S3: Es el URI del bucket (el formato debe ser
s3://<your-log-bucket-name>
). Reemplaza lo siguiente:your-log-bucket-name
: el nombre del bucket.
- El URI es un: Selecciona Directorio o Directorio que incluye subdirectorios.
- Opciones de borrado de la fuente: Selecciona la opción de borrado según tu preferencia.
- 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.
- URI de S3: Es el URI del bucket (el formato debe ser
Opciones avanzadas
- Nombre del feed: Es un valor completado previamente que identifica el feed.
- Tipo de fuente: Es el método que se usa para recopilar registros en Google SecOps.
- Espacio de nombres del activo: Es el espacio de nombres asociado con el feed.
- Etiquetas de transferencia: Son las etiquetas que se aplican a todos los eventos de este feed.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
account_id | target.user.userid | El valor de este campo se toma del campo account_id . |
acción | additional.fields.value.string_value | El valor de este campo se toma del campo action . |
app_stack | additional.fields.value.list_value.values.string_value | El valor de este campo se toma del campo app_stack . |
aplicación | principal.application | El valor de este campo se toma del campo application . |
categorías | additional.fields.value.list_value.values.string_value | El valor de este campo se toma del campo categories . |
clientIP | principal.ip, principal.asset.ip | El valor de este campo se toma del campo clientIP . |
creationTime | Este campo se usa para calcular la marca de tiempo del evento. | |
custom_categories | additional.fields.value.list_value.values.string_value | El valor de este campo se toma del campo custom_categories . |
dest_country | target.location.country_or_region | El valor de este campo se toma del campo dest_country . |
dest_country_code | target.resource.attribute.labels.value | El valor de este campo se toma del campo dest_country_code . |
dest_ip | target.ip, target.asset.ip | El valor de este campo se toma del campo dest_ip . |
dest_port | target.port | El valor de este campo se toma del campo dest_port . |
destinationCountry | target.location.country_or_region | El valor de este campo se toma del campo destinationCountry . |
destinationIp | target.ip, target.asset.ip | El valor de este campo se toma del campo destinationIp . |
destinationName | target.hostname, target.asset.hostname | El valor de este campo se toma del campo destinationName . |
device_name | network.dhcp.client_hostname | El valor de este campo se toma del campo device_name . |
dns_name | additional.fields.value.string_value | El valor de este campo se toma del campo dns_name . |
event_count | additional.fields.value.string_value | El valor de este campo se toma del campo event_count . |
event_sub_type | metadata.description | El valor de este campo se toma del campo event_sub_type . |
fieldsMap.ISP_name | additional.fields.value.string_value | El valor de este campo se toma del campo fieldsMap.ISP_name . |
fieldsMap.action | security_result.action_details | El valor de este campo se toma del campo fieldsMap.action . |
fieldsMap.categories | security_result.category_details | El valor de este campo se toma del campo fieldsMap.categories . |
fieldsMap.dest_country | target.location.country_or_region | El valor de este campo se toma del campo fieldsMap.dest_country . |
fieldsMap.dest_ip | target.ip, target.asset.ip | El valor de este campo se toma del campo fieldsMap.dest_ip . |
fieldsMap.dest_port | principal.port | El valor de este campo se toma del campo fieldsMap.dest_port . |
fieldsMap.domain_name | principal.administrative_domain | El valor de este campo se toma del campo fieldsMap.domain_name . |
fieldsMap.event_sub_type | metadata.description | El valor de este campo se toma del campo fieldsMap.event_sub_type . |
fieldsMap.event_type | metadata.product_event_type | El valor de este campo se toma del campo fieldsMap.event_type . |
fieldsMap.ip_protocol | network.ip_protocol | El valor de este campo se toma del campo fieldsMap.ip_protocol . |
fieldsMap.os_type | Este campo se usa para determinar el sistema operativo de la principal. | |
fieldsMap.pop_name | additional.fields.value.string_value | El valor de este campo se toma del campo fieldsMap.pop_name . |
fieldsMap.rule_id | security_result.rule_id | El valor de este campo se toma del campo fieldsMap.rule_id . |
fieldsMap.rule_name | security_result.rule_name | El valor de este campo se toma del campo fieldsMap.rule_name . |
fieldsMap.src_ip | principal.ip, principal.asset.ip | El valor de este campo se toma del campo fieldsMap.src_ip . |
fieldsMap.src_isp_ip | src.ip, src.asset.ip | El valor de este campo se toma del campo fieldsMap.src_isp_ip . |
fieldsMap.time | Este campo se usa para calcular la marca de tiempo del evento. | |
file_hash | target.file.sha256 | El valor de este campo se toma del campo file_hash . |
file_name | target.file.full_path | El valor de este campo se toma del campo file_name . |
file_size | target.file.size | El valor de este campo se toma del campo file_size . |
http_host_name | principal.hostname, principal.asset.hostname | El valor de este campo se toma del campo http_host_name . |
insertionDate | additional.fields.value.string_value | El valor de este campo se toma del campo insertionDate . |
internalId | additional.fields.value.string_value | El valor de este campo se toma del campo internalId . |
ip_protocol | network.ip_protocol | El valor de este campo se toma del campo ip_protocol . |
is_sanctioned_app | security_result.detection_fields.value | El valor de este campo se toma del campo is_sanctioned_app . |
os_type | principal.platform | El valor de este campo se toma del campo os_type . |
pop_name | Este campo se usa para propagar el campo fieldsMap.pop_name . |
|
prettyType | metadata.product_event_type | El valor de este campo se toma del campo prettyType . |
regla | additional.fields.value.string_value | El valor de este campo se toma del campo rule . |
rule_id | security_result.rule_id | El valor de este campo se toma del campo rule_id . |
rule_name | security_result.rule_name | El valor de este campo se toma del campo rule_name . |
server_port | target.port | El valor de este campo se toma del campo server_port . |
gravedad, | security_result.severity_details | El valor de este campo se toma del campo severity . |
sourceCountry | principal.location.country_or_region | El valor de este campo se toma del campo sourceCountry . |
sourceInternalIp | principal.ip | El valor de este campo se toma del campo sourceInternalIp . |
sourceIp | src.ip, src.asset.ip | El valor de este campo se toma del campo sourceIp . |
sourceName | principal.user.user_display_name | El valor de este campo se toma del campo sourceName . |
deporte | principal.port | El valor de este campo se toma del campo sport . |
src_country | Este campo se usa para propagar el campo sourceCountry . |
|
src_country_code | principal.resource.attribute.labels.value | El valor de este campo se toma del campo src_country_code . |
src_ip | principal.ip, principal.asset.ip | El valor de este campo se toma del campo src_ip . |
src_is_site_or_vpn | security_result.detection_fields.value | El valor de este campo se toma del campo src_is_site_or_vpn . |
src_isp_ip | src.ip, src.asset.ip | El valor de este campo se toma del campo src_isp_ip . |
src_site | additional.fields.value.string_value | El valor de este campo se toma del campo src_site . |
src_site_name | additional.fields.value.string_value | El valor de este campo se toma del campo src_site_name . |
start | Este campo se usa para calcular la marca de tiempo del evento. | |
subnet_name | additional.fields.value.string_value | El valor de este campo se toma del campo subnet_name . |
hora | Este campo se usa para calcular la marca de tiempo del evento. | |
time_str | Este campo se usa para calcular la marca de tiempo del evento. | |
tunnel_host_logon_names | principal.user.userid | El valor de este campo se toma del campo tunnel_host_logon_names . |
URL | target.url | El valor de este campo se toma del campo url . |
user_id | principal.user.userid | El valor de este campo se toma del campo user_id . |
metadata.event_type | El valor de este campo se establece en GENERIC_EVENT y se puede anular a NETWORK_CONNECTION , NETWORK_DHCP o NETWORK_HTTP según el evento. |
|
metadata.log_type | El valor de este campo se establece en CATO_NETWORKS . |
|
metadata.product_name | El valor de este campo se establece en SASE . |
|
metadata.vendor_name | El valor de este campo se establece en Cato Networks . |
|
network.application_protocol | El valor de este campo se establece en DHCP para los eventos de Connected . |
|
network.dhcp.chaddr | El valor de este campo se establece en 01:23:45:ab:cd:ef para los eventos de Connected . |
|
network.dhcp.lease_time_seconds | El valor de este campo se establece en 86400 para los eventos de Connected . |
|
network.dhcp.opcode | El valor de este campo se establece en BOOTREPLY para los eventos de Connected . |
|
network.dhcp.type | El valor de este campo se establece en ACK para los eventos de Connected . |
|
network.direction | El valor de este campo se establece en OUTBOUND para los eventos Anti Malware y URL Filtering . |
|
security_result.action | El valor de este campo se establece en ALLOW si el campo action no es BLOCK ; de lo contrario, se establece en BLOCK . |
|
event_type | metadata.description | El valor de este campo se toma del campo event_type . |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.