Collecter les journaux des événements de menace Jamf

Compatible avec :

Ce document explique comment collecter les journaux des événements de menace Jamf en configurant un flux Google Security Operations, et comment les champs de journaux sont mappés aux champs du modèle de données unifié (UDM) Google SecOps. Ce document liste également la version des événements de menace Jamf compatible.

Pour en savoir plus, consultez Ingérer des données dans Google SecOps.

Un déploiement typique se compose de Jamf Threat Events et du flux Google SecOps configuré pour envoyer les journaux à Google SecOps. Chaque déploiement client peut être différent et plus complexe.

Le déploiement contient les composants suivants :

  • Jamf Protect : plate-forme Jamf Protect configurée avec Jamf Security Cloud, où vous collectez les journaux des menaces réseau.

  • Flux Google SecOps : flux Google SecOps qui récupère les journaux de Jamf Protect et les écrit dans Google SecOps.

  • Google SecOps : Google SecOps conserve et analyse les journaux de Jamf Protect.

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 JAMF_THREAT_EVENTS.

Avant de commencer

Assurez-vous de remplir les conditions préalables suivantes :

  • Une télémétrie Jamf Protect configurée
  • Jamf Protect version 4.0.0 ou ultérieure
  • Tous les systèmes de l'architecture de déploiement sont configurés avec le fuseau horaire UTC.

Configurer des flux

Il existe deux points d'entrée différents pour configurer les flux dans la plate-forme Google SecOps :

  • Paramètres SIEM> Flux
  • Plate-forme de contenu > Packs de contenu

Configurer des flux à partir de Paramètres SIEM > Flux

Vous pouvez utiliser Amazon S3 ou un webhook pour configurer un flux d'ingestion dans Google SecOps, mais nous vous recommandons d'utiliser Amazon S3.

Configurer un flux d'ingestion à l'aide d'Amazon S3

Pour configurer plusieurs flux pour différents types de journaux dans cette famille de produits, consultez Configurer des flux par produit.

Pour configurer un seul flux :

  1. Accédez à Paramètres SIEM> Flux.
  2. Cliquez sur Add New Feed (Ajouter un flux).
  3. Sur la page suivante, cliquez sur Configurer un seul flux.
  4. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux des événements de menace Jamf).
  5. Sélectionnez Amazon S3 comme Type de source.
  6. Pour créer un flux pour les événements de menace Jamf, sélectionnez Événements de menace Jamf Protect comme Type de journal.
  7. Cliquez sur Suivant.
  8. Enregistrez le flux, puis cliquez sur Envoyer.
  9. Copiez l'ID du flux à partir du nom du flux pour l'utiliser dans Jamf Threat Events.

Configurer un flux d'ingestion à l'aide d'un webhook

Pour les clients Google Security Operations Unified uniquement :
Pour configurer plusieurs flux pour différents types de journaux dans cette famille de produits, consultez Configurer plusieurs flux.

Pour tous les clients :
Pour configurer un seul flux, procédez comme suit :

  1. Accédez à Paramètres SIEM> Flux.
  2. Cliquez sur Add New Feed (Ajouter un flux).
  3. Sur la page suivante, cliquez sur Configurer un seul flux. Ignorez cette étape si vous utilisez la plate-forme autonome Google SecOps SIEM.
  4. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux des événements de menace Jamf).
  5. Dans la liste Type de source, sélectionnez Webhook.
  6. Pour créer un flux pour les événements de menace Jamf, sélectionnez Événements de menace Jamf Protect comme Type de journal.
  7. Cliquez sur Suivant.
  8. Facultatif : Spécifiez les valeurs des paramètres d'entrée suivants :
    • Délimiteur de fractionnement : délimiteur utilisé pour séparer les lignes de journaux, tel que \n.
    • Espace de noms de l'élément : espace de noms de l'élément.
    • Libellés d'ingestion : libellé à appliquer aux événements de ce flux.
  9. Cliquez sur Suivant.
  10. Vérifiez la configuration de votre nouveau flux sur l'écran Finaliser, puis cliquez sur Envoyer.
  11. Cliquez sur Générer une clé secrète pour générer une clé secrète permettant d'authentifier ce flux.
  12. Copiez et stockez la clé secrète, car vous ne pourrez plus l'afficher. Vous pouvez générer une nouvelle clé secrète, mais cela rendra l'ancienne obsolète.
  13. Dans l'onglet Détails, copiez l'URL du point de terminaison du flux à partir du champ Informations sur le point de terminaison. Vous devez spécifier cette URL de point de terminaison dans l'application Jamf Threat Events.
  14. Cliquez sur OK.
  15. Spécifiez l'URL du point de terminaison dans Jamf Threat Events.

Configurer des flux depuis le Hub de contenu

Indiquez les valeurs des champs suivants :

  • Région : région dans laquelle se trouve le bucket Amazon S3.
  • URI S3 : URI du bucket.
    • s3://your-log-bucket-name/
      • Remplacez your-log-bucket-name par le nom réel de votre bucket S3.
  • L'URI est : sélectionnez Répertoire ou Répertoire incluant les sous-répertoires, selon la structure de votre bucket.
  • Options de suppression de la source : sélectionnez l'option de suppression en fonction de vos préférences d'ingestion.
  • ID de clé d'accès : clé d'accès de l'utilisateur disposant des autorisations de lecture du bucket S3.

  • Clé d'accès secrète : clé secrète de l'utilisateur avec les autorisations nécessaires pour lire le bucket S3.

Options avancées

  • Nom du flux : valeur préremplie qui identifie le flux.
  • Type de source : méthode utilisée pour collecter les journaux dans Google SecOps.
  • Espace de noms de l'élément : espace de noms associé au flux.
  • Libellés d'ingestion : libellés appliqués à tous les événements de ce flux.

Créer une clé API pour un flux de webhook

  1. Accédez à la consoleGoogle Cloud  > Identifiants.

    Accéder à "Identifiants"

  2. Cliquez sur Créer des identifiants, puis sélectionnez Clé API.

  3. Restreignez l'accès à la clé API à l'API Google Security Operations.

Configurer Jamf Security Cloud pour un flux de webhook

  1. Dans l'application Jamf Security Cloud, accédez à Integrations (Intégrations) > Data Streams (Flux de données).
  2. Cliquez sur Nouvelle configuration.
  3. Sélectionnez Événements de menace > HTTP générique > Continuer.
  4. Dans la section HTTP Connection Configuration (Configuration de la connexion HTTP), sélectionnez https comme protocole par défaut.
  5. Saisissez le nom d'hôte de votre serveur dans le champ Nom d'hôte/Adresse IP du serveur, par exemple us-chronicle.googleapis.com.
  6. Saisissez le port de votre serveur dans le champ Port, par exemple 443.
  7. Saisissez votre point de terminaison Web dans le champ Point de terminaison. (Il s'agit du champ Informations sur le point de terminaison que vous avez copié lors de la configuration du flux de webhook.) (Il est déjà au format requis.)
  8. Dans la section En-têtes supplémentaires, saisissez les paramètres suivants, où chaque en-tête est un en-tête personnalisé sensible à la casse que vous saisissez manuellement :

    • Nom de l'en-tête : X-goog-api-key, puis cliquez sur Créer l'option X-goog-api-key.
    • Valeur d'insertion de l'en-tête : API_KEY (clé API permettant de s'authentifier auprès de Google SecOps)
    • Nom de l'en-tête : X-Webhook-Access-Key, puis cliquez sur Créer l'option X-Webhook-Access-Key.
    • Insérer la valeur de l'en-tête : SECRET (clé secrète que vous avez générée pour authentifier le flux)
  9. Cliquez sur Tester la configuration.

  10. Si l'opération réussit, cliquez sur Créer une configuration.

Pour en savoir plus sur les flux Google SecOps, consultez Créer et gérer des flux à l'aide de l'interface utilisateur de gestion des flux. Pour en savoir plus sur les exigences de chaque type de flux, consultez l'API de configuration des flux.

Formats de journaux des événements de menace Jamf compatibles

L'analyseur Jamf Threat Events est compatible avec les journaux au format JSON.

Exemples de journaux d'événements de menace Jamf compatibles

  • JSON

    {
      "event": {
        "metadata": {
          "schemaVersion": "1.0",
          "vendor": "Jamf",
          "product": "Threat Events Stream"
        },
        "timestamp": "2023-01-11T13:10:40.410Z",
        "alertId": "debd2e4b-9da1-454e-952d-18a00b42ffce",
        "account": {
          "customerId": "dummycustomerid",
          "parentId": "dummyparentid",
          "name": "Jamf Internal Test Accounts (root) - Jamf - CE Security Team"
        },
        "device": {
          "deviceId": "e9671102-5ccf-4e66-a6b3-b117ba257d5f",
          "os": "UNKNOWN 13.2.1",
          "deviceName": "Mac (13.2.1)",
          "userDeviceName": "darrow",
          "externalId": "0c221ae4-50af-5e39-8275-4424cc87ab8e"
        },
        "eventType": {
          "id": "303",
          "description": "Risky Host/Domain - Malware",
          "name": "ACCESS_BAD_HOST"
        },
        "app": {
          "id": "ru.freeapps.calc",
          "name": "MyFreeCalculator",
          "version": "10.4",
          "sha1": "c3499c2729730a7f807efb8676a92dcb6f8a3f8f",
          "sha256": "50d858e0985ecc7f60418aaf0cc5ab587f42c2570a884095a9e8ccacd0f6545"
        },
        "destination": {
          "name": "dummy.domain.org",
          "ip": "0000:1111:2222:3333:4444:5",
          "port": "80"
        },
        "source": {
          "ip": "198.51.100.1",
          "port": "243"
        },
        "location": "GB",
        "accessPoint": null,
        "accessPointBssid": "23:8f:cf:00:9d:23",
        "severity": 8,
        "user": {
          "email": "test.user@domain.io",
          "name": "Test User"
        },
        "eventUrl": "dummy.domain.com",
        "action": "Blocked"
      }
    }
    

Référence du mappage de champs

Le tableau suivant explique comment l'analyseur Google SecOps mappe les champs des journaux Jamf Threat Events avec les champs du modèle de données unifié (UDM) Google SecOps.

Référence du mappage des champs : identifiant d'événement vers type d'événement

Le tableau suivant liste les types de journaux JAMF_THREAT_EVENTS et les types d'événements UDM correspondants.

Event Identifier Event Type Security Category
MALICIOUS_APP_IN_INVENTORY SCAN_UNCATEGORIZED SOFTWARE_MALICIOUS, SOFTWARE_PUA
ADWARE_APP_IN_INVENTORY SCAN_UNCATEGORIZED SOFTWARE_MALICIOUS, SOFTWARE_PUA
BANKER_MALWARE_APP_IN_INVENTORY SCAN_UNCATEGORIZED SOFTWARE_MALICIOUS, SOFTWARE_PUA
POTENTIALLY_UNWANTED_APP_IN_INVENTORY SCAN_UNCATEGORIZED SOFTWARE_MALICIOUS, SOFTWARE_PUA
RANSOMWARE_APP_IN_INVENTORY SCAN_UNCATEGORIZED SOFTWARE_MALICIOUS, SOFTWARE_PUA
ROOTING_MALWARE_APP_IN_INVENTORY SCAN_UNCATEGORIZED SOFTWARE_MALICIOUS, SOFTWARE_PUA
SMS_MALWARE_APP_IN_INVENTORY SCAN_UNCATEGORIZED SOFTWARE_MALICIOUS, SOFTWARE_PUA
SPYWARE_APP_IN_INVENTORY SCAN_UNCATEGORIZED SOFTWARE_MALICIOUS, SOFTWARE_PUA
TROJAN_MALWARE_APP_IN_INVENTORY SCAN_UNCATEGORIZED SOFTWARE_MALICIOUS, SOFTWARE_PUA
THIRD_PARTY_APP_STORES_IN_INVENTORY SCAN_UNCATEGORIZED SOFTWARE_MALICIOUS, SOFTWARE_PUA
ADMIN_APP_IN_INVENTORY SCAN_UNCATEGORIZED SOFTWARE_MALICIOUS, SOFTWARE_PUA
SIDE_LOADED_APP_IN_INVENTORY SCAN_UNCATEGORIZED SOFTWARE_MALICIOUS, SOFTWARE_PUA
VULNERABLE_APP_IN_INVENTORY SCAN_UNCATEGORIZED SOFTWARE_MALICIOUS, SOFTWARE_PUA
SSL_TRUST_COMPROMISE SCAN_NETWORK NETWORK_SUSPICIOUS
JAILBREAK SCAN_UNCATEGORIZED EXPLOIT
IOS_PROFILE SCAN_UNCATEGORIZED
OUTDATED_OS SCAN_VULN_HOST SOFTWARE_MALICIOUS
OUTDATED_OS_LOW SCAN_VULN_HOST SOFTWARE_MALICIOUS
OUT_OF_DATE_OS SCAN_UNCATEGORIZED
LOCK_SCREEN_DISABLED SCAN_UNCATEGORIZED
STORAGE_ENCRYPTION_DISABLED SCAN_UNCATEGORIZED
UNKNOWN_SOURCES_ENABLED SCAN_UNCATEGORIZED
DEVELOPER_MODE_ENABLED SCAN_UNCATEGORIZED
USB_DEBUGGING_ENABLED SCAN_UNCATEGORIZED
USB_APP_VERIFICATION_DISABLED SCAN_UNCATEGORIZED
FIREWALL_DISABLED SCAN_UNCATEGORIZED POLICY_VIOLATION
USER_PASSWORD_DISABLED SCAN_UNCATEGORIZED
ANTIVIRUS_DISABLED SCAN_UNCATEGORIZED
APP_INACTIVITY SCAN_UNCATEGORIZED
MISSING_ANDROID_SECURITY_PATCHES SCAN_UNCATEGORIZED
ACCESS_SPAM_HOST SCAN_HOST NETWORK_SUSPICIOUS
ACCESS_PHISHING_HOST SCAN_HOST PHISHING
ACCESS_BAD_HOST SCAN_HOST NETWORK_MALICIOUS
RISKY_APP_DOWNLOAD SCAN_UNCATEGORIZED SOFTWARE_SUSPICIOUS
ACCESS_CRYPTOJACKING_HOST SCAN_HOST NETWORK_SUSPICIOUS
SSL_MITM_TRUSTED_VALID_CERT SCAN_NETWORK NETWORK_SUSPICIOUS
SSL_MITM_UNTRUSTED_VALID_CERT SCAN_NETWORK NETWORK_SUSPICIOUS
SSL_STRIP_MITM SCAN_NETWORK NETWORK_MALICIOUS
SSL_MITM_UNTRUSTED_INVALID_CERT SCAN_NETWORK NETWORK_MALICIOUS
SSL_MITM_TRUSTED_INVALID_CERT SCAN_NETWORK NETWORK_MALICIOUS
LEAK_CREDIT_CARD SCAN_UNCATEGORIZED ACL_VIOLATION
LEAK_PASSWORD SCAN_UNCATEGORIZED ACL_VIOLATION
LEAK_EMAIL SCAN_UNCATEGORIZED ACL_VIOLATION
LEAK_USERID SCAN_UNCATEGORIZED ACL_VIOLATION
LEAK_LOCATION SCAN_UNCATEGORIZED ACL_VIOLATION

Référence du mappage de champ : JAMF_THREAT_EVENTS

Le tableau suivant liste les champs de journaux du type de journal JAMF_THREAT_EVENTS et les champs UDM correspondants.
Log field UDM mapping Logic
event.account.parentId about.resource_ancestors.product_object_id
event.account.name about.resource.name
event.account.customerId about.resource.product_object_id
is_alert The is_alert UDM field is set to TRUE.
event.timestamp metadata.event_timestamp
event.eventType.name metadata.product_event_type
event.alertId metadata.product_log_id
event.metadata.product metadata.product_name
event.metadata.vendor metadata.vendor_name
event.source.port princiap.port
event.device.deviceName principal.asset.assetid
event.location principal.asset.location.country_or_region
principal.asset.platform_software.platform The platform_name is extracted from the event.device.deviceName log field using a Grok pattern.

If the platform_name value is equal to Mac, then the principal.asset.platform_software.platform UDM field is set to MAC.
event.device.os principal.asset.platform_software.platform_version
event.device.deviceId principal.asset.product_object_id
event.source.ip principal.ip
event.accessPointBssid principal.mac
event.user.email principal.user.email_addresses
event.user.name principal.user.user_display_name
sourceUserName principal.user.user_display_name
event.device.externalId principal.asset.attribute.labels [event_device_externalId]
event.device.userDeviceName principal.asset.attribute.labels [event_device_userDeviceName]
event.accessPoint principal.labels [event_accessPoint]
event.action security_result.action The security_result.action UDM field is set to one of the following values:
  • ALLOW if the event.action log field value is equal to Resolved or Detected.
  • BLOCK if the event.action log field value is equal to Blocked.
event.action security_result.action_details
event.eventType.name security_result.category_details
event.eventType.description security_result.description
event.severity security_result.severity_details
event.eventType.id security_result.threat_id
event.eventType.name security_result.threat_name
event.eventUrl security_result.url_back_to_product
event.destination.port target.port
event.app.name target.application
event.app.name target.file.full_path
event.app.sha1 target.file.sha1
event.app.sha256 target.file.sha256
event.destination.ip target.ip
event.destination.name target.url
event.app.version target.labels [event_app_version]
event.app.id target.labels [event_app_id]
event.metadata.schemaVersion about.labels [event_metadata_schemaVersion]

Étapes suivantes

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