Présentation
L’intégration Splunk (INT-001) fournit une synchronisation bidirectionnelle entre CaseBender et Splunk, y compris les événements notables de Splunk Enterprise Security (ES).Ingestion entrante
Synchronisation sortante
/services/collector/event,
généralement le port 8088). La récupération et la clôture des notables utilisent l’API REST
de gestion (généralement le port 8089). Les déploiements Splunk sur site utilisent souvent
des certificats auto-signés sur les deux : désactivez Verify SSL si nécessaire (voir
ci-dessous).Fonctionnalités
Prérequis
Accès à Splunk
edit_notable_events.
Pour le transfert HEC, vous avez besoin d’un jeton HTTP Event Collector.Sortie réseau
:8088) et, pour les
fonctions REST, le point de terminaison de gestion (p. ex. :8089).Rôle d'administrateur CaseBender
Partie A — Préparer Splunk
Créer un jeton HEC (pour le transfert sortant)
Créer un jeton d'authentification (pour les fonctions REST)
edit_notable_events pour clôturer les notables et d’un
accès de recherche à votre index de notables.Partie B — Configurer l’intégration dans CaseBender
Ouvrir le catalogue d'intégrations
Choisir un objectif
purpose sur Inbound, Outbound ou Bidirectional pour afficher les
cartes de configuration pertinentes.Configurer le webhook entrant (push)
sk_splunk_). Dans Splunk,
ajoutez une action d’alerte Webhook qui publie vers l’URL avec l’en-tête
Authorization: Bearer <API_KEY>.Configurer la connexion REST Enterprise Security (facultatif)
https://splunk:8089) et les identifiants :Activer le sondage automatique (facultatif)
Configurer la sortie (HEC + clôture des notables)
Tester la connexion
Entrant (sondage automatique)
Avec le sondage automatique activé, CaseBender exécute périodiquement votre SPL via l’API REST de recherche d’Enterprise Security et ingère les résultats de lui-même — sans aucune action d’alerte ni webhook côté Splunk.Fonctionnement
Recherche planifiée
pollingIntervalMinutes), CaseBender exécute searchQuery sur la
fenêtre depuis le dernier curseur via le point de terminaison d’export en streaming :pollingInitialLookbackHours sont donc importés.Curseur + déduplication
_time de résultat le plus récent
vu, de sorte que chaque exécution ne récupère que l’activité nouvelle. Les résultats sont
également dédupliqués par event_id du notable (avec repli sur le sid de la recherche),
de sorte qu’un notable n’est jamais ingéré deux fois — même si la fenêtre de sondage se
chevauche.Normalisation
urgency, construction du titre/description et extraction des observables et actifs
hôtes. Le event_id du notable est estampillé sur l’alerte pour que la clôture sortante
puisse le retrouver ultérieurement.autoCreateCases activé, chaque notable sondé devient automatiquement un cas
(dédupliqué par ID de notable) — cela correspond au flux « récupérer le notable → le traiter
comme un cas ». Désactivé, les résultats arrivent dans la boîte de réception Alertes pour
une promotion manuelle. Dans les deux cas, le lien Splunk est conservé afin que la clôture du
cas puisse clôturer le notable.NO_PROXY sur les
réseaux à proxy uniquement.Entrant (webhook / push)
En alternative (ou en complément) au sondage, une action d’alerte Splunk (ou tout émetteur de webhook) peut envoyer les résultats de recherche au point de terminaison d’ingestion de CaseBender.Point de terminaison
Authorization: Bearer <key> (l’en-tête x-api-key est également accepté). Les clés API de
webhook Splunk sont préfixées par sk_splunk_.
Exemple de charge utile
L’action d’alerte webhook de Splunk publie un objetresult ainsi que des métadonnées de
recherche :
202 Accepted :
Pipeline de traitement
Proxy d'ingestion
/api/v1/ingest/splunk valide la source et transmet la requête au service d’ingestion
(POST /v1/sources/splunk).Publication en file
Normalisation
Référence de mappage des données
Mappage de gravité (urgency Splunk → CaseBender 1–4) :
rule_title → search_name → alert_name →
signature → message. Les tags appliqués à l’ingestion incluent splunk, siem,
notable (pour les notables ES), domain:<security_domain> et app:<app>. Les enregistrements
ingérés utilisent par défaut TLP:2 et PAP:2.
Sortant : transfert d’audit via HEC
Lorsqu’il est activé avecsyncCaseUpdates / syncCaseClose, CaseBender publie des événements
d’audit JSON vers votre point de terminaison HEC afin que l’activité des cas soit consultable
dans Splunk :
source: casebender:case (ou casebender:alert) et
sourcetype: _json vers l’index configuré.
Sortant : clôturer le notable Splunk (write-back)
Lorsqu’un cas est clôturé dans CaseBender, l’événementcase_closed est distribué au gestionnaire
Splunk. Si le cas est lié à un notable Splunk et que closeNotableOnCaseClose est activé,
CaseBender clôture le notable via l’API REST d’ES.
Comment le notable lié est résolu
Le pipeline d’ingestion estampillesplunkEventId (le event_id du notable) et l’ID de
l’intégration d’ingestion sur les customFields de chaque alerte Splunk. À la clôture du cas, le
gestionnaire collecte ces ID d’événement depuis les alertes liées au cas ; ainsi un cas promu à
partir d’un notable sondé ou de webhook est résolu automatiquement, quelle que soit sa méthode de
création.
Ce qui est envoyé
CaseBender appelle le point de terminaisonnotable_update d’ES :
statusvaut par défaut 5 (Clôturé) et est configurable vianotableStatusOnClose.commentest :Case <id> closed in CaseBender with resolution: <resolution>.
syncCaseClose (événement d’audit HEC) et closeNotableOnCaseClose (write-back du notable via
REST) sont des bascules indépendantes par intégration. Le write-back du notable nécessite la
connexion REST Enterprise Security et un rôle disposant de la capacité edit_notable_events.Considérations de sécurité
- Gestion des jetons — les jetons HEC et les jetons/mots de passe REST sont stockés dans les paramètres de l’intégration ; faites-les tourner selon le calendrier de votre organisation et mettez à jour l’intégration en conséquence.
- Moindre privilège — le rôle REST n’a besoin que d’un accès de recherche à votre index de
notables et de
edit_notable_events. Les jetons HEC devraient cibler un index dédié. - Clés de webhook — traitez la clé API
sk_splunk_comme un secret. Faites-la tourner en cas d’exposition et mettez à jour l’action d’alerte Splunk. - TLS — préférez des certificats de confiance. Si vous devez utiliser des certificats auto-signés (courant sur site), Verify SSL peut être désactivé ; la connexion reste chiffrée mais le certificat n’est pas validé. Restreignez la sortie à vos points de terminaison HEC et de gestion Splunk.
Dépannage
Le test de connexion échoue ou expire
Le test de connexion échoue ou expire
8088). Si Splunk utilise un certificat auto-signé, désactivez Verify
SSL — sinon la requête échoue avec une erreur de certificat.Le sondage est activé mais aucun notable n'apparaît
Le sondage est activé mais aucun notable n'apparaît
8089), et qu’il existe des
résultats plus récents que le curseur. À la première exécution, seuls les résultats de la
fenêtre pollingInitialLookbackHours sont importés. Consultez le dernier statut de
synchronisation de l’intégration pour l’erreur précise.La clôture du cas ne clôture pas le notable Splunk
La clôture du cas ne clôture pas le notable Splunk
closeNotableOnCaseClose est activé et que la connexion ES REST est
configurée avec un rôle disposant de edit_notable_events. Le cas doit être lié à un notable
Splunk — la clôture d’un cas promu à partir d’un notable sondé/de webhook résout le lien
automatiquement. Consultez la chronologie du cas pour le résultat de la synchronisation.notable_update renvoie 403 ou 404
notable_update renvoie 403 ou 404
403 signifie que le rôle REST ne dispose pas de la capacité edit_notable_events. Un
404 signifie généralement que l’URL n’est pas le point de terminaison de gestion Enterprise
Security — vérifiez que restUrl pointe vers le port de gestion Splunk avec ES installé.Erreurs de certificat auto-signé derrière un proxy
Erreurs de certificat auto-signé derrière un proxy
NO_PROXY pour que la
connexion soit directe, et désactivez Verify SSL si le certificat est auto-signé.