
Высокопроизводительный TAXII (Trusted Automated eXchange of Indicator Information) сервер, написанный на Rust.
Высокопроизводительный сервер TAXII (Trusted Automated eXchange of Indicator Information), написанный на Rust.
Порт на Rust EclecticIQ OpenTAXII с полной совместимостью баз данных.
# Сборка
cargo build --release
# Копируем и редактируем конфигурацию
cp taxii.example.toml taxii.toml
cp examples/data-config/full.yaml data-config.yaml # Или accounts.yaml только для TAXII 2.x
# Отредактируйте taxii.toml и data-config.yaml под свои настройки
# Запуск сервера (миграции выполняются автоматически при старте)
./target/release/taxii-server
# Синхронизация конфигурации данных (сервисы, коллекции, аккаунты)
./target/release/taxii-cli sync data-config.yaml
Сервер запускается на http://localhost:9000.
Docker-образ: cysecurity/darwis-taxii
cd examples/docker
# Создаём каталог конфигурации и копируем примеры
mkdir config
cp ../../taxii.example.toml config/taxii.toml
cp ../data-config/full.yaml config/data-config.yaml # Или accounts.yaml только для TAXII 2.x
# Отредактируйте файлы конфигурации по необходимости
# Запускаем сервер и PostgreSQL
docker compose up -d
# Синхронизация конфигурации данных (сервисы, коллекции, аккаунты)
docker compose exec taxii-server ./taxii-cli sync /app/config/data-config.yaml
# Список аккаунтов
docker compose exec taxii-server ./taxii-cli account list
Для локальной сборки вместо загрузки из Docker Hub отредактируйте docker-compose.yml и раскомментируйте секцию build.
DARWIS TAXII использует два файла конфигурации (следуя соглашению OpenTAXII):
| Файл | Назначение |
|---|---|
taxii.toml | Настройки сервера: база данных, аутентификация, домен, опции TAXII 1.x/2.x |
data-config/ | Данные: сервисы, коллекции, аккаунты с разрешениями |
Скопируйте taxii.example.toml в taxii.toml и отредактируйте под своё окружение.
Подробнее обо всех опциях, включая переопределение через переменные окружения, см. в документации.
# Синхронизация сервисов, коллекций и аккаунтов из YAML
taxii-cli sync data-config.yaml
# Управление аккаунтами
taxii-cli account list # Список аккаунтов с разрешениями
taxii-cli account delete -u user # Удаление аккаунта
# Миграции базы данных (автоматически выполняются при запуске сервера)
taxii-cli migrate run # Применить ожидающие миграции
taxii-cli migrate status # Показать статус миграций
# Управление TAXII 2.x
taxii-cli api-root add --title "My Root" --default
taxii-cli collection add --api-root-id <uuid> --title "Intel"
Выполните taxii-cli --help для вывода всех команд.
taxii.example.toml # Пример конфигурации сервера
examples/
data-config/ # Примеры конфигурации данных
full.yaml # Полная конфигурация (TAXII 1.x + аккаунты)
accounts.yaml # Только аккаунты (для TAXII 2.x)
docker/ # Файлы развертывания Docker
migrations/ # Миграции базы данных SQLx
taxii-core/ # Базовые типы и сигнальные хуки
taxii-db/ # Персистентность базы данных (SQLx)
taxii-auth/ # JWT и аутентификация по паролю
taxii-1x/ # Протокол TAXII 1.x (XML)
taxii-2x/ # Протокол TAXII 2.x (JSON)
stix2/ # Парсинг STIX 2.x
taxii-server/ # HTTP-сервер (Axum)
taxii-cli/ # CLI-инструмент
https://cspf-founder.github.io/darwis-taxii/
BSD-3-Clause