Aller au contenu

Documentation

Tout pour déployer et opérer BALLA

De la première installation au pilotage d'un centre de sécurité complet : tout est documenté, précis et actionnable.

Introduction

BALLA se compose d'un agent léger sur chaque poste, d'un moteur d'IA et d'un cockpit de supervision. Cette documentation vous guide de l'installation à l'exploitation.

Démarrage rapide

Installez l'agent et raccordez votre premier poste en quelques minutes.

bash
# Install the SISKO agent
curl -fsSL https://get.sisko.ml/install.sh | sh

# Enroll the endpoint, then start
sisko-agent enroll --tenant <TENANT_ID> --token <ENROLL_TOKEN>
sisko-agent start

Agent & collecte

L'agent observe les événements système et les publie au format UCEF signé. Sa configuration tient dans un simple fichier YAML.

yaml
# /etc/sisko/agent.yaml
publisher:
  mode: kafka
  broker: kafka.internal:9092
  tls:
    enabled: true
collectors:
  processes: true
  network: true
  files: true
  auth: true
  hardware: true
buffer:
  max_events: 100000
  encrypt: true        # AES-256-GCM offline buffer

API & WebSocket

Une API REST protégée par JWT Ed25519 expose la flotte, les alertes et les événements. Le flux temps réel passe par WebSocket.

bash
# List fleet machines (Ed25519 JWT)
curl https://api.sisko.ml/fleet \
  -H "Authorization: Bearer $SISKO_TOKEN"
json
{
  "machines": [
    {
      "equipment_id": "a3f1c9…",
      "hostname": "HR-WKS-008",
      "status": "online",
      "severity": "critical",
      "last_seen": "2026-08-12T09:41:00Z"
    }
  ],
  "total": 128
}
javascript
// Real-time alerts over WebSocket
const ws = new WebSocket("wss://api.sisko.ml/alerts/ws?token=" + token);
ws.onmessage = (e) => console.log(JSON.parse(e.data));

Cockpit SOC

Le cockpit affiche la flotte, les alertes expliquées, le détail par machine et par utilisateur, et la reconstruction des chaînes d'attaque.

Déploiement

Déployez l'ensemble via Docker Compose, on-premise, jusqu'au mode air-gapped totalement déconnecté.

yaml
# docker-compose.yml (excerpt)
services:
  balla:
    image: sisko/balla:latest
  api:
    image: sisko/api:latest
    ports: ["8000:8000"]
  dashboard:
    image: sisko/dashboard:latest
    ports: ["3000:3000"]

Sécurité & conformité

mTLS partout, commandes signées Ed25519, journal d'audit infalsifiable et explications SHAP pour la conformité RGPD.

json
// Every command sent to an endpoint is signed
{
  "action": "isolate_machine",
  "equipment_id": "a3f1c9…",
  "signature": "ed25519:…",
  "rollback_token": "b7c2…"
}