Collecter les journaux Juniper Junos

Compatible avec :

Ce document explique comment collecter les journaux Juniper Junos à l'aide d'un redirecteur Google Security Operations.

Pour en savoir plus, consultez Ingestion de données dans Google Security Operations.

Un libellé d'ingestion identifie l'analyseur qui normalise les données de journaux brutes au format UDM structuré. Les informations de ce document s'appliquent au parseur avec le libellé d'ingestion JUNIPER_JUNOS.

Configurer la journalisation structurée pour un appareil Juniper Networks SRX

Le format de journal structuré extrait des informations des messages de journal. Le format du journal est conforme au protocole Syslog.

  1. Connectez-vous à la CLI Juniper SRX à l'aide de SSH et de son adresse IP de gestion.
  2. Saisissez CLI à l'invite du shell, puis appuyez sur Entrée.
  3. Saisissez configure, puis appuyez sur Entrée pour accéder au mode de configuration de l'appareil.
  4. Saisissez les coordonnées ou le point de référence du client.
  5. Pour mapper les champs au compte utilisateur, exécutez les commandes suivantes :

       set system syslog host FORWARDER_IP_ADDRESS any info
    
       set system syslog host FORWARDER_IP_ADDRESS structured-data
    
    

    Remplacez FORWARDER_IP_ADDRESS par l'adresse IP du redirecteur Google Security Operations.

  6. Pour activer la journalisation structurée pour les journaux de sécurité, utilisez les commandes suivantes :

       set security log mode stream
    
       set security log source-address SRC_IP_ADDRESS
    
       set security log stream SYSLOG_STREAM_NAME host FORWARDER_IP_ADDRESS
    
       set security log stream SYSLOG_STREAM_NAME format sd-syslog
    
    

    Remplacez les éléments suivants :

    • SRC_IP_ADDRESS : adresse IP de l'appareil Juniper SRX.

    • SYSLOG_STREAM_NAME : nom attribué au serveur syslog.

    • FORWARDER_IP_ADDRESS : adresse IP du redirecteur Google Security Operations.

  7. Assurez-vous que la journalisation est activée pour toutes les règles de sécurité. Pour activer la journalisation, exécutez les commandes suivantes :

       set security policies from-zone <zone-name1> to-zone <zone-name2> policy <policy-name> then log session-close
    
       set security policies from-zone <zone-name1> to-zone <zone-name2> policy <policy-name> then log session-init
    
    
  8. Configurez le nom d'hôte sur l'appareil à l'aide de la commande suivante :

       set system host-name HOSTNAME
    
    

    Remplacez HOSTNAME par l'équipement Juniper Networks SRX attribué.

  9. Saisissez commit pour enregistrer les commandes exécutées dans la configuration.

Configurer le redirecteur Google Security Operations et Syslog pour ingérer les journaux Juniper Junos

  1. Sélectionnez Paramètres SIEM > Transmetteurs.
  2. Cliquez sur Ajouter un nouveau transfert.
  3. Saisissez un nom unique dans le champ Nom du transitaire.
  4. Cliquez sur Envoyer, puis sur Confirmer. Le redirecteur est ajouté et la fenêtre Ajouter une configuration de collecteur s'affiche.
  5. Dans le champ Nom du collecteur, saisissez un nom unique pour le collecteur.
  6. Sélectionnez Juniper Junos comme type de journal.
  7. Sélectionnez Syslog comme type de collecteur.
  8. Configurez les paramètres d'entrée suivants :
    • Protocole : spécifiez le protocole UDP.
    • Adresse : spécifiez l'adresse IP ou le nom d'hôte de la cible où réside le collecteur et où il écoute les données syslog.
    • Port : spécifiez le port cible sur lequel le collecteur réside et écoute les données syslog.
  9. Cliquez sur Envoyer.

Pour en savoir plus sur les redirecteurs Google Security Operations, consultez la documentation sur les redirecteurs Google Security Operations. Pour en savoir plus sur les exigences de chaque type de redirecteur, consultez Configuration des redirecteurs par type. Si vous rencontrez des problèmes lors de la création de redirecteurs, contactez l'assistance Google Security Operations.

Référence du mappage de champs

Cet analyseur extrait les champs des messages syslog Juniper JUNOS, en gérant les formats avec et sans paires clé-valeur. Il utilise des modèles Grok pour faire correspondre différentes structures de messages, y compris les journaux de pare-feu, l'activité SSH et les exécutions de commandes, puis mappe les champs extraits à l'UDM. L'analyseur gère également les journaux au format CEF à l'aide d'un fichier d'inclusion et effectue des actions spécifiques en fonction du contenu du message, comme la fusion des adresses IP et des noms d'utilisateur dans les champs UDM appropriés.

Table de mappage UDM

Champ de journal Mappage UDM Logique
DPT target.port Port de destination de la connexion réseau, converti en entier.
DST target.ip Adresse IP de destination de la connexion réseau.
FLAG additional.fields{}.key : "FLAG", additional.fields{}.value.string_value : valeur de FLAG Option TCP associée à la connexion réseau.
ID additional.fields{}.key : "ID", additional.fields{}.value.string_value : valeur de ID Champ d'identification de l'adresse IP.
IN additional.fields{}.key : "IN", additional.fields{}.value.string_value : valeur de IN Interface réseau entrante.
LEN additional.fields{}.key : "LEN", additional.fields{}.value.string_value : valeur de LEN Longueur du paquet IP.
MAC principal.mac Adresse MAC extraite du champ MAC.
OUT additional.fields{}.key : "OUT", additional.fields{}.value.string_value : valeur de OUT Interface réseau sortante.
PREC additional.fields{}.key : "PREC", additional.fields{}.value.string_value : valeur de PREC Champ "Précédence" dans l'en-tête IP.
PROTO network.ip_protocol Protocole IP utilisé dans la connexion réseau.
RES additional.fields{}.key : "RES", additional.fields{}.value.string_value : valeur de RES Champ réservé dans l'en-tête TCP.
SPT principal.port Port source de la connexion réseau, converti en entier.
SRC principal.ip Adresse IP source de la connexion réseau.
TOS additional.fields{}.key : "TOS", additional.fields{}.value.string_value : valeur de TOS Champ "Type de service" dans l'en-tête IP.
TTL network.dns.additional.ttl Valeur Time To Live, convertie en entier non signé.
URGP additional.fields{}.key : "URGP", additional.fields{}.value.string_value : valeur de URGP Champ de pointeur urgent dans l'en-tête TCP.
WINDOW additional.fields{}.key : "WINDOW_SIZE", additional.fields{}.value.string_value : valeur de WINDOW Taille de la fenêtre TCP.
action security_result.action Action effectuée par le pare-feu, extraite du message CEF.
agt observer.ip Adresse IP de l'agent.
amac target.mac Adresse MAC de la cible, convertie en minuscules et dont les traits d'union sont remplacés par des deux-points.
app target.application Application concernée par l'événement.
artz observer.zone Fuseau horaire de l'observateur.
atz target.location.country_or_region Fuseau horaire cible.
categoryBehavior additional.fields{}.key : "Comportement de catégorie", additional.fields{}.value.string_value : valeur de categoryBehavior sans les barres obliques Comportement de la catégorie.
categoryDeviceGroup additional.fields{}.key : "Category Device Group", additional.fields{}.value.string_value : valeur de categoryDeviceGroup sans les barres obliques Groupe d'appareils de catégorie.
categoryObject additional.fields{}.key : "Objet de catégorie", additional.fields{}.value.string_value : valeur de categoryObject sans les barres obliques Objet de catégorie.
categoryOutcome additional.fields{}.key : "Category Outcome", additional.fields{}.value.string_value : valeur de categoryOutcome sans les barres obliques Résultat pour la catégorie.
categorySignificance additional.fields{}.key : "category Significance", additional.fields{}.value.string_value : valeur de categorySignificance Importance de la catégorie.
command target.process.command_line La commande exécutée.
cs1Label additional.fields{}.key : cs1Label, additional.fields{}.value.string_value : valeur du champ CEF correspondant Libellé et valeur du champ de chaîne personnalisée 1 du message CEF.
cs2Label additional.fields{}.key : cs2Label, additional.fields{}.value.string_value : valeur du champ CEF correspondant Libellé et valeur du champ de chaîne personnalisée 2 du message CEF.
cs3Label additional.fields{}.key : cs3Label, additional.fields{}.value.string_value : valeur du champ CEF correspondant Libellé et valeur du champ de chaîne personnalisé 3 du message CEF.
cs4Label additional.fields{}.key : cs4Label, additional.fields{}.value.string_value : valeur du champ CEF correspondant Libellé et valeur du champ de chaîne personnalisé 4 du message CEF.
cs5Label additional.fields{}.key : cs5Label, additional.fields{}.value.string_value : valeur du champ CEF correspondant Libellé et valeur du champ de chaîne personnalisée 5 du message CEF.
cs6Label additional.fields{}.key : cs6Label, additional.fields{}.value.string_value : valeur du champ CEF correspondant Libellé et valeur du champ de chaîne personnalisé 6 du message CEF.
dhost target.hostname Nom d'hôte de destination.
deviceCustomString1 additional.fields{}.key : cs1Label, additional.fields{}.value.string_value : valeur de deviceCustomString1 Chaîne personnalisée de l'appareil 1.
deviceCustomString2 additional.fields{}.key : cs2Label, additional.fields{}.value.string_value : valeur de deviceCustomString2 Chaîne personnalisée de l'appareil 2.
deviceCustomString3 additional.fields{}.key : cs3Label, additional.fields{}.value.string_value : valeur de deviceCustomString3 Chaîne personnalisée de l'appareil 3.
deviceCustomString4 additional.fields{}.key : cs4Label, additional.fields{}.value.string_value : valeur de deviceCustomString4 Chaîne personnalisée de l'appareil 4.
deviceCustomString5 additional.fields{}.key : cs5Label, additional.fields{}.value.string_value : valeur de deviceCustomString5 Chaîne personnalisée de l'appareil 5.
deviceCustomString6 additional.fields{}.key : cs6Label, additional.fields{}.value.string_value : valeur de deviceCustomString6 Chaîne personnalisée de l'appareil 6.
deviceDirection network.direction Sens du trafic réseau.
deviceEventClassId additional.fields{}.key : "eventId", additional.fields{}.value.string_value : valeur de deviceEventClassId ID de la classe d'événement de l'appareil.
deviceFacility observer.product.subproduct L'établissement de l'appareil.
deviceProcessName about.process.command_line Nom du processus de l'appareil.
deviceSeverity security_result.severity Gravité de l'appareil.
deviceTimeZone observer.zone Fuseau horaire de l'appareil.
deviceVendor metadata.vendor_name Fournisseur de l'appareil.
deviceVersion metadata.product_version Version de l'appareil.
dpt target.port Port de destination.
dst target.ip Adresse IP de destination.
duser target.user.user_display_name L'utilisateur de destination.
eventId additional.fields{}.key : "eventId", additional.fields{}.value.string_value : valeur de eventId ID de l'événement.
event_time metadata.event_timestamp Heure à laquelle l'événement s'est produit, analysée à partir du message.
firewall_action security_result.action_details Action de pare-feu effectuée.
host principal.hostname, intermediary.hostname Nom d'hôte de l'appareil qui génère le journal. Utilisé à la fois pour le principal et l'intermédiaire dans différents cas.
msg security_result.summary Message associé à l'événement, utilisé comme résumé du résultat de sécurité.
name metadata.product_event_type Nom de l'événement.
process_name additional.fields{}.key : "process_name", additional.fields{}.value.string_value : valeur de process_name Nom du processus.
p_id target.process.pid ID du processus, converti en chaîne.
sha256 principal.process.file.sha256 Hachage SHA256 d'un fichier, extrait des informations de clé SSH2.
shost principal.hostname Nom d'hôte source.
source_address principal.ip Adresse IP source.
source_port principal.port Port source, converti en entier.
src principal.ip Adresse IP source.
src_ip principal.ip Adresse IP source.
src_port principal.port Port source, converti en entier.
ssh2 security_result.detection_fields{}.key : "ssh2", security_result.detection_fields{}.value : valeur de ssh2 Informations sur la clé SSH2.
subtype metadata.product_event_type Sous-type de l'événement.
task_summary security_result.description Résumé de la tâche, utilisé comme description du résultat de sécurité.
timestamp metadata.event_timestamp Horodatage de l'événement.
user target.user.userid Utilisateur associé à l'événement.
username principal.user.userid Nom d'utilisateur associé à l'événement.
user_name principal.user.userid Nom d'utilisateur.
metadata.vendor_name Codé en dur sur "Juniper Firewall". Codé en dur sur "Juniper Firewall". Codé en dur sur "JUNIPER_JUNOS". Déterminé par la logique de l'analyseur en fonction du contenu du journal. La valeur par défaut est "STATUS_UPDATE" s'il ne s'agit pas d'un message CEF et qu'aucun autre type d'événement spécifique n'est identifié. Définissez-le sur "NETWORK_HTTP" pour les messages CEF. Si aucun champ desc n'est présent, ce champ est renseigné avec le message_description extrait du message de journal brut.

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