Organiser le renseignement sur les cybermenaces avec OpenCTI

  • Publié le
  • Mis à jour
  • Lecture10 min

OpenCTI organise des connaissances et des observables sur les cybermenaces pour les relier et les rendre exploitables. Il apporte du contexte aux analystes sans remplacer la collecte des journaux ni la détection. Les notes de la révision 7.261019.0, publiée le 19 octobre 2026, mentionnent des variables de tableaux de bord et des corrections de relations et d’ingestion.

Les nouveautés reposent sur les notes du projet, sans confirmation indépendante ; aucun test local.

Contexte SOC

Dans un centre opérationnel de sécurité, des indicateurs isolés ne suffisent pas toujours à comprendre une menace. OpenCTI fournit un espace de structuration et de consultation de ce renseignement. Cette fiche distingue le fonctionnement documenté du produit des changements annoncés pour 7.261019.0 ; aucun déploiement ni test local n’a été effectué.

Comprendre la solution

OpenCTI est une plateforme logicielle de renseignement sur les cybermenaces. Elle sert à structurer, stocker, organiser et visualiser des informations techniques et non techniques ainsi que leurs relations, selon le standard de données STIX 2. Pour l’analyste, c’est un référentiel de contexte. Ce périmètre ne doit pas être confondu avec celui d’un pare-feu ou d’un système de collecte et de corrélation de journaux : l’intégration à de tels outils doit être configurée.

Preuve documentaire — readme

OpenCTI is an open source platform allowing organizations to manage their cyber threat intelligence knowledge and observables. It has been created in order to structure, store, organize and visualize technical and non-technical information about cyber threats.

Preuve documentaire — readme

The structuration of the data is performed using a knowledge schema based on the [STIX2 standards](https://oasis-open.github.io/cti-documentation/). It has been designed as a modern web application including a [GraphQL API](https://graphql.org) and a UX-oriented frontend. Also, OpenCTI can be integrated with other tools and applications such as [MISP](https://github.com/MISP/MISP), [TheHive](https://github.com/TheHive-Project/TheHive), [MITRE ATT&CK](https://github.com/mitre/cti), etc.

Architecture et fonctionnement

La plateforme principale fournit l’interface web et l’API GraphQL, interface logicielle utilisée par les connecteurs et les travailleurs pour insérer des données. Les connecteurs d’import convertissent les données de sources externes en STIX 2. Les travailleurs sont des processus Python qui consomment des messages RabbitMQ puis exécutent des requêtes d’écriture asynchrones ; ce ne sont pas des clients écrivant directement dans le moteur de stockage sans passer par l’API. Les dépendances documentées comprennent ElasticSearch ou OpenSearch, Redis, RabbitMQ et un stockage S3.

Preuve documentaire — overview

The platform is the central part of the OpenCTI technological stack. It allows users to access to the user interface but also provides the [GraphQL API](https://graphql.org) used by connectors and workers to insert data. In the context of a production deployment, you may need to scale horizontally and launch multiple platforms behind a load balancer connected to the same databases (ElasticSearch, Redis, S3, RabbitMQ).

Preuve documentaire — overview

The workers are standalone Python processes consuming messages from the RabbitMQ broker in order to do asynchronous write queries.

Preuve documentaire — overview

Pull data from remote sources, convert it to STIX2 and insert it on the OpenCTI platform.

Prérequis et déploiement

Le guide recommande les conteneurs en production, y compris pour les dépendances. L’installation manuelle demande Node.js au moins en version 22 et Corepack ; cela ne signifie pas qu’il faut installer Node.js sur tout hôte exécutant un conteneur. La matrice donne notamment ElasticSearch ≥8.0 ou OpenSearch ≥2.9, Redis ≥7.1 et RabbitMQ ≥3.11. Elle indique au minimum 8 Go de mémoire pour le moteur de recherche et séparément pour le cœur OpenCTI, pas 8 Go pour l’ensemble. La charge réelle reste à dimensionner. L’édition communautaire est sous Apache-2.0 ; l’édition Enterprise relève d’une licence distincte.

Preuve documentaire — installation

For production deployment, we recommend to deploy all components in containers, including dependencies, using native cloud services or orchestration systems such as [Kubernetes](https://kubernetes.io).

Preuve documentaire — overview

ElasticSearch / OpenSearch | >= 8.0 / >= 2.9 | 2 cores | ≥ 8GB | SSD | ≥ 16GB

Preuve documentaire — installation

Please verify that the NodeJS version is greater than or equal to v22 and that corepack is installed.

Preuve documentaire — enterprise

The OpenCTI Community Edition is licensed under the Apache License, Version 2.0

Preuve documentaire — enterprise

The OpenCTI Enterprise Edition is licensed under the OpenCTI Enterprise Edition License

Preuve documentaire — overview

OpenCTI Core | 2 cores | ≥ 8GB

Place dans une infrastructure de cybersécurité

Les intégrations ont plusieurs rôles : importer des sources telles que MISP ou les jeux de données MITRE, enrichir une entité via des services comme Shodan, ou exploiter un flux de données de la plateforme. La documentation cite Splunk, Elastic Security et Q-Radar parmi les exemples de connecteurs STREAM ; cela ne prouve pas qu’une liaison est déjà configurée dans notre infrastructure. Les flux TAXII sont aussi proposés comme fonction d’import intégrée. Leur guide recommande un utilisateur dédié par source et une organisation associée, afin de gérer les droits et la traçabilité.

Preuve documentaire — overview

Pull data from remote sources, convert it to STIX2 and insert it on the OpenCTI platform.

Preuve documentaire — overview

Consume a platform [data stream](../usage/feeds.md) and _do_ something with events.

Preuve documentaire — taxii

Create a dedicated user for each source: Generate a user specifically for feed import, following the convention `[F] Source name` for clear identification.

Exemple expliqué — scénario non exécuté

Scénario hypothétique, non exécuté : une équipe configure un flux TAXII partenaire avec son URL racine, l’identifiant de collection et l’authentification nécessaire. Elle vérifie les droits du compte dédié, puis examine les informations reçues dans OpenCTI. Si un connecteur STREAM compatible avec son outil de supervision est installé et configuré, elle peut envisager d’y transmettre les données utiles pour contextualiser les événements. La validation de ce trajet et des droits fait partie de la recette proposée ; ce scénario n’affirme ni intégration automatique ni blocage d’attaque.

Preuve documentaire — taxii

Provide the root API URL of the TAXII server.

Preuve documentaire — taxii

Enter the ID of the TAXII collection to be ingested.

Preuve documentaire — overview

Consume a platform [data stream](../usage/feeds.md) and _do_ something with events.

Faits documentés — actualité

Fait F1

L'agent conversationnel intégré relaie désormais les présentations, rapports et vidéos produits par XTM One.

proxy the decks, reports and videos XTM One makes to the embedded chat

Source : release

Fait F2

Une interface permet de gérer les variables de tableaux de bord et de filtrer les composants graphiques.

add dashboard variables management UI and usage in widget filters (#18803)

Source : release

Fait F3

Le serveur d'arrière-plan rejette l'ajout de relations de référence sans cible et gère la suppression des liens orphelins.

reject ref relation add when the target cannot be found

Source : release

handle ref relationship deletion when its source is already gone

Source : release

Fait F4

Le journal mentionne un remaniement du gestionnaire d’ingestion et une correction de l’alignement des valeurs de colonnes dans la liste des ingestions déployées. Il ne décrit pas de nouvelle architecture dans ces entrées.

Ingestion manager refactor (#19098)

Source : release

Column values alignement in deployed ingestion list (#18963)

Source : release

Analyse — interprétation, non testée localement

L’intérêt de cette révision dépend des usages. Les variables de tableaux de bord peuvent aider les analystes qui s’en servent pour explorer un périmètre ; les corrections de références visent des cas particuliers d’ajout et de suppression. Avant une mise à jour, les vérifications proposées seraient de contrôler les tableaux de bord utilisés, la création et la suppression des relations, puis la continuité de l’ingestion. Il s’agit d’une analyse conditionnelle, pas de résultats obtenus ni de nouvelles consignes attribuées à l’éditeur.

Conséquences positives possibles

  • Les variables pourraient rendre les tableaux de bord plus faciles à adapter au périmètre d’une investigation. Aucun gain de temps n’est mesuré ici. Condition : Si les équipes exploitent des tableaux de bord analytiques complexes. Faits : F2
  • Le traitement explicite de références sans cible ou sans source pourrait réduire certaines incohérences lors des modifications du graphe, sans garantir l’absence de tout défaut de données. Condition : Lors de suppressions ou de modifications massives d'entités interconnectées. Faits : F3

Limites et conditions

  • Les notes décrivent un relais de contenus produits par XTM One, mais ne précisent pas ici la disponibilité de cette fonction pour chaque édition et configuration d’OpenCTI. Condition : Si l’on envisage d’utiliser la fonction liée à XTM One dans son propre déploiement. Faits : F1
  • Une mention de remaniement et un correctif d’affichage ne prouvent pas une hausse du débit ni la disparition des goulots d’étranglement. Une recette adaptée aux flux locaux reste une précaution proposée dans cette analyse. Condition : En cas d'ingestion continue à forte cadence opérationnelle. Faits : F4

Définitions

Plateforme OpenCTI
Solution logicielle ouverte organisant et visualisant les connaissances et observables relatifs aux cybermenaces.

an open source platform allowing organizations to manage their cyber threat intelligence knowledge and observables

Source : readme

STIX 2
Standard normalisé de modélisation structurée décrivant les données et relations du renseignement sur les menaces.

knowledge schema based on the [STIX2 standards](https://oasis-open.github.io/cti-documentation/)

Source : readme

Travailleur OpenCTI
Processus Python qui consomme des messages RabbitMQ pour exécuter des écritures asynchrones via la plateforme et son API ; à distinguer du serveur principal et des connecteurs.

standalone Python processes consuming messages from the RabbitMQ broker in order to do asynchronous write queries

Source : overview

Connecteur
Composant logiciel externe assurant l'ingestion, l'enrichissement, l'importation, l'exportation ou la diffusion continue de données.

third-party pieces of software (Python processes) that can play five different roles on the platform

Source : overview

Flux TAXII
Mécanisme standardisé d'ingestion automatisée de collections de menaces depuis des serveurs distants ou des tiers.

TAXII Feeds in OpenCTI provide a robust mechanism for ingesting TAXII collections from TAXII servers or other OpenCTI instances.

Source : taxii

SBOM
Inventaire logiciel au format CycloneDX répertoriant les composants applicatifs pour contrôler la sécurité d'approvisionnement.

The SBOM format is the [CycloneDX](https://cyclonedx.org/) JSON format.

Source : installation

API GraphQL
Interface logicielle de la plateforme utilisée par les connecteurs et travailleurs pour insérer des données ; elle relie ces composants au service principal.

The platform is the central part of the OpenCTI technological stack. It allows users to access to the user interface but also provides the [GraphQL API](https://graphql.org) used by connectors and workers to insert data. In the context of a production deployment, you may need to scale horizontally and launch multiple platforms behind a load balancer connected to the same databases (ElasticSearch, Redis, S3, RabbitMQ).

Source : overview

RabbitMQ et traitement asynchrone
Courtier de messages consommés par les travailleurs ; ces processus traitent les écritures indépendamment de l’affichage de l’interface.

The workers are standalone Python processes consuming messages from the RabbitMQ broker in order to do asynchronous write queries.

Source : overview

Bilan des sources

Les notes et la documentation proviennent du même projet officiel : elles ne constituent pas plusieurs confirmations indépendantes. Les notes étayent les annonces de changement ; les guides donnent le contexte d’architecture, de déploiement et de licence. Aucune mesure de performance ni vérification opérationnelle locale n’a été réalisée. Les minima documentés sont distincts d’un dimensionnement validé pour une charge donnée.

Défiler vers le haut