Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite 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.
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. Consultez Utiliser des 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. Consultez Intégrer votre application à un réseau virtuel Azure.
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. Consultez Configurer les 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. Consultez les 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. Consultez Le pare-feu d’applications web Azure 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. 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 demandes web avant de les transmettre au code de votre application et prend en charge plusieurs fournisseurs, notamment Microsoft Entra ID, comptes Microsoft, Facebook, Google et X. 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, séparés de l’authentification au niveau de l’application (authentification simple) ou de l’authentification d’application à ressource (identités managées). Consultez Rôles intégrés à Azure.
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 obtenir un didacticiel de bout en bout, consultez 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. Consultez 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. Par défaut, App Service force une redirection des requêtes HTTP vers HTTPS, et le nom
<app_name>.azurewebsites.netde domaine par défaut de votre application est déjà accessible via HTTPS. 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. 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. 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. Consultez Utiliser les références Key Vault pour App Service et Azure Functions.
Chiffrer les paramètres d’application : utilisez des paramètres d’application chiffrés et des chaînes de connexion au lieu de stocker des secrets dans du code ou des fichiers de configuration. App Service stocke ces valeurs chiffrées dans Azure et les déchiffre juste avant l’injection dans la mémoire de processus de votre application au démarrage de l’application, avec des clés de chiffrement pivotées régulièrement. Accédez à ces valeurs en tant que variables d’environnement à l’aide de modèles standard pour votre langage de programmation. Consultez Configurer les 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. Consultez Trouver des adresses 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. Consultez 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. Consultez 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. Consultez Surveiller les performances d’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. 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. 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é. Consultez les contrôles de conformité réglementaire Azure Policy pour Azure App Service.
Passez en revue les recommandations de sécurité : évaluez régulièrement votre posture de sécurité App Service à l’aide de Microsoft Defender pour Cloud pour identifier et corriger les vulnérabilités de sécurité et les erreurs de configuration. Consultez Protéger vos applications web et API Azure App Service.
Effectuer des évaluations de sécurité : effectuez des évaluations de sécurité et des tests de pénétration réguliers de vos applications App Service pour identifier les vulnérabilités potentielles et les faiblesses de sécurité. Consultez le benchmark de sécurité cloud Microsoft.
Maintenir la conformité réglementaire : configurez vos déploiements App Service conformément aux exigences réglementaires applicables pour votre secteur et votre région, en particulier en ce qui concerne la protection et la confidentialité des données. Consultez la documentation de conformité Azure.
Implémentez des pratiques DevOps sécurisées : établissez des pipelines CI/CD sécurisés pour le déploiement d’applications sur App Service, notamment l’analyse du code, les vérifications des dépendances et les tests de sécurité automatisés. Consultez DevSecOps dans Azure.
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. 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. Consultez Sauvegarder et restaurer votre application dans Azure App Service.
Implémenter des déploiements multirégions : déployez vos applications critiques dans plusieurs régions pour fournir des fonctionnalités de haute disponibilité et de récupération d’urgence en cas de pannes régionales. Consultez le tutoriel : Créer une application multiré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. Consultez 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.
Sécurité spécifique au service
Azure App Service a des considérations de sécurité uniques qui doivent être traitées 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. Consultez 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. Les nouvelles applications sont définies pour accepter uniquement FTPS par défaut. Consultez Déployer votre application sur Azure App Service à l’aide de 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. Cela fournit une isolation réseau complète de l’infrastructure partagée avec des points de terminaison publics dédiés, des options d’équilibreur de charge interne (ILB) pour l’accès interne uniquement et la possibilité d’utiliser un équilibreur de charge interne derrière un pare-feu d’applications web pour la protection au niveau de l’entreprise. Consultez Présentation des environnements Azure App Service.
Implémenter la protection DDoS : utilisez un pare-feu d’applications web (WAF) et une protection Azure DDoS pour vous protéger contre les attaques DDoS émergentes. Déployez Azure Front Door avec un WAF pour la protection au niveau de la plateforme contre les attaques DDoS au niveau du réseau. Consultez Azure DDoS Protection et Azure Front Door avec WAF.