OpenCTI
About the product
OpenCTI is a threat intelligence TIP platform that enables organizations to manage knowledge and observations related to cyber threats. The platform is designed to structure, store, organize, and visualize technical and non-technical information about cyber threats.
Technical architecture
OpenCTI consists of several main components:
Platform (Core) – the main element of the system, providing a user interface and GraphQL API used by connectors and workers to insert and retrieve data.
Workers – independent processes that handle tasks from the RabbitMQ broker and perform database write operations. The number of workers can be increased to improve write performance; it is recommended to use 3 to 4 workers per OpenCTI instance.
Connectors – modules that integrate OpenCTI with external data sources or tools (e.g., data import from MISP, enrichment from Shodan, export to CSV/STIX2).
Each connector is a separate process that can perform one of five defined roles:
EXTERNAL_IMPORT – importing data from external sources,
INTERNAL_ENRICHMENT – enriching data based on external sources,
INTERNAL_IMPORT_FILE – importing files via UI/API,
INTERNAL_EXPORT_FILE – exporting data to files,
STREAM – consuming data streams from the platform
The platform requires/uses several external services, such as ElasticSearch, Redis, RabbitMQ, and S3/MinIO for data storage.
Key features of the OpenCTI architecture
Modularity and scalability – each component can be scaled independently as needed.
High availability – clustering is used for key services.
Integration – a wide range of connectors is available, enabling data exchange with other platforms and tools.
Flexibility of implementation – can be run both on-premises and in the cloud (e.g., AWS, Azure, GCP).