Recopila registros de eventos de Cortex XDR de Palo Alto

Compatible con:

En este documento, se explica cómo transferir registros de eventos de Palo Alto Cortex XDR a Google Security Operations con Google Cloud Storage. El analizador extrae datos de eventos de seguridad de los registros JSON de Cortex XDR de Palo Alto Networks. Normaliza los datos en el modelo de datos unificado (UDM) asignando campos, convirtiendo tipos de datos y enriqueciendo los eventos con metadatos, como el proveedor, el producto y los tipos de eventos, según la lógica condicional vinculada a los campos event_type y event_sub_type. También controla las conexiones de red, las operaciones de archivos y registros, la información de los procesos y la actividad del usuario.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Instancia de Google SecOps
  • Google Cloud El almacenamiento está configurado y activo en tu entorno de Google Cloud
  • Acceso con privilegios a Google Cloud y los permisos adecuados
  • Acceso con privilegios a Cortex XDR de Palo Alto

Crea un bucket de almacenamiento de Google Cloud

  1. Accede a la consola de Google Cloud .
  2. Ve a la página Buckets de Cloud Storage.

    Ir a Buckets

  3. Haz clic en Crear.

  4. En la página Crear un bucket, ingresa la información de tu bucket. Después de cada uno de los siguientes pasos, haz clic en Continuar para avanzar al siguiente paso:

  5. En la sección Primeros pasos, haz lo siguiente:

    1. Ingresa un nombre único que cumpla con los requisitos de nombre del bucket (por ejemplo, cortex-xdr-events-secops).
    2. Para habilitar el espacio de nombres jerárquico, haz clic en la flecha de expansión para expandir la sección Optimizar las cargas de trabajo orientadas a archivos y con uso intensivo de datos y, luego, selecciona Habilitar el espacio de nombres jerárquico en este bucket.

    3. Para agregar una etiqueta de bucket, haz clic en la flecha de expansión para expandir la sección Etiquetas.

    4. Haz clic en Agregar etiqueta y especifica una clave y un valor para tu etiqueta.

  6. En la sección Eligir dónde almacenar tus datos, haz lo siguiente:

    1. Selecciona un tipo de ubicación
    2. Usa el menú del tipo de ubicación para seleccionar una Ubicación en la que se almacenarán de forma permanente los datos de objetos de tu bucket.

    3. Para configurar la replicación entre bucket, expande la sección Configura la bucket entre buckets.

  7. En la sección Elige una clase de almacenamiento para tus datos, selecciona una clase de almacenamiento predeterminada para el bucket o selecciona Autoclass para la administración automática de clases de almacenamiento de los datos de tu bucket.

  8. En la sección Elige cómo controlar el acceso a los objetos, selecciona no para aplicar la prevención del acceso público y elige un modelo de control de acceso para los objetos del bucket.

  9. En la sección Elige cómo proteger los datos de objetos, haz lo siguiente:

    1. Selecciona cualquiera de las opciones de Protección de datos que desees configurar para tu bucket.
    2. Para elegir cómo se encriptarán los datos de tus objetos, haz clic en la flecha desplegable Encriptación de datos y selecciona un método de encriptación de datos.
  10. Haz clic en Crear.

  11. Configura una regla de administración del ciclo de vida de los objetos en el bucket de destino recién creado para borrar objetos después de 7 días:

    1. En la lista Buckets de Cloud Storage, haz clic en el nombre de tu bucket.
    2. Selecciona la pestaña Ciclo de vida y, luego, haz clic en Agregar una regla.
    3. En la sección Selecciona una acción, elige Borrar objeto.
    4. En la sección Seleccionar condiciones de objetos, selecciona Antigüedad y establece el valor en 7 días.
    5. Haz clic en Guardar.

Configura el reenvío de eventos de Cortex XDR

  1. Accede a la IU web de Cortex XDR.
  2. Ve a Configuración > Parámetros de configuración > Administración de datos > Reenvío de eventos.
  3. Activa las licencias en la sección Activación.
  4. Habilita el reenvío de eventos de GB para exportar registros analizados de Cortex XDR Pro por GB a un SIEM externo para su almacenamiento.
  5. Habilita el reenvío de eventos de extremos para exportar datos de extremos sin procesar para Cortex XDR Pro EP y Cloud Endpoints.
  6. Guarda la selección.
  7. Copia la ruta de acceso de almacenamiento que se muestra.
  8. Genera y descarga el TOKEN WEB JSON de la cuenta de servicio, que contiene la clave de acceso.
  9. Guárdala en una ubicación segura.

Configura Google Cloud Secret Manager

  1. Accede a tu GCP.
  2. Ve a la página de Secret Manager.
  3. Si es la primera vez que lo haces, se te pedirá que habilites la API de Secret Manager.
  4. Crea un Secret llamado EVENT_FRWD_CRTX_KEY y copia el contenido del archivo JSON xdr_sa_key.json que descargaste como el valor del Secret.

Configura feeds

Para configurar un feed, sigue estos pasos:

  1. Ve a Configuración > Administración de datos > Feeds. Si estás en una plataforma solo de SIEM, ve a Configuración > Feeds.
  2. Haz clic en Agregar feed nuevo.
  3. En la página siguiente, haz clic en Configurar un solo feed.
  4. En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros de eventos de PANW Cortex XDR).
  5. Selecciona Google Cloud Storage V2 como el Tipo de fuente.
  6. Selecciona Eventos de Palo Alto Cortex XDR como el Tipo de registro.
  7. Haz clic en Obtener cuenta de servicio como la cuenta de servicio de Chronicle.
  8. Haz clic en Siguiente.
  9. Especifica valores para los siguientes parámetros de entrada:

    • URI del bucket de almacenamiento: Google Cloud URL del bucket de almacenamiento (por ejemplo, gs://cortex-xdr-events-secops/). Esta URL debe terminar con una barra diagonal (/).
    • Opciones de eliminación de fuentes: Selecciona No borrar los archivos transferidos.

    • Antigüedad máxima del archivo: Incluye los archivos modificados en la última cantidad de días. El valor predeterminado es 180 días.

  10. Haz clic en Siguiente.

  11. Revisa la configuración de tu feed de noticias nuevo en la pantalla Finalizar y, luego, haz clic en Enviar.

  12. Después de crear el feed, búscalo en la lista Feeds y haz clic en los tres puntos de acción que se encuentran en el lado derecho de la línea.

  13. Selecciona Inhabilitar feed.

Configura el acceso de JSON de Secret a Cloud Storage

  1. Accede a tu GCP.
  2. Ve a la página de Secret Manager.
  3. Selecciona el secreto EVENT_FRWD_CRTX_KEY.
  4. Ve a la pestaña Permisos.
  5. Proporciona acceso de Administrador de objetos de almacenamiento y Lector de buckets heredados de almacenamiento al bucket cortex-xdr-events-secops que creaste anteriormente.

Configura los permisos de Google SecOps para Cloud Storage

  1. Ve a IAM y administración > IAM.
  2. Ubica la cuenta de servicio de Chronicle.
  3. Otorga el acceso de Visualizador de objetos de Storage (roles/storage.objectViewer) al bucket cortex-xdr-events-secops creado anteriormente.

Configura la transferencia de registros de eventos de PANW Cortex XDR al Cloud Storage del proyecto

  1. En Google Cloud, ve a APIs y servicios > Biblioteca.
  2. Habilita las APIs de Cloud Run y Artifact Registry.
  3. Para abrir Cloud Shell, haz clic en el ícono de la barra de navegación superior.
  4. Descarga un código personalizado con el siguiente comando:

    git clone https://github.com/PaloAltoNetworks/google-cloud-cortex-chronicle.git
    
  5. Para ir al directorio, ejecuta el siguiente comando:

    cd google-cloud-cortex-chronicle/
    
  6. Abre el archivo env.properties con un editor como vi.

  7. Proporciona los siguientes detalles de configuración:

    REGION=us-central1 # Update according to your project region
    REPO_NAME=panw-chronicle
    IMAGE_NAME=sync_cortex_bucket
    GCP_PROJECT_ID=chrxxxxxxxxx # Update according to your project ID
    JOB_NAME=cloud-run-job-cortex-data-sync # The Cloud Job name 
    ROJECT_NUMBER=80xxxxx9 # Update according to your project number
    # JOB ENV VARIABLES
    SRC_BUCKET=xdr-us-xxxxx-event-forwarding # Update with the Cortex XDR GCS bucket name
    DEST_BUCKET=cortex-xdr-events-secops # Update with the GCS name of the bucket you created
    SECRET_NAME=EVENT_FRWD_CRTX_KEY # Need to match the secret you created
    JOB_SCHEDULE_MINS=30
    
  8. Proporciona los permisos necesarios a la secuencia de comandos deploy.sh:

    chmod 744 deploy.sh
    
  9. Ejecuta la secuencia de comandos deploy.sh:

    ./deploy.sh
    
  10. Identifica la cuenta de servicio de Cloud Job que se usó en el resultado de la secuencia de comandos.

  11. Otorga a la cuenta de servicio de Cloud Job el permiso de ancestro de Secret de Secret Manager para acceder al Secret que creaste antes (como en nuestro ejemplo, EVENT_FRWD_CRTX_KEY).

  12. Ve a Secret Manager > EVENT_FRWD_CRTX_KEY (secreto) > Permisos.

  13. En la plataforma de Google SecOps, ve a Configuración > Administración de datos > Feeds > Nombre del feed de eventos de XDR > Habilitar feed.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
action_file_path target.file.full_path Asignada directamente
action_file_size target.file.size Se asigna y convierte directamente en un número entero sin firma
action_local_ip principal.ip Asignadas directamente y combinadas con otras direcciones IP
action_local_port principal.port Se asigna directamente y se convierte en un número entero
action_module_path target.process.file.full_path Asignada directamente
action_network_connection_id network.session_id Asignada directamente
action_network_protocol network.ip_protocol Se cambió el nombre a protocol_number_src, se analizó con parse_ip_protocol.include y se asignó a network.ip_protocol
action_process_image_command_line target.process.command_line Asignada directamente
action_process_image_md5 target.process.file.md5 Asignada directamente
action_process_image_path target.process.file.full_path Asignada directamente
action_process_image_sha256 target.process.file.sha256 Asignada directamente
action_process_os_pid target.process.pid Se asigna directamente y se convierte en cadena
action_process_user_sid target.user.windows_sid Asignada directamente
action_process_username target.user.userid, target.administrative_domain Se convierte a minúsculas, se analiza para el dominio y el usuario, y se asigna según corresponda.
action_registry_data target.registry.registry_value_data Asignada directamente
action_registry_key_name target.registry.registry_key Asignada directamente
action_registry_value_name target.registry.registry_value_name Asignada directamente
action_remote_ip target.ip Asignadas directamente y combinadas con otras direcciones IP
action_remote_port target.port Se asigna directamente y se convierte en un número entero
action_total_download network.received_bytes Se asigna y convierte directamente en un número entero sin firma
action_total_upload network.sent_bytes Se asigna y convierte directamente en un número entero sin firma
agent_hostname principal.hostname, observer.hostname Se convierte en minúsculas y se asigna
agent_ip_addresses observer.ip Se analiza como JSON, se divide en IPs individuales y se combina
agent_os_sub_type target.platform_version Asignada directamente
event_id metadata.product_log_id Asignada directamente
event_sub_type metadata.product_event_type Se convierte en cadena y se usa para la asignación condicional de metadata.event_type y metadata.product_event_type
event_timestamp metadata.event_timestamp, timestamp Se convierte en cadena, se analiza como marca de tiempo UNIX_MS y se asigna
event_type metadata.event_type Se convierte en cadena y se usa para la asignación condicional de metadata.event_type y metadata.product_event_type
os_actor_process_command_line principal.process.command_line Asignada directamente
os_actor_process_image_md5 principal.process.file.md5 Asignada directamente
os_actor_process_image_path principal.process.file.full_path Asignada directamente
os_actor_process_image_sha256 principal.process.file.sha256 Asignada directamente
os_actor_process_instance_id principal.process.product_specific_process_id Con el prefijo "PAN:" y asignado
os_actor_process_os_pid principal.process.pid Se convierte en cadena y se asigna
os_actor_primary_user_sid principal.user.windows_sid Se asigna si comienza con "S-" o "s-"
os_actor_primary_username principal.user.userid, principal.administrative_domain Se convierte a minúsculas, se analiza para el dominio y el usuario, y se asigna según corresponda.
_action security_result.action Se combinó con _security_result y, luego, se asignó
metadata.log_type metadata.log_type Se codifica como "PAN_CORTEX_XDR_EVENTS"
metadata.product_name metadata.product_name Está codificado como "Cortex XDR".
metadata.vendor_name metadata.vendor_name Está codificado como "PAN".
target.platform target.platform Se establece en "WINDOWS" si agent_os_sub_type contiene "Windows".
action_user_session_id event.idm.read_only_udm.network.session_id Asignado desde el registro de cambios
action_username event.idm.read_only_udm.principal.user.user_display_name Asignado desde el registro de cambios
agent_ip_addresses event.idm.read_only_udm.principal.ip y event.idm.read_only_udm.principal.asset.ip Asignado desde el registro de cambios
agent_os_sub_type event.idm.read_only_udm.principal.platform_version Asignado desde el registro de cambios
agent_id event.idm.read_only_udm.principal.asset.asset_id y event.idm.read_only_udm.principal.asset_id Asignado desde el registro de cambios
agent_os_type event.idm.read_only_udm.principal.platform Asignado desde el registro de cambios
action_process_token event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
action_process_fds event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
action_process_termination_date event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
action_process_termination_code event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
action_network_stats_is_last event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
action_user_is_local_session event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
action_user_status event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
event_version event.idm.read_only_udm.metadata.product_version Asignado desde el registro de cambios
action_file_previous_file_path event.idm.read_only_udm.principal.file.full_path Asignado desde el registro de cambios
agent_interface_map.ipv4 event.idm.read_only_udm.observer.ip Asignado desde el registro de cambios
agent_interface_map.mac event.idm.read_only_udm.observer.mac Asignado desde el registro de cambios
action_file_last_writer_actor event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
action_file_device_type event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
action_file_previous_file_name event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
action_file_name event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
agent_id event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
agent_version event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
agent_os_type event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
os_actor_thread_thread_id event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
action_file_type event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
action_file_prev_type event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
os_actor_process_signature_status event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
os_actor_process_logon_id event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
agent_content_version event.idm.read_only_udm.additional.fields Asignado desde el registro de cambios
action_module_image_size event.idm.read_only_udm.target.file.size Asignado desde el registro de cambios
action_file_md5 event.idm.read_only_udm.target.file.md5 Asignado desde el registro de cambios
action_file_sha256 event.idm.read_only_udm.target.file.sha256 Asignado desde el registro de cambios
action_module_md5 target.process.file.md5 Asignado desde el registro de cambios
action_module_sha256 target.process.file.sha256 Asignado desde el registro de cambios
metadata.event_type GENERIC_EVENT. Asignado desde el registro de cambios

Registro de cambios

Consulta el registro de cambios de este analizador

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.