Collecter les journaux du WAF Radware

Compatible avec:

Ce document explique comment collecter les journaux du pare-feu d'application Web (WAF) Radware à l'aide d'un transfert Google Security Operations. L'analyseur extrait des champs des messages syslog du pare-feu Radware à l'aide de modèles Grok et les met en correspondance avec l'UDM. Il gère différents formats de journaux, renseigne 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, ce qui enrichit les données pour l'ingestion dans 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 l'application 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 du pare-feu d'application Web Radware.

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 où l'agent Bindplane sera installé.

Obtenir le numéro client Google SecOps

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

Installer l'agent Bindplane

Installation de Windows

  1. Ouvrez l'invite de commande 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 des 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 qu'il ingère les journaux Syslog et les envoie à 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 (nano, vi ou Bloc-notes, par exemple).
  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 dans votre infrastructure si nécessaire.
  • Remplacez <customer_id> par le numéro client réel.
  • Remplacez /path/to/ingestion-authentication-file.json par le chemin d'accès où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification d'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 le WAF Radware AppWall

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

  • Configurez AppWall de manière 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).
  • Configurer 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 > Assistance Vision > Vision Reporter.
    • Activez la journalisation en cochant la case Envoyer des événements à Vision Reporter.
    • Adresse du Vision Reporter: saisissez l'adresse IP du 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 l'AppWall intégré dans Alteon à l'aide de Vision Reporter (recommandé pour la journalisation des données de requête HTTP)

  1. Connectez-vous à la console du WAF Radware à l'aide d'identifiants administrateur.
  2. Accédez à Configuration > Sécurité > Sécurité Web > Vision Reporter.
    • Activez la journalisation en cochant la case Envoyer des événements à Vision Reporter.
    • Cochez la case Envoyer des événements à Vision Reporter.
    • 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 de Radware Vision Reporter.
  2. Accédez à Configuration > SIEM et journalisation externe.
  3. Cliquez sur + Ajouter une destination SIEM.
    • Destination Name (Nom de la destination) : saisissez Google SecOps Forwarder.
    • Type d'exportation des journaux: sélectionnez Syslog (format RFC 5424) pour la journalisation structurée.
    • Adresse IP du serveur Syslog distant : saisissez l'adresse IP de l'agent Bindplane.
    • Port: saisissez le port sur lequel l'agent Bindplane écoute (par exemple, 514 pour UDP, 601 pour TCP).
    • Protocole: sélectionnez UDP ou TCP en fonction de la configuration de Bindplane.
  4. Cliquez sur Enregistrer.

Tableau de mappage UDM

Champ de journal Mappage UDM Logique
action event.idm.read_only_udm.security_result.action Si action est "drop", définissez-le sur "BLOCK".
attack_desc event.idm.read_only_udm.security_result.description Mappage direct.
attack_type event.idm.read_only_udm.security_result.threat_name Mappage direct.
command event.idm.read_only_udm.principal.process.command_line Mappage direct.
description event.idm.read_only_udm.security_result.description Mappage direct si attack_desc est vide.
dst_ip event.idm.read_only_udm.target.ip Mappage direct.
dst_port event.idm.read_only_udm.target.port Mappé directement, converti en entier. Définissez cette valeur sur "MACHINE" si username est présent et que command ne l'est pas. Copié à partir du champ collection_time du journal brut. La valeur par défaut est "NETWORK_CONNECTION". Défini sur "GENERIC_EVENT" si src_ip ou dst_ip sont manquants. Définissez-le sur "USER_LOGIN" si username est présent et que command ne l'est pas. Peut être remplacé par une logique basée sur attack_id. Défini sur "RADWARE_FIREWALL". Mappé à partir du champ product. Définissez-le sur "Radware".
intermediary_ip event.idm.read_only_udm.intermediary.ip Mappage direct.
obv_ip event.idm.read_only_udm.observer.ip Mappage direct.
product event.idm.read_only_udm.metadata.product_name Mappage direct.
protocol_number_src event.idm.read_only_udm.network.ip_protocol Analyse à l'aide de la logique parse_ip_protocol.include.
rule_id event.idm.read_only_udm.security_result.rule_id Mappage direct. Dérivé en fonction 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 Mappage direct.
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 Mappage direct si command n'est pas présent.
username event.idm.read_only_udm.principal.user.userid Mappé directement si command est présent.

Modifications

2023-12-08

  • Modification d'un schéma Grok pour analyser correctement "src_ip".

2023-11-23

  • Ajout de nouveaux modèles Grok pour prendre en charge le nouveau format non analysé des SYSLOGS.
  • Prise en charge du nouveau format de date "ts".
  • Initialisation de "attack_type", "attack_desc", "protocol_number_src", "security_result", "action", "product" à "null".
  • Ajout d'une vérification de valeur nulle pour "product" avant le mappage sur "event.idm.read_only_udm.metadata.product_name".
  • Ajout d'une vérification de valeur nulle pour "rule_id" avant le mappage sur "event.idm.read_only_udm.security_result.rule_id".
  • Ajout d'une vérification de valeur nulle pour "attack_desc" avant le mappage sur "event.idm.read_only_udm.security_result.description".
  • Ajout d'une vérification de valeur nulle pour "attack_type" avant le mappage sur "event.idm.read_only_udm.security_result.threat_name".
  • "username" a été mappé sur "event.idm.read_only_udm.principal.user.userid".
  • "command" a été mappé sur "event.idm.read_only_udm.principal.process.command_line"
  • "description" a été mappé sur "event.idm.read_only_udm.security_result.description".
  • Mappage de "intermediary_ip" sur "event.idm.read_only_udm.intermediary.ip".

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