Recopila registros de Cloudflare

Compatible con:

Descripción general

Este analizador controla varios tipos de registros de Cloudflare (DNS, HTTP, auditoría, confianza cero y CASB). Primero, normaliza los campos comunes y, luego, aplica lógica condicional basada en campos específicos, como QueryName, Action y ID, para extraer y asignar datos relevantes a la UDM. También realiza conversiones de tipos de datos, concordancias de grok para direcciones IP y hashes, y controla cargas útiles JSON anidadas.

Antes de comenzar

  • Asegúrate de tener una instancia de Google SecOps.
  • Asegúrate de tener acceso con privilegios a IAM de Google Cloud.
  • Asegúrate de tener acceso con privilegios a Google Cloud Storage.
  • Asegúrate de tener acceso con privilegios a Cloudflare.

Crea un bucket de Google Cloud Storage.

  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:

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

      1. Ingresa un nombre único que cumpla con los requisitos de nombre de bucket (por ejemplo, cloudflare-data).
      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.
      1. Para agregar una etiqueta de bucket, haz clic en la flecha de expansión para expandir la sección Etiquetas.
      2. Haz clic en Agregar etiqueta y especifica una clave y un valor para tu etiqueta.
    2. En la sección Eligir dónde almacenar tus datos, haz lo siguiente:

      1. Selecciona un tipo de ubicación
      2. Usa el menú desplegable 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.
        1. Si seleccionas el tipo de ubicación birregional, también puedes habilitar la replicación turbo con la casilla de verificación correspondiente.
      3. Para configurar la replicación entre bucket, expande la sección Configurar la bucket entre buckets.
    3. 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.

    4. 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 de tu bucket.

    5. 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 etiquetada como Encriptación de datos y selecciona un método de encriptación de datos.
  5. Haz clic en Crear.

Crea una cuenta de servicio de Google Cloud

  1. Ve a IAM y administración > Cuentas de servicio.
  2. Cree una cuenta de servicio nueva
  3. Asóciale un nombre descriptivo (por ejemplo, cloudflare-logs).
  4. Otorga a la cuenta de servicio el rol de Creador de objetos de almacenamiento en el bucket de GCS que creaste en el paso anterior.
  5. Crea una clave SSH para la cuenta de servicio.
  6. Descarga un archivo de claves JSON para la cuenta de servicio. Mantén este archivo en un lugar seguro.

Habilita la IAM de Cloudflare para Google Cloud Storage

  1. Ve a Almacenamiento > Navegador > Bucket > Permisos.
  2. Agrega al miembro logpush@cloudflare-data.iam.gserviceaccount.com con el permiso Administrador de objetos de almacenamiento.

Configura un feed en Google SecOps para transferir registros de Cloudflare

  1. Ve a Configuración de SIEM > Feeds.
  2. Haz clic en Agregar nueva.
  3. En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros de Cloudflare).
  4. Selecciona Google Cloud Storage como el Tipo de fuente.
  5. Selecciona Cloudflare como el Tipo de registro.
  6. Haz clic en Obtener cuenta de servicio como la cuenta de servicio de Chronicle.
  7. Haz clic en Siguiente.
  8. Especifica valores para los siguientes parámetros de entrada:

    • URI del bucket de almacenamiento: Es la URL del bucket de almacenamiento de Google Cloud en formato gs://my-bucket/<value>.
    • El URI es un: selecciona Directorio que incluye subdirectorios.
    • Opciones de eliminación de fuentes: Selecciona la opción de eliminación según tus preferencias.
    • Espacio de nombres de recursos: Es el espacio de nombres de recursos.
    • Etiquetas de transferencia: Es la etiqueta que se aplica a los eventos de este feed.
  9. Haz clic en Siguiente.

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

Configura Cloudflare para enviar registros a Google Cloud Storage

  1. Accede al panel de Cloudflare.
  2. Selecciona la cuenta o el dominio de Enterprise (también conocida como zona) que deseas usar con Logpush.
  3. Ve a Análisis y registros > Logpush.
  4. Selecciona la tarea Create a Logpush.
  5. En Seleccionar un destino, selecciona Google Cloud Storage.
  6. Ingresa o selecciona los siguientes detalles del destino:

    • Bucket: Es el nombre del bucket de GCS.
    • Ruta: Es la ubicación del bucket dentro del contenedor de almacenamiento.
    • Casilla de verificación: Organiza los registros en subcarpetas diarias (recomendado)
  7. Haz clic en Continuar.

  8. Verificación de la propiedad:

    1. Cloudflare enviará un archivo a tu bucket.
    2. Copia y pega el token:
      1. Accede a consola de Google Cloud > Almacenamiento > Bucket de Cloudflare.
      2. Abre el archivo de desafío de propiedad.
      3. Copia el token de propiedad.
      4. Ingresa el token de propiedad en la consola de Cloudflare.
      5. Selecciona Continuar.
    3. Selecciona el conjunto de datos que deseas enviar al bucket.
  9. Configura el trabajo de logpush:

    1. Ingresa el nombre del trabajo.
    2. En Si los registros coinciden, puedes seleccionar los eventos que deseas incluir o quitar de tus registros.
    1. Enviar los siguientes campos: Selecciona esta opción para enviar todos los registros o elige de forma selectiva qué registros deseas enviar.
  10. Selecciona Enviar para finalizar la configuración.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
AccountID target.resource.id, target.resource.product_object_id Es el ID de la cuenta asociada con el evento.
Action security_result.action Acción que se realiza en función del evento. allow o allowed* genera ALLOW. unknown genera UNKNOWN_ACTION. Otros valores generan BLOCK. En el caso de los registros de acceso, login se asigna a USER_LOGIN, logout a USER_LOGOUT y otros valores a USER_RESOURCE_ACCESS si hay un correo electrónico.
ActionResult security_result.action Si es true, se asigna a ALLOW. Si es false, se asigna a BLOCK. De lo contrario, se asigna a UNKNOWN_ACTION.
ActionType security_result.description Es la descripción de la acción realizada.
ActorEmail principal.user.email_addresses Es la dirección de correo electrónico del actor que inicia el evento.
ActorID principal.user.product_object_id Es el ID del actor que inicia el evento.
ActorIP principal.ip, principal.asset.ip Es la dirección IP del actor que inicia el evento.
Allowed security_result.action Si es true, se asigna a ALLOW. De lo contrario, se asigna a BLOCK.
AppDomain target.administrative_domain Es el dominio de la aplicación involucrada en el evento.
AppUUID target.resource.product_object_id Es el UUID de la aplicación involucrada en el evento.
AssetDisplayName principal.asset.attribute.labels.value, donde la clave es AssetDisplayName Es el nombre visible del activo.
AssetExternalID principal.asset_id (con el prefijo "Cloudflare:") Es el ID externo del activo.
AssetLink principal.url Es el vínculo asociado con el activo.
AssetMetadata.agreedToTerms principal.user.attribute.labels.value, donde la clave es agreedToTerms Indica si el usuario aceptó las condiciones.
AssetMetadata.changePasswordAtNextLogin principal.user.attribute.labels.value, donde la clave es changePasswordAtNextLogin Indica si el usuario debe cambiar la contraseña en el siguiente inicio de sesión.
AssetMetadata.clientId principal.user.userid Es el ID de cliente de los metadatos del activo.
AssetMetadata.customerId principal.user.userid Es el ID de cliente de los metadatos del activo.
AssetMetadata.familyName principal.user.last_name Es el apellido del usuario según los metadatos del activo.
AssetMetadata.givenName principal.user.first_name Es el nombre de pila del usuario según los metadatos del activo.
AssetMetadata.includeInGlobalAddressList principal.user.attribute.labels.value, donde la clave es includeInGlobalAddressList Indica si el usuario está incluido en la lista de direcciones global.
AssetMetadata.ipWhitelisted principal.user.attribute.labels.value, donde la clave es ipWhitelisted Indica si la IP del usuario está incluida en la lista blanca.
AssetMetadata.isAdmin principal.user.attribute.labels.value, donde la clave es isAdmin Indica si el usuario es un administrador.
AssetMetadata.isDelegatedAdmin principal.user.attribute.labels.value, donde la clave es isDelegatedAdmin Indica si el usuario es un administrador delegado.
AssetMetadata.isEnforcedIn2Sv principal.user.attribute.labels.value, donde la clave es isEnforcedIn2Sv Indica si la 2SV se aplica para el usuario.
AssetMetadata.isEnrolledIn2Sv principal.user.attribute.labels.value, donde la clave es isEnrolledIn2Sv Si el usuario está inscrito en la 2SV
AssetMetadata.kind (Sin asignación) No está asignado al objeto IDM.
AssetMetadata.lastLoginTime principal.user.attribute.labels.value, donde la clave es lastLoginTime Es la hora del último acceso del usuario.
AssetMetadata.login principal.user.userid Es el nombre de acceso de los metadatos del activo.
AssetMetadata.name.familyName principal.user.last_name Es el nombre de la familia según los metadatos del activo.
AssetMetadata.name.fullName principal.user.user_display_name Es el nombre completo según los metadatos del activo.
AssetMetadata.name.givenName principal.user.first_name Es el nombre según los metadatos del activo.
AssetMetadata.nativeApp security_result.detection_fields.value, donde la clave es nativeApp Indica si la app es nativa.
AssetMetadata.owner.id principal.user.userid Es el ID del propietario de los metadatos del activo.
AssetMetadata.primaryEmail principal.user.email_addresses Es el correo electrónico principal de los metadatos del activo.
AssetMetadata.scopes (Sin asignación) No está asignado al objeto IDM.
AssetMetadata.site_admin principal.user.attribute.labels.value, donde la clave es site_admin Indica si el usuario es administrador del sitio.
AssetMetadata.suspended principal.user.attribute.labels.value, donde la clave es suspended Indica si el usuario está suspendido.
AssetMetadata.url principal.url Es la URL de los metadatos del activo.
AssetMetadata.userKey principal.user.attribute.labels.value, donde la clave es userKey Clave del usuario de los metadatos del activo.
BlockedFileHash target.file.md5, target.file.sha1, target.file.sha256 Los valores hash del archivo bloqueado Se analiza con grok para extraer md5, sha1 o sha256.
BlockedFileName security_result.about.file.full_path Es el nombre del archivo bloqueado.
BlockedFileReason security_result.summary Es el motivo por el que se bloqueó el archivo.
BlockedFileSize target.file.size Es el tamaño del archivo bloqueado.
BotScore security_result.detection_fields.value, donde la clave es BotScore Es la puntuación de bot asignada a la solicitud.
BytesReceived network.received_bytes Cantidad de bytes recibidos.
BytesSent network.sent_bytes Cantidad de bytes enviados.
CacheCacheStatus additional.fields.value.string_value, donde la clave es CacheCacheStatus Estado de la caché.
CacheResponseBytes additional.fields.value.string_value, donde la clave es CacheResponseBytes Cantidad de bytes en la respuesta almacenada en caché.
CacheResponseStatus additional.fields.value.string_value, donde la clave es CacheResponseStatus Código de estado de la respuesta almacenada en caché.
ClientASN (Sin asignación) No está asignado al objeto IDM.
ClientCountry principal.location.country_or_region Es el país del cliente.
ClientDeviceType additional.fields.value.string_value, donde la clave es ClientDeviceType Es el tipo de dispositivo del cliente.
ClientIP principal.ip, principal.asset.ip Dirección IP del cliente.
ClientRequestMethod network.http.method Es el método de solicitud HTTP que usa el cliente.
ClientRequestHost target.hostname, target.asset.hostname Es el nombre de host que solicitó el cliente.
ClientRequestPath (Sin asignación) No está asignado al objeto IDM.
ClientRequestProtocol network.application_protocol Protocolo que se usa en la solicitud del cliente (p.ej., HTTP, HTTPS). Se quita la versión del protocolo.
ClientRequestReferer network.http.referral_url Es la URL de referencia de la solicitud del cliente.
ClientRequestURI target.url (se combina con ClientRequestHost si está presente) Es el URI que solicitó el cliente.
ClientRequestUserAgent network.http.user_agent Es el usuario-agente de la solicitud del cliente. También se analiza y se asigna a network.http.parsed_user_agent.
ClientSSLCipher network.tls.cipher Algoritmo de cifrado SSL que usa el cliente.
ClientSSLProtocol network.tls.version Es el protocolo SSL que usa el cliente.
ClientSrcPort principal.port Es el puerto de origen del cliente.
ClientTCPHandshakeDurationMs additional.fields.value.string_value, donde la clave es ClientTCPHandshakeDurationMs Es la duración del protocolo de enlace TCP del cliente.
ClientTLSHandshakeDurationMs additional.fields.value.string_value, donde la clave es ClientTLSHandshakeDurationMs Es la duración del protocolo de enlace TLS del cliente.
ClientTLSVersion network.tls.version Es la versión de TLS que usa el cliente.
ColoID (Sin asignación) No está asignado al objeto IDM.
Connection target.resource.attribute.labels.value, donde la clave es Connection Tipo de conexión (p.ej., saml).
ConnectionCloseReason additional.fields.value.string_value, donde la clave es ConnectionCloseReason Es el motivo por el que se cerró la conexión.
ConnectionReuse additional.fields.value.string_value, donde la clave es ConnectionReuse Indica si se produjo la reutilización de la conexión.
Country target.location.country_or_region Es el país asociado con el evento.
CreatedAt metadata.event_timestamp Marca de tiempo de la creación del evento.
Datetime metadata.event_timestamp Fecha y hora del evento.
DestinationIP target.ip, target.asset.ip Dirección IP de destino.
DestinationPort target.port Es el puerto de destino.
DestinationTunnelID additional.fields.value.string_value, donde la clave es DestinationTunnelID ID del túnel de destino.
DeviceID principal.asset_id (con el prefijo "Cloudflare:") Es el ID del dispositivo.
DeviceName principal.hostname, principal.asset.hostname, principal.asset.attribute.labels.value, donde la clave es DeviceName Es el nombre del dispositivo.
DownloadedFileNames security_result.about.labels.value, donde la clave es DownloadFileNames Los nombres de los archivos descargados
DstIP target.ip, target.asset.ip Dirección IP de destino.
DstPort target.port Es el puerto de destino.
EdgeColoCode additional.fields.value.string_value, donde la clave es EdgeColoCode Código de ubicación de borde de Cloudflare.
EdgeColoID additional.fields.value.string_value, donde la clave es EdgeColoID ID de la ubicación de borde de Cloudflare.
EdgeEndTimestamp (Sin asignación) No está asignado al objeto IDM.
EdgeResponseBytes network.received_bytes Cantidad de bytes en la respuesta del borde.
EdgeResponseContentType target.file.mime_type Es el tipo de contenido de la respuesta de borde.
EdgeResponseStatus network.http.response_code Código de estado de la respuesta del borde.
EdgeServerIP target.ip, target.asset.ip Dirección IP del servidor perimetral.
EdgeStartTimestamp metadata.event_timestamp Marca de tiempo del inicio de la solicitud en el perímetro.
Email principal.user.email_addresses, target.user.email_addresses Es la dirección de correo electrónico asociada con el evento.
EgressColoName additional.fields.value.string_value, donde la clave es EgressColoName Es el nombre del centro de salida.
EgressIP principal.ip, principal.asset.ip Dirección IP de salida Establece network.direction en OUTBOUND.
EgressPort principal.port Puerto de salida
EgressRuleID additional.fields.value.string_value, donde la clave es EgressRuleID Es el ID de la regla de salida.
EgressRuleName additional.fields.value.string_value, donde la clave es EgressRuleName Es el nombre de la regla de salida.
FindingTypeDisplayName security_result.description Es el nombre visible del tipo de hallazgo.
FindingTypeID security_result.rule_id Es el ID del tipo de hallazgo.
FindingTypeSeverity security_result.severity Gravedad del tipo de hallazgo.
FirewallMatchesActions security_result.action Acciones que realizan las reglas de firewall. allow, Allow, ALLOW, skip, SKIP, Skip se asignan a ALLOW. challengeSolved y jschallengeSolved se asignan a ALLOW_WITH_MODIFICATION. drop y block se asignan a BLOCK. Otros valores se asignan a UNKNOWN_ACTION.
FirewallMatchesRuleIDs security_result.rule_id (para el primer ID), los IDs posteriores crean objetos security_result nuevos. Los IDs de las reglas de firewall que coincidieron
FirewallMatchesSources security_result.rule_name Fuentes de las reglas de firewall que coincidieron.
HTTPHost target.hostname Host HTTP.
HTTPMethod network.http.method Método HTTP.
HTTPVersion network.application_protocol Si el valor contiene "HTTP", establece network.application_protocol en HTTP.
ID metadata.product_log_id Es el ID del evento.
IngressColoName additional.fields.value.string_value, donde la clave es IngressColoName Es el nombre del colo de entrada.
InstanceID principal.resource.product_object_id Es el ID de la instancia.
IntegrationDisplayName additional.fields.value.string_value, donde la clave es IntegrationDisplayName Es el nombre visible de la integración.
IntegrationID metadata.product_deployment_id Es el ID de la integración.
IntegrationPolicyVendor additional.fields.value.string_value, donde la clave es IntegrationPolicyVendor Es el proveedor de la política de integración.
IPAddress target.ip, target.asset.ip Es la dirección IP asociada con el evento.
IsIsolated about.labels.value donde la clave es IsIsolated, security_result.about.resource.attribute.labels.value donde la clave es IsIsolated Si el evento es aislado.
Location principal.location.name Es la ubicación asociada con el evento.
NewValue security_result.about.labels.value, donde la clave es NewValue Es el valor nuevo después de una actualización.
Offramp additional.fields.value.string_value, donde la clave es Offramp Salida utilizada en la conexión.
OldValue security_result.about.labels.value, donde la clave es OldValue Es el valor anterior antes de una actualización.
OriginIP intermediary.ip, target.ip, target.asset.ip Dirección IP de origen.
OriginPort target.port Es el puerto de origen.
OriginResponseBytes additional.fields.value.string_value, donde la clave es OriginResponseBytes Cantidad de bytes en la respuesta de origen.
OriginResponseStatus additional.fields.value.string_value, donde la clave es OriginResponseStatus Código de estado de la respuesta del origen.
OriginResponseTime additional.fields.value.string_value, donde la clave es OriginResponseTime Es el tiempo de respuesta del origen.
OriginSSLProtocol (Sin asignación) No está asignado al objeto IDM.
OriginTLSCertificateIssuer additional.fields.value.string_value, donde la clave es OriginTLSCertificateIssuer Emisor del certificado TLS de origen.
OriginTLSCertificateValidationResult additional.fields.value.string_value, donde la clave es OriginTLSCertificateValidationResult Es el resultado de la validación del certificado TLS de origen.
OriginTLSCipher additional.fields.value.string_value, donde la clave es OriginTLSCipher Algoritmo de cifrado que se usa en la conexión TLS de origen.
OriginTLSHandshakeDurationMs additional.fields.value.string_value, donde la clave es OriginTLSHandshakeDurationMs Es la duración del protocolo de enlace TLS de origen.
OriginTLSVersion additional.fields.value.string_value, donde la clave es OriginTLSVersion Es la versión de TLS que usa el origen.
OwnerID target.user.product_object_id Es el ID del propietario.
Policy security_result.rule_name Es la política asociada con el evento.
PolicyID security_result.rule_id Es el ID de la política.
PolicyName security_result.rule_name Nombre de la política.
Protocol network.application_protocol, network.ip_protocol Es el protocolo que se usa en la conexión. Si no es "tls" o "TLS", se convierte a mayúsculas y se asigna a network.application_protocol. De lo contrario, se analiza con un archivo de inclusión y se asigna a network.ip_protocol.
PurposeJustificationPrompt (Sin asignación) No está asignado al objeto IDM.
PurposeJustificationResponse (Sin asignación) No está asignado al objeto IDM.
QueryCategoryIDs security_result.about.labels.value, security_result.about.resource.attribute.labels.value, donde la clave es QueryCategoryIDs IDs de categorías de búsqueda.
QueryName network.dns.questions.name Es el nombre de la consulta de DNS. Establece metadata.event_type en NETWORK_DNS y network.application_protocol en DNS.
QueryNameReversed network.dns.questions.name Es el nombre invertido de la consulta de DNS.
QuerySize network.sent_bytes Es el tamaño de la consulta.
QueryType network.dns.questions.type Es el tipo de consulta de DNS. Se asignan a valores numéricos según los códigos de tipo de consulta de DNS.
RData network.dns.answers.type, network.dns.answers.data Datos del registro DNS Cada elemento del array RData crea un objeto answer nuevo.
RayID metadata.product_log_id Es el ID de Ray asociado con la solicitud.
Referer network.http.referral_url URL de referencia.
RequestID metadata.product_log_id Es el ID de la solicitud.
ResolverDecision security_result.summary Decisión que toma el solucionador.
ResourceID target.resource.id, target.resource.product_object_id Es el ID del recurso.
ResourceType target.resource.resource_subtype Es el tipo de recurso.
RuleEvaluationDurationMs additional.fields.value.string_value, donde la clave es RuleEvaluationDurationMs Es la duración de la evaluación de la regla.
SNI network.tls.client.server_name Indicación de nombre de servidor (SNI) en el mensaje de saludo del cliente TLS
SecurityAction security_result.action Se tomó una medida de seguridad. Un valor vacío o sin SecurityAction se asigna a ALLOW. challengeSolved o jschallengeSolved se asigna a ALLOW_WITH_MODIFICATION. drop o block se asigna a BLOCK.
SecurityLevel security_result.severity Nivel de seguridad high se asigna a HIGH, med a MEDIUM y low a LOW.
SessionEndTime additional.fields.value.string_value, donde la clave es SessionEndTime Hora de finalización de la sesión.
SessionID network.session_id ID de la sesión.
SessionStartTime metadata.event_timestamp Es la hora de inicio de la sesión.
SourceIP principal.ip, principal.asset.ip, src.ip, src.asset.ip Dirección IP de origen.
SourcePort principal.port, src.port Es el puerto de origen.
SrcIP principal.ip, principal.asset.ip Dirección IP de origen.
SrcPort principal.port Es el puerto de origen.
TemporaryAccessDuration network.session_duration.seconds Es la duración del acceso temporal.
Timestamp metadata.event_timestamp Marca de tiempo del evento.
Transport network.ip_protocol Protocolo de transporte. Se convierte a mayúsculas y se analiza con un archivo de inclusión.
UploadedFileNames security_result.about.labels.value, donde la clave es UploadedFileNames Nombres de los archivos subidos
URL target.url Es la URL involucrada en el evento.
UserAgent network.http.user_agent Cadena de usuario-agente. También se analiza y se asigna a network.http.parsed_user_agent.
UserID principal.user.product_object_id, event.idm.read_only_udm.target.user.product_object_id Es el ID del usuario.
UserUID target.user.product_object_id UID del usuario.
VirtualNetworkID principal.resource.product_object_id Es el ID de la red virtual.
WAFAction security_result.about.labels.value, donde la clave es WAFAction Acción que realiza el firewall de aplicaciones web (WAF).
WAFAttackScore security_result.about.resource.attribute.labels.value, donde la clave es WAFAttackScore Es la puntuación de ataque que asigna la WAF.
WAFFlags security_result.about.resource.attribute.labels.value, donde la clave es WAFFlags Marcas de WAF
WAFMatchedVar (Sin asignación) No está asignado al objeto IDM.
WAFProfile security_result.about.labels.value, donde la clave es WAFProfile Perfil de WAF
WAFRCEAttackScore security_result.about.resource.attribute.labels.value, donde la clave es WAFRCEAttackScore Puntuación del ataque de ejecución de código remoto (RCE) del WAF
WAFRuleID security_result.threat_id, security_result.about.labels.value, donde la clave es WAFRuleID Es el ID de la regla de WAF.
WAFRuleMessage security_result.rule_name, security_result.threat_name Es el mensaje asociado con la regla de WAF.
WAFSQLiAttackScore security_result.about.resource.attribute.labels.value, donde la clave es WAFSQLiAttackScore Puntuación del ataque de inyección de SQL de la WAF
WAFXSSAttackScore security_result.about.resource.attribute.labels.value, donde la clave es WAFXSSAttackScore Puntuación del ataque de secuencias de comandos entre sitios (XSS) de la WAF
ZoneID additional.fields.value.string_value, donde la clave es ZoneID ID de la zona.
event.idm.read_only_udm.metadata.event_type metadata.event_type Es el tipo de evento. El analizador lo establece en función de los datos de registro. Si no se establece o si un evento NETWORK_DNS no tiene un principal o un objetivo, el valor predeterminado es GENERIC_EVENT. Puede ser NETWORK_DNS, NETWORK_CONNECTION, USER_LOGIN, USER_LOGOUT, USER_RESOURCE_ACCESS, USER_RESOURCE_UPDATE_CONTENT o GENERIC_EVENT.
event.idm.read_only_udm.metadata.log_type metadata.log_type Tipo de registro, establecido en "CLOUDFLARE".
event.idm.read_only_udm.metadata.product_deployment_id metadata.product_deployment_id Es el ID de implementación del producto.
event.idm.read_only_udm.metadata.product_log_id metadata.product_log_id Es el ID del registro del producto.
event.idm.read_only_udm.metadata.product_name metadata.product_name Nombre del producto. El analizador lo establece en función de los datos de registro. Puede ser “DNS de la puerta de enlace de Cloudflare”, “HTTP de la puerta de enlace de Cloudflare”, “Auditoría de Cloudflare” o “Firewall de aplicaciones web”.
event.idm.read_only_udm.metadata.vendor_name metadata.vendor_name Nombre del proveedor: Establece el valor en "Cloudflare".
event.idm.read_only_udm.metadata.event_timestamp metadata.event_timestamp Marca de tiempo del evento.
event.idm.read_only_udm.network.application_protocol network.application_protocol Es el protocolo de aplicación que se usa en la conexión de red.
event.idm.read_only_udm.network.direction network.direction Dirección de la conexión de red. Se establece en OUTBOUND cuando EgressIP y SourceIP están presentes.
event.idm.read_only_udm.network.dns.answers network.dns.answers Respuestas de DNS
event.idm.read_only_udm.network.dns.questions network.dns.questions Preguntas sobre DNS.
event.idm.read_only_udm.network.http.method network.http.method Método HTTP.
event.idm.read_only_udm.network.http.parsed_user_agent network.http.parsed_user_agent Usuario-agente analizado.
event.idm.read_only_udm.network.http.referral_url network.http.referral_url URL de referencia HTTP.
event.idm.read_only_udm.network.http.response_code network.http.response_code Código de respuesta HTTP.
event.idm.read_only_udm.network.http.user_agent network.http.user_agent Usuario-agente HTTP.
event.idm.read_only_udm.network.ip_protocol network.ip_protocol Protocolo IP.
event.idm.read_only_udm.network.received_bytes network.received_bytes Cantidad de bytes recibidos.
event.idm.read_only_udm.network.sent_bytes network.sent_bytes Cantidad de bytes enviados.
event.idm.read_only_udm.network.session_duration.seconds network.session_duration.seconds Es la duración de la sesión de red en segundos.
event.idm.read_only_udm.network.session_id network.session_id ID de la sesión de red.
event.idm.read_only_udm.network.tls.cipher network.tls.cipher Conjunto de algoritmos de cifrado TLS
event.idm.read_only_udm.network.tls.client.server_name network.tls.client.server_name Es el nombre del servidor cliente de TLS.
event.idm.read_only_udm.network.tls.version network.tls.version Versión de TLS
event.idm.read_only_udm.principal.asset.attribute.labels principal.asset.attribute.labels Son las etiquetas asociadas con el activo principal.
event.idm.read_only_udm.principal.asset.hostname principal.asset.hostname Es el nombre de host del activo principal.
event.idm.read_only_udm.principal.asset.ip principal.asset.ip Dirección IP del activo principal.
event.idm.read_only_udm.principal.asset_id principal.asset_id Es el ID del activo principal.
event.idm.read_only_udm.principal.hostname principal.hostname Es el nombre de host del principal.
event.idm.read_only_udm.principal.ip principal.ip Dirección IP del principal.
event.idm.read_only_udm.principal.location.country_or_region principal.location.country_or_region Es el país o la región de la ubicación del representante legal.
event.idm.read_only_udm.principal.location.name principal.location.name Es el nombre de la ubicación del principal.
event.idm.read_only_udm.principal.port principal.port Es el puerto que usa el principal.
event.idm.read_only_udm.principal.resource.product_object_id principal.resource.product_object_id Es el ID del objeto del producto del recurso del principal.
event.idm.read_only_udm.principal.url principal.url Es la URL asociada con el principal.
event.idm.read_only_udm.principal.user.attribute.labels principal.user.attribute.labels Etiquetas asociadas con el usuario principal.
event.idm.read_only_udm.principal.user.email_addresses principal.user.email_addresses Direcciones de correo electrónico del usuario principal.
event.idm.read_only_udm.principal.user.first_name principal.user.first_name Es el nombre del usuario principal.
event.idm.read_only_udm.principal.user.last_name principal.user.last_name Es el apellido del usuario principal.
event.idm.read_only_udm.principal.user.product_object_id principal.user.product_object_id Es el ID del objeto de producto del usuario principal.
event.idm.read_only_udm.principal.user.userid principal.user.userid Es el ID de usuario del usuario principal.
event.idm.read_only_udm.principal.user.user_display_name principal.user.user_display_name Es el nombre visible del usuario principal.
event.idm.read_only_udm.src.asset.ip src.asset.ip Es la dirección IP del activo de origen.
event.idm.read_only_udm.src.ip src.ip Es la dirección IP de la fuente.
event.idm.read_only_udm.src.port src.port Es el puerto de la fuente.
event.idm.read_only_udm.target.administrative_domain target.administrative_domain Es el dominio administrativo del objetivo.
event.idm.read_only_udm.target.asset.hostname target.asset.hostname Es el nombre de host del activo de destino.
event.idm.read_only_udm.target.asset.ip target.asset.ip Dirección IP del recurso de destino.
event.idm.read_only_udm.target.file.mime_type target.file.mime_type Es el tipo de MIME del archivo de destino.
event.idm.read_only_udm.target.file.md5 target.file.md5 Es el hash MD5 del archivo de destino.
event.idm.read_only_udm.target.file.sha1 target.file.sha1 Es el hash SHA1 del archivo de destino.
event.idm.read_only_udm.target.file.sha256 target.file.sha256 Es el hash SHA256 del archivo de destino.
event.idm.read_only_udm.target.file.size target.file.size Es el tamaño del archivo de destino.
event.idm.read_only_udm.target.hostname target.hostname Es el nombre de host del destino.
event.idm.read_only_udm.target.ip target.ip Es la dirección IP del objetivo.
event.idm.read_only_udm.target.location.country_or_region target.location.country_or_region Es el país o la región de la ubicación del objetivo.
event.idm.read_only_udm.target.port target.port Es el puerto del destino.
event.idm.read_only_udm.target.resource.attribute.labels target.resource.attribute.labels Son etiquetas asociadas con el recurso de destino.
event.idm.read_only_udm.target.resource.id target.resource.id Es el ID del recurso de destino.
event.idm.read_only_udm.target.resource.product_object_id target.resource.product_object_id Es el ID del objeto del producto del recurso de destino.
event.idm.read_only_udm.target.resource.resource_subtype target.resource.resource_subtype Es el subtipo de recurso del recurso de destino.
event.idm.read_only_udm.target.url target.url Es la URL del destino.
event.idm.read_only_udm.target.user.email_addresses target.user.email_addresses Direcciones de correo electrónico del usuario objetivo.
event.idm.read_only_udm.target.user.product_object_id target.user.product_object_id Es el ID del objeto del producto del usuario de destino.
event.idm.read_only_udm.security_result.about.file.full_path security_result.about.file.full_path Es la ruta de acceso completa del archivo involucrado en el resultado de seguridad.
event.idm.read_only_udm.security_result.about.labels security_result.about.labels Son etiquetas asociadas con el resultado de seguridad.
event.idm.read_only_udm.security_result.about.resource.attribute.labels security_result.about.resource.attribute.labels Son las etiquetas asociadas con el recurso en el resultado de seguridad.
event.idm.read_only_udm.security_result.action security_result.action Acción que se realizó en el resultado de seguridad
event.idm.read_only_udm.security_result.detection_fields security_result.detection_fields Campos de detección en el resultado de seguridad
event.idm.read_only_udm.security_result.description security_result.description Descripción del resultado de seguridad
event.idm.read_only_udm.security_result.rule_id security_result.rule_id Es el ID de la regla del resultado de seguridad.
event.idm.read_only_udm.security_result.rule_name security_result.rule_name Es el nombre de la regla del resultado de seguridad.
event.idm.read_only_udm.security_result.severity security_result.severity Gravedad del resultado de seguridad.
event.idm.read_only_udm.security_result.summary security_result.summary Resumen del resultado de seguridad
event.idm.read_only_udm.security_result.threat_id security_result.threat_id Es el ID de amenaza del resultado de seguridad.
event.idm.read_only_udm.security_result.threat_name security_result.threat_name Es el nombre de la amenaza del resultado de seguridad.
event.idm.read_only_udm.extensions.auth.type extensions.auth.type Tipo de autenticación Se establece en MACHINE para los eventos de acceso y salida.
event.idm.read_only_udm.about about Acerca de la información.
event.idm.read_only_udm.additional.fields additional.fields Campos adicionales
event.idm.read_only_udm.intermediary intermediary Información del intermediario

Cambios

2024-02-19

  • Corrección de errores:
  • Cuando no hay datos de máquinas principales ni de destino, se asigna "metadata.event_type" a "GENERIC_EVENT".
  • Cuando falta el campo "Fecha y hora" y está presente el campo "Timestamp", se asigna "Timestamp" a "metadata.event_timestamp".
  • Se asignó "ClientIP" a "principal.ip".
  • Se asignó "RayID" a "metadata.product_log_id".
  • Se asignó "EdgeResponseStatus" a "network.http.response_code".
  • Se asignó "ClientRequestMethod" a "network.http.method".
  • Se asignó "ClientRequestURI" a "target.uri".
  • Se asignó "ClientRequestHost" a "target.hostname".

2024-01-31

  • Se asignó "BotScore" a "security_result.detection_fields".
  • Se alinearon las asignaciones de "principal.hostname", "target.hostname", "principal.asset.hostname" y "target.asset.hostname".
  • Se alinearon las asignaciones de "principal.ip", "target.ip", "principal.asset.ip" y "target.asset.ip".

2024-01-08

  • Cuando "Action" contenga "allow", establece "security_result.action" en "ALLOW".
  • Se agregó la asignación de "DeviceName" a "principal.hostname" y "principal.asset.hostname".
  • Se agregó la asignación de "SourceIP" a "principal.ip" para los registros DNS.
  • Se agregó una verificación condicional nula antes de asignar "principal" a "event.idm.read_only_udm.principal".
  • Se agregó una verificación condicional nula antes de asignar "target" a "event.idm.read_only_udm.target".

2023-11-22

  • Se asignó "WAFRuleID" a "security_result.threat_id".
  • Se asignó "WAFRuleMessage" a "security_result.threat_name".
  • Se asignaron "WAFRCEAttackScore", "WAFSQLiAttackScore", "WAFXSSAttackScore", "WAFAttackScore" y "WAFFlags" a "security_result.about.resource.attribute.labels".

2023-10-09

  • Cuando el valor de "SecurityAction" sea nulo o no esté presente, establece "security_result.action" en "ALLOW".

2023-09-26

  • Se modificaron las asignaciones de usar campos del UDM obsoletos a campos alternativos.
  • Se agregó la asignación de "security_result.about.labels" a "security_result.about.resource.attribute.labels".
  • Se agregó la asignación de "about.labels" a "security_result.about.resource.attribute.labels".
  • Se agregó la asignación de "target.resource.id" a "target.resource.product_object_id".

2023-04-25

  • Se mejoró la asignación de los siguientes campos de registro sin procesar a los campos de la AUA:
  • Se inicializaron "EdgeStartTimestamp", "ClientIP", "ClientRequestHost", "ClientRequestURI", "ClientRequestMethod", "Datetime", "ActorEmail" y "ActorIP" en nulo.
  • Se asignó "AssetExternalID" a "principal.asset_id".
  • Se asignó "AssetDisplayName" a "principal.asset.attribute.labels".
  • Se asignó "AssetLink" a "principal.url".
  • Se asignó "AssetMetadata.userKey" a "principal.user.attribute.labels".
  • Se asignó "AssetMetadata.clientId" a "principal.user.userid".
  • Se asignó "AssetMetadata.anonymous" a "security_result.detection_fields".
  • Se asignó "AssetMetadata.nativeApp" a "security_result.detection_fields".
  • Se asignó "DetectedTimestamp" a "metadata.event_timestamp".
  • Se asignó "FindingTypeDisplayName" a "security_result.description".
  • Se asignó "FindingTypeID" a "security_result.rule_id".
  • Se asignó "FindingTypeSeverity" a "security_result.severity".
  • Se asignó "InstanceID" a "principal.resource.product_object_id".
  • Se asignó "IntegrationDisplayName" a "additional.fields".
  • Se asignó "IntegrationID" a "metadata.product_deployment_id".
  • Se asignó "IntegrationPolicyVendor" a "additional.fields".
  • Se asignó "AssetMetadata.customerId" a "principal.user.userid".
  • Se asignó "AssetMetadata.primaryEmail" a "principal.user.email_addresses".
  • Se asignó "AssetMetadata.agreedToTerms" a "principal.user.attribute.labels".
  • Se asignó "AssetMetadata.ipWhitelisted" a "principal.user.attribute.labels".
  • Se asignó "AssetMetadata.lastLoginTime" a "principal.user.attribute.labels".
  • Se asignó "AssetMetadata.isEnforcedIn2Sv" a "principal.user.attribute.labels".
  • Se asignó "AssetMetadata.isEnrolledIn2Sv" a "principal.user.attribute.labels".
  • Se asignó "AssetMetadata.isDelegatedAdmin" a "principal.user.attribute.labels".
  • Se asignó "AssetMetadata.changePasswordAtNextLogin" a "principal.user.attribute.labels".
  • Se asignó "AssetMetadata.includeInGlobalAddressList" a "principal.user.attribute.labels".
  • Se asignó "AssetMetadata.isAdmin" a "principal.user.attribute.labels".
  • Se asignó "AssetMetadata.suspended" a "principal.user.attribute.labels".
  • Se asignó "AssetMetadata.url" a "principal.url".
  • Se asignó "AssetMetadata.site_admin" a "principal.user.attribute.labels".
  • Se asignó "AssetMetadata.login" a "principal.user.userid".
  • Se asignó "AssetMetadata.owner.id" a "principal.user.userid".
  • Se asignó "AssetMetadata.name.fullName" a "principal.user.user_display_name".
  • Se asignó "AssetMetadata.name.givenName" a "principal.user.first_name".
  • Se asignó "AssetMetadata.name.familyName" a "principal.user.last_name".
  • Se asignó "Permitido" a "security_result.action".
  • Se asignó "AppDomain" a "target.administrative_domain".
  • Se asignó "AppUUID" a "target.resource.product_object_id".
  • Se asignó "Connection" a "target.resource.attribute.labels".
  • Se asignó "País" a "target.location.country_or_region".
  • Se asignó "CreatedAt" a "metadata.event_timestamp".
  • Se asignó "IPAddress" a "target.ip".
  • Se asignó "RayID" a "metadata.product_log_id".
  • Se asignó "Email" a "principal.user.email_addresses" y "target.user.email_addresses".
  • Se asignó "TemporaryAccessDuration" a "network.session_duration.seconds".
  • Se asignó "UserUID" a "target.user.product_object_id".
  • Se asignó "UserAgent" a "network.http.parsed_user_agent".
  • Se asignó "ClientRequestUserAgent" a "network.http.parsed_user_agent".
  • Se asignó “PolicyName” a “security_result.rule_name”.
  • Se asignó "SessionID" a "network.session_id".
  • Se asignó "Transport" a "network.ip_protocol".
  • Se asignó "SNI" a "tls.client.server_name".
  • Se asignó "DeviceName" a "principal.asset.attribute.labels".
  • Se asignó "BytesReceived" a "network.received_bytes".
  • Se asignó "BytesSent" a "network.sent_bytes".
  • Se asignó "Protocolo" a "network.ip_protocol".
  • Se asignó "ClientTCPHandshakeDurationMs" a "additional.fields".
  • Se asignó "ClientTLSCipher" a "network.tls.cipher".
  • Se asignó "ClientTLSHandshakeDurationMs" a "additional.fields".
  • Se asignó "ClientTLSVersion" a "network.tls.version".
  • Se asignó "ConnectionCloseReason" a "additional.fields".
  • Se asignó "ConnectionReuse" a "additional.fields".
  • Se asignó "DestinationTunnelID" a "additional.fields".
  • Se asignó "EgressIP" a "principal.ip".
  • Se asignó "EgressPort" a "principal.port".
  • Se asignó "EgressRuleID" a "additional.fields".
  • Se asignó "EgressRuleName" a "additional.fields".
  • Se asignó "IngressColoName" a "additional.fields".
  • Se asignó "Offramp" a "additional.fields".
  • Se asignó "OriginIP" a "target.ip".
  • Se asignó "OriginPort" a "target.port".
  • Se asignó "OriginTLSCertificateIssuer" a "additional.fields".
  • Se asignó "OriginTLSCertificateValidationResult" a "additional.fields".
  • Se asignó "OriginTLSCipher" a "additional.fields".
  • Se asignó "OriginTLSHandshakeDurationMs" a "additional.fields".
  • Se asignó "OriginTLSVersion" a "additional.fields".
  • Se asignó "RuleEvaluationDurationMs" a "additional.fields".
  • Se asignó "SessionEndTime" a "additional.fields".
  • Se asignó "SessionStartTime" a "metadata.event_timestamp".
  • Se asignó "SourceIP" a "src.ip".
  • Se asignó "SourcePort" a "src.port".
  • Se asignó "UserID" a "principal.user.product_object_id".
  • Se asignó "VirtualNetworkID" a "principal.resource.product_object_id".

2023-04-06

  • Mejora: Se declararon los campos "WAFRuleMessage", "WAFAction", "QueryType", "RayID" y "Email" a nivel global.
  • Se asignó "metadata.event_type" como "NETWORK_UNCATEGORIZED", en el que los campos "QueryName" y "QueryNameReversed" son nulos.
  • Se agregaron verificaciones de errores para los siguientes campos: RData[n].type, RData[n].data, EdgeResponseBytes, ClientRequestBytes, EdgeResponseStatus.
  • Se agregó la conversión de cadenas para los campos "SourcePort" y "DestinationPort".

2022-10-10

  • Mejora
  • Se asignó "metadata.product_name" a "Firewall de aplicaciones web".
  • Se asignó "metadata.vendor_name" a "Cloudflare".

2022-05-23

  • Se realizaron mejoras para asignar los siguientes elementos de registros sin procesar a elementos de la AUA:
  • Se asignó "ClientASN" a "network.asn".
  • Se asignó "ClientSSLCipher" a "network.tls.cipher".
  • Se asignó "ClientSSLProtocol" a "network.tls.version".
  • Se asignó "EdgeResponseContentType" a "target.file.mime_type".
  • Se asignó "OriginIP" a "intermediary.ip".
  • Se asignó "FirewallMatchesActions" a "security_result.action".
  • Se asignó "FirewallMatchesRuleIDs" a "security_result.rule_id".
  • Se asignó "FirewallMatchesSources" a "security_result.rule_name".
  • Se asignaron "WAFRuleID" y "WAFProfile" a "security_result.about.labels".
  • Se asignaron "CacheCacheStatus", "CacheResponseBytes", "CacheResponseStatus", "ClientDeviceType", "EdgeColoCode", "EdgeColoID", "OriginResponseBytes", "OriginResponseStatus", "OriginResponseTime" y "ZoneID" a "additional.fields".