Recoger registros de F5 BIG-IP LTM

Disponible en:

En este documento se explica cómo ingerir registros de F5 BIG-IP LTM en Google Security Operations mediante Bindplane.

Antes de empezar

Asegúrate de que cumples los siguientes requisitos previos:

  • Una instancia de Google SecOps
  • Un host Windows 2016 o posterior, o Linux con systemd
  • Si se ejecuta a través de un proxy, asegúrese de que los puertos del cortafuegos estén abiertos según los requisitos del agente Bindplane.
  • Acceso de administrador al dispositivo F5 BIG-IP LTM (TMSH o interfaz web)

Obtener el archivo de autenticación de ingestión de Google SecOps

  1. Inicia sesión en la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Agentes de recogida.
  3. Descarga el archivo de autenticación de ingestión. Guarda el archivo de forma segura en el sistema en el que se instalará Bindplane.

Obtener el ID de cliente de Google SecOps

  1. Inicia sesión en la consola de Google SecOps.
  2. Ve a Configuración de SIEM > Perfil.
  3. Copia y guarda el ID de cliente de la sección Detalles de la organización.

Instalar el agente de Bindplane

Instala el agente Bindplane en tu sistema operativo Windows o Linux siguiendo las instrucciones que se indican a continuación.

Instalación de ventanas

  1. Abre la petición de comando o PowerShell como administrador.
  2. Ejecuta el siguiente comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Instalación de Linux

  1. Abre un terminal con privilegios de root o sudo.
  2. Ejecuta el siguiente comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Recursos de instalación adicionales

Configurar el agente de Bindplane para ingerir Syslog y enviarlo a Google SecOps

  1. Accede al archivo de configuración:

    1. Busca el archivo config.yaml. Normalmente, se encuentra en el directorio /etc/bindplane-agent/ en Linux o en el directorio de instalación en Windows.
    2. Abre el archivo con un editor de texto (por ejemplo, nano, vi o Bloc de notas).
  2. Edita el archivo config.yaml de la siguiente manera:

      receivers:
        # UDP syslog listener (RFC5424 over UDP)
        udplog:
          listen_address: "0.0.0.0:514"
    
      exporters:
        chronicle/chronicle_w_labels:
          compression: gzip
          # Adjust the path to the credentials file you downloaded in Step 1
          creds_file_path: "/opt/observiq-otel-collector/ingestion-auth.json"
          # Replace with your actual customer ID from Step 2
          customer_id: "<YOUR_CUSTOMER_ID>"
          # Select the appropriate regional endpoint based on where your Google SecOps instance is provisioned
          # For regional endpoints, see: [https://cloud.google.com/chronicle/docs/reference/ingestion-api#regional_endpoints](https://cloud.google.com/chronicle/docs/reference/ingestion-api#regional_endpoints)
          endpoint: "<YOUR_REGIONAL_ENDPOINT>"
          # Set the log_type to ensure the correct parser is applied
          log_type: "F5_BIGIP_LTM"
          raw_log_field: body
          # You can optionally add other custom ingestion labels here if needed
          ingestion_labels:
    
      service:
        pipelines:
          logs/f5ltm:
            receivers: [udplog]
            exporters: [chronicle/chronicle_w_labels]
    
    • El listen_address se ha definido como 0.0.0.0:514 para aceptar syslog de cualquier fuente. Ajusta este valor si necesitas restringir el acceso a interfaces específicas.
    • El puerto UDP 514 es el puerto syslog estándar. Si el puerto 514 requiere privilegios de root, puedes usar un puerto superior a 1024 (por ejemplo, 5514) y ajustar la configuración de F5 en consecuencia.
    • Para usar TCP en lugar de UDP, crea un receptor tcplog y define el protocolo de registro de alta velocidad remoto de F5 como tcp.
  3. Guarda el archivo y cierra el editor.

Reinicia el agente de Bindplane para aplicar los cambios

  • Para reiniciar el agente de Bindplane en Linux, ejecuta el siguiente comando:

    sudo systemctl restart bindplane-agent
    
  • Para reiniciar el agente de Bindplane en Windows, puedes usar la consola Servicios o introducir el siguiente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurar el reenvío de syslog de F5 BIG-IP LTM

Opción A: Usar TMSH (interfaz de línea de comandos)

  1. Crear un grupo para el destino syslog

    1. Conéctate al dispositivo F5 BIG-IP LTM mediante SSH.
    2. Ejecuta estos comandos:

      tmsh create ltm pool f5_syslog_pool members add { <BINDPLANE_IP>:514 } monitor gateway_icmp
      
      • Sustituye <BINDPLANE_IP> por la dirección IP del host de tu agente de Bindplane.
  2. Crear un destino de registro

    tmsh create sys log-config destination remote-high-speed-log f5_hsl_dest protocol udp pool-name f5_syslog_pool
    
    tmsh create sys log-config destination remote-syslog f5_remote_syslog_dest format rfc5424 remote-high-speed-log f5_hsl_dest
    
  3. Crear editor de registros

    tmsh create sys log-config publisher f5_log_publisher destinations add { f5_remote_syslog_dest }
    
  4. Crear un perfil de registro de solicitudes

    tmsh create ltm profile request-log f5_ltm_request_log \
      request-log-pool f5_syslog_pool request-log-protocol mds-udp \
      request-log-template 'event_source="request_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",event_timestamp="$DATE_HTTP"' \
      request-logging enabled \
      response-log-pool f5_syslog_pool response-log-protocol mds-udp \
      response-log-template 'event_source="response_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",http_statcode="$HTTP_STATCODE",event_timestamp="$DATE_HTTP"' \
      response-logging enabled
    
  5. Aplicar un perfil de registro a un servidor virtual

    tmsh modify ltm virtual <VIRTUAL_SERVER_NAME> profiles add { f5_ltm_request_log }
    
    • Sustituye <VIRTUAL_SERVER_NAME> por el nombre de tu servidor virtual.
  6. Guardar configuración

    tmsh save sys config
    

Opción B: Usar la interfaz web de F5 (Configuration Utility)

  1. Crear un grupo para el destino syslog

    1. Inicia sesión en la interfaz web de F5 BIG-IP LTM.
    2. Vaya a Tráfico local > Grupos > Lista de grupos.
    3. Haz clic en Crear.
    4. Proporcione los siguientes detalles de configuración:
      • Nombre: escribe f5_syslog_pool.
      • Monitorizaciones de estado: selecciona gateway_icmp.
    5. En la sección Recursos, en Nuevos miembros, haz lo siguiente:
      • Dirección: introduce la dirección IP del agente de Bindplane.
      • Puerto de servicio: introduce 514.
    6. Haz clic en Añadir.
    7. Haz clic en Finalizar.
  2. Crear un destino de registro remoto de alta velocidad

    1. Ve a Sistema > Registros > Configuración > Destinos de registro.
    2. Haz clic en Crear.
    3. Proporcione los siguientes detalles de configuración:
      • Nombre: escribe f5_hsl_dest.
      • Tipo: selecciona Registro remoto de alta velocidad.
      • Protocolo: selecciona UDP.
      • Nombre del grupo: selecciona f5_syslog_pool.
    4. Haz clic en Finalizar.
  3. Crear un destino de syslog remoto

    1. Ve a Sistema > Registros > Configuración > Destinos de registro.
    2. Haz clic en Crear.
    3. Proporcione los siguientes detalles de configuración:
      • Nombre: escribe f5_remote_syslog_dest.
      • Tipo: selecciona Syslog remoto.
      • Formato Syslog: selecciona RFC5424.
      • Registro de alta velocidad remoto: selecciona f5_hsl_dest.
    4. Haz clic en Finalizar.
  4. Crear editor de registros

    1. Ve a Sistema > Registros > Configuración > Editores de registros.
    2. Haz clic en Crear.
    3. Proporcione los siguientes detalles de configuración:
      • Nombre: escribe f5_log_publisher.
      • Destinos: mueve f5_remote_syslog_dest de Disponible a Seleccionado.
    4. Haz clic en Finalizar.
  5. Crear un perfil de registro de solicitudes

    1. Vaya a Tráfico local > Perfiles > Otro > Registro de solicitudes.
    2. Haz clic en Crear.
    3. Proporcione los siguientes detalles de configuración:
      • Nombre: escribe f5_ltm_request_log.
      • Perfil parental: selecciona request-log.
    4. En Configuración de la solicitud:

      • Registro de solicitudes: selecciona Habilitado.
      • Protocolo de registro de solicitudes: selecciona mds-udp.
      • Solicitud de registro de grupo: selecciona f5_syslog_pool.
      • Plantilla de registro de solicitudes: introduce lo siguiente:

        event_source="request_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",event_timestamp="$DATE_HTTP"
        
    5. En Configuración de respuestas:

      • Registro de respuestas: selecciona Habilitado.
      • Protocolo de registro de respuestas: selecciona mds-udp.
      • Grupo de registros de respuestas: selecciona f5_syslog_pool.
      • Plantilla de registro de respuestas: introduce lo siguiente:

        event_source="response_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",http_statcode="$HTTP_STATCODE",event_timestamp="$DATE_HTTP"
        
  6. Haz clic en Finalizar.

Aplicar un perfil de registro de solicitudes a un servidor virtual

  1. Vaya a Tráfico local > Servidores virtuales > Lista de servidores virtuales.
  2. Haz clic en el nombre del servidor virtual.
  3. Ve a la pestaña Recursos.
  4. En iRules and Profiles (iRules y perfiles), haz clic en Manage (Gestionar) junto a Profiles (Perfiles).
  5. En Disponible, busca f5_ltm_request_log y muévelo a Seleccionado.
  6. Haz clic en Finalizar.
  7. Haz clic en Actualizar.

Tabla de asignación de UDM

Campo de registro Asignación de UDM Lógica
hostname principal.hostname Nombre de host de Syslog (dispositivo que emitió el registro)
client_ip principal.ip Dirección IP de origen del cliente
client_port principal.port Puerto de origen (si se incluye en la plantilla)
server_ip target.ip IP de destino (miembro del grupo)
server_port target.port Puerto de destino (miembro del grupo)
http_method network.http.method Método de solicitud HTTP
http_uri network.http.url URI de solicitud HTTP (incluida la ruta o la consulta, si las hay)
http_host network.http.host Encabezado Host HTTP
http_statcode network.http.response_code Código de estado de respuesta HTTP
user_agent network.http.user_agent Encabezado User-Agent
virtual_name target.application Nombre del servidor virtual de F5
event_timestamp metadata.event_timestamp Hora del evento del dispositivo
event_source metadata.product_event_type Etiqueta de tipo de evento (request_logging, response_logging)

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