Comment utiliser les points de terminaison privés Azure pour limiter l’accès public à vos applications Web

Active Directory

points de terminaison privés azure

En tant qu’admin ou architecte Azure, on vous pose parfois cette question : « Comment peut-on déployer sans risque des applications métier internes sur Azure App Service ? »

Ces applications sont en général :

  • Non accessibles à partir de l’Internet public
  • Accessibles à partir d’un réseau d’entreprise sur site
  • Accessibles via un client VPN autorisé depuis un réseau extérieur à celui de l’entreprise.

Dans ces cas-là, nous pouvons utiliser la Liaison privée Azure, qui permet un accès privé et sécurisé aux services Azure PaaS via des points de terminaison privés Azure, ainsi que le VPN Site-to-Site, le VPN Point-to-Site ou ExpressRoute. Azure Private Endpoint est un service d’interface réseau en lecture seule associé aux services Azure PaaS. Il vous permet d’intégrer des sites déployés à votre réseau virtuel, en limitant leur accès au niveau du réseau.

Il utilise l’une des adresses IP privées de votre Azure VNet et l’associe à Azure App Service. Ces services sont appelés des ressources Private Link. Il peut s’agir de Azure Storage, Azure Cosmos DB, SQL, d’une application Web App Service, de vos propres services/services détenus par des partenaires, Azure Backups, Event Grid, Azure Service Bus ou Azure Automation.

Dans cet article, nous couvrirons les sujets suivants :

Comment les services sont-ils sécurisés à l’aide de points de terminaison privés ?

Lorsque vous utilisez des points de terminaison privés pour les services et applications Azure, le trafic entrant est restreint à une ressource Private Link spécifique.

Le trafic réseau voyage dans une direction, du client vers la ressource sur le réseau backbone de Microsoft. La connexion à la ressource est validée par la plateforme pour contrôler l’accès.

Lorsque vous utilisez un point de terminaison privé, vous renforcez la sécurité des ressources Azure par une protection intégrée contre l’exfiltration, qui empêche l’accès aux autres ressources hébergées sur le même service Azure.

Fonctionnalités clés des points de terminaison privés Azure

Voici quelques-unes des caractéristiques principales des points de terminaison privés :

  • Accessibilité sécurisée – les ressources dotées de points de terminaison privés sont accessibles par les consommateurs au sein du même réseau virtuel, d’un réseau virtuel régional/mondial appairé, ainsi que des réseaux sur site via un VPN ou ExpressRoute.
  • Connectivité unidirectionnelle – les connexions réseau se font dans une seule direction et sont initiées par les consommateurs vers la ressource du point de terminaison privé. Les connexions ne peuvent se faire de la ressource Private Link vers les consommateurs.
  • Adresse IP constante – quand un point de terminaison privé est créé pour une ressource, une adresse IP privée appartenant au réseau virtuel est attribuée de manière dynamique. Celle-ci ne change pas et reste la même durant toute la durée de vie de la ressource.
  • Existence dans la même région – le point de terminaison privé doit être déployé dans la même région que le réseau virtuel, tandis que la ressource Private Link peut être déployée dans une région différente.
  • Limites du point de terminaison privé – plusieurs points de terminaison privés peuvent être créés sur le même réseau virtuel. Il y peut y avoir 1 000 points de terminaison privés par réseau virtuel et 64 000 points de terminaison privés maximum par abonnement.

Comment sécuriser une application Web sur App Service à l’aide d’un point de terminaison privé

Dans les sections suivantes, nous allons configurer un point de terminaison privé pour une application Web sur App Service.

Nous effectuerons les étapes suivantes :

  1. Créer un VPN site à site
    1. Créer un réseau virtuel dans Azure
      1. Créer un groupe de ressources
      2. Créer un réseau virtuel
    2. Créer une passerelle de réseau virtuel
    3. Créer une passerelle de réseau local
    4. Créer les connexions
  2. Créer une application Web sur App Service
    1. Créer un Plan App Service
    2. Créer une application Web sur App Service
    3. Créer un point de terminaison privé dans l’application Web
  3. Tester la connexion

1. Créer un VPN site à site

En tant qu’admin ou architecte Azure, on vous demandera peut-être aussi de faire des préconisations sur le client VPN à utiliser. L’entreprise fera peut-être appel à vous pour vous demander quel client VPN choisir pour la connectivité à Azure. C’est le cas des entreprises qui n’ont pas leurs propres routeurs avec des adresses IP publiques. Votre choix dépend de votre expérience, de la disponibilité, des fonctionnalités et des tarifs.

Ce fut le cas récemment : j’ai dû faire un choix de client VPN et j’ai opté pour le Perimeter-81 parce qu’il est rentable, fiable et qu’il est adapté aux PME. Perimeter-81 est un réseau cloud en tant que service, zero-trust, conçu pour simplifier la sécurisation de réseaux pour les entreprises dont le personnel est réparti géographiquement. Vous pouvez évidemment choisir tout autre fournisseur de services VPN. Je souhaite toutefois préciser que mon choix s’est porté sur Perimeter-81 après avoir évalué les différents fournisseurs disponibles. Microsoft propose déjà une longue liste de fournisseurs et vous êtes libre de choisir celui que vous voulez.

Créer un réseau virtuel dans Azure

Le réseau virtuel est la fondation même d’une Infrastructure en tant que Service (IaaS), au sein duquel sont réalisés tous les déploiements de l’infrastructure. Il comprend des subnets, qui possèdent un ensemble d’adresses IP à attribuer aux ressources déployées. Différents subnets peuvent servir pour différents usages. Par ex : un subnet pour les machines virtuelles, un autre pour les points de terminaison privés et un subnet dédié à la passerelle du réseau virtuel.

Dans Azure, la première étape consiste à créer un groupe de ressources. Il s’agit d’un conteneur logique dans lequel toutes les ressources seront créées. Nous allons créer et déployer d’autres ressources une fois que le groupe de ressources sera créé. Suivez les étapes ci-dessous.

Créer un groupe de ressources

  1. Connectez-vous au portail Azure et rendez-vous dans Groupe de ressources, puis cliquez sur Ajouter.
  2. Sur la page de création du groupe de ressources, choisissez un abonnement, saisissez le nom du groupe et choisissez une région en fonction de votre lieu. créer un groupe de ressources
  3. Cliquez sur Vérifier + créer et une fois la validation terminée, cliquez sur le bouton Créer.

Créer un réseau virtuel

  1. Cliquez sur Réseau virtuel, puis sur le bouton Ajouter.
  2. Sur la page de création de réseau virtuel, effectuez les actions suivantes :
    1. Choisissez un abonnement
    2. Sélectionnez le nom du groupe de ressources que vous venez de créer dans la liste déroulante
    3. Saisissez un nom pour le réseau virtuel
    4. Choisissez une région, où vous voulez créer votre réseau virtuel (idéalement la même que celle du groupe de ressources)
    5. Cliquez sur le bouton « Suivant : Adresses IP » créer un réseau virtuel
    6. Dans l’onglet des adresses IP, choisissez l’adresse IPv4 que vous souhaitez pour votre VNet (par défaut l’adresse IP 10.0.0.0/16 est préremplie automatiquement). Vous pouvez utiliser la même.
    7. Sous subnets, choisissez le subnet par défaut : 10.0.0.0/24
    8. Cliquez sur Ajouter Subnet pour ajouter le subnet pour le point de terminaison privé. créer un réseau virtuel 2
      • Saisissez un nom (ici « pte-subnet ») pour le subnet
      • Saisissez une plage d’adresse IP pour ce subnet à l’aide de la notation CIDR (10.0.1.0/27). Le « /27 » ici signifie que l’on aura 32 adresses IP, sur lesquelles 27 pourront être utilisées, car 5 seront réservées.
    1. Une fois le réseau virtuel déployé, accédez à la ressource.
    2. Cliquez sur Subnets sous Paramètres dans le menu de gauche.
    3. Sous Subnets, cliquez sur « Passerelle subnet » pour ajouter un subnet qui sera utilisé pour la création de la passerelle du réseau virtuel. créer un subnet

Créer une passerelle de réseau virtuel

Pour connecter le réseau sur site au réseau virtuel Azure, nous allons créer la passerelle du réseau virtuel, ou VNG en abrégé (Virtual Network Gateway en anglais). Elle est utilisée pour envoyer le trafic chiffré entre la source et la destination sur l’Internet public. Lorsque vous essayez de créer la VNG dans Azure, vous verrez que le réseau virtuel n’autorise la création que d’un seul Gateway Subnet. Par conséquent, chaque réseau virtuel dans Azure ne peut avoir qu’une seule passerelle de réseau virtuel. Suivez ces étapes pour créer votre VNG.

  1. Rendez-vous dans le portail Azure et cherchez Virtual Network Gateway. Sur la page de la passerelle de réseau virtuel, cliquez sur Ajouter. créer vng
  2. Sur la page de création de la passerelle, choisissez un abonnement.
  3. Saisissez le nom (vng-varonis) pour votre passerelle de réseau virtuel.
  4. Choisissez la région (ici, East US 2).
  5. Choisissez VPN comme type de passerelle et Route-based comme type de VPN.
  6. Le SKU pour la démo sera « VpnGw1 ». La génération est Generation1 par défaut.
  7. Choisissez le réseau virtuel « Varonis-vnet » dans la liste déroulante.
  8. Pour l’adresse IP publique, sélectionnez Créer et saisissez le nom de l’adresse IP (pip-vng).
  9. Les autres options restent les mêmes.
  10. Cliquez sur Vérifier + créer puis cliquez sur Créer. créer vng2

Créer une passerelle de réseau local

Pour créer un VPN site à site, nous devons configurer la passerelle du réseau local (LNG ou Local Network Gateway) puis créer une connexion entre celle-ci et la passerelle du réseau virtuel (VNG). Comme détaillé plus haut, nous allons configurer le VPN Perimeter-81 (notre fournisseur de VPN) pour la passerelle LNG. Le client VPN pourra ensuite être téléchargé sur les appareils mobiles ou sur les systèmes et se connecter au réseau Azure.

Comme nous l’avons déjà mentionné, le choix du fournisseur de service VPN dépend entièrement des préférences de votre entreprise. Vous recevrez l’adresse IP publique ainsi que les adresses IP privées par ce fournisseur.

L’adresse IP publique est utilisée pour créer le tunnel de connexion entre le réseau sur site et le réseau Azure, tandis que les adresses IP privées sont attribuées sur les appareils sur site qui essaient de se connecter au réseau Azure via le client VPN.

diagramme de configuration

Ci-dessous, les détails de configuration de la passerelle du réseau local :

  1. Adresse IP publique du client VPN – 165.227.40.159
  2. Adresse IP privée du subnet (format CIDR) – 10.255.0.0/16
  3. Clé secrète / clé partagée. Cela peut-être n’importe quelle valeur correspondante, pendant la configuration de la connexion avec la passerelle du réseau virtuel Azure – xxxx12345xxx

Suivez les étapes ci-dessous pour configurer la passerelle LNG dans Azure :

  1. Rendez-vous dans le portail Azure et ouvrez Passerelle de réseau local.
  2. Sur la page de la passerelle de réseau local, cliquez sur Ajouter.
  3. Saisissez le nom de la passerelle de réseau local (lng-varonis).
  4. Saisissez l’adresse IP publique du client VPN configurée plus tôt, telle que vous l’a fourni votre fournisseur de VPN (165.227.40.15).
  5. Pour l’espace de l’adresse, saisissez l’adresse privée telle qu’indiquée par le fournisseur de VPN, au format CIDR (10.255.0.0/16).
  6. Choisissez l’abonnement et le groupe de ressources.
  7. Pour l’emplacement, saisissez-le, cela devrait être la même région que le reste des ressources (ici, East-US2).

créer lng

créer lgn 2

Créer les connexions

Une fois la passerelle du réseau local créée, l’étape finale consiste à créer les connexions entre la passerelle du réseau virtuel et celle du réseau local. Cela permet de connecter votre réseau sur site à votre réseau Azure. Les connexions peuvent être créées soit à partir de la passerelle de réseau virtuel, soit depuis la passerelle de réseau local. Suivez ces étapes pour créer les connexions.

  1. Sur la page de la passerelle de réseau local, cliquez sur Connexions sous Paramètres.
  2. Sur la page des connexions, cliquez sur le bouton Ajouter.
  3. Sur la page Ajouter une connexion, saisissez le nom de la connexion (ici s2s-Connection).
  4. Cliquez sur Choisir une passerelle de réseau virtuel et sélectionnez la passerelle VNG créée plus tôt (vng-varonis) choisir la vng
  5. La passerelle de réseau local sera automatiquement sélectionnée (lng-varonis).
  6. La clé partagée (PSK) est la même que celle fournie lors de la configuration du client VPN (xxxx12345xxx).
  7. Le protocole IKE est IKEv2 par défaut.
  8. Les autres options restent sur les valeurs par défaut.
  9. Cliquez sur le bouton Créer pour créer la connexion. créer les connexions
  10. Vous pouvez cliquer sur la connexion (s2s-connection) pour voir l’état actuel de la configuration. Une fois la connexion établie, vous verrez l’écran ci-dessous, qui indique l’état « Connecté ».

s2s connections

2. Créer une application Web sur App Service

Avant de créer l’application Web sur App Service, nous devons créer le Plan App Service. Un Plan App Service représente un ensemble de ressources physiques pour l’App Service. Il peut y avoir plusieurs applications Web dans un Plan App Service. Un Plan App Service est un peu comme une seule ressource de calcul, comme une machine virtuelle par exemple. À des fins de facturation, si l’on crée plus d’une seule application Web dans un seul Plan App Service, il ne sera facturé qu’une seule fois.

Créer un Plan App Service

En revanche, il peut y avoir des effets négatifs sur la performance d’une application si les applications utilisent le même Plan App Service, car elles utiliseront les mêmes ressources. Suivez les étapes ci-dessous pour configurer le Plan App Service.

  1. Dans le portail Azure, recherchez App Service Plan et, sur la page qui s’affiche, cliquez sur le bouton Ajouter.
  2. Sur la page qui s’affiche, sélectionnez l’abonnement et le groupe de ressources sous Détails du projet.
  3. Dans la section Détails du plan App Service, saisissez le nom du Plan App Service (ici, asp-varonis).
  4. Pour le système d’exploitation, choisissez Windows. Il peut s’agir aussi de Linux et c’est un choix personnel.
  5. Choisissez la région (ici, East US2). créer asp
  6. Pour le niveau de tarification, choisissez Premium P1V2 car c’est le minimum dont vous aurez besoin pour configurer un point de terminaison privé pour l’application Web App Service. créer asp 2
  7. Enfin, cliquez sur Vérifier + créer et, une fois validé, cliquez sur Créer.

Créer une application Web sur App Service

Une fois le Plan App Service configuré, l’étape suivante consiste à créer l’application Web sur App Service. Suivez les étapes ci-dessous pour cela.

  1. Dans la barre de recherche, recherchez App Services WebApp. Cliquez pour sélectionner.
  2. Sur la page App Services, cliquez sur Ajouter.
  3. Sur la page qui apparait, sélectionnez l’abonnement et le groupe de ressources.
  4. Dans la section des détails de l’instance, saisissez le nom de l’application Web (ici, varonisapp). Le FQDN sera donc <nomappli.azurewebsites.net> (varonisapp.azurewebsites.net).
  5. Dans la ligne Publier, sélectionnez Code.
  6. Sélectionnez ASP.Net 4.8 sous Runtime stack. Ce choix sera différent, si vous avez choisi Linux comme système d’exploitation lors de la création du Plan App Service.
  7. Sous Plan App Service, le Windows Plan ainsi que le SKU et la taille seront remplis automatiquement, si vous avez déjà créé le Plan App Service.
  8. Cliquez sur Vérifier + créer et une fois la validation terminée, cliquez sur le bouton Créer. créer application web

Créer un point de terminaison privé dans l’application Web

Une fois la configuration de l’application Web terminée, il est enfin temps de créer le point de terminaison privé. Pour ce faire, effectuez les actions suivantes.

  1. Rendez-vous dans l’application Web créée ci-dessus (varonisapp.azurewebsites.net).
  2. Dans le menu de gauche, cliquez sur Réseau sous Paramètres. varonis app
  3. Sur la page Réseau de l’application Web, cliquez sur « Configurer vos connexions de points de terminaison privés » sous « Connexions de points de terminaison privés ». créer PE
  4. Sur la page qui s’affiche, cliquez sur Ajouter.
  5. Dans le pop-up qui apparaît, saisissez le nom du point de terminaison privé (ici, pte-varonisapp).
  6. Choisissez l’abonnement, le réseau virtuel (Varonis-vnet) et le subnet (ici, pte-subnet).
  7. Choisissez Oui dans la case Intégrer avec une zone de DNS privé. Votre point de terminaison privé sera intégré à la zone de DNS privé « privatelink.azurewebsites.net » dans le groupe de ressources du subnet sélectionné. Si la zone de DNS privé n’existe pas, elle sera créée automatiquement. connexions PE
  8. Cliquez sur OK pour déployer votre point de terminaison privé pour l’application Web. connexions PE 2
  9. Une fois ce point de terminaison privé configuré, cliquez sur son nom pour voir ses détails. PTE Varonis App

3. Tester la connexion

À présent que le point de terminaison privé a été configuré, il est temps de tester la connectivité. Nous allons essayer d’ouvrir l’application Web via son URL dans un navigateur. Il y a deux tests à effectuer, un négatif et un positif.

Test négatif

Le test négatif consiste à tester la connectivité de l’application sans se connecter au réseau Azure à l’aide du client VPN.

  1. Rendez-vous dans l’application Web et copiez l’URL de l’application à partir de la page Overview (https://varonisapp.azurewebsites.net).
  2. Ouvrez un navigateur, collez l’URL et appuyez sur Entrée. Vous verrez s’afficher une Erreur 403 – Accès interdit, parce que vous n’êtes pas connecté au réseau Azure et que cette page est considérée comme faisant partie de l’Internet public. page d’erreur

Test positif

Le second test est un test positif, qui consiste à tester la connectivité après s’être connecté au réseau Azure via le client VPN sur site.

  1. Rendez-vous dans l’application Web et copiez l’URL de l’application à partir de la page Overview (https://varonisapp.azurewebsites.net).
  2. Sur votre appareil sur site, ouvrez le client VPN et cliquez sur le bouton de connexion.
  3. Une fois que vous êtes connecté au réseau Azure, rendez-vous dans l’application Web et copiez l’URL de l’application à partir de la page Overview (https://varonisapp.azurewebsites.net).
  4. Ouvrez un navigateur, collez l’URL et appuyez sur Entrée. Cette fois-ci, vous verrez la page s’ouvrir correctement, ce qui confirme la connectivité et le fonctionnement du point de terminaison privé. page réussie

Points de terminaison privés et accès aux applications Web

Il est possible de verrouiller vos applications pour qu’elles ne soient pas accessibles à partir de l’Internet public. Les points de terminaison privés Azure peuvent être considérés comme des interfaces réseau, car une interface de réseau virtuel est créée pour la ressource pour laquelle le point de terminaison privé a été créé. Les points de terminaison privés peuvent être utilisés pour intégrer les ressources sur votre propre VNet. Ils peuvent être utilisés pour Azure Storage, Cosmos DB, SQL, les applications Web App Service et d’autres services PaaS.

Private Link et les points de terminaison privés sont disponibles de manière globale depuis février 2020. Les points de terminaison privés vous connectent de manière privée et sécurisée via Azure Private Link. Ils fournissent une couche de sécurité réseau supplémentaire vers les ressources pour lesquelles ils ont été configurés, grâce à une protection intégrée contre l’exfiltration.

Avatar

Neeraj Kumar

Outre sa passion pour Azure, Neeraj est architecte d'entreprise et responsable de programmes techniques. Fort de 21 ans d'expérience dans l'informatique, Neeraj dirige des programmes haut de gamme axés sur les services numériques et le cloud, architecturant et concevant des solutions pour Azure Cognitive Services, la data science, l'IdO et les migrations vers le cloud, entre autres, pour en faire bénéficier les entreprises en maximisant leur retour sur investissement. Neeraj est un architecte et administrateur Azure certifié et se passionne pour la conception de cours sur Azure visant à résoudre des problèmes concrets, afin d'aider les organisations et les apprenants dans leurs projets de cloud computing.

 

Votre cybersécurité est-elle au cœur de votre infrastructure ?

Bénéficiez d'une évaluation personnalisée des risques auxquels sont exposées vos données, effectuée par des ingénieurs passionnés par la sécurité des données.