
Un server TAXII (Trusted Automated eXchange of Indicator Information) ad alte prestazioni scritto in Rust.
Un server TAXII (Trusted Automated eXchange of Indicator Information) ad alte prestazioni scritto in Rust.
Porting in Rust di EclecticIQ OpenTAXII con piena compatibilità del database.
# Build
cargo build --release
# Copia e modifica la configurazione
cp taxii.example.toml taxii.toml
cp examples/data-config/full.yaml data-config.yaml # Oppure accounts.yaml per solo TAXII 2.x
# Modifica taxii.toml e data-config.yaml con le tue impostazioni
# Avvia il server (esegue automaticamente le migrazioni all'avvio)
./target/release/taxii-server
# Sincronizza la configurazione dati (servizi, raccolte, account)
./target/release/taxii-cli sync data-config.yaml
Il server si avvia su http://localhost:9000.
Immagine Docker: cysecurity/darwis-taxii
cd examples/docker
# Crea la directory di configurazione e copia le configurazioni di esempio
mkdir config
cp ../../taxii.example.toml config/taxii.toml
cp ../data-config/full.yaml config/data-config.yaml # Oppure accounts.yaml per solo TAXII 2.x
# Modifica i file di configurazione secondo necessità
# Avvia il server e PostgreSQL
docker compose up -d
# Sincronizza la configurazione dati (servizi, raccolte, account)
docker compose exec taxii-server ./taxii-cli sync /app/config/data-config.yaml
# Elenca gli account
docker compose exec taxii-server ./taxii-cli account list
Per compilare localmente invece di prelevare da Docker Hub, modifica docker-compose.yml e decommenta la sezione build.
DARWIS TAXII utilizza due file di configurazione (secondo la convenzione OpenTAXII):
| File | Scopo |
|---|---|
taxii.toml | Impostazioni del server: database, autenticazione, dominio, opzioni TAXII 1.x/2.x |
data-config/ | Dati: servizi, raccolte, account con permessi |
Copia taxii.example.toml in taxii.toml e modificalo per il tuo ambiente.
Consulta la documentazione per tutte le opzioni, inclusi gli override tramite variabili d'ambiente.
# Sincronizza servizi, raccolte e account da YAML
taxii-cli sync data-config.yaml
# Gestione account
taxii-cli account list # Elenca account con permessi
taxii-cli account delete -u user # Elimina un account
# Migrazioni del database (eseguite automaticamente all'avvio del server)
taxii-cli migrate run # Applica migrazioni in sospeso
taxii-cli migrate status # Mostra lo stato delle migrazioni
# Gestione TAXII 2.x
taxii-cli api-root add --title "My Root" --default
taxii-cli collection add --api-root-id <uuid> --title "Intel"
Esegui taxii-cli --help per tutti i comandi.
taxii.example.toml # Esempio di configurazione del server
examples/
data-config/ # Esempi di configurazione dati
full.yaml # Configurazione completa (TAXII 1.x + account)
accounts.yaml # Solo account (per TAXII 2.x)
docker/ # File per il deployment Docker
migrations/ # Migrazioni del database SQLx
taxii-core/ # Tipi core e hook di segnale
taxii-db/ # Persistenza del database (SQLx)
taxii-auth/ # Autenticazione JWT e password
taxii-1x/ # Protocollo TAXII 1.x (XML)
taxii-2x/ # Protocollo TAXII 2.x (JSON)
stix2/ # Parsing STIX 2.x
taxii-server/ # Server HTTP (Axum)
taxii-cli/ # Strumento CLI
https://cspf-founder.github.io/darwis-taxii/
BSD-3-Clause