Une ancienne version d’une API peut rester disponible bien après une migration web, un changement de CRM ou le déploiement d’un nouveau checkout. Le problème apparaît lorsque personne ne peut confirmer quelle application, quel fournisseur ou quelle automatisation l’utilise. La désactiver sans vérification peut interrompre des commandes, des formulaires, des synchronisations ou des créations de clients ; la conserver sans contrôle prolonge une surface d’exposition que l’entreprise connaît mal.
Retirer d’anciennes versions d’une API impose de traiter le changement comme une tâche d’exploitation et de sécurité, et non comme une simple suppression technique. L’objectif n’est pas de déconnecter tout ce qui semble obsolète, mais de disposer de preuves suffisantes concernant son utilisation, son responsable, les données qu’elle transporte et la possibilité de revenir en arrière si un processus critique échoue.
Le problème : une intégration héritée que personne n’ose désactiver
Il est courant de trouver des routes telles que /v1/, des sous-domaines de test, des connecteurs créés par une agence ou des endpoints ayant survécu à une refonte de WordPress ou d’une boutique en ligne. Le fait qu’une API soit documentée ne signifie pas qu’elle soit encore active, et le fait qu’elle n’apparaisse pas dans la documentation ne prouve pas non plus qu’elle puisse être retirée. La question utile est de savoir qui l’utilise, pour quel processus métier, à quelle fréquence et sous quelle responsabilité.
OWASP identifie la gestion inadéquate de l’inventaire comme un risque spécifique pour les API. Parmi les problèmes associés, l’organisation cite la méconnaissance des versions opérationnelles, de l’environnement qui les exécute, des personnes qui doivent y accéder ou de la manière de retirer les anciennes versions. Elle recommande également d’évaluer le risque des versions antérieures lorsque les nouvelles intègrent des améliorations de sécurité. [1]
Créer un inventaire minimal permettant de décider
L’inventaire ne doit pas devenir un projet documentaire interminable. Pour chaque API, hôte, endpoint pertinent ou intégration, il convient d’enregistrer un identifiant, une URL ou un domaine, l’environnement, la version, la date de révision prévue, le responsable technique, le responsable métier et le fournisseur externe le cas échéant. Il doit également être clairement établi quel système envoie l’information et lequel la reçoit.
Ajoutez une classification pratique des données échangées — opérationnelles, personnelles, commerciales, identifiants ou paiements —, la méthode d’authentification, l’emplacement sécurisé des identifiants et le niveau d’exposition prévu : public, interne ou limité à des partenaires précis. Complétez chaque fiche avec une preuve d’utilisation récente et son origine, telles que des journaux du gateway, du serveur, du CDN ou de l’application. Le NIST envisage des inventaires de logiciels, de services, d’applications personnalisées, de services API et de services cloud, et souligne la nécessité d’attribuer des responsabilités et de mettre à jourl [2] [3]
- Identifiant, URL ou hôte et version.
- Environnement : production, préproduction, tests ou développement.
- Propriétaire technique, propriétaire métier et fournisseur, le cas échéant. Échanges de données et consommateurs connus. Preuve d’usage, de
Vérifier ce qui est actif sans affecter le service
Confrontez l’inventaire à des sources d’observation autorisées, telles que les logs d’accès, les métriques du gateway, les événements de l’application ou les journaux de l’infrastructure cloud. Il n’est pas nécessaire de réaliser des tests intrusifs ni d’explorer des systèmes tiers. Recherchez des requêtes récentes, l’origine des appels, les codes de réponse, les comptes de service et les processus métier associés. S’il n’existe pas de traçabilité suffisante, l’intégration n’est pas prête à être désactivée : elle reste en attente de confirmation.
Une classification simple réduit les décisions ambiguës. Marquez chaque élément comme actif et approuvé lorsqu’il a un usage, un responsable et une maintenance connus ; en migration lorsque des consommateurs sont identifiés et qu’une date de changement existe ; en attente de confirmation lorsque les preuves ne permettent pas de décider ; ou retirable lorsqu’aucun usage n’est confirmé, que le responsable approuve le retrait et qu’une réversibilité définie existe. À titre d’exemple hypothétique, si un endpoint de catalogue ne reçoit aucun appel pendant la période d’observation convenue, mais qu’un fournisseur n’a pas confirmé son remplacement,
Retirer la version selon une séquence de changement contrôlée
Avant de désactiver une version, confirmez qui assume la décision technique et qui valide l’impact métier. Identifiez les consommateurs internes, les intégrations de tiers et les automatisations apparemment mineures, comme un formulaire qui crée des contacts ou une tâche qui met à jour les stocks. Communiquez une date, un canal pour les incidents et le périmètre exact du changement. Une fenêtre d’observation convenue permet de détecter les dépendances sans transformer le retrait en arrêt improvisé.
Appliquez le changement à un moment prévu par l’entreprise et vérifiez les flux critiques susceptibles d’être affectés : envoi de formulaires, création de commandes, créations de clients, synchronisations et notifications. Conservez les preuves du retrait, mettez à jour l’inventaire et préservez une réversibilité limitée, documentée et dont la durée est définie en interne. ENISA recommande de maintenir un inventaire des API, de le confronter à la visibilité du périmètre ainsi qu’aux connaissances des équipes de développement et d’exploitation, et de restreindre le trafic entrant aux services nécessaires. [4]
- Confirmer les propriétaires technique et métier.
- Prévenir les consommateurs internes, les fournisseurs et les responsables opérationnels.
- Observer, appliquer le changement et valider les processus critiques autorisés. Documenter le retrait, mettre à jour l’inventaire et conserv
Éviter que l’API retirée ne redevienne orpheline
Les environnements hors production exigent une attention proportionnelle à leur exposition et aux données qu’ils traitent. Utiliser des données réelles comme raccourci lors des tests peut accroître l’impact d’une API héritée si ses contrôles sont plus faibles ou si elle reste exposée de manière inutile. OWASP recommande de ne pas utiliser de données de production dans des déploiements d’API hors production ; lorsque cela ne peut être évité, l’organisation indique qu’ils doivent recevoir le même traitement de sécurité. [1]
Faites de l’inventaire une source de vérité opérationnelle. Révisez-le après chaque nouvelle intégration, migration web, changement de fournisseur ou retrait d’un service, et mettez également en place une revue périodique réaliste. Un audit de protection web peut aider à organiser les actifs exposés et les dépendances dans un périmètre autorisé, mais la décision de retirer une intégration doit conserver des responsables métier et technologiques clairement définis.
- A-t-elle un responsable technique et métier ?
- Connaît-on les systèmes et les tiers qui l’utilisent ?
- Existe-t-il une preuve récente d’utilisation ou de non-utilisation ? Une date de changement communiquée et une réversibilité limitée sont-e
Questions fréquentes
Quand une ancienne version d’une API peut-elle être considérée comme retirée ?
Lorsqu’il existe des preuves suffisantes qu’elle n’a pas de consommateurs actifs, que les responsables technique et métier approuvent le retrait, que les processus concernés ont été vérifiés et que l’inventaire reflète le retrait. L’existence d’une nouvelle version ne suffit pas à elle seule.
Combien de temps faut-il observer une API avant de la retirer ?
Il n’existe pas de délai universel. Il doit être défini en fonction de la fréquence des processus associés, de leurs cycles opérationnels et de la criticité du service. L’important est que la période soit convenue, que des sources de preuve autorisées soient examinées et que les dépendances peu fréquentes puissent être identifiées.
Que faire si l’on ne sait pas qui utilise un ancien endpoint ?
Classez-le comme en attente de confirmation. Recueillez des données d’observation autorisées, consultez les équipes et les fournisseurs concernés et évitez de le désactiver avant de disposer d’une décision documentée. Si son exposition ou les données qu’il traite augmentent le risque, priorisez son analyse et appliquez des contrôles défensifspro
Sources primaires
- API9:2023 Improper Inventory Management - OWASP API Security Top 10
- Cybersecurity Framework | CSRC
- Security and Privacy Controls for Information Systems and Organizations
- ENISA ETL2020 - Web Application Attacks
- Assessing Security and Privacy Controls in Information Systems and Organizations
- devguide.owasp.org