Collecter les journaux du WAF Radware
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
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Agents de collecte.
- 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
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres du SIEM > Profil.
- Copiez et sauvegardez le numéro client dans la section Détails de l'organisation.
Installer l'agent Bindplane
Installation de Windows
- Ouvrez l'invite de commande ou PowerShell en tant qu'administrateur.
Exécutez la commande suivante :
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Installation de Linux
- Ouvrez un terminal avec des droits root ou sudo.
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
- Pour plus d'options d'installation, consultez ce guide d'installation.
Configurer l'agent Bindplane pour qu'il ingère les journaux Syslog et les envoie à Google SecOps
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).
- Recherchez le fichier
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
- Connectez-vous à la console Radware WAF à l'aide d'identifiants administrateur.
- 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.
- 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)
- Connectez-vous à la console du WAF Radware à l'aide d'identifiants administrateur.
- 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.
- Cliquez sur Enregistrer.
Configurer Vision Reporter pour envoyer des journaux à l'agent Bindplane
- Connectez-vous à la console d'administration de Radware Vision Reporter.
- Accédez à Configuration > SIEM et journalisation externe.
- 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.
- 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.