Planifier et implémenter le protocole TLS (Transport Layer Security) aux applications, notamment Azure App Service et Gestion des API
Tls (Transport Layer Security) est un protocole de chiffrement conçu pour sécuriser les communications sur les réseaux en fournissant le chiffrement, l’authentification et l’intégrité des données. Elle fonctionne en établissant une négociation sécurisée entre un client et un serveur, en négocie des suites de chiffrement et en validant les certificats émis par les autorités de certification approuvées. Ce processus garantit que les informations sensibles, telles que les informations d’identification et les données d’application, sont transmises sous une forme chiffrée, en la protégeant contre l’interception ou la falsification pendant le transit. TLS a évolué via plusieurs versions, avec TLS 1.2 et TLS 1.3 offrant un chiffrement plus fort, des négociations plus rapides et une confidentialité améliorée par rapport aux itérations antérieures.
Dans le contexte d’Azure, TLS joue un rôle essentiel dans la protection des données entre les services tels que App Service, Gestion des API, Stockage Azure et SQL Database. Azure applique TLS pour toutes les connexions afin de garantir le chiffrement en transit, ce qui atténue les risques tels que les attaques man-in-the-middle. Les versions TLS modernes (1.2 ou ultérieure) sont requises. Azure s’aligne sur les normes de sécurité du secteur et fournit des fonctionnalités telles que Perfect Forward Secrety et le chiffrement authentifié, qui renforcent la résilience contre les menaces en constante évolution. Les versions plus récentes de TLS protègent non seulement les données client, mais garantissent également la conformité aux exigences réglementaires, ce qui rend TLS un composant fondamental de la posture de sécurité d’Azure.
Qu’est-ce que transport Layer Security fait pour vos applications ?
Transport Layer Security (TLS) chiffre les données qui transitent entre les clients et les serveurs, ce qui empêche l’écoute et la falsification des données. Lorsqu’un utilisateur se connecte à votre application web ou à votre API, TLS crée un tunnel chiffré qui protège les informations sensibles, telles que les jetons d’authentification, les données personnelles et les transactions commerciales, contre l’interception.
Les organisations modernes s’appuient sur TLS pour :
- Respectez les exigences réglementaires : les normes telles que PCI DSS, HIPAA et d’autres normes imposent le chiffrement des données en transit.
- Créer l’approbation du client : les indicateurs de sécurité du navigateur et les avertissements de certificat créent directement la confiance des utilisateurs.
- Empêcher les violations de données : les connexions non chiffrées exposent les informations d’identification, les jetons de session et les données métiers aux attaquants réseau.
TLS remplace le protocole SSL (Secure Sockets Layer) déconseillé. Configurez toujours les services pour utiliser TLS 1.2 ou version ultérieure, avec TLS 1.3 recommandé pour une sécurité et des performances optimales.
Pourquoi TLS importe dans Azure
Les services Azure gèrent des millions de demandes de clients quotidiennement dans les régions mondiales. TLS fournit trois protections critiques :
- Authentification : les certificats prouvent votre identité de service, empêchant les attaques man-in-the-middle où les attaquants usurpent l’identité de vos points de terminaison.
- Confidentialité : le chiffrement garantit que seules les parties autorisées peuvent lire les données transmises, même lorsque le trafic traverse des réseaux non approuvés.
- Intégrité : les signatures de chiffrement détectent toute falsification des données pendant la transmission.
Sans TLS, un attaquant sur le même réseau que vos utilisateurs peut capturer les informations d’identification de connexion, les clés API ou les enregistrements client. Azure inclut la prise en charge TLS intégrée entre les services de plateforme, mais vous devez configurer des versions minimales et des stratégies de certificat pour s’aligner sur vos exigences de sécurité.
Important
TLS protège uniquement les données en transit. Vous devez chiffrer séparément les données au repos à l’aide du chiffrement stockage Azure, du chiffrement transparent des données de base de données ou d’Azure Disk Encryption.
Configurer TLS pour Azure App Service
Dans votre code d’application, vous pouvez accéder aux certificats publics ou privés que vous ajoutez à Azure App Service. Votre code d’application peut agir en tant que client et accéder à un service externe qui nécessite une authentification par certificat. Il peut également être nécessaire d’effectuer des tâches de chiffrement.
Cette approche de l’utilisation de certificats dans votre code utilise la fonctionnalité TLS (Transport Layer Security) dans App Service, ce qui nécessite que votre application soit au niveau De base ou supérieur. Si votre application se trouve dans le niveau Gratuit ou Partagé, vous pouvez inclure le fichier de certificat dans votre référentiel d’applications.
Lorsque vous laissez App Service gérer vos certificats TLS/Secure Sockets Layer (SSL), vous pouvez conserver les certificats et le code de votre application séparément et protéger vos données sensibles.
Azure App Service fournit une terminaison TLS managée avec le renouvellement automatique des certificats. Vous contrôlez la version minimale de TLS et pouvez appliquer HTTPS pour toutes les connexions.
Appliquer la version minimale de TLS
- Dans le portail Azure, accédez à votre ressource App Service.
- Sous Paramètres, sélectionnez Configuration.
- Sélectionnez l’onglet Paramètres généraux.
- Définissez la version TLS minimale sur 1.2 ou 1.3 (1.3 recommandé).
- Cliquez sur Enregistrer pour appliquer les modifications.
Les clients qui tentent de se connecter à des versions antérieures de TLS reçoivent une erreur de connexion, ce qui empêche les systèmes hérités d’utiliser un chiffrement faible.
Exiger des connexions HTTPS
- Dans votre ressource App Service, sélectionnez Configuration sous Paramètres.
- Sélectionnez l’onglet Paramètres généraux.
- Définissez HTTPS uniquement sur On.
- Cliquez sur Enregistrer.
Azure redirige automatiquement les requêtes HTTP vers HTTPS, ce qui garantit que tout le trafic utilise des connexions chiffrées. Les connexions chiffrées éliminent les avertissements de contenu mixte dans les navigateurs et simplifient les audits de conformité.
Ajouter un certificat de domaine personnalisé
Les applications App Service reçoivent un certificat gratuit *.azurewebsites.net . Pour les charges de travail de production utilisant des domaines personnalisés :
- Achetez ou importez un certificat qui correspond à votre nom de domaine.
- Dans votre App Service, sélectionnez Certificats sous Paramètres.
- Sélectionnez Ajouter un certificat et suivez l’Assistant pour charger votre certificat ou créer un certificat managé App Service.
- Liez le certificat à votre domaine personnalisé sous Domaines personnalisés.
Les certificats managés se renouvellent automatiquement avant l’expiration. Les certificats privés nécessitent un renouvellement manuel et un rechargement.
Configurer TLS pour Gestion des API Azure
La gestion des API Azure se trouve entre les clients et les API back-end, gérant l'authentification, la limitation du débit et la transformation. Vous configurez TLS à la fois sur les couches de passerelle (côté client) et de back-end (service à service).
Définir la version TLS minimale pour la passerelle
- Dans le portail Azure, ouvrez votre instance Gestion des API.
- Sous Sécurité, sélectionnez Protocoles + chiffrements.
- Désactivez les cases à cocher pour SSL 3.0, TLS 1.0 et TLS 1.1.
- Vérifiez que TLS 1.2 est activé (la prise en charge de TLS 1.3 dépend de votre niveau de service).
- Cliquez sur Enregistrer.
La définition d’une version TLS minimale empêche les clients de négocier des versions de protocole faibles. Testez avec vos consommateurs d’API avant de désactiver TLS 1.1 si vous prenez en charge des applications mobiles ou des systèmes hérités plus anciens.
Appliquer HTTPS pour les points de terminaison d’API
- Accédez à l'option APIs dans votre instance de gestion des API.
- Sélectionnez l’API à sécuriser.
- Sous Paramètres, recherchez l’option de schéma d’URL .
- Sélectionnez HTTPS uniquement.
- Cliquez sur Enregistrer.
La gestion des API rejette les requêtes HTTP avec une réponse 403 Forbidden, protégeant contre l’exposition accidentelle des points de terminaison non chiffrés.
Configurer la validation TLS du back-end
Lorsque Gestion des API appelle des services back-end, vérifiez que ces connexions utilisent également TLS :
- Dans votre API, sélectionnez Concevoir et choisissez une opération.
- Dans la section Back-end , sélectionnez l’icône de crayon à modifier.
- Activez valider la chaîne de certificats et valider le nom du certificat.
- Chargez des certificats racines approuvés si votre back-end utilise des certificats privés ou auto-signés.
Vérifiez les connexions de sauvegarde pour empêcher la gestion des API d’accepter des certificats non valides ou expirés des services backend, en conservant le chiffrement de bout en bout.
Conseil / Astuce
Utilisez Azure Key Vault pour stocker et faire pivoter des certificats pour App Service et Gestion des API. Un processus centralisé de gestion du cycle de vie des certificats simplifie les rapports de conformité.
Planifier votre configuration TLS
Avant de déployer des modifications TLS en production :
- Auditer les clients existants : identifiez les systèmes utilisant TLS 1.0 ou 1.1 et planifiez leurs mises à niveau.
- Tester les renouvellements de certificats : vérifiez que le renouvellement automatisé fonctionne pour les certificats managés et documentez les procédures de renouvellement manuel pour les certificats privés.
- Configurer la surveillance : configurez des alertes Azure Monitor pour les échecs de poignées de main TLS et les avertissements d’expiration de certificat.
- Mappages de conformité de document : enregistrez les paramètres TLS qui répondent à des exigences réglementaires spécifiques pour les pistes d’audit.
La désactivation des versions antérieures de TLS peut interrompre la compatibilité avec les clients hérités. Coordonnez avec les propriétaires d’applications et planifiez un déploiement par phases avec une communication claire avec les consommateurs d’API.
Principaux points à retenir
- Configurez la version TLS minimale sur la version 1.2 ou ultérieure sur tous les services Azure pour empêcher les vulnérabilités de chiffrement faibles.
- Appliquez des connexions HTTPS uniquement sur App Service et gestion des API pour éliminer le trafic non chiffré.
- Activez la validation des certificats back-end dans Gestion des API pour maintenir le chiffrement de bout en bout au-delà des limites de service.
- Utilisez Azure Key Vault pour la gestion centralisée des certificats et les flux de travail de renouvellement automatisé.
- Testez les modifications de configuration TLS dans les environnements intermédiaires avant le déploiement de production pour identifier les problèmes de compatibilité des clients.
Étapes suivantes recommandées
- Auditez vos instances Azure App Service et Gestion des API existantes pour identifier les services qui autorisent toujours TLS 1.0 ou 1.1.
- Créez un coffre de clés Azure et migrez le stockage de certificats à partir de chargements manuels vers la gestion centralisée basée sur le coffre.
- Configurez les alertes Azure Monitor pour l’expiration des certificats (30 jours avant l’échéance) et les échecs d'échange TLS afin de prévenir les interruptions de service.