Intégration API

Comment ajouter une liste blanche d'IP pour l'API Binance ? Configuration pour serveurs cloud et IP dynamiques

Solutions complètes pour la configuration de la liste blanche d'IP de l'API Binance : IP statiques sur serveurs cloud, IP dynamiques sur connexions résidentielles, équilibrage de charge multi-IP, IP de sortie VPN/Proxy, support IPv6, accompagnées de scripts de vérification d'IP et de dépannage des erreurs courantes.

La liste blanche d'IP de l'API Binance est la mesure de sécurité la plus critique : une fois configurée, seules les requêtes provenant des adresses IP spécifiées peuvent utiliser cette clé pour opérer sur le compte. Même si la clé est compromise, un attaquant ne pourra pas passer d'ordres. Cet article couvre les solutions de configuration complètes pour cinq scénarios : IP fixe sur serveur cloud, IP dynamique sur connexion résidentielle, IP multiples pour l'équilibrage de charge, proxy VPN et IPv6, accompagnées de scripts pour vérifier votre IP de sortie actuelle et de 10 points de dépannage courants. Si vous n'avez pas encore de compte Binance, veuillez effectuer votre inscription sur le Site officiel de Binance ; les nouveaux utilisateurs peuvent s' inscrire gratuitement.

I. Règles fondamentales de la liste blanche d'IP

Règle Description
Nombre max d'IP par clé 30 adresses
Type d'IP Uniquement IPv4 (IPv6 non supporté pour le moment)
Plages CIDR Non supportées (chaque IP doit être saisie individuellement)
Temps d'application Immédiat après enregistrement (moins de 30 secondes)
Permissions de retrait Nécessitent obligatoirement une liste blanche (désactivées par défaut sans IP restreinte)
Fréquence de modification Illimitée, ajustable à tout moment

Important : Une clé sans liste blanche d'IP ne pourra jamais activer les permissions de retrait, c'est une règle de sécurité impérative de Binance.

II. Scénario 1 : Serveur Cloud (IP Statique)

C'est le scénario idéal. Saisissez directement l'IP publique de votre serveur cloud lors de la création de l'API.

1. Vérifier l'IP publique du serveur cloud

# Méthode 1 : Interroger un service externe
curl -4 ifconfig.me
curl -4 ipv4.icanhazip.com
curl -4 api.ipify.org

# Méthode 2 : Métadonnées Alibaba Cloud
curl http://100.100.100.200/latest/meta-data/eipv4

# Méthode 3 : Métadonnées AWS
curl http://169.254.169.254/latest/meta-data/public-ipv4

2. Configuration sur Binance

Page de gestion d'API Binance → Modifier la clé → Restreindre l'accès aux adresses IP de confiance uniquement (Recommandé) → Entrer les adresses IP → Enregistrer.

Séparez plusieurs IP par des virgules :

1.2.3.4,5.6.7.8,9.10.11.12

3. Points d'attention pour les serveurs cloud

  • Une IP élastique (EIP) libérée n'est pas conservée, veillez à la supprimer de la liste blanche sur Binance.
  • Les instances de groupes d'auto-scaling voient leurs IP changer ; il est préférable d'utiliser une passerelle NAT pour fixer l'IP de sortie.
  • Les proxys inverses CDN ne conviennent pas — Binance verra l'IP du fournisseur de proxy, pas celle de votre serveur.

III. Scénario 2 : Connexion Résidentielle (IP Dynamique)

L'IP résidentielle peut changer toutes les 24 heures. Voici plusieurs approches :

Option A : Non restreinte (Simple mais risqué)

Choisissez Sans restriction (moins sécurisé) sur la page de gestion d'API Binance. Inconvénients :

  • Les permissions de retrait sont automatiquement désactivées.
  • Aucune protection en cas de fuite de la clé.

Convient uniquement aux scénarios de lecture de données (cocher uniquement « Activer la lecture »).

Option B : Mise à jour dynamique de la liste blanche (Solution intermédiaire)

Binance ne fournit pas d'API pour mettre à jour la liste blanche, la modification doit être faite manuellement via l'interface web. Une automatisation complète est donc impossible.

Vous pouvez opter pour du semi-automatique :

  1. Détecter l'IP de sortie actuelle toutes les heures.
  2. Comparer avec l'IP configurée dans la liste blanche.
  3. En cas de différence, envoyer une notification via Telegram ou e-mail.
  4. Se connecter manuellement à Binance pour mettre à jour.

Exemple de script :

import requests
import time

CURRENT_WHITELIST = {"1.2.3.4"}  # L'IP configurée sur Binance
TG_BOT = "TELEGRAM_BOT_TOKEN"
TG_CHAT = "YOUR_CHAT_ID"

def get_current_ip():
    return requests.get("https://api.ipify.org").text.strip()

def notify(msg):
    requests.get(
        f"https://api.telegram.org/bot{TG_BOT}/sendMessage",
        params={"chat_id": TG_CHAT, "text": msg}
    )

last_ip = None
while True:
    ip = get_current_ip()
    if ip != last_ip:
        if ip not in CURRENT_WHITELIST:
            notify(f"L'IP a changé pour {ip}, veuillez mettre à jour la liste blanche sur Binance")
        last_ip = ip
    time.sleep(3600)

Option C : DDNS + Entrée Fixe (Recommandé)

Utilisez un serveur cloud avec une IP fixe comme proxy inverse ou passerelle :

Ordinateur résidentiel → Tunnel SSH → Serveur Cloud → API Binance

Sur le serveur cloud (par exemple un VPS léger à bas prix) :

# Établir un tunnel SSH depuis l'ordinateur résidentiel
ssh -N -L 8443:api.binance.com:443 [email protected]

Modifiez ensuite le BASE_URL dans votre code pour https://localhost:8443 (nécessite de gérer la validation du certificat TLS). Il suffit alors d' ajouter l'IP fixe du serveur cloud à la liste blanche.

Une solution encore plus élégante consiste à monter un VPN WireGuard pour faire passer tout le trafic de l'ordinateur résidentiel par la sortie du VPS.

IV. Scénario 3 : Équilibrage de charge multi-serveurs

Les stratégies de trading algorithmique de niveau production sont souvent déployées sur plusieurs serveurs pour la redondance :

Stratégie principale : Alibaba Cloud Tokyo (IP: 47.1.2.3)
Stratégie de secours : AWS Tokyo (IP: 54.4.5.6)
Service de surveillance : Tencent Cloud HK (IP: 150.7.8.9)

Saisissez les 3 adresses IP sur Binance, séparées par des virgules :

47.1.2.3,54.4.5.6,150.7.8.9

Renforcement de la sécurité : Créez des clés indépendantes pour chaque serveur au lieu d'en partager une seule. Ainsi, si une machine est compromise, il suffit de révoquer sa clé spécifique sans affecter les autres.

V. Scénario 4 : IP de sortie VPN / Proxy

1. Confirmer l'IP de sortie finale de la chaîne de proxy

Un VPN ou un proxy fera sortir le trafic par l'IP du serveur proxy plutôt que par votre IP réelle :

# Vérifier via le proxy
curl -x http://proxy.exemple.com:8080 ifconfig.me
# Ou vérifier après activation du VPN
curl ifconfig.me

C'est l' IP de sortie du proxy qu'il faut ajouter à la liste blanche.

2. Risques liés aux sorties partagées

L'IP de sortie d'un VPN commercial peut être partagée par des milliers de personnes. Ces IP :

  • Sont souvent sur la liste noire de Binance (utilisées pour du spam ou des activités suspectes).
  • Peuvent être bloquées si un autre utilisateur déclenche un contrôle des risques, affectant tous les utilisateurs partageant l'IP.
  • Peuvent déclencher des examens de conformité KYC.

L'utilisation de VPN commerciaux n'est pas recommandée pour le trading via API. Un VPS personnel avec une IP dédiée est la solution la plus sûre.

VI. Scénario 5 : Conteneurs Docker / Kubernetes

L'IP de sortie d'un conteneur est déterminée par la configuration réseau de l'hôte :

1. Mode réseau "Host"

# Docker Compose
services:
  bot:
    image: mybot
    network_mode: "host"  # Le conteneur utilise l'IP de l'hôte

Dans ce cas, l'IP de sortie du conteneur est celle du serveur hôte.

2. Réseau Bridge + NAT

services:
  bot:
    image: mybot
    networks:
      - default

Docker utilise par défaut le NAT, la sortie reste l'IP publique de l'hôte (sauf si l'hôte possède plusieurs cartes réseau pointant vers des sorties différentes).

3. Kubernetes

Utilisez une passerelle NAT ou une Egress Gateway pour unifier l'IP de sortie. Les fournisseurs cloud (GKE, EKS, ACK) supportent tous des fonctions d' IP de sortie fixe.

VII. Causes courantes d'échec de la liste blanche d'IP

Symptôme Cause Solution
Nouvelle IP non listée, erreur -2015 L'IP a changé sans synchronisation Mettre à jour sur Binance
IP inchangée sur serveur cloud mais échec d'appel Blocage par pare-feu ou route VPC Vérifier les règles sortantes
curl OK, mais échec de l'appel Python Python passe par un proxy socks5 Vérifier la variable http_proxy
curl local affiche A, mais Binance voit B Multi-cartes réseau, routes différentes Vérifier avec route -n
Échec du test juste après l'ajout Cache non rafraîchi Réessayer après 30 secondes
Déconnexion VPN, le script sort par l'IP locale Pas de "kill switch" sur le VPN Configurer iptables pour bloquer hors VPN

VIII. Double assurance : Vérification d'IP applicative

Même si Binance restreint l'IP, votre programme devrait effectuer un auto-contrôle au démarrage :

import requests

EXPECTED_IP = "1.2.3.4"

def verify_ip():
    current = requests.get("https://api.ipify.org").text.strip()
    if current != EXPECTED_IP:
        raise SystemExit(f"IP de sortie anormale : {current} ≠ {EXPECTED_IP}, démarrage refusé")
    print(f"Vérification IP réussie : {current}")

verify_ip()
# Initialiser le client Binance seulement après cette étape

IX. Questions fréquemment posées (FAQ)

Q1 : Combien d'IP peut-on définir pour une seule clé ?

R : Jusqu'à 30 adresses, saisies dans le même champ et séparées par des virgules. Si vous avez plus de 30 serveurs, il est recommandé de créer plusieurs clés par groupe de serveurs.

Q2 : Peut-on ajouter une IP de n'importe quelle région à la liste blanche ?

R : Oui, vous pouvez saisir n'importe quelle adresse IPv4. Les serveurs de Binance ne rejettent pas d'IP spécifique à une région pour la liste blanche. Cependant, pour des raisons de stabilité réseau, préférez des VPS situés à Hong Kong ou Singapour.

Q3 : Quelle est la différence entre la liste blanche d'IP et un pare-feu ?

R : La liste blanche d'IP est un contrôle d'accès côté Binance (restreint la source des requêtes) ; le pare-feu est un contrôle d'accès côté serveur (restreint le trafic entrant). Les deux sont complémentaires et doivent être configurés.

Q4 : Mon VPS supporte l'IPv6, mais pas Binance, que faire ?

R : Binance ne supporte pas encore les listes blanches IPv6. Solution : Utilisez curl -4 pour forcer l'IPv4 ou désactivez l'IPv6 au niveau du système :

# Linux
sysctl -w net.ipv6.conf.all.disable_ipv6=1

Q5 : Une fois la liste blanche définie, les requêtes de données de marché doivent-elles aussi provenir de cette IP ?

R : Oui. La liste blanche d'IP restreint toutes les requêtes portant l'en-tête X-MBX-APIKEY, y compris les interfaces signées et les interfaces USER_DATA. Les données de marché publiques (comme /ticker/price sans Header) ne sont pas restreintes.

Après avoir consulté les solutions pour la liste blanche d'IP, revenez à la Navigation par catégorie pour découvrir d'autres tutoriels sur le renforcement de la sécurité dans la catégorie « Intégration API ».

Continuer la navigation

Vous avez encore des questions sur l'utilisation de Binance ? Retournez à la page de catégorie pour trouver d'autres tutoriels sur le même sujet.

Navigation par catégorie

Tutoriels connexes

Comment demander une API Binance ? Comment générer généralement les signatures de clés 2026-04-14 Comment utiliser l'API Binance Spot ? Code prêt à l'emploi de zéro à votre premier ordre 2026-04-14 Quelles sont les différences entre l'API Binance Futures et l'API Spot ? Comparaison des endpoints, paramètres et poids 2026-04-14 L'API Binance peut-elle bloquer mon IP ? Explication détaillée de la stratégie de limitation de débit et du calcul du poids 2026-04-14