Modifier

Partager via


Accès amélioré à la sécurité aux applications web App Service à partir d’un réseau local

Azure App Service
Réseau virtuel Azure
Azure Private Link
Azure Key Vault
Comptes Stockage Azure

Cet article explique comment configurer une connectivité privée de sécurité améliorée à une application web App Service ou une application de fonction à partir d’un réseau local ou à partir d’un réseau virtuel Azure. Il montre également comment configurer une connectivité de sécurité améliorée entre l’application et d’autres services Azure PaaS via une liaison privée Azure, sans utiliser l’Internet public.

Dans cet article, Azure App Service fait référence aux niveaux tarifaires où il existe une infrastructure partagée avec d’autres clients App Service, tels que De base, Standard et Premium. App Service Environment déploie directement dans votre réseau virtuel avec une infrastructure de prise en charge dédiée et utilise des niveaux tarifaires isolés et n’est pas le focus de cet article.

Architecture

Diagramme qui montre l'architecture de référence pour un accès sécurisé aux applications web mutualisées à partir d'un réseau sur site.

Téléchargez un fichier Visio de cette architecture.

Dataflow

  • En utilisant l’intégration de réseau virtuel régional d’Azure App Service , l’application web se connecte aux services Azure via un sous-réseau délégué Sous-réseau d’intégration de réseau virtuel dans un réseau virtuel Azure.

    • Le sous-réseau d’intégration de réseau virtuel et le sous-réseau de point de terminaison privé se trouvent dans des réseaux virtuels distincts relevant d’abonnements différents. Ces deux réseaux sont appairés avec le réseau virtuel Hub dans le cadre d’une configuration de réseau hub-and-spoke. Pour l’intégration au réseau virtuel régional, les réseaux virtuels appairés doivent se trouver dans la même région Azure.
  • Le service Azure Private Link configure un point de terminaison privé pour les services PaaS, les applications web, la base de données Azure SQL, le compte de stockage Azure et le coffre de clés Azure dans un réseau virtuel de point de terminaison privé.

    Dans cet exemple, ce réseau virtuel est dédié au déploiement de points de terminaison privés uniquement. Aucune autre ressource, comme des machines virtuelles, ne sera déployée dans ce réseau virtuel. La future demande d’ajout de points de terminaison privés a été prise en compte lors de la sélection de la taille du sous-réseau.

  • Le réseau local et les réseaux virtuels Azure peuvent être connectés via un VPN de site à site (S2S) ou une homologation privée Azure ExpressRoute. Les utilisateurs du réseau local accèdent à l’application en privé et avec une sécurité améliorée sur le réseau privé uniquement.

    Dans cet exemple, le réseau local et les réseaux virtuels Azure sont connectés via l’homologation privée ExpressRoute.

  • Pour un réseau local qui dispose déjà d’une solution DNS (Domain Name System) en place, la solution DNS locale est configurée pour transférer le trafic DNS vers un enregistrement DNS privé Azure (par exemple, azurewebsites.net) par le biais d’un redirecteur conditionnel qui transfère la requête au point de terminaison entrant du service DNS Private Resolver déployé dans Azure. DNS Private Resolver interroge Azure DNS et reçoit des informations sur le lien du réseau virtuel DNS privé Azure. Ensuite, la résolution est effectuée par la zone DNS privée liée au réseau virtuel.

    Les zones de DNS privé sont également déployées dans le même abonnement que le réseau virtuel de point de terminaison privé.

    Dans cet exemple, un redirecteur DNS situé à l’adresse IP 192.168.0.254 dans le réseau local transfère toutes les requêtes de résolution DNS adressées au nom d’hôte azurewebsites.net au point de terminaison entrant du service DNS Private Resolver dans Azure à l’adresse 10.0.0.132. Ensuite, les requêtes sont résolues par le service DNS fourni par Azure, dont l’adresse IP est 168.63.129.16, par le biais de la zone DNS privé Azure liée au réseau virtuel.

    Un point de terminaison sortant est nécessaire pour activer la résolution de noms de transfert conditionnel d’Azure vers des fournisseurs de cloud locaux ou des serveurs DNS externes, à l’aide d’un ensemble de règles de transfert DNS.

    La configuration d’un ensemble de règles de transfert DNS n’est pas nécessaire pour ce scénario.

    Cette configuration App service doit être présente :

    Clé Valeur
    WEBSITE_DNS_SERVER 168.63.129.16
  • Les réseaux virtuels sont liés à toutes les zones DNS privées Azure.

    • Le réseau virtuel qui possède des points de terminaison privés est automatiquement lié aux zones DNS privées. Vous devez lier les autres réseaux virtuels séparément.
  • L’application Web communique avec les points de terminaison privés des services PaaS dans le réseau virtuel de point de terminaison privé via le pare-feu Azure.

  • Sur le pare-feu Azure, les règles d’application sont configurées pour autoriser la communication entre le sous-réseau d’intégration de réseau virtuel et les points de terminaison privés des ressources PaaS. Les noms de domaine complets (FQDN) cibles sont :

    • *.azurewebsites.net
    • *.database.windows.net
    • *.core.windows.net
    • *.vaultcore.azure.net
  • La configuration du pare-feu et du réseau virtuel pour Azure SQL, stockage Azure compte et Azure Key Vault autorise le trafic uniquement à partir du sous-réseau d’intégration de réseau virtuel. La configuration n’autorise pas la communication avec un autre réseau virtuel ou avec l’Internet public.

Composants

  • Azure App Service héberge des applications web et des applications de fonction permettant une mise à l’échelle automatique et une haute disponibilité sans vous demander de gérer l’infrastructure.
  • Azure SQL Database est un service géré de base de données relationnelle à usage général qui prend en charge les données relationnelles, les données spatiales, JSON et XML.
  • Le compte de stockage Azure fournit pour les données de stockage Azure un espace de noms unique, accessible de n’importe où dans le monde par le biais du protocole HTTP ou HTTPS. Il contient tous les objets de données de Stockage Azure : objets blob, partages de fichiers, files d’attente, tables et disques.
  • Azure Key Vault est un service permettant de stocker et d’accéder en toute sécurité à des clés API, des mots de passe, des certificats, des clés de chiffrement ou tout autre secret utilisé par les applications et services Cloud.
  • Le réseau virtuel Azure est le composant fondamental pour vos réseaux privés dans Azure. Les ressources Azure, comme les machines virtuelles, peuvent communiquer en toute sécurité entre elles, avec Internet et avec les réseaux locaux par le biais de réseaux virtuels.
  • Azure Private Link fournit un point de terminaison privé dans un réseau virtuel pour la connectivité aux services Azure PaaS tels que le stockage Azure et SQL Database, ou aux services clients ou partenaires.
  • Le peering privé Azure ExpressRoute étend les réseaux locaux au cloud Microsoft via une connexion privée. Vous pouvez également créer un VPN de site à site entre le réseau local et le réseau Azure au lieu d’utiliser Azure ExpressRoute.
  • Le pare-feu Azure est un service de sécurité réseau, informatique et managé qui permet de protéger les ressources de réseau virtuel Azure.
  • La zone DNS privée fournit un service DNS fiable et sécurisé pour la gestion et la résolution des noms de domaine dans le réseau virtuel.
  • DNS Private Resolver vous permet d’interroger des zones privées Azure DNS à partir d’un environnement local, et vice versa, sans déployer de serveurs DNS basés sur des machines virtuelles.

Autres solutions

Pour la connectivité privée, une autre approche consiste à utiliser App Service Environment pour héberger l’application Web dans un environnement isolé. App Service Environment évite l’infrastructure d’hébergement partagée entre les clients App Service. Pour la base de données, vous pouvez déployer en mode natif Azure SQL Managed Instance dans un réseau virtuel. Vous n’avez donc pas besoin d’intégration de réseau virtuel ou de points de terminaison privés. Ces offres sont généralement plus coûteuses, car elles fournissent un déploiement isolé à locataire unique et d’autres fonctionnalités.

Si vous disposez d’un App Service Environment, mais que vous n’utilisez pas SQL Managed Instance, vous pouvez toujours utiliser un point de terminaison privé pour la connectivité privée à une base de données Azure SQL. Si vous disposez déjà de SQL Managed Instance mais que vous utilisez un App Service, vous pouvez toujours utiliser l’intégration au réseau virtuel régional pour vous connecter à l’adresse privée SQL Managed Instance.

Pour certains autres services Azure, comme Key Vault ou Stockage, il n’existe pas d’alternative à l’utilisation de points de terminaison privés pour des connexions hautement sécurisées et privées à partir d’applications web.

Cas d’usage potentiels

  • Accédez à une application web App Service ou une application de fonction en privé avec une sécurité améliorée sur son point de terminaison privé à partir d’un réseau local ou à partir de réseaux virtuels Azure.
  • Établir une connexion à partir d’une application web ou d’une application de fonction vers des offres PaaS (platform as a service) Azure :
    • Autre application web
    • SQL Database
    • Stockage Azure
    • Key Vault
    • Tout autre service qui prend en charge les points de terminaison privés Azure pour la connectivité entrante

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.

Sécurité

La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez Vue d’ensemble du pilier Sécurité.

L’utilisation d’un point de terminaison privé pour votre application web vous permet d’effectuer les opérations suivantes :

  • Aider à sécuriser votre application web en configurant le point de terminaison privé, ce qui évite l’exposition publique.
  • Connecter avec une sécurité améliorée pour les applications web à partir de réseaux locaux qui se connectent au réseau virtuel à l’aide d’une homologation privée VPN ou ExpressRoute. Les connexions entrantes à l’application Web sont autorisées à partir du réseau local ou uniquement dans le réseau virtuel Azure.
  • Évitez tout exfiltration de données à partir de votre réseau virtuel.

Vous pouvez améliorer la sécurité de la connexion entrante à l’application web en utilisant un service frontal tel qu’Azure Application Gateway ou Azure Front Door, éventuellement avec le pare-feu d’applications web. Lorsque vous activez un point de terminaison privé pour votre application web, la configuration des restrictions d’accès de l’application web n’est pas évaluée.

Ce scénario améliore également la sécurité de la connexion sortante à partir d’une application web App Service à une dépendance en aval comme une base de données, Stockage ou Key Vault.

Vous pouvez configurer le routage d’applications pour acheminer tout le trafic ou seulement le trafic privé (également appelé trafic RFC1918) vers votre réseau virtuel. Cette configuration s’effectue par le biais du paramètre Tout acheminer. Si Tout acheminer est désactivé, l’application web achemine uniquement le trafic privé vers votre réseau virtuel. Pour bloquer le trafic vers des adresses publiques, activez Tout acheminer vers le réseau virtuel. Vous pouvez également un groupe de sécurité réseau pour bloquer le trafic sortant vers des ressources dans votre réseau virtuel ou sur Internet. Lorsque l’option Tout acheminer n’est pas activée, les groupes de sécurité réseau sont appliqués uniquement au trafic RFC1918.

Dans cet exemple, l’application Web n’a pas besoin de communiquer avec les services qui ne se trouvent pas dans le réseau virtuel, de sorte que Tout acheminer est activé.

Un aspect important de la sécurité dans ce scénario est la configuration du pare-feu pour les ressources PaaS.

Options de pare-feu SQL Database

Sans utiliser la connectivité privée, vous pouvez ajouter des règles de pare-feu qui autorisent le trafic entrant à partir des plages d’adresses IP spécifiées uniquement. Une autre approche consiste à autoriser les services Azure à accéder au serveur. Cette approche verrouille le pare-feu pour autoriser uniquement le trafic à partir d’Azure. Toutefois, ce trafic comprend toutes les régions Azure et d’autres clients.

Vous pouvez également ajouter une règle de pare-feu plus restrictive pour autoriser uniquement les adresses IP sortantes de votre application à accéder à la base de données. Toutefois, ces adresses IP sont partagées avec plusieurs App Services et autorisent le trafic d’autres clients sur le même tampon de déploiement, qui utilise les mêmes adresses IP sortantes.

L’utilisation de la connectivité privée via le réseau virtuel fournit ces options de pare-feu pour empêcher d’autres utilisateurs d’accéder à la base de données :

  • Créez une règle de réseau virtuel qui autorise le trafic uniquement à partir du sous-réseau régional délégué par l’intégration de réseau virtuel, Sous-réseau d’intégration de réseau virtuel dans cet exemple. Le sous-réseau délégué doit avoir un point de terminaison de service configuré pour Microsoft.Sql, de sorte que la base de données puisse identifier le trafic à partir de ce sous-réseau.
  • Configurez le pare-feu pour refuser l’accès au réseau public. Cela désactive toutes les autres règles de pare-feu et rend la base de données accessible uniquement via son point de terminaison privé.

L’option de refus de l’accès au réseau public est la configuration la plus sécurisée. Toutefois, si vous utilisez cette option, l’accès à la base de données est possible uniquement via le réseau virtuel qui héberge le point de terminaison privé. Pour vous connecter à la base de données, tout en dehors de l’application web doit disposer d’une connectivité directe au réseau virtuel.

Par exemple, les déploiements ou les connexions manuelles urgentes à partir de SQL Server Management Studio (SSMS) sur les ordinateurs locaux ne peuvent pas accéder à la base de données, sauf via une connectivité VPN ou ExpressRoute dans le réseau virtuel. Vous pouvez également vous connecter à distance à une machine virtuelle dans le réseau virtuel et utiliser SSMS à partir de là. En cas de situation exceptionnelle, vous pouvez autoriser temporairement l’accès au réseau public et réduire les risques en utilisant d’autres options de configuration.

Options de stockage de compte et de pare-feu de coffre de clés

Les comptes de stockage et les coffres de clés ont un point de terminaison public accessible à partir d’internet. Vous pouvez également configurer des points de terminaison privés pour votre compte de stockage et un coffre de clés. Cela permet d’attribuer à ces services une adresse IP privée à partir de votre réseau virtuel et de sécuriser tout le trafic entre votre réseau virtuel et le service respectif via une liaison privée.

Lorsque vous créez un point de terminaison privé, le sous-réseau d’intégration de réseau virtuel peut accéder au service en privé et avec une sécurité améliorée sur un lien privé. Toutefois, le compte de stockage et le coffre de clés sont toujours accessibles à partir d’autres réseaux virtuels Azure. Pour bloquer l’accès à partir de n’importe quel autre réseau virtuel, créez le point de terminaison de service pour ce sous-réseau délégué.

Disponibilité

La prise en charge de Private Link pour App Service, Azure SQL Database, Stockage Azure et Azure Key Vault est disponible dans toutes les régions publiques. Pour vérifier la disponibilité dans d’autres régions, consultez la disponibilité d’Azure Private Link.

Private Link introduit un autre composant et une considération relative à la disponibilité dans l’architecture. Le service de liaison privée dispose d’un contrat SLA à haute disponibilité. Vous devez tenir compte de ce contrat SLA lorsque vous calculez le contrat SLO composite de l’ensemble de la solution.

Évolutivité

Pour plus d’informations sur l’intégration d’Azure Private Link pour les services PaaS avec des zones DNS privées Azure dans des architectures réseau en étoile (Hub and Spoke), voir Liaison privée et intégration DNS à l’échelle.

Peering global

Tout service dans une région Azure qui peut se connecter via le réseau virtuel peut atteindre le point de terminaison privé des services PaaS, par exemple via le peering de réseau virtuel dans les topologies hub-and-spoke. Toutefois, pour l’intégration au réseau virtuel régional App Service, les réseaux virtuels appairés doivent se trouver dans la même région Azure.

L’absence de prise en charge du peering mondial signifie que vous ne pouvez pas utiliser cette solution pour la connectivité entre régions d’App Service à une base de données ou à un autre point de terminaison privé dans une autre région Azure. Par exemple, cette solution ne fonctionnerait pas pour un déploiement à plusieurs régions pour prendre en charge un basculement partiel, dans lequel l’application web reste active dans une région, mais doit se connecter à une base de données ayant basculé dans une autre région, ou vice versa. Mais il existe d’autres solutions pour cette situation.

Si vous devez connecter Web Apps à un réseau virtuel dans une autre région, vous pouvez configurer l’intégration du réseau virtuel nécessaire à la passerelle. La limitation réside dans le fait que l’intégration du réseau virtuel requis par la passerelle ne peut pas être utilisée avec un réseau virtuel connecté avec Azure ExpressRoute.

Enregistrement et surveillance

La liaison privée Azure est intégrée à Azure Monitor, qui vous permet de voir si les données circulent.

Vous pouvez également utiliser le service de résolution des problèmes de connexion dans Azure Network Watcher pour suivre la connectivité entre une machine virtuelle d’un réseau virtuel et le nom de domaine complet de la ressource de point de terminaison privé.

Optimisation des coûts

L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.

Il n’y a aucun coût supplémentaire pour l’intégration au réseau virtuel régional App Service dans les niveaux tarifaires pris en charge dans les plans App Service De base, Standard, Premium v2, Premium v3, Isolé v2 et Azure Functions Premium.

Le point de terminaison privé est disponible pour les applications web Windows et Linux, conteneurisées ou non, hébergées sur des plans App Service De base, Standard, Premium v2, Premium v3 et Isolé v2, ainsi que pour les applications de fonction déployées sur un plan Premium.

Le service de liaison privée Azure qui active les points de terminaison privé pour les services PaaS a un coût basé sur un tarif horaire plus un supplément pour la bande passante. Pour plus d’informations, consultez la page sur la tarification de Private Link. Les connexions d’un réseau virtuel client au pare-feu Azure dans le réseau virtuel Hub sont facturées. Vous n’êtes pas facturé pour les connexions du pare-feu Azure dans un réseau virtuel hub vers des points de terminaison privés dans un réseau virtuel appairé.

Les coûts relatifs à la zone DNS privée Azure sont basés sur le nombre de zones DNS hébergées dans Azure et sur le nombre de requêtes DNS reçues.

L’estimation de calcul de prix Azure permet d’explorer le coût d’exécution de ce scénario. Tous les services décrits dans cet article sont préconfigurés avec des valeurs par défaut raisonnables pour une application à petite échelle. Pour pouvoir observer l’évolution de la tarification pour votre cas d’usage, modifiez les variables appropriées en fonction de l’utilisation que vous escomptez.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes