Collecter les journaux Radware WAF

Compatible avec :

Ce document explique comment collecter les journaux Radware Web Application Firewall (WAF) à l'aide d'un redirecteur Google Security Operations. Le parseur extrait les champs des messages syslog du pare-feu Radware à l'aide de modèles grok et les mappe à l'UDM. Il gère différents formats de journaux, remplit les champs de résultats de sécurité en fonction des détails de l'attaque et catégorise les événements en fonction de attack_id, enrichissant ainsi les données pour l'ingestion Google SecOps.

Avant de commencer

  • Assurez-vous de disposer d'une instance Google Security Operations.
  • Assurez-vous d'utiliser Windows 2016 ou une version ultérieure, ou un hôte Linux avec systemd.
  • Si vous exécutez le programme derrière un proxy, assurez-vous que les ports du pare-feu sont ouverts.
  • Assurez-vous que Radware Vision Reporter est installé et configuré sur AppWall.
  • Assurez-vous de disposer d'un accès privilégié au portail Radware WAF.

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 l'agent 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

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
    

Ressources d'installation supplémentaires

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

  1. Accédez au fichier de configuration :

    • Recherchez le fichier config.yaml. En règle générale, il se trouve dans le répertoire /etc/bindplane-agent/ sous Linux ou dans le répertoire d'installation sous Windows.
    • 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:
      udplog:
        # Replace with your specific IP and port
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Path to the ingestion authentication file
        creds: '/path/to/your/ingestion-auth.json'
        # Your Chronicle customer ID
        customer_id: 'your_customer_id'
        endpoint: malachiteingestion-pa.googleapis.com
        ingestion_labels:
          log_type: SYSLOG
          namespace: radware_waf
          raw_log_field: body
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
  • Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.
  • Remplacez <customer_id> par le numéro client réel.
  • Mettez à jour /path/to/ingestion-authentication-file.json en indiquant le chemin d'accès où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification pour l'ingestion Google SecOps.

Redémarrer 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 Radware AppWall WAF

Pour effectuer les tâches, effectuez les trois configurations suivantes :

  • Configurez AppWall en mode autonome à l'aide de Vision Reporter.
  • Configurez l'AppWall intégré dans Alteon à l'aide de Vision Reporter (incluez les données de requête HTTP dans les détails de l'événement).
  • Configurez Vision Reporter pour envoyer des journaux à l'agent Bindplane.

Configurer AppWall Standalone à l'aide de Vision Reporter

  1. Connectez-vous à la console Radware WAF à l'aide d'identifiants administrateur.
  2. Accédez à Configuration > Services > Vision Support > Vision Reporter.
    • Activez la journalisation en sélectionnant la case à cocher Envoyer les événements à Vision Reporter.
    • Adresse Vision Reporter : saisissez l'adresse IP de Vision Reporter.
    • Port : saisissez le numéro de port.
    • Protocole : sélectionnez UDP ou TCP.
    • Pour inclure les données de réponse HTTP, cochez la case Envoyer les réponses à Vision Reporter.
  3. Cliquez sur Enregistrer.

Configurer Integrated AppWall dans Alteon à l'aide de Vision Reporter (méthode recommandée pour la journalisation des données de requête HTTP)

  1. Connectez-vous à la console Radware WAF à l'aide d'identifiants administrateur.
  2. Accédez à Configuration > Sécurité > Sécurité Web > Vision Reporter.
    • Activez la journalisation en sélectionnant la case à cocher Envoyer les événements à Vision Reporter.
    • Cochez la case Envoyer les événements au rapporteur Vision.
    • Adresse IP de Vision Reporter : saisissez l'adresse IP de Vision Reporter.
    • Port : saisissez un numéro de port élevé.
    • Sécurité : sélectionnez UDP ou TCP.
  3. Cliquez sur Enregistrer.

Configurer Vision Reporter pour envoyer des journaux à l'agent Bindplane

  1. Connectez-vous à la console d'administration Radware Vision Reporter.
  2. Accédez à Configuration > SIEM et journalisation externe.
  3. Cliquez sur + Ajouter une destination SIEM.
    • Nom de la destination : saisissez Google SecOps Forwarder.
    • Type d'exportation des journaux : sélectionnez Syslog (format RFC 5424) pour la journalisation structurée.
    • Dans Adresse IP du serveur Syslog distant, saisissez l'adresse IP de l'agent Bindplane.
    • Port : saisissez un port sur lequel l'agent Bindplane écoute (par exemple, 514 pour UDP ou 601 pour TCP).
    • Protocole : sélectionnez UDP ou TCP en fonction de la configuration Bindplane.
  4. Cliquez sur Enregistrer.

Table de mappage UDM

Champ de journal Mappage UDM Logique
action event.idm.read_only_udm.security_result.action Si action est défini sur "drop", définissez-le sur "BLOCK".
attack_desc event.idm.read_only_udm.security_result.description Mappé directement.
attack_type event.idm.read_only_udm.security_result.threat_name Mappé directement.
command event.idm.read_only_udm.principal.process.command_line Mappé directement.
description event.idm.read_only_udm.security_result.description Mappé directement si attack_desc est vide.
dst_ip event.idm.read_only_udm.target.ip Mappé directement.
dst_port event.idm.read_only_udm.target.port Mappé directement, converti en entier. Définissez sur "MACHINE" si username est présent et command ne l'est pas. Copié à partir du champ collection_time du journal brut. La valeur par défaut est "NETWORK_CONNECTION". Définissez sur "GENERIC_EVENT" si src_ip ou dst_ip sont manquants. Définissez sur "USER_LOGIN" si username est présent et command est absent. Peut être remplacé par une logique basée sur attack_id. Définissez-le sur "RADWARE_FIREWALL". Mappé à partir du champ product. Définissez-le sur "Radware".
intermediary_ip event.idm.read_only_udm.intermediary.ip Mappé directement.
obv_ip event.idm.read_only_udm.observer.ip Mappé directement.
product event.idm.read_only_udm.metadata.product_name Mappé directement.
protocol_number_src event.idm.read_only_udm.network.ip_protocol Analysé à l'aide de la logique parse_ip_protocol.include.
rule_id event.idm.read_only_udm.security_result.rule_id Mappé directement. Dérivé de la valeur de attack_id. Les valeurs incluent "ACL_VIOLATION", "NETWORK_DENIAL_OF_SERVICE", "NETWORK_SUSPICIOUS" et "NETWORK_RECON".
src_ip event.idm.read_only_udm.principal.ip Mappé directement.
src_port event.idm.read_only_udm.principal.port Mappé directement, converti en entier.
ts event.idm.read_only_udm.metadata.event_timestamp Analysé et converti en code temporel.
username event.idm.read_only_udm.target.user.userid Mappé directement si command n'est pas présent.
username event.idm.read_only_udm.principal.user.userid Mappé directement si command est présent.

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