
Un serveur TAXII (Trusted Automated eXchange of Indicator Information) haute performance écrit en Rust.
Un serveur TAXII (Trusted Automated eXchange of Indicator Information) haute performance écrit en Rust.
Port Rust de EclecticIQ OpenTAXII avec une compatibilité totale de base de données.
# Construction
cargo build --release
# Copier et modifier la configuration
cp taxii.example.toml taxii.toml
cp examples/data-config/full.yaml data-config.yaml # Ou accounts.yaml pour TAXII 2.x uniquement
# Modifiez taxii.toml et data-config.yaml avec vos paramètres
# Lancer le serveur (exécute automatiquement les migrations au démarrage)
./target/release/taxii-server
# Synchroniser la configuration des données (services, collections, comptes)
./target/release/taxii-cli sync data-config.yaml
Le serveur démarre sur http://localhost:9000.
Image Docker : cysecurity/darwis-taxii
cd examples/docker
# Créer le répertoire de configuration et copier les exemples de configuration
mkdir config
cp ../../taxii.example.toml config/taxii.toml
cp ../data-config/full.yaml config/data-config.yaml # Ou accounts.yaml pour TAXII 2.x uniquement
# Modifiez les fichiers de configuration si nécessaire
# Démarrer le serveur et PostgreSQL
docker compose up -d
# Synchroniser la configuration des données (services, collections, comptes)
docker compose exec taxii-server ./taxii-cli sync /app/config/data-config.yaml
# Lister les comptes
docker compose exec taxii-server ./taxii-cli account list
Pour construire localement au lieu de tirer depuis Docker Hub, modifiez docker-compose.yml et décommentez la section build.
DARWIS TAXII utilise deux fichiers de configuration (conformément à la convention OpenTAXII) :
| Fichier | Objectif |
|---|---|
taxii.toml | Paramètres du serveur : base de données, auth, domaine, options TAXII 1.x/2.x |
data-config/ | Données : services, collections, comptes avec permissions |
Copiez taxii.example.toml vers taxii.toml et modifiez-le pour votre environnement.
Consultez la documentation pour toutes les options, y compris les surcharges de variables d'environnement.
# Synchroniser les services, collections et comptes depuis YAML
taxii-cli sync data-config.yaml
# Gestion des comptes
taxii-cli account list # Lister les comptes avec permissions
taxii-cli account delete -u user # Supprimer un compte
# Migrations de base de données (exécutées automatiquement au démarrage du serveur)
taxii-cli migrate run # Appliquer les migrations en attente
taxii-cli migrate status # Afficher l'état des migrations
# Gestion TAXII 2.x
taxii-cli api-root add --title "My Root" --default
taxii-cli collection add --api-root-id <uuid> --title "Intel"
Exécutez taxii-cli --help pour toutes les commandes.
taxii.example.toml # Exemple de configuration du serveur
examples/
data-config/ # Exemples de configuration des données
full.yaml # Configuration complète (TAXII 1.x + comptes)
accounts.yaml # Comptes uniquement (pour TAXII 2.x)
docker/ # Fichiers de déploiement Docker
migrations/ # Migrations de base de données SQLx
taxii-core/ # Types de base et crochets de signal
taxii-db/ # Persistance de base de données (SQLx)
taxii-auth/ # Authentification JWT et par mot de passe
taxii-1x/ # Protocole TAXII 1.x (XML)
taxii-2x/ # Protocole TAXII 2.x (JSON)
stix2/ # Analyse STIX 2.x
taxii-server/ # Serveur HTTP (Axum)
taxii-cli/ # Outil en ligne de commande
https://cspf-founder.github.io/darwis-taxii/
BSD-3-Clause