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 :
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 :
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.
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
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