Search This Blog

samedi 22 juin 2019

Azure Bastion - Public Preview


Bonjour à tous,

Nous allons aujourd’hui traiter un nouveau sujet :  Azure Bastion. C’est un service très prometteur qui vient de sortir et qui est disponible en public Preview.

Le 18 juin 2019, les équipes Azure annoncent la sortie d'Azure Bastion.



Ce service est en preview et accessible depuis le portail preview d’Azure. Il est important de rappeler qu’il n’est pas conseillé de déployer Azure Bastion sur vos tenants de production, et attendre la version GA qui sortira dans quelques mois. 

Si vous souhaitez tester Azure Bastion Preview, testez le uniquement sur vos environnements de LAB uniquement.

Introduction


Avant Azure Bastion,  nous avions les possibilités suivantes pour se connecter sans VPN aux machines virtuelles Azure ( Windows - Linux):

  •         La mise en place d’une zone DMZ avec un serveur de rebond (JumpBox) exposé sur le net en 3389 / 22. Grâce à ce serveur on peut ensuite rebondir et se connecter sur les machines virtuelles présentes dans le LAN du virtual network.


  •         La mise en place d’une infra bastion basée sur RDS qui est très coûteuse et très contraignante au niveau administration.


Bien entendu ici je parle dans le cas ou nous n’avons pas de VPN entre le site local et Azure, car dans ce cas, il est bien entendu possible de se connecter sur les machines virtuelles avec leur adresse ip privées au travers du VPN ( site to site ) ou alors Point to site.


Azure Bastion


Azure Baston est simplement un service PaaS qui permet l’accès aux machines virtuelles (Windows – Linux) depuis l’extérieur de manière sécurisée. 

Plus besoin d’une zone de rebond ou d’une infrastructure  bastion coûteuse, Azure Bastion va permettre aux administrateurs se connecter aux machines virtuelles Azure en un clic via du HTML5 directement depuis le portail Azure.

Il est important de noter :  Azure Bastion est déployé sur votre Virtual Network et va interagir avec les subnets internes, ceci permet  d’éviter d’avoir des adresses ip publics pour vos machines virtuelles, il évite donc l’exposition des adresses ip publics des machines virtuelles sur le net.

  
Azure Bastion Design :

Voici le fonctionnement en détail d’Azure Bastion : nous avons le service Azure Bastion qui est exposé en 443 sur le net, ce dernier est intégré au Virtual network et permet de se connecter à toutes les machines virtuelles qui sont derrière ce Virtual network avec leur adresse ip privées.

Toutes les communications entre l’administrateur ( qui se trouve à l’extérieur) et l’Azure Bastion sont chiffrées via du SSL.

Il est important de rappeler qu'aucun agent n’est nécessaire sur les machines virtuelles, tout se fait au niveau réseau entre le service Bastion et les machines virtuelle Azure.


Le déploiement d’Azure bastion se fait par virtual network et non par tenant, donc si vous avez plusieurs Virtual network, il est nécessaire de déployer Azure bastion pour chaque virtuel network.

Les avantages qu’offre Azure Bastion :
  •         Déploiement et intégration très simple
  •         Infrastructure bastion peu coûteuse
  •         Connexon en RDP et SSH en un clic depuis l’extérieur de manière sécurisée
  •         Pas d’exposition de vos machines en RDP ou SSH sur le net
  •         Possibilité d’utiliser ses propres clés SSH
  •         Connexion chiffrée (SSL)
  •         Connexion web moderne avec du HTML 5


Disponibilité du service 

Il est possible de déployer Azure Bastion sur les régions suivantes :
·        West US
·        East US
·        West Europe
·        South Central US
·        Australia East
·        Japan East


Comment je peux déployer Azure Bastion ?

Azure Bastien est disponible sur le portail Azure Preview, pour la suite de cet article, il est nécessaire d’aller sur le portail suivant :

-        http://aka.ms/BastionHost

De quelles manières je peux le déployer ?

Il y a deux façons :
  •         En créant le service Host azure Bastion depuis le marketplace Azure
  •         Depuis une machine virtuelle directement ( au niveau des paramètres)




Tarif :

Voici les tarifs que propose Microsoft. En euro pour la région Europe de l’ouest :



 En franc Suisse :



Microsoft offre 50% du tarif sur la version preview du service.

Déploiement Azure Bastion :

Avant de commencer la création et le déploiement de votre Host Azure Bastion, il est important d’enregistrer AllowBastionHost  au niveau de votre tenant Azure.

Pour cela, il est nécessaire de passer les commandes PowerShell suivantes :

#Installation du Module AzureRM
Install-Module AzureRM - AllowClobber

Set-ExecutionPolicy Unrestricted

#Import du module AzureRM

Import-Module AzureRM

#connexion en Powershell à votre tenant Azure
Connect-AzureRmAccount


#Enrollment de la fonctionnalité BAstionHost dans le provider Microsft.Network
Register-AzureRmProviderFeature -FeatureName AllowBastionHost -ProviderNamespace Microsoft.Network

#enregsitrement de votre tenant
Register-AzureRmResourceProvider -ProviderNamespace Microsoft.Network


#Vérification
Get-AzureRmProviderFeature -ProviderNamespace Microsoft.Network


Il est possible aussi de le faire directement via votre Azure cloudshell comme ceci :






Il est aussi possible de vérifier l’enregistrement du provider Microsft.Network comme ceci :




Il est temps maintenant de créer notre host Bastion. Pour cela nous allons tout d’abord crée un subnet au niveau de notre Virtual network nommé : AzureBastionSubnet comme ceci : ( car Azure Bastion requière un subnet nommé ainsi en /27

Les caractéristiques  du subnet :
  •         Nom : AzureBastionSubnet
  •         Masque de sous-réseau : /27
  •         Ne pas appliquer de NSG dessus pour l’instant

  
Une fois le subnet AzureBastionSubnet crée, il est possible maintenant de créer notre host bastion, pour cela, depuis le portail Azure preview, cliquez sur « Create a ressource » vous allez arriver sur le marketplace.

Ensuite, cherchez le service simplement avec le mot Bastion , et cliquez  sur le résultat « Bastion (Preview) » comme ceci :


Cliquez ensuite sur « Create » : 




Ensuite, saisir les informations suivantes :


  •         Suscription : choisir votre Suscription 
  •         Ressource group : choisir le ressource groupe
  •         Name : donner un nom à votre host Azure Bastion
  •         Région : choisir la région disponible pour Azure Bastion
  •         Virtual network : choisir votre virtual network avec le quelle vous voulez activer Azure Bastion
  •         Subnet : choisir votre subnet précédemment crée pour Azure Bastion « AzureBastionSubnet »
  •         Public IP : choisir « Create new » afin de créer une nouvelle ip public pour votre Host Azure Bastion ( par défaut elle est statique)
  •         Public IP address name : choisir le nom de votre IP public
  •         Le SKU : par défaut il est en standard


Une fois terminé, il est possible de créer des tags si vous le souhaitez en cliquant sur « Next Tags ». Ensuite cliquez sur Create afin de créer votre premier Host Azure Bastion :


Le déploiement de l’host Azure Bastion commence, cela prendra environ 5 minutes :




On peut voir le détail du déploiement comme ceci :


Une fois déployé, on peut voir le statut « OK »,  le déploiement se fait en deux phases :
  •         Phase 1 : création de l’ip public
  •         Phase 2 : création l’host Azure Bastion 
 

Une fois déployé, il est possible de retrouver l’host Azure bastion au niveau du ressources groupe comme ceci :

Voici quelques informations concernant l’host Azure Bastion « AZ-BS01 » :




À ce stade nous avons déployé notre host Azure bastion, il reste plus qu’a le tester avec une connexion sur une machine virtuelle Windows depuis l’extérieur et sans IP public sur la machine virtuelle comme on peut le constater




Se connecter avec Azure Bastion

Pour se connecter via votre host Azure bastion rien de plus simple, allez sur une machine virtuelle, cliquer sur « connecte » et choisir « Bastion » comme ceci :



Il faut bien sur saisir vos identifiants ( nom utilisateurs et mots de passe ) , vous avez aussi la possibilité d’ouvrir une nouvelle fenêtre en cochant l’option « Open in new Window ».

Et me voilà connecté via du HTML 5 en SSL sur ma machine virtuelle depuis l’extérieur et sans IP public car c’est le host Azure Bastion qui s’occupe de rediriger la connexion de manière sécurisée en 443 :



Le copier – Coller :

La fonction copier – coller fonctionne bien avec les navigateurs qui supportent « Advanced Clipboard API access, »

Comme ceci :


Pour le reste des navigateurs il est possible d’utiliser l’outil mis en place afin de faciliter le copier – coller :








Roadmap et la suite ?

Microsoft prévoit bien entendu plusieurs améliorations au niveau d’Azure Bastion :

  •         L’intégration avec Azure Active Directory
  •         La prise en charge du Seamless SSO avec Azure AD avec du MFA
  •         Enregistrement de la session ( qui proposera pour le coup un vrai use case Bastion)pour de l’audit
 

Conclusion 

Azure Bastion est prometteur, il va nous permettre de se connecter sur nos machines virtuelles depuis l’extérieur de manière sécurisée sans exposer les adresse ip publics de nos VMs. ( si on l'on dipose pas de VPN entre notre site on-prem et Azure)

Ce service complètement managé ( PaaS ) offre un déploiement facile et peu coûteux afin de rendre l’accès aux machines virtuelles depuis l’extérieur plus sécurisé et fluide au travers de HTML5.

Plus besoin d’avoir un serveur de rebond ou une infrastructure RDS bastion complexe, il suffit d’utiliser le service Azure Bastion directement au niveau des virtuel network et automatiquement toutes les machines virtuelles connectées dessus seront atteignable via Azure Bastion.

Testez le, et attention : il n’est pas encore en GA, donc pas de production, mais testez le uniquement sur vos environnement de LAB.

Enjoy

Cdt,
Seyfallah Tagrerout
Microsoft MVP

< >