Collecter les journaux IONIX Attack Surface Management
Ce document explique comment configurer IONIX Attack Surface Management pour envoyer des journaux à Google Security Operations à l'aide de webhooks.
IONIX est une plate-forme de gestion de la surface d'attaque externe (EASM, External Attack Surface Management) qui détecte, évalue et valide les expositions de sécurité dans les ressources Internet et la chaîne d'approvisionnement numérique de votre organisation. IONIX fournit des tâches à effectuer pour les résultats DNS, les problèmes d'infrastructure à clé publique, les expositions cloud et les failles, et propose des workflows de correction hiérarchisés.
Avant de commencer
Assurez-vous de remplir les conditions préalables suivantes :
- Une instance Google SecOps
- IONIX Attack Surface Management est compatible avec le push HTTP POST pour la diffusion des journaux.
- Accès à la Google Cloud Console (pour créer une clé API)
- Un compte actif sur le portail IONIX avec accès administrateur à Settings > Integrations
Créer un flux de webhook dans Google SecOps
Créer le flux
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur Ajouter un flux.
- Sur la page suivante, cliquez sur Configurer un seul flux.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple,
IONIX ASM Logs). - Sélectionnez Webhook comme Type de source.
- Sélectionnez IONIX comme type de journal.
- Cliquez sur Suivant.
- Spécifiez les valeurs des paramètres d'entrée suivants :
- Délimiteur de fractionnement (facultatif) : saisissez un délimiteur pour fractionner les événements multilignes. Valeurs courantes :
\n: délimiteur de saut de ligne (le plus courant pour NDJSON)- Laissez ce champ vide si chaque requête contient un seul événement.
- 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
- Délimiteur de fractionnement (facultatif) : saisissez un délimiteur pour fractionner les événements multilignes. Valeurs courantes :
- Cliquez sur Suivant.
- Vérifiez la configuration de votre nouveau flux sur l'écran Finaliser, puis cliquez sur Envoyer.
Générer et enregistrer une clé secrète
Après avoir créé le flux, vous devez générer une clé secrète pour l'authentification :
- Sur la page d'informations sur le flux, cliquez sur Générer une clé secrète.
- Une boîte de dialogue affiche la clé secrète.
- Copiez et enregistrez la clé secrète de manière sécurisée.
Obtenir l'URL du point de terminaison du flux
- Accédez à l'onglet Détails du flux.
- Dans la section Endpoint Information (Informations sur le point de terminaison), copiez l'URL du point de terminaison du flux.
Le format d'URL est le suivant :
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreateou
https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreateEnregistrez cette URL pour les étapes suivantes.
Cliquez sur OK.
Créer une clé API Google Cloud
Google SecOps nécessite une clé API pour l'authentification. Créez une clé API restreinte dans la Google Cloud Console.
Créer la clé API
- Accédez à la page "Identifiants" de la console Google Cloud.
- Sélectionnez votre projet (celui associé à votre instance Google SecOps).
- Cliquez sur Créer des identifiants> Clé API.
- Une clé API est créée et affichée dans une boîte de dialogue.
- Cliquez sur Modifier la clé API pour restreindre la clé.
Restreindre la clé API
- Sur la page des paramètres de la clé API :
- Nom : saisissez un nom descriptif (par exemple,
Google SecOps Webhook API Key).
- Nom : saisissez un nom descriptif (par exemple,
- Sous Restrictions relatives aux API :
- Sélectionnez Restreindre la clé.
- Dans le menu déroulant Sélectionner des API, recherchez et sélectionnez API Google SecOps (ou API Chronicle).
- Cliquez sur Enregistrer.
- Copiez la valeur de la clé API dans le champ Clé API en haut de la page.
- Enregistrez la clé API de manière sécurisée.
Configurer le webhook IONIX Attack Surface Management
IONIX permet d'envoyer des données d'événements de sécurité à des points de terminaison externes via HTTP POST à l'aide de son framework d'intégration. L'intégration est configurée dans le portail IONIX et utilise le même mécanisme que l'intégration Splunk HEC, adapté pour envoyer des données au point de terminaison du webhook Google SecOps.
Créer l'URL de webhook
Combinez l'URL du point de terminaison Google SecOps et la clé API en une seule URL :
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>Exemple :
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...
Configurer l'intégration sur le portail IONIX
- Connectez-vous à votre portail IONIX (par exemple,
https://<your-portal-name>.ionix.com). - Accédez à Paramètres > Intégrations.
- Cliquez sur Intégration Splunk > Paramètres.
Fournissez les informations de configuration suivantes :
- Jeton HEC : saisissez la clé secrète générée à partir du flux de webhook Google SecOps.
Serveur Splunk : saisissez l'URL complète du point de terminaison du webhook Google SecOps, avec la clé API ajoutée en tant que paramètre de requête. Utilisez le format suivant :
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=<API_KEY>
Configurez l'intervalle d'envoi pour définir la fréquence à laquelle IONIX envoie des données au point de terminaison (par exemple, toutes les 60 minutes).
Renseignez tous les champs de données supplémentaires pertinents pour votre environnement.
Cliquez sur Enregistrer.
Activez l'intégration en basculant le bouton sur Activé.
Les données commenceront à s'afficher dans Google SecOps au cours d'un cycle d'intervalle de transmission. La première livraison de données peut prendre jusqu'à une heure.
Alternative : utiliser l'API REST IONIX avec un script personnalisé
Si l'intégration HEC Splunk native ne répond pas à vos besoins, vous pouvez utiliser l'API REST IONIX pour extraire les données et les transférer vers Google SecOps.
Générer une clé API IONIX
- Connectez-vous au portail IONIX.
- Cliquez sur Paramètres de l'API.
- Attribuez un nom au jeton.
- Sélectionnez le type de jeton :
- Lecture seule (recommandé pour la collecte de données)
- Lecture/écriture
- Définissez une date d'expiration pour le jeton.
- Cliquez sur Créer un jeton.
- Copiez le jeton généré et enregistrez-le dans un emplacement sécurisé.
Points de terminaison de l'API IONIX
Utilisez les points de terminaison d'API suivants pour récupérer les données de sécurité d'IONIX :
| Point de terminaison | Description |
|---|---|
/api/v1/remediation/action-items/open/ |
Éléments à traiter (domaines, point de terminaison racine) |
/api/v1/remediation/action-items/all/detailed |
Tous les éléments d'action avec des informations détaillées |
/api/v1/discovery/org-assets/export-discovery-evidence |
Preuves de risque et de découverte des composants |
/api/v1/discovery/org-assets |
Composants de l'organisation (y compris la date de première apparition) |
/api/v1/tests |
Résultats des tests de sécurité |
Exemple de requête API
curl -X GET "https://api.portal.ionix.io/api/v1/remediation/action-items/all/detailed" \ -H "Authorization: Token <IONIX_API_KEY>" \ -H "Content-Type: application/json"
Transférer des données vers Google SecOps
Après avoir récupéré les données de l'API IONIX, transférez-les au point de terminaison du webhook Google SecOps :
curl -X POST "<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>" \ -H "Content-Type: application/json" \ -d @ionix_events.json
Référence des méthodes d'authentification
Les flux de webhook Google SecOps sont compatibles avec plusieurs méthodes d'authentification. Choisissez la méthode acceptée par votre fournisseur.
Méthode 1 : En-têtes personnalisés (recommandée)
Si votre fournisseur accepte les en-têtes HTTP personnalisés, utilisez cette méthode pour renforcer la sécurité.
Format de la demande :
POST <ENDPOINT_URL> HTTP/1.1 Content-Type: application/json x-goog-chronicle-auth: <API_KEY> x-chronicle-auth: <SECRET_KEY> { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
Avantages :
- Clé API et code secret non visibles dans l'URL
- Plus sécurisé (les en-têtes ne sont pas enregistrés dans les journaux d'accès au serveur Web)
- Méthode privilégiée lorsque le fournisseur la prend en charge
Méthode 2 : Paramètres de requête
Si votre fournisseur n'accepte pas les en-têtes personnalisés, ajoutez les identifiants à l'URL.
Format de l'URL :
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>- Exemple :
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...Format de la demande :
POST <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY> HTTP/1.1 Content-Type: application/json { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
Inconvénients :
- Identifiants visibles dans l'URL
- Peut être consigné dans les journaux d'accès au serveur Web
- Moins sécurisé que les en-têtes
Méthode 3 : Hybride (URL + en-tête)
Certaines configurations utilisent une clé API dans l'URL et une clé secrète dans l'en-tête.
Format de la demande :
POST <ENDPOINT_URL>?key=<API_KEY> HTTP/1.1 Content-Type: application/json x-chronicle-auth: <SECRET_KEY> { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
Noms des en-têtes d'authentification
Google SecOps accepte les noms d'en-tête suivants pour l'authentification :
Pour la clé API :
x-goog-chronicle-auth(recommandé)X-Goog-Chronicle-Auth(non sensible à la casse)
Pour la clé secrète :
x-chronicle-auth(recommandé)X-Chronicle-Auth(non sensible à la casse)
Table de mappage UDM
Pour savoir comment les champs de journaux IONIX sont mappés aux champs du modèle de données unifié (UDM) de Google Security Operations, recherchez le type de journal IONIX dans la documentation de référence sur les analyseurs par défaut compatibles.
Journal des modifications
Afficher le journal des modifications pour ce parseur
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.