Recoger registros de F5 BIG-IP LTM

Disponible en:

En este documento se describe cómo puede recoger registros de F5 BIG-IP Local Traffic Manager (LTM) mediante un reenviador de Google Security Operations.

Para obtener más información, consulta Ingestión de datos en Google Security Operations.

Una etiqueta de ingestión identifica el analizador que normaliza los datos de registro sin procesar en formato UDM estructurado. La información de este documento se aplica al analizador con la etiqueta de ingestión F5_BIGIP_LTM.

Configurar F5 BIG-IP LTM

  1. Inicia sesión en SSH con las credenciales de root.
  2. Inicia sesión en Traffic Management Shell (tmsh) con el siguiente comando:

    tmsh

  3. Envía mensajes de registro filtrados a servidores syslog remotos con el siguiente comando:

    modify /sys syslog remote-servers none

  4. Elimine la instrucción remote-servers y, a continuación, añada una instrucción syslog include que defina una regla de filtro y el servidor remoto.

  5. Para definir el filtro syslog necesario que hace referencia al servidor remoto, usa el siguiente comando:

    edit /sys syslog all-properties

  6. Sustituye el comando include none por el siguiente filtro y añade la dirección IP y el número de puerto.

    include "
    
    filter f_remote_loghost {
    
    level(debug..emerg);
    
    };
    
    filter f_ssl_acc {
    
    not match(\"ssl_acc\");
    
    };
    
    filter f_ssl_req {
    
    not match(\"ssl_req\");
    
    };
    
    destination d_remote_loghost {
    
    udp(IP_ADDRESS PORT);
    
    };
    
    log {
    
    source(s_syslog_pipe);
    
    filter(f_remote_loghost);
    
    filter(f_ssl_acc);
    
    filter(f_ssl_req);
    
    destination(d_remote_loghost);
    
    };
    
    "
    

    Sustituye IP_ADDRESS por la dirección IP del reenviador de Google Security Operations y port por el número de puerto alto.

  7. Para salir del editor de texto, pulsa Esc y, a continuación, introduce wq!.

  8. Guarda la configuración con el siguiente comando:

    save /sys config

Configurar el reenviador de Google Security Operations y syslog para ingerir registros de F5 BIG-IP LTM

  1. Ve a Configuración de SIEM > Reenviadores.
  2. Haz clic en Añadir nuevo remitente.
  3. En el campo Nombre del reenviador, introduce un nombre único para el reenviador.
  4. Haz clic en Enviar. Se añade el reenviador y se muestra la ventana Añadir configuración de recopilador.
  5. En el campo Nombre del recolector, escribe un nombre.
  6. Selecciona F5 BIGIP LTM como Tipo de registro.
  7. Seleccione Syslog como Tipo de recogida.
  8. Configure los siguientes parámetros de entrada obligatorios:
    • Protocolo: especifica el protocolo.
    • Dirección: especifica la dirección IP del reenviador de Google Security Operations.
    • Puerto: especifica el puerto.
  9. Haz clic en Enviar.

Para obtener más información sobre los reenviadores de Google Security Operations, consulta la documentación de los reenviadores de Google Security Operations. Para obtener información sobre los requisitos de cada tipo de reenviador, consulta Configuración de reenviadores por tipo.

Si tienes problemas al crear reenviadores, ponte en contacto con el equipo de Asistencia de Google Security Operations.

Referencia de asignación de campos

Este analizador normaliza los registros de F5 BIG-IP Local Traffic Manager (LTM) y gestiona los formatos de pares clave-valor y syslog. Extrae campos como direcciones IP, nombres de usuario, acciones y descripciones, los asigna al UDM y clasifica los eventos en función del contenido de los registros y los campos extraídos, incluidas las conexiones de red, los inicios y cierres de sesión de los usuarios y los eventos genéricos.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
Access_Profile event.idm.read_only_udm.additional.fields[].key:"Access_Profile", event.idm.read_only_udm.additional.fields[].value.string_value Se asigna directamente desde la clave Access_Profile de los pares clave-valor analizados.
Client_IP event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Se asigna directamente desde la clave Client_IP de los pares clave-valor analizados. También se usa para rellenar la IP del recurso principal. Asigna el valor true a has_principal.
Country event.idm.read_only_udm.principal.location.country_or_region Se asigna directamente desde la clave Country de los pares clave-valor analizados.
Listener event.idm.read_only_udm.additional.fields[].key:"Listener", event.idm.read_only_udm.additional.fields[].value.string_value Se asigna directamente desde la clave Listener de los pares clave-valor analizados.
Session_ID event.idm.read_only_udm.network.session_id Se asigna directamente desde la clave Session_ID de los pares clave-valor analizados.
State event.idm.read_only_udm.principal.location.state Se asigna directamente desde la clave State de los pares clave-valor analizados.
Virtual_IP event.idm.read_only_udm.target.ip[], event.idm.read_only_udm.target.asset.ip[] Se asigna directamente desde la clave Virtual_IP de los pares clave-valor analizados. También se usa para rellenar la IP del recurso de destino. Asigna el valor true a has_target.
about event.idm.read_only_udm.about Se rellena con varios campos, como snat, vs_name, path, query, node, pool_member, vs, client, blade y device, si están presentes en el registro sin procesar y se han analizado correctamente.
action_data event.idm.read_only_udm.target.process.command_line Se asigna directamente a los registros de procesos de scriptd.
attack_type event.idm.read_only_udm.security_result.category_details[] Asignación directa.
blade event.idm.read_only_udm.about.resource.attribute.labels[].key:"blade", event.idm.read_only_udm.about.resource.attribute.labels[].value Se asigna directamente desde la clave blade de los pares clave-valor analizados.
bytes_in event.idm.read_only_udm.network.received_bytes Asignado directamente y convertido en un entero sin signo.
bytes_out event.idm.read_only_udm.network.sent_bytes Asignado directamente y convertido en un entero sin signo.
captcha_result event.idm.read_only_udm.additional.fields[].key:"captcha_result", event.idm.read_only_udm.additional.fields[].value.string_value Asignación directa.
client event.idm.read_only_udm.about.resource.attribute.labels[].key:"client", event.idm.read_only_udm.about.resource.attribute.labels[].value Se asigna directamente desde la clave client de los pares clave-valor analizados.
client_ip event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Asignación directa. También se usa para rellenar la IP del recurso principal. Asigna el valor true a has_principal.
client_port event.idm.read_only_udm.principal.port Asignado directamente, convertido en entero.
collection_time event.timestamp La marca de tiempo de la entrada de registro se usa como marca de tiempo del evento.
command_line event.idm.read_only_udm.target.process.command_line Se asignan directamente a los registros de procesos de CROND y a algunos registros de logger.
data message El mensaje de registro sin procesar. Se analiza y se usa para rellenar varios campos de UDM.
dgl_count event.idm.read_only_udm.principal.resource.attribute.labels[].key:"DataGroup_Value", event.idm.read_only_udm.principal.resource.attribute.labels[].value Asignación directa.
dgl_value event.idm.read_only_udm.principal.resource.attribute.labels[].key:"DataGroup_List", event.idm.read_only_udm.principal.resource.attribute.labels[].value Asignación directa.
description event.idm.read_only_udm.metadata.description, event.idm.read_only_udm.security_result.description Se asigna directamente a algunos tipos de registros o se usa como parte de la descripción del resultado de seguridad.
device event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname, event.idm.read_only_udm.about.resource.attribute.labels[].key:"device", event.idm.read_only_udm.about.resource.attribute.labels[].value Asignación directa. También se usa para rellenar el nombre de host del recurso principal. Asigna el valor true a has_principal.
dest_ip event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip Asignación directa. También se usa para rellenar la IP del recurso de destino. Asigna el valor true a has_principal.
dest_port event.idm.read_only_udm.target.port Asignación directa.
dvc event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname, event.idm.read_only_udm.intermediary.hostname Analizado para extraer el nombre de host o la IP. Se usa para rellenar el nombre de host principal o el nombre de host intermediario.
errdefs_msgno event.idm.read_only_udm.additional.fields[].key:"errdefs_msgno", event.idm.read_only_udm.additional.fields[].value.string_value Se asigna directamente desde la clave errdefs_msgno de los pares clave-valor analizados.
error_reason event.idm.read_only_udm.principal.resource.attribute.labels[].key:"error_reason", event.idm.read_only_udm.principal.resource.attribute.labels[].value Asignación directa.
false_positive event.idm.read_only_udm.additional.fields[].key:"false_positive", event.idm.read_only_udm.additional.fields[].value.string_value Asignación directa.
function_id event.idm.read_only_udm.principal.resource.attribute.labels[].key:"function_id", event.idm.read_only_udm.principal.resource.attribute.labels[].value Asignación directa.
geoContinent event.idm.read_only_udm.principal.location.continent No se ha asignado en el ejemplo proporcionado, pero se asignaría al continente si estuviera disponible.
geoCountry event.idm.read_only_udm.principal.location.country_or_region Asignación directa.
geoState event.idm.read_only_udm.principal.location.state Asignación directa.
header.Referer event.idm.read_only_udm.network.http.referral_url Asignación directa.
header.User-Agent event.idm.read_only_udm.network.http.user_agent, event.idm.read_only_udm.network.http.parsed_user_agent Asignación directa. También se ha convertido en un user-agent analizado.
header.X-Forwarded-For event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Se analiza para extraer las IPs y combinarlas en la IP principal y la IP del recurso principal.
host event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Asignación directa. También se usa para rellenar el nombre de host del recurso de destino. Asigna el valor true a has_target.
http_host event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname Asignación directa. También se usa para rellenar el nombre de host del recurso de destino. Asigna el valor true a has_target.
http_method event.idm.read_only_udm.network.http.method Asignación directa. Define event_type como NETWORK_HTTP si está presente.
ip_client event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Asignación directa. También se usa para rellenar la IP del recurso principal. Asigna el valor true a has_principal.
kv_msg Varios campos Se analizan como pares clave-valor y se usan para rellenar varios campos de UDM.
Level event.idm.read_only_udm.security_result.severity Se asigna a la gravedad si no se incluye el campo severity. Convertido a valores de gravedad de UDM (por ejemplo, "Info" -> "INFORMATIONAL").
Listener event.idm.read_only_udm.additional.fields[].key:"Listener", event.idm.read_only_udm.additional.fields[].value.string_value Asignación directa.
log_message event.idm.read_only_udm.principal.resource.attribute.labels[].value, event.idm.read_only_udm.security_result.description Se analiza más a fondo para extraer request_uri o description.
log_type event.idm.read_only_udm.metadata.log_type Se asigna directamente desde el campo log_type del registro sin procesar.
loglevel event.idm.read_only_udm.security_result.severity Asignado a la gravedad. Convertido a valores de gravedad de UDM (por ejemplo, "warning" -> "MEDIUM", "err" -> "HIGH"). También se usa para la lógica de alertas o eventos significativos.
manage_ip_addr event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Asignación directa. También se usa para rellenar la IP del recurso principal. Asigna el valor true a has_principal.
method event.idm.read_only_udm.network.http.method Asignación directa. Asigna el valor NETWORK_HTTP a event_type.
method_req event.idm.read_only_udm.network.http.method Asignación directa.
msg1 event.idm.read_only_udm.security_result.description Se usa como descripción del resultado de seguridad si no se analiza más.
node event.idm.read_only_udm.about.resource.attribute.labels[].key:"node", event.idm.read_only_udm.about.resource.attribute.labels[].value Se asigna directamente desde la clave node de los pares clave-valor analizados.
partition_name event.idm.read_only_udm.additional.fields[].key:"partition_name", event.idm.read_only_udm.additional.fields[].value.string_value Asignación directa.
path event.idm.read_only_udm.target.url, event.idm.read_only_udm.about.resource.attribute.labels[].key:"path", event.idm.read_only_udm.about.resource.attribute.labels[].value Asignación directa.
policy_name event.idm.read_only_udm.security_result.detection_fields[].key:"policy_name", event.idm.read_only_udm.security_result.detection_fields[].value Asignación directa.
pool_member event.idm.read_only_udm.about.resource.attribute.labels[].key:"pool_member", event.idm.read_only_udm.about.resource.attribute.labels[].value Se asigna directamente desde la clave pool_member de los pares clave-valor analizados.
principalHost event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Asignación directa. También se usa para rellenar el nombre de host del recurso principal. Asigna el valor true a has_principal.
principalIp event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[], event.idm.read_only_udm.observer.ip Asignación directa. También se usa para rellenar la IP del recurso principal y la IP del observador. Asigna el valor true a has_principal.
principalPort event.idm.read_only_udm.principal.port Asignado directamente, convertido en entero.
process event.idm.read_only_udm.target.application Asignación directa.
product_event_type event.idm.read_only_udm.metadata.product_event_type Asignación directa.
proto event.idm.read_only_udm.network.ip_protocol Se asigna al protocolo IP después de convertir el número de protocolo en el nombre del protocolo mediante una búsqueda.
query event.idm.read_only_udm.about.resource.attribute.labels[].key:"query", event.idm.read_only_udm.about.resource.attribute.labels[].value Se asigna directamente desde la clave query de los pares clave-valor analizados.
query_string event.idm.read_only_udm.additional.fields[].key:"query_string", event.idm.read_only_udm.additional.fields[].value.string_value Asignación directa.
reason event.idm.read_only_udm.security_result.description Se ha asignado directamente a los registros de procesos de apmd con el nivel de registro de advertencia o error.
reason_code event.idm.read_only_udm.principal.resource.attribute.labels[].key:"reason_code", event.idm.read_only_udm.principal.resource.attribute.labels[].value Asignación directa.
req_status event.idm.read_only_udm.security_result.detection_fields[].key:"req_status", event.idm.read_only_udm.security_result.detection_fields[].value Asignación directa.
request event.idm.read_only_udm.principal.resource.attribute.labels[].key:"request_type", event.idm.read_only_udm.principal.resource.attribute.labels[].value, event.idm.read_only_udm.network.application_protocol Se usa para determinar el protocolo de aplicación (HTTP) y se asigna como etiqueta.
request_status event.idm.read_only_udm.additional.fields[].key:"request_status", event.idm.read_only_udm.additional.fields[].value.string_value Asignación directa.
request_uri event.idm.read_only_udm.target.url Asignación directa.
resp_code event.idm.read_only_udm.network.http.response_code Asignado directamente, convertido en entero.
response_code event.idm.read_only_udm.network.http.response_code Asignado directamente, convertido en entero.
rule_name event.idm.read_only_udm.security_result.rule_name Asignación directa.
sec_action event.idm.read_only_udm.security_result.action[] Asignado a la acción. "Continue" se convierte en "ALLOW". Los demás valores se convierten en "BLOCK".
security_result event.idm.read_only_udm.security_result Se ha combinado en el objeto security_result.
session_id event.idm.read_only_udm.network.session_id Asignación directa.
severity event.idm.read_only_udm.security_result.severity Asignado a la gravedad. Convertido a valores de gravedad de UDM (por ejemplo, "Error" -> "ERROR", "Informational" -> "INFORMATIONAL").
sig_ids event.idm.read_only_udm.additional.fields[].key:"sig_ids", event.idm.read_only_udm.additional.fields[].value.string_value Asignación directa.
sig_names event.idm.read_only_udm.additional.fields[].key:"sig_names", event.idm.read_only_udm.additional.fields[].value.string_value Asignación directa.
sni_host event.idm.read_only_udm.network.tls.client.server_name Asignación directa.
snat event.idm.read_only_udm.about.resource.attribute.labels[].key:"snat", event.idm.read_only_udm.about.resource.attribute.labels[].value Se asigna directamente desde la clave snat de los pares clave-valor analizados.
snat_ip event.idm.read_only_udm.principal.nat_ip[] Asignación directa.
snat_port event.idm.read_only_udm.principal.nat_port Asignado directamente, convertido en entero.
src_ip event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] Asignación directa. También se usa para rellenar la IP del recurso principal.
src_port event.idm.read_only_udm.principal.port Asignación directa.
ssl_cipher event.idm.read_only_udm.network.tls.cipher Asignación directa.
ssl_function event.idm.read_only_udm.principal.resource.attribute.labels[].key:"ssl_function", event.idm.read_only_udm.principal.resource.attribute.labels[].value Asignación directa.
ssl_version event.idm.read_only_udm.network.tls.version_protocol Asignación directa.
staged_sig_ids event.idm.read_only_udm.additional.fields[].key:"staged_sig_ids", event.idm.read_only_udm.additional.fields[].value.string_value Asignación directa.
staged_sig_names event.idm.read_only_udm.additional.fields[].key:"staged_sig_names", event.idm.read_only_udm.additional.fields[].value.string_value Asignación directa.
staged_sig_set_names event.idm.read_only_udm.additional.fields[].key:"staged_sig_set_names", event.idm.read_only_udm.additional.fields[].value.string_value Asignación directa.
staged_threat_campaign_names event.idm.read_only_udm.additional.fields[].key:"staged_threat_campaign_names", event.idm.read_only_udm.additional.fields[].value.string_value Asignación directa.
status event.idm.read_only_udm.security_result.summary Se asigna directamente a los registros de procesos de scriptd.
summary event.idm.read_only_udm.security_result.summary Se asignan directamente a algunos tipos de registro.
support_id event.idm.read_only_udm.additional.fields[].key:"Support_Id", event.idm.read_only_udm.additional.fields[].value.string_value Asignación directa.
systems event.idm.read_only_udm.principal.asset.attribute.labels[].key, event.idm.read_only_udm.principal.asset.attribute.labels[].value Se analiza para extraer información del sistema y asignarla como etiquetas al recurso principal.
targetFile event.idm.read_only_udm.target.file.full_path Se asigna directamente a los registros de procesos de scriptd.
targetIp event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip Asignación directa. También se usa para rellenar la IP del recurso de destino. Asigna el valor true a has_target.
targetPort event.idm.read_only_udm.target.port Asignado directamente, convertido en entero.
threat_campaign_names event.idm.read_only_udm.additional.fields[].key:"threat_campaign_names", event.idm.read_only_udm.additional.fields[].value.string_value Asignación directa.
timestamp event.timestamp Se asigna directamente después de analizar y rebasar.
tls_version event.idm.read_only_udm.network.tls.version Asignación directa.
tlsproto event.idm.read_only_udm.network.tls.version_protocol Asignación directa. Si el valor es HTTP/1.1, se asigna "HTTP".
unit_host event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname Asignación directa. También se usa para rellenar el nombre de host del recurso principal. Asigna el valor true a has_principal.
uri event.idm.read_only_udm.target.url Asignación directa.
uri_path event.idm.read_only_udm.target.url Asignado directamente, concatenado con uri_query si está presente.
url event.idm.read_only_udm.principal.url Asignación directa.
url_string event.idm.read_only_udm.network.http.referral_url Asignación directa.
user_agent event.idm.read_only_udm.network.http.user_agent Asignación directa.
userId event.idm.read_only_udm.principal.user.userid, event.idm.read_only_udm.target.user.userid Asignación directa. También se usa para rellenar el ID de usuario objetivo. Asigna el valor true a has_principal_user.
vendor_name event.idm.read_only_udm.metadata.vendor_name Codificado como "F5".
violations event.idm.read_only_udm.security_result.detection_fields[].key:"violations", event.idm.read_only_udm.security_result.detection_fields[].value Asignación directa.
vs event.idm.read_only_udm.about.resource.attribute.labels[].key:"vs", event.idm.read_only_udm.about.resource.attribute.labels[].value Se asigna directamente desde la clave vs de los pares clave-valor analizados.
vs_name event.idm.read_only_udm.about.resource.attribute.labels[].key:"vs_name", event.idm.read_only_udm.about.resource.attribute.labels[].value Se asigna directamente desde la clave vs_name de los pares clave-valor analizados.
N/A event.idm.read_only_udm.metadata.event_type Determinado por la lógica del analizador en función de la presencia de determinados campos. El valor predeterminado es GENERIC_EVENT. Puede ser NETWORK_CONNECTION, USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, STATUS_UPDATE o NETWORK_HTTP.
N/A event.idm.read_only_udm.metadata.product_name Codificado como "BIG-IP Local Traffic Manager (LTM)".
N/A event.idm.read_only_udm.metadata.vendor_name Codificado como "F5".
N/A event.idm.read_only_udm.metadata.event_timestamp Copiado del nivel superior event.timestamp.
N/A event.idm.read_only_udm.security_result.severity Determinado por la lógica del analizador en función de los campos severity o Level, si están presentes. El valor predeterminado es UNKNOWN_SEVERITY. Puede ser INFORMATIONAL, LOW, MEDIUM, HIGH o CRITICAL.
N/A event.idm.read_only_udm.security_result.summary Se establece en "Authentication failure" (Fallo de autenticación) para registros apmd específicos.
N/A event.idm.read_only_udm.extensions.auth.type Se define como "VPN" para registros específicos de apmd y sshd. De lo contrario, asigna el valor AUTHTYPE_UNSPECIFIED a los eventos USER_LOGIN y USER_LOGOUT.
N/A event.idm.read_only_udm.network.ip_protocol Si no se incluye proto, el valor predeterminado es "TCP". De lo contrario, se determina mediante el campo proto.

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