Recopila registros de Cloudflare
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.
- Accede a la consola de Google Cloud
Ve a la página Buckets de Cloud Storage.
Haz clic en Crear.
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:
En la sección Primeros pasos, haz lo siguiente:
- Ingresa un nombre único que cumpla con los requisitos de nombre de bucket (por ejemplo, cloudflare-data).
- 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.
- Para agregar una etiqueta de bucket, haz clic en la flecha de expansión para expandir la sección Etiquetas.
- Haz clic en Agregar etiqueta y especifica una clave y un valor para tu etiqueta.
En la sección Eligir dónde almacenar tus datos, haz lo siguiente:
- Selecciona un tipo de ubicación
- 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.
- Si seleccionas el tipo de ubicación birregional, también puedes habilitar la replicación turbo con la casilla de verificación correspondiente.
- Para configurar la replicación entre bucket, expande la sección Configurar la bucket entre buckets.
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.
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.
En la sección Elige cómo proteger los datos de objetos, haz lo siguiente:
- Selecciona cualquiera de las opciones de Protección de datos que desees configurar para tu bucket.
- 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.
Haz clic en Crear.
Crea una cuenta de servicio de Google Cloud
- Ve a IAM y administración > Cuentas de servicio.
- Cree una cuenta de servicio nueva
- Asóciale un nombre descriptivo (por ejemplo, cloudflare-logs).
- 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.
- Crea una clave SSH para la cuenta de servicio.
- 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
- Ve a Almacenamiento > Navegador > Bucket > Permisos.
- 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
- 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 Cloudflare).
- Selecciona Google Cloud Storage como el Tipo de fuente.
- Selecciona Cloudflare como el Tipo de registro.
- Haz clic en Obtener cuenta de servicio como la cuenta de servicio de Chronicle.
- Haz clic en Siguiente.
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.
- URI del bucket de almacenamiento: Es la URL del bucket de almacenamiento de Google Cloud en formato
Haz clic en Siguiente.
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
- Accede al panel de Cloudflare.
- Selecciona la cuenta o el dominio de Enterprise (también conocida como zona) que deseas usar con Logpush.
- Ve a Análisis y registros > Logpush.
- Selecciona la tarea Create a Logpush.
- En Seleccionar un destino, selecciona Google Cloud Storage.
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)
Haz clic en Continuar.
Verificación de la propiedad:
- Cloudflare enviará un archivo a tu bucket.
- Copia y pega el token:
- Accede a consola de Google Cloud > Almacenamiento > Bucket de Cloudflare.
- Abre el archivo de desafío de propiedad.
- Copia el token de propiedad.
- Ingresa el token de propiedad en la consola de Cloudflare.
- Selecciona Continuar.
- Selecciona el conjunto de datos que deseas enviar al bucket.
Configura el trabajo de logpush:
- Ingresa el nombre del trabajo.
- En Si los registros coinciden, puedes seleccionar los eventos que deseas incluir o quitar de tus registros.
- Enviar los siguientes campos: Selecciona esta opción para enviar todos los registros o elige de forma selectiva qué registros deseas enviar.
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".