Collecter les journaux du pare-feu Juniper SRX Series
Ce document explique comment ingérer les journaux du pare-feu Juniper SRX Series dans Google Security Operations à l'aide de Bindplane.
Les pare-feu de la gamme SRX de Juniper sont des dispositifs de sécurité réseau hautes performances qui offrent des fonctionnalités de pare-feu nouvelle génération (NGFW), y compris l'inspection avec état, la détection et la prévention des intrusions (IDP), la sécurité des applications et le VPN. Les pare-feu SRX génèrent des messages syslog pour les événements liés au trafic, à la sécurité, au système et aux sessions. Ces messages peuvent être transférés vers des plates-formes SIEM externes pour une surveillance centralisée de la sécurité.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps.
- Windows Server 2016 ou version ultérieure, ou hôte Linux avec
systemd. - Connectivité réseau entre l'agent Bindplane et le pare-feu Juniper SRX.
- 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 privilégié au pare-feu Juniper SRX (accès root ou super-utilisateur via J-Web ou CLI).
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 sur lequel Bindplane sera installé.
Obtenir l'ID client Google SecOps
- Connectez-vous à la console Google SecOps.
- Accédez à Paramètres SIEM> Profil.
- 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
- Ouvrez l'invite de commandes 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](https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi)" /quietAttendez la fin de l'installation.
Vérifiez l'installation en exécutant la commande suivante :
sc query observiq-otel-collector
Le service doit être indiqué comme RUNNING (EN COURS D'EXÉCUTION).
Installation de Linux
- Ouvrez un terminal avec les 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](https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh))" install_unix.shAttendez la fin de l'installation.
Vérifiez l'installation en exécutant la commande suivante :
sudo systemctl status observiq-otel-collector
Le service doit être indiqué comme actif (en cours d'exécution).
Ressources d'installation supplémentaires
Pour obtenir d'autres options d'installation et de dépannage, consultez le guide d'installation de l'agent Bindplane.
Configurer l'agent Bindplane pour ingérer les journaux syslog et les envoyer à Google SecOps
Localiser le fichier de configuration
Linux :
sudo nano /opt/observiq-otel-collector/config.yamlWindows :
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Modifiez le fichier de configuration
Remplacez l'intégralité du contenu de
config.yamlpar la configuration suivante :receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/juniper_firewall: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'your-customer-id-here' endpoint: malachiteingestion-pa.googleapis.com log_type: JUNIPER_FIREWALL raw_log_field: body ingestion_labels: env: production service: pipelines: logs/juniper_to_chronicle: receivers: - udplog exporters: - chronicle/juniper_firewall
Paramètres de configuration
Remplacez les espaces réservés suivants :
Configuration du récepteur :
listen_address: adresse IP et port à écouter. Utilisez0.0.0.0pour écouter sur toutes les interfaces. Le port514est le port syslog standard (nécessite des droits racine sur Linux). Utilisez1514pour les déploiements non root.
Configuration de l'exportateur :
creds_file_path: chemin d'accès complet au fichier d'authentification de l'ingestion :- Linux :
/etc/bindplane-agent/ingestion-auth.json - Windows :
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux :
customer_id: ID client Google SecOps.endpoint: URL du point de terminaison régional :- États-Unis :
malachiteingestion-pa.googleapis.com - Europe :
europe-malachiteingestion-pa.googleapis.com - Asie :
asia-southeast1-malachiteingestion-pa.googleapis.com - Pour obtenir la liste complète, consultez Points de terminaison régionaux.
- États-Unis :
ingestion_labels: libellés facultatifs au format YAML (par exemple,env: production).
Enregistrez le fichier de configuration.
- Après avoir modifié le fichier, enregistrez-le :
- Linux : appuyez sur
Ctrl+O, puis surEnter, puis surCtrl+X. - Windows : cliquez sur Fichier > Enregistrer.
- Linux : appuyez sur
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 observiq-otel-collectorVérifiez que le service est en cours d'exécution :
sudo systemctl status observiq-otel-collectorRecherchez les erreurs dans les journaux :
sudo journalctl -u observiq-otel-collector -f
Pour redémarrer l'agent Bindplane sous Windows :
Choisissez l'une des options suivantes :
- Invite de commandes ou PowerShell en tant qu'administrateur :
net stop observiq-otel-collector && net start observiq-otel-collector- Console Services :
- Appuyez sur
Win+R, saisissezservices.msc, puis appuyez sur Entrée. - Localisez observIQ OpenTelemetry Collector.
- Effectuez un clic droit, puis sélectionnez Redémarrer.
- Appuyez sur
Vérifiez que le service est en cours d'exécution :
sc query observiq-otel-collectorRecherchez les erreurs dans les journaux :
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Configurer le transfert syslog Juniper SRX
Configurez le pare-feu Juniper SRX pour transférer les messages syslog à l'agent Bindplane.
Utiliser l'interface J-Web
- Connectez-vous à l'interface J-Web de Juniper SRX.
- Accédez à Configurer > Propriétés système > Syslog.
- Cliquez sur Add (Ajouter) dans la section Host (Hôte) pour ajouter un serveur syslog.
- Fournissez les informations de configuration suivantes :
- Nom d'hôte : saisissez l'adresse IP de l'hôte de l'agent Bindplane (par exemple,
192.168.1.100). - Port : saisissez
514(ou le port configuré dans l'agent Bindplane). - Préfixe du journal : préfixe facultatif pour les messages du journal.
- Établissement : sélectionnez l'établissement et les niveaux de gravité à transférer :
- any : sélectionnez le niveau de gravité info ou supérieur.
- Nom d'hôte : saisissez l'adresse IP de l'hôte de l'agent Bindplane (par exemple,
- Dans le champ Adresse source, saisissez l'adresse IP de l'interface de gestion SRX (facultatif, mais recommandé pour une identification cohérente de la source).
- Cliquez sur OK pour enregistrer.
- Cliquez sur Valider pour appliquer la configuration.
Utiliser la CLI Junos
- Connectez-vous au Juniper SRX via SSH ou la console.
Passez en mode configuration :
configureConfigurez l'hôte syslog :
set system syslog host BINDPLANE_IP any info set system syslog host BINDPLANE_IP port 514 set system syslog host BINDPLANE_IP source-address SRX_MGMT_IP set system syslog host BINDPLANE_IP structured-dataRemplacez :
BINDPLANE_IP: adresse IP de l'hôte de l'agent Bindplane.SRX_MGMT_IP: adresse IP de gestion du pare-feu SRX.
Configurez le streaming des journaux de sécurité (pour les journaux de trafic et de session) :
set security log mode stream set security log source-address SRX_MGMT_IP set security log stream chronicle-stream host BINDPLANE_IP set security log stream chronicle-stream port 514 set security log stream chronicle-stream transport protocol udp set security log stream chronicle-stream format sd-syslog set security log stream chronicle-stream severity info set security log stream chronicle-stream category allRemplacez :
BINDPLANE_IP: adresse IP de l'hôte de l'agent Bindplane.SRX_MGMT_IP: adresse IP de gestion du pare-feu SRX.
Validez la configuration :
commitVérifiez la configuration syslog :
show system syslog show security log
Configurer des catégories de journaux spécifiques
Pour transférer des types de journaux spécifiques, configurez des installations individuelles :
set system syslog host BINDPLANE_IP firewall any set system syslog host BINDPLANE_IP authorization info set system syslog host BINDPLANE_IP daemon info set system syslog host BINDPLANE_IP kernel info set system syslog host BINDPLANE_IP interactive-commands info
Remplacez BINDPLANE_IP par l'adresse IP de l'hôte de l'agent Bindplane.
Vérifier le transfert Syslog
Sur le SRX, exécutez la commande suivante pour afficher les destinations syslog actives :
show system syslogGénérez du trafic de test via le pare-feu et vérifiez que les journaux s'affichent dans les journaux de l'agent Bindplane.
Pour en savoir plus, consultez la documentation sur la gamme Juniper SRX.
Table de mappage UDM
| Champ de journal | Mappage UDM | Logique |
|---|---|---|
source-address |
event.idm.read_only_udm.principal.ip |
Valeur extraite de source-address. |
source-port |
event.idm.read_only_udm.principal.port |
Valeur extraite de source-port et convertie en nombre entier. |
destination-address |
event.idm.read_only_udm.target.ip |
Valeur extraite de destination-address. |
destination-port |
event.idm.read_only_udm.target.port |
Valeur extraite de destination-port et convertie en nombre entier. |
protocol-id |
event.idm.read_only_udm.network.ip_protocol |
Mappé du numéro de protocole au nom (6=TCP, 17=UDP, 1=ICMP). |
policy-name |
event.idm.read_only_udm.security_result.rule_name |
Valeur extraite de policy-name. |
source-zone-name |
event.idm.read_only_udm.additional.fields |
Valeur extraite de source-zone-name et ajoutée avec la clé source-zone-name. |
destination-zone-name |
event.idm.read_only_udm.additional.fields |
Valeur extraite de destination-zone-name et ajoutée avec la clé destination-zone-name. |
service-name |
event.idm.read_only_udm.target.application |
Valeur extraite de service-name. |
application |
event.idm.read_only_udm.target.application |
Valeur extraite de application (si service-name n'est pas présent). |
nat-source-address |
event.idm.read_only_udm.principal.nat_ip |
Valeur extraite de nat-source-address. |
nat-source-port |
event.idm.read_only_udm.principal.nat_port |
Valeur extraite de nat-source-port et convertie en nombre entier. |
nat-destination-address |
event.idm.read_only_udm.target.nat_ip |
Valeur extraite de nat-destination-address. |
nat-destination-port |
event.idm.read_only_udm.target.nat_port |
Valeur extraite de nat-destination-port et convertie en nombre entier. |
bytes-from-client |
event.idm.read_only_udm.network.sent_bytes |
Valeur extraite de bytes-from-client et convertie en entier non signé. |
bytes-from-server |
event.idm.read_only_udm.network.received_bytes |
Valeur extraite de bytes-from-server et convertie en entier non signé. |
packets-from-client |
event.idm.read_only_udm.additional.fields |
Valeur extraite de packets-from-client et ajoutée avec la clé packets-from-client. |
packets-from-server |
event.idm.read_only_udm.additional.fields |
Valeur extraite de packets-from-server et ajoutée avec la clé packets-from-server. |
elapsed-time |
event.idm.read_only_udm.additional.fields |
Valeur extraite de elapsed-time et ajoutée avec la clé elapsed-time. |
username |
event.idm.read_only_udm.principal.user.userid |
Valeur extraite de username. |
reason |
event.idm.read_only_udm.security_result.description |
Valeur extraite de reason. |
action |
event.idm.read_only_udm.security_result.action |
Si action est accept ou permit, définissez la valeur sur ALLOW. Si action est deny, drop, reject ou close, définissez la valeur sur BLOCK. |
hostname |
event.idm.read_only_udm.principal.hostname |
Valeur extraite du champ "hostname" de syslog. |
attack-name |
event.idm.read_only_udm.security_result.threat_name |
Valeur extraite de attack-name (événements IDP). |
severity |
event.idm.read_only_udm.security_result.severity |
Mappé à partir de la chaîne de gravité : info à INFORMATIONAL, warning à MEDIUM, error ou major à ERROR, critical à CRITICAL. |
event.idm.read_only_udm.metadata.vendor_name |
Variable définie sur Juniper Networks. |
|
event.idm.read_only_udm.metadata.product_name |
Variable définie sur SRX Series Firewall. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.