Recoger registros de Cato Networks

Disponible en:

En este documento se explica cómo ingerir registros de Cato Networks en Google Security Operations mediante AWS S3. El analizador primero inicializa un conjunto de campos en cadenas vacías y, a continuación, analiza los registros de Cato Networks con formato JSON. A continuación, asigna los campos extraídos a los campos correspondientes del modelo de datos unificado (UDM) de Google SecOps, gestiona los distintos tipos de eventos y enriquece los datos con contexto adicional.

Antes de empezar

Asegúrate de que cumples los siguientes requisitos previos:

  • Instancia de Google SecOps
  • Acceso privilegiado a AWS S3 y AWS IAM
  • Acceso privilegiado a Cato Networks

Configurar AWS IAM y el segmento de S3

  1. Crea un segmento de Amazon S3 siguiendo esta guía de usuario: Crear un segmento.
  2. Guarda el nombre y la región del contenedor para consultarlos más adelante.
  3. Crea un usuario siguiendo esta guía: Crear un usuario de gestión de identidades y accesos.
  4. Selecciona el usuario creado.
  5. Selecciona la pestaña Credenciales de seguridad.
  6. En la sección Claves de acceso, haz clic en Crear clave de acceso.
  7. Selecciona Servicio de terceros como Caso práctico.
  8. Haz clic en Siguiente.
  9. Opcional: añade una etiqueta de descripción.
  10. Haz clic en Crear clave de acceso.
  11. Haz clic en Descargar archivo CSV para guardar la clave de acceso y la clave de acceso secreta para futuras consultas.
  12. Haz clic en Listo.
  13. Selecciona la pestaña Permisos.
  14. Haz clic en Añadir permisos en la sección Políticas de permisos.
  15. Selecciona Añadir permisos.
  16. Seleccione Adjuntar políticas directamente.
  17. Busca la política AmazonS3FullAccess y, a continuación, selecciónala.
  18. Haz clic en Siguiente.
  19. Haz clic en Añadir permisos.

Configurar una nueva política de gestión de identidades y accesos para un segmento de S3 con el fin de habilitar las subidas de datos

  1. En Política, haga clic en la pestaña JSON.
  2. Edita el siguiente JSON, sustituye <bucket name> por tu segmento de S3 y, a continuación, 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>/*"
                ]
            }
        ]
    }
    
  3. Haz clic en Crear política.

Configurar un nuevo rol de gestión de identidades y accesos con el ARN de Cato

  1. En la pantalla Select trusted entity (Seleccionar entidad de confianza), selecciona Custom Trust Policy (Política de confianza personalizada) y añade 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"
            }
        ]
    }
    
  2. Haz clic en Siguiente.

  3. En la pantalla Añadir permisos, asigne al rol la política que ha creado anteriormente.

  4. Haz clic en Siguiente.

  5. Introduce el Nombre del rol y haz clic en Crear rol.

Configurar la integración de eventos y S3 de Cato Networks

  1. Inicia sesión en la interfaz de usuario web de Cato Networks.
  2. Vaya a Recursos > Integraciones de eventos.
  3. Haz clic en Enable integration with Cato events (Habilitar la integración con eventos de Cato).
  4. Haz clic en New (Nuevo).
  5. Proporcione los siguientes detalles de configuración:
    • Introduce el nombre de la integración.
    • Nombre del segmento: nombre idéntico del segmento de S3.
    • Carpeta: nombre idéntico de la ruta de la carpeta en el segmento de S3 (si es necesario).
    • Región: región idéntica del segmento de S3.
    • ARN del rol: copia y pega el ARN del rol del segmento de S3.
    • (Opcional) Defina los ajustes de filtro de los eventos que se suban al bucket de S3. Si define varios filtros, se relacionarán con el operador lógico AND y se subirán los eventos que coincidan con todos los filtros.
  6. Haz clic en Aplicar.

Configurar feeds

Para configurar un feed, sigue estos pasos:

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en Añadir feed.
  3. En la página siguiente, haga clic en Configurar un solo feed.
  4. En el campo Nombre del feed, introduce un nombre para el feed (por ejemplo, Cato Logs).
  5. Selecciona Amazon S3 V2 como Tipo de fuente.
  6. Seleccione Cato Networks como Tipo de registro.
  7. Haz clic en Siguiente.
  8. Especifique los valores de los siguientes parámetros de entrada:

    • URI de S3: el URI del contenedor (el formato debe ser s3://<your-log-bucket-name>). Sustituye lo siguiente:

      • your-log-bucket-name: el nombre del segmento.
    • Opciones de eliminación de la fuente: selecciona la opción de eliminación que prefieras.

  9. Haz clic en Siguiente.

  10. Revise la configuración de la nueva fuente en la pantalla Finalizar y, a continuación, haga clic en Enviar.

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.
página 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 entidad 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 rellenar 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 rellenar 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.
Tiempo 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 es GENERIC_EVENT y se puede cambiar a NETWORK_CONNECTION, NETWORK_DHCP o NETWORK_HTTP en función del evento.
metadata.log_type El valor de este campo es CATO_NETWORKS.
metadata.product_name El valor de este campo es SASE.
metadata.vendor_name El valor de este campo es Cato Networks.
network.application_protocol El valor de este campo es DHCP para los eventos Connected.
network.dhcp.chaddr El valor de este campo es 01:23:45:ab:cd:ef para los eventos Connected.
network.dhcp.lease_time_seconds El valor de este campo es 86400 para los eventos Connected.
network.dhcp.opcode El valor de este campo es BOOTREPLY para los eventos Connected.
network.dhcp.type El valor de este campo es ACK para los eventos Connected.
network.direction El valor de este campo es OUTBOUND para los eventos Anti Malware y URL Filtering.
security_result.action El valor de este campo es ALLOW si el campo action no es BLOCK. De lo contrario, es BLOCK.
event_type metadata.description El valor de este campo se toma del campo event_type.

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.