Application Security Group dans Azure


Cloud, Réseau, Sécurité / mardi, avril 3rd, 2018
Temps de lecteur estimé: 2 minutes

Vous connaissez tous les NSG, mais peut-être moins les ASG, feature qui vient de passer en GA fin mars 2018. Cette feature permet de définir des stratégies de sécurité réseau précises basées sur des charges de travail, des applications ou des environnements à la place d’adresses IP explicites. Cela permet donc de configurer la sécurité du réseau en utilisant une approche centrée sur l’application au sein des groupes de sécurité réseau (NSG). Cette approche permet de grouper les machines virtuelles de manière logique, quelle que soit leur adresse IP ou leur affectation de sous-réseau dans un réseau virtuel.

Les groupes de sécurité d’application Azure (ASG) fonctionnent en affectant les interfaces réseau des machines virtuelles, en tant que membres de l’ASG. Les groupes ASG sont ensuite utilisés dans les groupes NSG en tant que source ou destination d’une règle, ce qui offre des options supplémentaires et une flexibilité pour contrôler les flux de ressources réseau au sein d’un sous-réseau.

Les exigences suivantes s’appliquent à la création et à l’utilisation des groupes d’utilisateurs:

  • Toutes les interfaces réseaux utilisées dans un groupe ASG doivent se trouver dans le même VNET
  • Si les groupes ASG sont utilisés dans la source et la destination, ils doivent se trouver dans le même VNET

Vous allez vite voir de quoi on parle avec le schéma ci-dessous:

Avec les règles NSG « traditionnelles », il faudrait que chaque adresse IP soit ajoutée à une règle. Au fur et à mesure que des machines virtuelles sont ajoutées, supprimées ou mises à jour, le temps de gestion nécessaire pour maintenir le NSG peut devenir important et surtout fastidieux, on ne parle même pas de la documentation associée. Tandis qu’avec les ASG , à mesure que les interfaces réseau des machines virtuelles sont ajoutées, les règles de sécurité réseau sont appliquées sans qu’il soit nécessaire de mettre à jour la règle NSG elle-même.

Un peu de Powershell

Registre-AzureRmProviderFeature  - FeatureName AllowApplicationSecurityGroups - ProviderNamespace Microsoft.Network
Register-AzureRmResourceProvider  - ProviderNamespace Microsoft.Network

Création des ASG

$ webASG  =  new-AzureRmApplicationSecurityGroup  - ResourceGroupName RGTEST - Name webASG - Location westeurope
$ sqlASQ  =  new-AzureRmApplicationSecurityGroup  - ResourceGroupName RGTEST - Name sqlASG -Location westeurope

Création des règles pour SQL et HTTPS

$webRule = New-AzureRmNetworkSecurityRuleConfig -Name "okHttps" -Access Allow -Protocol Tcp -Direction outbound -Priority 1500 -SourceApplicationSecurityGroupId $webASG.id -SourcePortRange * -DestinationAddressPrefix VirtualNetwork -DestinationPortRange 443

$sqlRule = New-AzureRmNetworkSecurityRuleConfig -Name "okSql" -Access Allow -Protocol Tcp -Direction outbound -Priority 1000 -SourceApplicationSecurityGroupId $sqlASG.id -SourcePortRange * -DestinationAddressPrefix VirtualNetwork -DestinationPortRange 1433

Création du NSG avec application des AGS

$nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName RGTEST -Location westurope -Name ASGTEST -SecurityRules $webRule,$sqlRule

Assigner les NSG au subnet

$vnet = Get-AzureRmVirtualNetwork -Name ASGTEST -ResourceGroupName RGTEST
Set-AzureRmVirtualNetworkSubnetConfig -Name default -VirtualNetwork $vnet -NetworkSecurityGroupId $nsg.Id -AddressPrefix '10.1.0.0/16'
Set-AzureRmVirtualNetwork -VirtualNetwork $vnet

Ajouter les NICS au ASG

$webNic = Get-AzureRmNetworkInterface -Name NICNAME -ResourceGroupName RGTEST
$webNic.IpConfigurations[0].ApplicationSecurityGroups = $webASG
Set-AzureRmNetworkInterface -NetworkInterface $webNic
$sqlNic = Get-AzureRmNetworkInterface -Name NICNAME -ResourceGroupName RGTEST
$sqlNic.IpConfigurations[0].ApplicationSecurityGroups = $sqlASG
Set-AzureRmNetworkInterface -NetworkInterface $sqlNic

Limite des ASG

image_printImprimer l'article

Je travaille actuellement en tant que Cloud Solution Architect et CoE Azure Lead pour le groupe CAPGEMINI. Acteur et expert communautaire reconnu depuis de nombreuses années, j’anime cette communauté autour des technologies Microsoft, modère les forums officiels Microsoft Technet et participe régulièrement aux  évènements  tels  que  les  Microsoft  Techdays/Expériences  ou  les  Microsoft  Days  en  tant  qu’Ask  The  Expert ou speaker. Je suis à l’origine de nombreuses publications dans le presse IT.

Mon implication communautaire m’a valu la reconnaissance de mes pairs et de Microsoft Corp au titre de Most Valuble Professionnal depuis plus de 9 années et suis également Microsoft P-Seller.

Partagez si ça vous plait !