Recopilar registros de F5 BIG-IP APM
En este documento se describe cómo puede recoger registros de F5 BIG-IP Access Policy Manager (APM) 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_APM
.
Configurar F5 BIG-IP APM
- Inicia sesión en el portal de la utilidad de configuración de BIG-IP con las credenciales de administrador.
- Selecciona Principal > Sistema > Registros > Configuración > Registro remoto.
En la sección Propiedades, haga lo siguiente:
- En el campo IP remota, introduce la dirección IP del reenviador de Google Security Operations.
- En el campo Puerto remoto, introduce un número de puerto alto.
Haz clic en Añadir.
Haz clic en Actualizar.
En el caso de los registros de APM, solo se admite el formato syslog de Berkeley Software Distribution (BSD).
Según las firmas de APM, el recopilador solo procesa los registros de APM. El recopilador de eventos de F5 BIG-IP APM también admite registros multihilo de dispositivos LTM 11.6 a 12.1.1.
Si usas iRule, utiliza el formato recomendado. Google Security Operations solo admite el siguiente formato iRule:
# log_header_requests ################################################################################### ################################################# # Purpose: logs header information to Local Traffic log # # # # Update-Log Date By Description # Created 02/07/2020 E01961 Initial implementation # # ################################################################################### ################################################ when HTTP_REQUEST { set LogString "Client [IP::client_addr]:[TCP::client_port] -> [HTTP::host] [HTTP::uri]" log local5. "=================" log local5. "$LogString (request)" foreach aHeader [HTTP::header names] { log local5. "$aHeader: [HTTP::header value $aHeader]" } # set UserID [URI::query "?[HTTP::payload]" "UserID"] # log local0. "User $UserID attempted login from [IP::client_addr] and referer: [HTTP::header "Referer"]" # log local0. "=============================================" } when HTTP_RESPONSE { log local5. "==================" log local5. "$LogString (response) - status: [HTTP::status]" foreach aHeader [HTTP::header names] { log local5. "$aHeader: [HTTP::header value $aHeader]" } # log local0. "============================================="
Configurar F5 BIG-IP DNS
Para configurar F5 BIG-IP DNS, realiza las siguientes tareas:
- Crea un grupo de servidores de registro remotos.
- Crea un destino de registro remoto de alta velocidad.
- Crea un destino de registro remoto de alta velocidad con formato.
- Crea un editor.
- Crea un perfil de registro de DNS personalizado.
- Añade un perfil de registro de DNS al receptor.
Crear un grupo de servidores de registro remotos
- En la pestaña Principal, selecciona DNS > Entrega > Equilibrio de carga > Grupos o tráfico local > Grupos.
- En la ventana Lista de grupos que aparece, haz clic en Crear.
- En la ventana Nuevo grupo que aparece, en el campo Nombre, indica un nombre único para el grupo.
- En la sección Nuevos miembros, añade la dirección IP de cada servidor de registro remoto que quieras incluir en el grupo:
- En el campo Dirección, introduce la dirección IP del reenviador de Google Security Operations o selecciona una dirección de nodo de la lista de nodos.
- En el campo Puerto de servicio, escribe un número de servicio o selecciona un nombre de servicio de la lista. Asegúrate de que has configurado el puerto de registro remoto correcto.
- Haz clic en Añadir y, a continuación, en Finalizado.
Crear un destino de registro remoto de alta velocidad
- En la pestaña Principal, selecciona Sistema > Registros > Configuración > Destinos de registro.
- En la ventana Destinos de registro que aparece, haz clic en Crear.
- En el campo Nombre, asigna un nombre único e identificable a este destino.
- En la lista Tipo, selecciona Registro remoto de alta velocidad.
- En la lista Nombre del pool, selecciona el pool de servidores de registro remotos al que quieras que el sistema BIG-IP envíe mensajes de registro.
- En la lista Protocolo, selecciona el protocolo que usan los miembros del grupo de registro de alta velocidad.
- Haz clic en Finalizar.
Crear un destino de registro remoto de alta velocidad con formato
- En la pestaña Principal, selecciona Sistema > Registros > Configuración > Destinos de registro.
- En la ventana Destinos de registro que aparece, haz clic en Crear.
- En el campo Nombre, asigna un nombre único e identificable a este destino.
- En la lista Tipo, seleccione un destino de registro con formato como Syslog remoto. El sistema BIG-IP ahora está configurado para enviar una cadena de texto con formato a los servidores de registro.
- En la lista Tipo, seleccione un formato para los registros.
- En la pestaña Reenviar a, selecciona la lista Destino de registro de alta velocidad y, a continuación, el destino que apunta a un grupo de servidores syslog remotos al que quieras que el sistema BIG-IP envíe mensajes de registro.
- Haz clic en Finalizar.
Crear un editor
- En la pestaña Principal, selecciona Sistema > Registros > Configuración > Editores de registros.
- En la ventana Editores de registros que aparece, haz clic en Crear.
- En el campo Nombre, proporcione un nombre único e identificable para el editor.
- En la lista Editor de registros, seleccione el destino que ha creado anteriormente.
- Para mover el destino a la lista seleccionada, haz clic en << Mover.
- Si utiliza un destino con formato, seleccione el destino recién creado que coincida con sus servidores de registro, como Syslog remoto, Splunk o ArcSight.
- Haz clic en Finalizar.
Crear un perfil de registro de DNS personalizado
- En la pestaña Principal, selecciona DNS > Entrega > Perfiles > Otro Registro de DNS o Tráfico local > Perfiles > Otros > Registro de DNS.
- En la ventana Lista de perfiles de registro de DNS que aparece, haz clic en Crear.
- En el campo Nombre, indica un nombre único para el perfil.
- En la lista Publicador de registros, selecciona un destino al que el sistema BIG-IP enviará las entradas de registro DNS.
- Si quieres que el sistema BIG-IP:
- Para registrar todas las consultas de DNS, en el ajuste Registrar consultas, asegúrate de que la casilla habilitada esté marcada.
- Para registrar todas las respuestas de DNS, en el ajuste Registrar respuestas, selecciona la casilla habilitada.
- Para incluir el ID de consulta enviado por el cliente en los mensajes de registro, en el ajuste Incluir ID de consulta, selecciona la casilla habilitada.
- Haz clic en Finalizar.
Añadir un perfil de registro de DNS al listener
- En la pestaña Principal, selecciona DNS > Entrega > Listeners (Listeners) > DNS listener (Listener de DNS).
- En la sección Servicio, en la lista Perfil de DNS, selecciona el perfil de DNS que hayas configurado anteriormente.
- Haz clic en Actualizar.
Configurar el reenviador de Google Security Operations para ingerir registros de F5 BIG-IP APM
- Ve a Configuración de SIEM > Reenviadores.
- Haz clic en Añadir nuevo remitente.
- En el campo Nombre del reenviador, introduce un nombre único para el reenviador.
- Haz clic en Enviar. Se añade el reenviador y se muestra la ventana Añadir configuración de recopilador.
- En el campo Nombre del recolector, escribe un nombre.
- Seleccione F5 BIGIP Access Policy Manager como Tipo de registro.
- Seleccione Syslog como Tipo de recogida.
- Configure los siguientes parámetros de entrada obligatorios:
- Protocolo: especifica el protocolo.
- Dirección: especifica la dirección IP o el nombre de host de destino donde reside el recolector y las direcciones de los datos de syslog.
- Puerto: especifica el puerto de destino en el que reside el recopilador y escucha los datos de syslog.
- Haz clic en Enviar.
Para obtener más información sobre los reenviadores de Google Security Operations, consulta Gestionar configuraciones de reenviadores a través de la interfaz de usuario de Google Security Operations.
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 de F5 BIG-IP APM extrae campos de mensajes syslog y los clasifica en función de la fuente de la aplicación (tmsh, tmm, apmd, httpd u otra). Después, asigna estos campos extraídos al UDM, gestiona varios formatos de registro y enriquece los datos con metadatos como la gravedad, la ubicación y la información del usuario.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
página | principal.application | El valor se toma del campo application extraído por el filtro grok. |
bytes_in | network.received_bytes | El valor se toma del campo bytes_in extraído por el filtro grok y se convierte en un número entero sin signo. |
bytes_out | network.sent_bytes | El valor se toma del campo bytes_out extraído por el filtro grok y se convierte en un número entero sin signo. |
cmd_data | principal.process.command_line | El valor se toma del campo cmd_data extraído por el filtro kv. |
destination_ip | target.ip | El valor se toma del campo destination_ip extraído por el filtro grok. |
destination_port | target.port | El valor se toma del campo destination_port extraído por el filtro grok y se convierte en un número entero. |
carpeta | principal.process.file.full_path | El valor se toma del campo folder extraído por el filtro kv. |
geoCountry | principal.location.country_or_region | El valor se toma del campo geoCountry extraído por el filtro grok. |
geoState | principal.location.state | El valor se toma del campo geoState extraído por el filtro grok. |
inner_msg | security_result.description | El valor se toma del campo inner_msg extraído por el filtro grok cuando no hay ninguna otra descripción específica disponible. |
ip_protocol | network.ip_protocol | El valor se toma del campo ip_protocol extraído por el filtro grok. |
principal_hostname | principal.hostname | El valor se toma del campo principal_hostname extraído por el filtro grok. |
principal_ip | principal.ip | El valor se toma del campo principal_ip extraído por el filtro grok. |
process_id | principal.process.pid | El valor se toma del campo process_id extraído por el filtro grok. |
role | user_role.name | El valor se toma del campo role extraído por el filtro grok. Si el campo role contiene "admin" (sin distinguir entre mayúsculas y minúsculas), el valor se asigna a "ADMINISTRATOR". |
gravedad | security_result.severity_details | Aquí se almacena el valor original del mensaje syslog. El valor se deriva del campo severity mediante lógica condicional: CRITICAL -> CRITICAL ERR -> ERROR ALERT, EMERGENCY -> HIGH INFO, NOTICE -> INFORMATIONAL DEBUG -> LOW WARN -> MEDIUM |
source_ip | principal.ip | El valor se toma del campo source_ip extraído por el filtro grok. |
source_port | principal.port | El valor se toma del campo source_port extraído por el filtro grok y se convierte en un número entero. |
status | security_result.summary | El valor se toma del campo status extraído por el filtro kv. |
timestamp | metadata.event_timestamp, timestamp | El valor se toma del campo timestamp extraído por el filtro grok y se analiza en un objeto de marca de tiempo. El campo timestamp del objeto event de nivel superior también recibe este valor. |
usuario | principal.user.userid | El valor se toma del campo user extraído por el filtro grok, después de quitar los prefijos "id\" o "ID\". El valor se deriva en función de la presencia de otros campos: Si user existe: USER_UNCATEGORIZED Si source_ip y destination_ip existen: NETWORK_CONNECTION Si principal_ip o principal_hostname existen: STATUS_UPDATE En caso contrario: GENERIC_EVENT Codificado como "BIGIP_APM". Codificado como "F5". Si el campo result es "failed", el valor se define como "BLOCK". |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.