Configuration de l’instance du bot MagicTradeBot et communication sécurisée

  • Home
  • Documentation
  • Configuration de l’instance du bot et communication sécurisée

L’instance de bot MagicTradeBot est un exécutable multiplateforme compatible avec Windows, Linux et macOS. Elle est conçue pour fonctionner seule ou aux côtés de plusieurs instances, avec une configuration centralisée via un fichier .yaml.

Chaque instance de bot se connecte à l’API de l’application de gestion MagicTradeBot pour l’authentification, l’exécution des transactions et l’analyse du marché en temps réel. Ce document explique les paramètres de configuration et les bonnes pratiques pour une communication sécurisée.


📄 Structure de configuration YAML

La configuration principale de chaque instance de bot est stockée dans un fichier config.yaml. Voici un exemple de structure :

server:
  # Nom
  botName: "Bybit_Mainnet_Trading_Bot"  # Nom unique de l'instance de bot

  # CLÉ DE LICENCE
  licenseKey: "hRnWOLo91ESUiZ8SkN986w"  # Nécessaire pour activer et valider l’instance

  # MODE DÉMO
  isDemo: true  # true = mode simulation ; false = trading en direct

  # CONFIGURATION API
  api: "https://localhost:7225/"  # URL de l'API de gestion MagicTradeBot

  # CONTRÔLE D’EXÉCUTION
  refreshRate: 5  # Intervalle de scan du marché (en secondes)
  totalConcurrentTrades: 0  # Max. de trades simultanés (0 = illimité)

  # GESTION DES RISQUES (0 = désactivé)
  maxLoss: 0      # Le bot s'arrête si les pertes atteignent ce seuil
  maxProfit: 0    # Le bot s'arrête si les profits atteignent ce seuil

  # PARAMÈTRES DE COMPTE
  exchangeId: 0   # ID du compte (récupéré depuis l'app de gestion)

  # PARAMÈTRES DE MODÈLE
  templateId: 0  # ID du modèle stratégique (0 = par défaut)

  # STRATÉGIE DE TRADING
  strategy: 0      # ID de la stratégie (voir liste ci-dessous)
  strategyMaxCount: 55  # Max. d’étapes de progression (0 = illimité)

  # RÉFÉRENCE DES STRATÉGIES :
  # 0: Aucune stratégie
  # 1: Martingale        2: Martingale inversée
  # 3: Fibonacci         4: Fibonacci inversée
  # 5: 3-2-6-3           6: 3-2-6-3 inversée
  # 7: D'Alembert        8: D'Alembert inversée

  timeZone: "UTC"  # Fuseau horaire pour la planification et les opérations

# PARAMÈTRES SYSTÈME
debug: true  # Activer la journalisation détaillée

🔐 Directives pour une communication sécurisée

Comme les instances de bot interagissent avec l’API de gestion pour récupérer les symboles, analyser le marché et exécuter des trades, sécuriser cette communication est essentiel. Voici les bonnes pratiques à suivre :

1. Utiliser HTTPS pour les points de terminaison API

  • Assurez-vous que le champ api utilise une URL HTTPS
  • Utilisez des certificats TLS valides (ex : Let’s Encrypt) pour chiffrer le trafic
  • Refusez toutes les connexions HTTP non sécurisées vers l’application de gestion

2. Appliquer l’authentification JWT

  • Au démarrage, l’instance demande un jeton JWT via des identifiants
  • Après validation, l’application renvoie un jeton utilisé dans l’en-tête Authorization de chaque requête
  • Les jetons doivent être de courte durée et stockés en mémoire de manière sécurisée
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

3. Restreindre l’accès avec une liste blanche d’IP

  • Autorisez uniquement les IP connues (où les bots s’exécutent) à accéder à l’API de gestion
  • Ajoutez des règles de pare-feu pour bloquer les accès extérieurs non autorisés

4. Protéger les clés API et les licences

  • Ne jamais coder en dur des secrets dans le code source ou les afficher dans les logs
  • Chargez les secrets via des variables d’environnement ou un gestionnaire chiffré
  • Faites tourner régulièrement les clés API et les licences

5. Isoler chaque instance de bot

  • Attribuez à chaque bot un botName unique et exécutez-le dans un conteneur ou un environnement isolé
  • Limitez les permissions selon l’instance (si ACL système utilisées)

6. Surveiller et auditer l’utilisation de l’API

  • Activez les logs d’audit dans l’application de gestion
  • Journalisez toutes les tentatives JWT et les accès invalides
  • Configurez des alertes avec Sentry, Pushover ou LogDNA pour détecter les anomalies

✅ Recommandations

  • 📌 Utilisez des mots de passe forts et un chiffrement entre les services
  • 📌 Isolez l’infrastructure bot de toute exposition publique
  • 📌 Appliquez les mises à jour logicielles régulièrement sur les apps de gestion et bot
  • 📌 Planifiez des sauvegardes automatiques des configurations et de l’historique des trades

📎 Related Topics