Vous pouvez limiter les machines autorisées à appeler l'API Smoobu avec les clés de votre compte en ajoutant leurs adresses IP publiques à une liste d'autorisation, souvent appelée liste blanche d'IP. Dès que la liste contient au moins une entrée, toute requête venant d'une autre adresse est rejetée, même si sa clé API et sa signature sont correctes. La liste est facultative et ajoute une seconde couche de protection par-dessus la signature des requêtes : elle ne s'applique qu'aux requêtes signées. Elle est disponible sur tous les comptes Smoobu disposant d'un accès à l'API. Vous la gérez vous-même sous Paramètres avancés > Clés API, dans l'onglet IP whitelist.
Avant de commencer
Il vous faut tout ceci pour que la liste vaille la peine :
- Un accès direct à l'API. C'est le cas de vos propres scripts, d'une intégration sur mesure ou d'un outil interne dans lequel vous avez collé votre clé API vous-même. Pour obtenir une clé et signer vos requêtes, voir Utiliser l'API Smoobu : créer une clé API, configurer des webhooks et signer vos requêtes.
- Des adresses IP publiques fixes. La liste ne fonctionne bien que si vos requêtes viennent d'un petit nombre de machines stables, comme un serveur loué, une connexion de bureau avec IP statique ou une instance cloud avec adresse réservée.
- Des requêtes signées qui fonctionnent déjà. La liste blanche est une couche supplémentaire, pas une alternative à la signature. Une requête venant d'une adresse listée doit toujours porter un horodatage, un nonce et une signature valides. La liste blanche ne s'applique pas aux anciennes clés API, seulement aux clés de la génération actuelle : si vous utilisez encore une ancienne clé, ajouter votre adresse à la liste n'a aucun effet sur elle.
Les outils que vous avez connectés via la Marketplace Smoobu, comme un outil de tarification ou d'enregistrement, ne sont pas concernés par cette liste. Smoobu règle directement avec le partenaire toute restriction d'adresse pour ces intégrations, vous n'avez rien à configurer.
Si votre intégration tourne depuis des adresses qui changent souvent, par exemple des fonctions serverless, un ordinateur portable sur des connexions variables ou des workers cloud sans adresse sortante fixe, laissez la liste vide et fiez-vous à la seule signature. Une liste qui se périme sans cesse bloque plus de vos propres requêtes qu'elle n'en protège.
Une liste vide ne restreint rien
La liste est vérifiée à chaque requête faite avec l'une des clés API de votre compte, et elle ne prend effet qu'une fois qu'elle contient une entrée :
- Liste vide : toute requête est acceptée, quelle que soit l'adresse. C'est le réglage par défaut.
- Une entrée ou plus : seules les requêtes venant des adresses listées sont acceptées. Tout le reste est rejeté.
Il n'existe pas d'option « tout bloquer » ou « tout autoriser ». La protection repose entièrement sur les entrées que vous ajoutez, ajoutez donc chaque adresse dont vous avez besoin. Il y a une liste par compte Smoobu, et elle couvre toutes les clés API signées de ce compte. Vous ne pouvez pas restreindre une clé et en laisser une autre ouverte.
Smoobu vérifie l'adresse avant de vérifier la signature. Une requête venant d'une adresse absente de la liste reçoit une simple réponse 401 Unauthorized qui ne mentionne pas l'adresse. C'est voulu, pour que personne ne puisse sonder la liste de l'extérieur. Cela signifie aussi que si votre code de signature n'a pas changé et que toutes vos requêtes renvoient soudain 401, votre adresse est la première chose à vérifier.
Vous pouvez ajouter ces types d'entrées :
- Une adresse IPv4 seule, par exemple 203.0.113.42, pour une machine avec une adresse publique fixe.
- Une adresse IPv6 seule, par exemple 2001:db8::42, pour une machine qui joint Smoobu en IPv6.
- Une plage en notation CIDR, par exemple 198.51.100.0/24, pour un bloc d'adresses comme un réseau de bureau ou un pool de passerelles cloud. N'ajoutez qu'une plage que vous contrôlez entièrement. Une plage plus large que nécessaire affaiblit la protection que vous mettez en place.
Chaque entrée peut porter un court libellé, par exemple « Réseau du bureau », pour la reconnaître plus tard.
Étapes
- Trouvez l'adresse IP publique que votre intégration utilise pour ses appels sortants. Ce n'est souvent pas l'adresse locale que votre machine vous indique. Le plus fiable est d'envoyer une requête depuis la machine et la connexion que votre intégration utilise, et de lire l'adresse publique renvoyée.
- Dans Smoobu, ouvrez Paramètres avancés, puis Clés API, et sélectionnez l'onglet IP whitelist.
- Cliquez sur Ajouter. Dans la fenêtre Ajouter une adresse IP, saisissez l'adresse ou la plage dans Adresse IP, ajoutez un court libellé dans Libellé (facultatif) et enregistrez.
- Répétez l'étape 3 pour chaque machine, réplique, tâche planifiée et environnement de test ou de préproduction qui appelle l'API. Ajoutez-les tous en une fois, car votre première entrée bloque immédiatement toute adresse non listée.
- Envoyez une requête signée normale depuis une machine listée et vérifiez qu'elle aboutit.
- Si vous le pouvez, envoyez-en une depuis une adresse non listée et vérifiez qu'elle renvoie 401 Unauthorized. C'est ce second test qui prouve que la liste fonctionne.
Les changements prennent effet immédiatement. Vous pouvez retirer une entrée à tout moment, et retirer la dernière vous ramène au réglage par défaut, où toute adresse est acceptée.
Vérifiez que ça a fonctionné
Une requête signée depuis une adresse listée reçoit une réponse normale. La même requête envoyée depuis une adresse absente de la liste renvoie 401 Unauthorized.
Problèmes fréquents
Toutes vos requêtes se sont mises à renvoyer 401 d'un coup
Si toutes les requêtes échouent au même moment et que votre code de signature n'a pas changé, vérifiez votre connexion avant votre code. Les adresses sortantes changent plus souvent qu'on ne le croit : votre fournisseur d'accès réattribue votre adresse, vous passez sur un nouveau serveur ou une nouvelle région cloud, ou le réseau de votre bureau change. Relevez votre adresse sortante actuelle et ajoutez-la à la liste. Si l'intégration doit repartir tout de suite, retirez toutes les entrées pour lever la restriction le temps de régler le problème.
Certaines requêtes passent et d'autres non
Les requêtes viennent de plus d'endroits que vous n'en avez listés. Causes typiques : une seconde machine, une réplique ou une tâche planifiée tourne depuis une autre adresse ; votre connexion alterne entre plusieurs adresses ; vous avez listé votre serveur de production mais un environnement de test ou de préproduction appelle aussi l'API. Recensez les adresses de tout ce qui appelle l'API, pas seulement de votre machine principale, et ajoutez-les toutes.
Vous avez ajouté une adresse IPv4 mais les requêtes restent bloquées
Si votre machine préfère l'IPv6, l'adresse que voit Smoobu est l'adresse IPv6, qui ne correspond pas à votre entrée IPv4. Ajoutez les deux adresses, ou configurez votre intégration pour se connecter en IPv4.
Vous vouliez laisser passer les webhooks de Smoobu à travers votre propre pare-feu
Cette liste restreint les appels entrants vers l'API Smoobu. Elle n'a aucun effet sur les livraisons de webhooks sortantes que Smoobu envoie à votre serveur. Smoobu ne publie pas de jeu fixe d'adresses d'envoi des webhooks, ne placez donc pas de filtre IP devant votre point de réception de webhooks. Vérifiez plutôt les livraisons de webhooks par leur contenu.
Articles liés
Toujours bloqué ?
Si ces étapes n'ont pas réglé le problème, contactez l'équipe Smoobu : ouvrez le menu Aide pour ouvrir un ticket ou réserver un créneau d'appel, ou utilisez la bulle de chat en bas à droite. Pour obtenir la réponse la plus rapide, indiquez :
- Votre Smoobu User ID (dans le menu de l'icône de profil, en haut à droite).
- Le nom ou l'ID du logement, s'il s'agit d'un logement précis.
- Le Booking ID, s'il s'agit d'une réservation précise (Réservations, puis Afficher plus).
- Le nom du portail, s'il s'agit de synchronisation de portail (Booking.com, Airbnb, Vrbo, etc.).
- Un bref pas à pas : ce que vous avez fait, ce que vous attendiez et ce qui s'est passé.
- Des captures d'écran ou une courte capture vidéo du problème.
- Votre navigateur et votre système d'exploitation, si quelque chose s'affiche mal à l'écran.
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.