Collecter les journaux F5 BIG-IP LTM

Compatible avec :

Ce document explique comment ingérer des journaux F5 BIG-IP LTM dans Google Security Operations à l'aide de Bindplane.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps
  • Un hôte Windows 2016 ou version ultérieure, ou Linux avec systemd
  • Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports de pare-feu sont ouverts conformément aux exigences de l'agent Bindplane.
  • Accès administrateur à l'appareil F5-BIG IP LTM (TMSH ou interface utilisateur Web)

Obtenir le fichier d'authentification d'ingestion Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du SIEM > Agents de collecte.
  3. Téléchargez le fichier d'authentification d'ingestion. Enregistrez le fichier de manière sécurisée sur le système sur lequel Bindplane sera installé.

Obtenir l'ID client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM> Profil.
  3. Copiez et enregistrez le numéro client de la section Informations sur l'organisation.

Installer l'agent Bindplane

Installez l'agent Bindplane sur votre système d'exploitation Windows ou Linux en suivant les instructions ci-dessous.

Installation de fenêtres

  1. Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
  2. Exécutez la commande suivante :

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

Installation de Linux

  1. Ouvrez un terminal avec les droits root ou sudo.
  2. Exécutez la commande suivante :

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

Autres ressources d'installation

Configurer l'agent Bindplane pour ingérer Syslog et l'envoyer à Google SecOps

  1. Accédez au fichier de configuration :

    1. Recherchez le fichier config.yaml. Il se trouve généralement dans le répertoire /etc/bindplane-agent/ sous Linux ou dans le répertoire d'installation sous Windows.
    2. Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple, nano, vi ou le Bloc-notes).
  2. Modifiez le fichier config.yaml comme suit :

      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]
    
    • listen_address est défini sur 0.0.0.0:514 pour accepter les journaux syslog provenant de n'importe quelle source. Ajustez si vous devez limiter l'accès à des interfaces spécifiques.
    • Le port UDP 514 est le port syslog standard. Si le port 514 nécessite des droits racine, vous pouvez utiliser un port supérieur à 1024 (par exemple, 5514) et ajuster la configuration F5 en conséquence.
    • Pour TCP au lieu d'UDP, créez un récepteur tcplog et définissez le protocole F5 Remote High-Speed Log sur tcp.
  3. Enregistrez le fichier et quittez l'éditeur.

Redémarrez l'agent Bindplane pour appliquer les modifications.

  • Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :

    sudo systemctl restart bindplane-agent
    
  • Pour redémarrer l'agent Bindplane sous Windows, vous pouvez utiliser la console Services ou saisir la commande suivante :

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurer le transfert syslog F5 BIG-IP LTM

Option A : Utiliser TMSH (interface de ligne de commande)

  1. Créer un pool pour la destination syslog

    1. Connectez-vous à l'appareil F5 BIG-IP LTM via SSH.
    2. Exécutez les commandes suivantes :

      tmsh create ltm pool f5_syslog_pool members add { <BINDPLANE_IP>:514 } monitor gateway_icmp
      
      • Remplacez <BINDPLANE_IP> par l'adresse IP de l'hôte de votre agent Bindplane.
  2. Créer une destination de journal

    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. Créer un éditeur de journaux

    tmsh create sys log-config publisher f5_log_publisher destinations add { f5_remote_syslog_dest }
    
  4. Créer un profil de journalisation des requêtes

    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. Appliquer un profil de journalisation à un serveur virtuel

    tmsh modify ltm virtual <VIRTUAL_SERVER_NAME> profiles add { f5_ltm_request_log }
    
    • Remplacez <VIRTUAL_SERVER_NAME> par le nom de votre serveur virtuel.
  6. Enregistrer la configuration

    tmsh save sys config
    

Option B : Utiliser l'UI Web F5 (utilitaire de configuration)

  1. Créer un pool pour la destination syslog

    1. Connectez-vous à l'interface Web F5 BIG-IP LTM.
    2. Accédez à Trafic local > Pools > Liste des pools.
    3. Cliquez sur Créer.
    4. Fournissez les informations de configuration suivantes :
      • Nom : saisissez f5_syslog_pool.
      • Moniteurs d'état : sélectionnez gateway_icmp.
    5. Dans la section Ressources, sous Nouveaux membres :
      • Adresse : saisissez l'adresse IP de l'agent Bindplane.
      • Port du service : saisissez 514.
    6. Cliquez sur Ajouter.
    7. Cliquez sur Terminé.
  2. Créer une destination de journaux à distance à haut débit

    1. Accédez à Système> Journaux> Configuration> Destinations des journaux.
    2. Cliquez sur Créer.
    3. Fournissez les informations de configuration suivantes :
      • Nom : saisissez f5_hsl_dest.
      • Type : sélectionnez Journal à distance à haut débit.
      • Protocole : sélectionnez UDP.
      • Nom du pool : sélectionnez f5_syslog_pool.
    4. Cliquez sur Terminé.
  3. Créer une destination syslog distante

    1. Accédez à Système> Journaux> Configuration> Destinations des journaux.
    2. Cliquez sur Créer.
    3. Fournissez les informations de configuration suivantes :
      • Nom : saisissez f5_remote_syslog_dest.
      • Type : sélectionnez Syslog distant.
      • Format Syslog : sélectionnez RFC5424.
      • Journal à distance à grande vitesse : sélectionnez f5_hsl_dest.
    4. Cliquez sur Terminé.
  4. Créer un éditeur de journaux

    1. Accédez à Système> Journaux> Configuration> Éditeurs de journaux.
    2. Cliquez sur Créer.
    3. Fournissez les informations de configuration suivantes :
      • Nom : saisissez f5_log_publisher.
      • Destinations : déplacez f5_remote_syslog_dest de Disponible vers Sélectionné.
    4. Cliquez sur Terminé.
  5. Créer un profil de journalisation des requêtes

    1. Accédez à Trafic local > Profils > Autre > Journalisation des requêtes.
    2. Cliquez sur Créer.
    3. Fournissez les informations de configuration suivantes :
      • Nom : saisissez f5_ltm_request_log.
      • Profil parent : sélectionnez request-log.
    4. Sous Paramètres de la demande :

      • Journalisation des requêtes : sélectionnez Activée.
      • Protocole du journal des requêtes : sélectionnez mds-udp.
      • Pool de journaux de requêtes : sélectionnez f5_syslog_pool.
      • Modèle de journal des requêtes : saisissez les informations suivantes :

        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. Sous Paramètres de réponse :

      • Journalisation des réponses : sélectionnez Activée.
      • Protocole du journal des réponses : sélectionnez mds-udp.
      • Pool de journaux de réponse : sélectionnez f5_syslog_pool.
      • Modèle de journal des réponses : saisissez ce qui suit :

        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. Cliquez sur Terminé.

Appliquer un profil de journalisation des requêtes au serveur virtuel

  1. Accédez à Trafic local> Serveurs virtuels> Liste des serveurs virtuels.
  2. Cliquez sur le nom du serveur virtuel.
  3. Accédez à l'onglet Ressources.
  4. Sous iRules and Profiles (iRules et profils), cliquez sur Manage (Gérer) à côté de Profiles (Profils).
  5. Sous Disponible, recherchez f5_ltm_request_log et déplacez-le vers Sélectionné.
  6. Cliquez sur Terminé.
  7. Cliquez sur Mettre à jour.

Table de mappage UDM

Champ de journal Mappage UDM Logique
hostname principal.hostname Nom d'hôte Syslog (appareil ayant émis le journal)
client_ip principal.ip Adresse IP source du client
client_port principal.port Port source (s'il est inclus dans le modèle)
server_ip target.ip Adresse IP de destination (membre du pool)
server_port target.port Port de destination (membre du pool)
http_method network.http.method Méthode de requête HTTP
http_uri network.http.url URI de la requête HTTP (y compris le chemin d'accès/la requête, le cas échéant)
http_host network.http.host En-tête HTTP de l'hôte
http_statcode network.http.response_code Code d'état de réponse HTTP
user_agent network.http.user_agent En-tête User-Agent
virtual_name target.application Nom du serveur virtuel F5
event_timestamp metadata.event_timestamp Heure de l'événement sur l'appareil
event_source metadata.product_event_type Tag de type d'événement (request_logging, response_logging)

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.