Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure App Service fournit un environnement PaaS (Platform-as-a-Service) qui vous permet de créer, déployer et mettre à l’échelle des applications web, des back-ends d’applications mobiles, des API RESTful et des applications de fonction. Lors du déploiement de ce service, il est important de suivre les meilleures pratiques de sécurité pour protéger vos applications, données et infrastructure.
Cet article fournit des conseils sur la meilleure sécurisation de votre déploiement Azure App Service.
Azure App Service sécurise et renforce activement ses composants de plateforme, notamment les machines virtuelles Azure, le stockage, les connexions réseau, les infrastructures web et les fonctionnalités d’intégration et de gestion. App Service effectue des vérifications de conformité continues et rigoureuses pour garantir que :
- Chaque application est séparée des autres applications et ressources Azure.
- Les mises à jour régulières des machines virtuelles et des logiciels d’exécution répondent aux vulnérabilités nouvellement découvertes.
- La communication des secrets et des chaînes de connexion entre les applications et d’autres ressources Azure telles qu’Azure SQL Database se produit uniquement dans Azure, sans traverser les limites réseau. Les secrets stockés sont toujours chiffrés.
- Toutes les communications sur les fonctionnalités de connectivité App Service, telles que la connexion hybride , sont chiffrées.
- Toutes les connexions via des outils de gestion à distance tels qu’Azure PowerShell, Azure CLI, les SDK Azure et les API REST sont chiffrées.
- La gestion continue des menaces protège l’infrastructure et la plateforme contre les programmes malveillants, les attaques par déni de service distribué (DDoS) et les attaques man-in-the-middle et d’autres menaces.
Pour plus d’informations sur la sécurité de l’infrastructure et de la plateforme dans Azure, consultez le Centre de gestion de la confidentialité Azure.
Les recommandations de sécurité de cet article implémentent des principes de confiance zéro : « Vérifier explicitement », « Utiliser l’accès au privilège minimum » et « Supposer une violation ». Pour obtenir des conseils complets sur la confiance zéro, consultez le Centre d’aide sur la confiance Zéro.
Sécurité spécifique au service
Azure App Service comporte des considérations de sécurité uniques que vous devez prendre en compte pour garantir la sécurité globale de vos applications web.
Désactiver l’authentification de base : désactivez l’authentification par nom d’utilisateur et mot de passe de base pour les points de terminaison FTP et SCM en faveur de l’authentification basée sur l’ID Microsoft Entra, qui fournit une authentification basée sur des jetons OAuth 2.0 avec une sécurité renforcée. Pour plus d’informations, voir Désactiver l’authentification de base dans les déploiements Azure App Service.
Déploiements FTP/FTPS sécurisés : désactivez l’accès FTP ou appliquez le mode FTPS uniquement lors de l’utilisation de FTP pour les déploiements afin d’empêcher la transmission d’informations d’identification et de contenu en texte clair. Pour plus d’informations, consultez Déployer votre application sur Azure App Service via FTP/S.
Obtenez une isolation réseau complète : utilisez l’environnement App Service pour exécuter vos applications à l’intérieur d’un environnement App Service dédié dans votre propre instance de réseau virtuel Azure. Cette configuration offre une isolation complète du réseau par rapport à l’infrastructure partagée avec des points publics dédiés, des options d’équilibreur de charge interne (ILB) pour un accès interne uniquement, et la possibilité d’utiliser un ILB derrière un pare-feu d’applications web pour une protection au niveau entreprise. Pour plus d’informations, voir Introduction aux environnements Azure App Service.
Implémentez la protection DDoS : déployez Azure Front Door avec un Web Application Firewall (WAF) devant votre application App Service pour absorber et filtrer les attaques DDoS de niveau réseau et applicatif avant qu’elles n’atteignent votre application. Pour plus d’informations, voir Azure Front Door et protection contre les DDoS.
Sécurité réseau
App Service prend en charge de nombreuses fonctionnalités de sécurité réseau pour verrouiller vos applications et empêcher l’accès non autorisé.
Configurez des points de terminaison privés : éliminez l’exposition à Internet public en acheminant le trafic vers votre app Service via votre réseau virtuel à l’aide d’Azure Private Link, ce qui garantit une connectivité sécurisée pour les clients de vos réseaux privés. Pour plus d’informations, voir Utiliser les points de terminaison privés pour Azure App Service.
Implémenter l’intégration de réseau virtuel : sécurisez votre trafic sortant en permettant à votre application d’accéder aux ressources dans ou via un réseau virtuel Azure tout en conservant l’isolation à partir de l’Internet public. Pour plus d’informations, consultez Intégrer votre application à un réseau Azure Virtual Network.
Configurer des restrictions d’accès IP : restreindre l’accès à votre application en définissant une liste verte d’adresses IP et de sous-réseaux pouvant accéder à votre application, bloquant tout autre trafic. Vous pouvez définir des adresses IP individuelles ou des plages définies par des masques de sous-réseau et configurer des restrictions IP dynamiques via des fichiers web.config sur les applications Windows. Pour plus d’informations, consultez Configurer des restrictions d’accès Azure App Service.
Configurer des restrictions de point de terminaison de service : verrouillez l’accès entrant à votre application à partir de sous-réseaux spécifiques dans vos réseaux virtuels à l’aide de points de terminaison de service, qui fonctionnent conjointement avec les restrictions d’accès IP pour fournir un filtrage au niveau du réseau. Si vous souhaitez en savoir plus, veuillez consulter Restrictions d’accès à Azure App Service.
Utilisez le pare-feu d’applications web : améliorez la protection contre les vulnérabilités et attaques web courantes en implémentant Azure Front Door ou Application Gateway avec des fonctionnalités de pare-feu d’applications web devant votre App Service. Pour plus d’informations, consultez Azure Web Application Firewall sur Azure Application Gateway.
Gestion de l’identité et de l’accès
La gestion correcte des identités et des contrôles d’accès est essentielle pour sécuriser vos déploiements Azure App Service contre l’utilisation non autorisée et le vol potentiel d’informations d’identification.
Activez les identités managées pour les demandes sortantes : authentifiez-vous auprès des services Azure en toute sécurité à partir de votre application sans stocker d’informations d’identification dans votre code ou configuration à l’aide d’identités managées, ce qui élimine la nécessité de gérer les principaux de service et les chaînes de connexion. Les identités managées fournissent une identité managée automatiquement dans Microsoft Entra ID pour votre application à utiliser lors de l’établissement de requêtes sortantes vers d’autres services Azure tels qu’Azure SQL Database, Azure Key Vault et Stockage Azure. App Service prend en charge les identités managées affectées par le système et affectées par l’utilisateur. Pour plus d’informations, consultez Utiliser des identités managées pour App Service et Azure Functions.
Configurez l’authentification et l’autorisation : implémentez l’authentification/l’autorisation App Service pour sécuriser votre application avec l’ID Microsoft Entra ou d’autres fournisseurs d’identité, ce qui empêche tout accès non autorisé sans écrire de code d’authentification personnalisé. Le module d’authentification intégré gère les requêtes web avant de les transmettre à votre code d’application et prend en charge plusieurs fournisseurs, dont Microsoft Entra ID, les comptes Microsoft, Facebook, Google et X. Pour plus d’informations, consultez Authentification et autorisation dans Azure App Service.
Implémentez le contrôle d’accès en fonction du rôle pour les opérations de gestion : contrôlez qui peut gérer et configurer vos ressources App Service (plan de gestion) en affectant les autorisations RBAC Azure minimales nécessaires aux utilisateurs et aux principaux de service en suivant le principe du privilège minimum. Cela contrôle l’accès administratif aux opérations telles que la création d’applications, la modification des paramètres de configuration et la gestion des déploiements, distinctement de l’authentification au niveau applicatif (Easy Auth) ou de l’authentification app-verse-ressource (identités gérées). Pour plus d’informations, voir les rôles intégrés Azure pour le web et le mobile.
Implémenter l’authentification au nom de l’utilisateur : déléguer l’accès aux ressources distantes pour le compte des utilisateurs à l’aide de l’ID Microsoft Entra en tant que fournisseur d’authentification. Votre application App Service peut effectuer une connexion déléguée à des services tels que Microsoft Graph ou des applications API App Service distantes. Pour plus d’informations, voir Authentifier et autoriser les utilisateurs de bout en bout dans Azure App Service.
Activer l’authentification TLS mutuelle : exiger des certificats clients pour une sécurité ajoutée lorsque votre application doit vérifier l’identité du client, en particulier pour les scénarios B2B ou les applications internes. Pour plus d’informations, voir Configurer l’authentification mutuelle TLS pour Azure App Service.
Protection de données
La protection des données en transit et au repos est essentielle pour maintenir la confidentialité et l’intégrité de vos applications et de leurs données.
Appliquer HTTPS : redirigez tout le trafic HTTP vers HTTPS en activant le mode HTTPS uniquement, en veillant à ce que toutes les communications entre les clients et votre application soient chiffrées. La redirection uniquement HTTPS n’est pas activée par défaut, donc activez-la explicitement ; notez que le nom
<app_name>.azurewebsites.netde domaine par défaut de votre application est déjà accessible via HTTPS. Pour plus d’informations, consultez Configurer les paramètres généraux.Configurer la version TLS : utilisez des protocoles TLS modernes en configurant la version TLS minimale sur la version 1.2 ou ultérieure, et désactivez les protocoles obsolètes et non sécurisés pour éviter les vulnérabilités potentielles. App Service prend en charge TLS 1.3 (dernière version), TLS 1.2 (minimum par défaut) et TLS 1.1/1.0 (pour la compatibilité descendante uniquement). Configurez la version TLS minimale pour votre application web et votre site SCM. Pour plus d’informations, consultez Configurer les paramètres généraux.
Gérer les certificats TLS/SSL : sécurisez les domaines personnalisés à l’aide de certificats TLS/SSL correctement configurés pour établir des connexions approuvées. App Service prend en charge plusieurs types de certificats : certificats managés App Service gratuits, certificats App Service, certificats tiers et certificats importés à partir d’Azure Key Vault. Si vous configurez un domaine personnalisé, sécurisez-le avec un certificat TLS/SSL afin que les navigateurs puissent établir des connexions HTTPS sécurisées. Pour plus d’informations, consultez Ajouter et gérer des certificats TLS/SSL dans Azure App Service.
Stockez les secrets dans Key Vault : protégez les valeurs de configuration sensibles telles que les informations d’identification de base de données, les jetons d’API et les clés privées en les stockant dans Azure Key Vault et en les accédant à l’aide d’identités managées, plutôt que de les stocker dans les paramètres d’application ou le code. Votre application App Service peut accéder en toute sécurité à Key Vault à l’aide de l’authentification d’identité managée. Pour plus d’informations, consultez Utiliser les références Key Vault pour App Service et Azure Functions.
Évitez de coder durement les secrets dans les paramètres de l’application : ne stockez pas les secrets dans le code ou les fichiers de configuration. App Service stocke les paramètres et chaînes de connexion chiffrés au repos et les déchiffre juste avant de les injecter dans la mémoire des processus de votre application, mais pour les secrets sensibles, préférez les références Key Vault afin que les secrets soient gérés de manière centralisée et jamais stockés dans la configuration de l'application. Accédez à ces valeurs en tant que variables d’environnement à l’aide de modèles standard pour votre langage de programmation. Pour plus d’informations, consultez Configuration des paramètres de l’application.
Connexions distantes sécurisées : utilisez toujours des connexions chiffrées lors de l’accès aux ressources distantes, même si la ressource back-end autorise les connexions non chiffrées. Pour les ressources Azure telles qu’Azure SQL Database et Stockage Azure, les connexions restent dans Azure et ne dépassent pas les limites du réseau. Pour les ressources de réseau virtuel, utilisez l’intégration de réseau virtuel avec un VPN point à site. Pour les ressources locales, utilisez des connexions hybrides avec TLS 1.2 ou l’intégration de réseau virtuel avec un VPN de site à site. Assurez-vous que les services Azure principaux autorisent uniquement le plus petit ensemble possible d’adresses IP de votre application. Pour plus d’informations, voir Découvrir les IP sortantes.
Enregistrement et surveillance
L’implémentation d’une journalisation et d’une surveillance complètes est essentielle pour détecter les menaces de sécurité potentielles et résoudre les problèmes liés à votre déploiement Azure App Service.
Activer la journalisation des diagnostics : configurez les journaux de diagnostic Azure App Service pour suivre les erreurs d’application, les journaux des serveurs web, les traces des demandes ayant échoué et les messages d’erreur détaillés pour identifier les problèmes de sécurité et résoudre les problèmes. Pour plus d’informations, voir Activer la journalisation des diagnostics pour les applications dans Azure App Service.
Intégrez avec Azure Monitor : configurez Azure Monitor pour collecter et analyser les journaux et métriques de votre Service d'Applications, permettant une surveillance complète et des alertes pour les événements de sécurité et les problèmes de performances. Pour plus d’informations, voir Surveiller les applications dans Azure App Service.
Configurez Application Insights : implémentez Application Insights pour obtenir des insights détaillés sur les performances des applications, les modèles d’utilisation et les problèmes de sécurité potentiels, avec des fonctionnalités de surveillance et d’analytique en temps réel. Pour plus d’informations, consultez Surveiller le niveau de performance Azure App Service.
Configurer des alertes de sécurité : créez des alertes personnalisées pour vous avertir des modèles d’utilisation anormaux, des violations de sécurité potentielles ou des interruptions de service affectant vos ressources App Service. Pour plus d'informations, consultez Créer, afficher et gérer des alertes de métrique à l'aide d'Azure Monitor.
Activer les vérifications d’intégrité : configurez les vérifications d’intégrité pour surveiller l’état opérationnel de votre application et corriger automatiquement les problèmes lorsque cela est possible. Pour en savoir plus, consultez Superviser des instances App Service à l’aide du contrôle d’intégrité.
Gouvernance et conformité
L’établissement d’une gouvernance appropriée et la conformité aux normes pertinentes est essentielle pour le fonctionnement sécurisé des applications Azure App Service.
Implémenter Azure Policy : appliquez des normes de sécurité à l’échelle de l’organisation pour vos déploiements App Service en créant et en affectant des définitions Azure Policy qui auditent et appliquent les exigences de conformité. Pour plus d’informations, consultez les contrôles de conformité réglementaire d’Azure Policy pour Azure App Service.
Examinez les recommandations de sécurité : Évaluez régulièrement la posture de sécurité de vos services d’applications en utilisant Microsoft Defender for Cloud pour identifier et corriger les vulnérabilités et les mauvaises configurations de sécurité. Pour plus d’informations, consultez Protéger vos applications web et API Azure App Service.
Effectuez des évaluations de sécurité : effectuez régulièrement des évaluations de sécurité et des tests d’intrusion de vos applications App Service afin de valider les restrictions d’accès, les paramètres TLS et la configuration Easy Auth. Suivez les règles d’engagement des tests d’intrusion cloud de Microsoft. Pour plus d’informations, voir Test d’intrusion.
Maintenir la conformité réglementaire : Assignez des initiatives intégrées de politique de conformité réglementaire (telles que PCI DSS, HIPAA/HITRUST ou ISO 27001) qui incluent des contrôles de services d’applications pour auditer vos applications selon les exigences de votre secteur et région, en particulier en ce qui concerne la protection des données et la vie privée. Pour plus d’informations, voir Conformité réglementaire dans Azure Policy.
Mettre en œuvre des pratiques DevOps sécurisées : établir des pipelines CI/CD sécurisés pour le déploiement dans App Service : utiliser les emplacements de déploiement pour la validation en phases, désactiver l’authentification de base sur les points de terminaison SCM/FTP au profit d’un déploiement basé sur l’identité gérée, et ajouter des numéris de code et des vérifications de dépendances. Pour plus d’informations, consultez les meilleures pratiques de déploiement.
Sauvegarde et récupération
L’implémentation de mécanismes de sauvegarde et de récupération robustes est essentielle pour garantir la continuité d’activité et la protection des données dans vos déploiements Azure App Service.
Activez les sauvegardes automatisées : configurez des sauvegardes planifiées pour vos applications App Service afin de vous assurer que vous pouvez récupérer vos applications et données en cas de suppression accidentelle, de corruption ou d’autres échecs. Pour plus d’informations, consultez Sauvegarder et restaurer votre application dans Azure App Service.
Configurez la rétention des sauvegardes : définissez les périodes de rétention appropriées pour vos sauvegardes en fonction des besoins de votre entreprise et des besoins de conformité, ce qui garantit que les données critiques sont conservées pendant la durée requise. Pour plus d’informations, consultez Sauvegarder et restaurer votre application dans Azure App Service.
Mettez en place des déploiements multi-régions : déployez vos applications critiques dans plusieurs régions afin d’offrir une haute disponibilité et des capacités de reprise après sinistre en cas de pannes régionales. Pour plus d’informations, consultez le tutoriel : Créer une application multi-région hautement disponible dans App Service.
Tester la restauration des sauvegardes : testez régulièrement votre processus de restauration de sauvegarde pour vous assurer que les sauvegardes sont valides et peuvent être correctement restaurées si nécessaire, en vérifiant à la fois les fonctionnalités de l’application et l’intégrité des données. Pour plus d’informations, voir Restaurer une application à partir d’une sauvegarde.
Procédures de récupération de documents : créez et gérez une documentation complète pour les procédures de récupération, ce qui garantit une réponse rapide et efficace lors des interruptions de service ou des sinistres. Pour plus d’informations, consultez Reliability in Azure App Service.