Archives de la catégorie ‘Azure Networking’

 

Useful Info : Si vous n’avez pas encore consulté les 6 premiers HowTo Azure CLI 2.0, ceux-ci sont disponibles aux URLs ci-après:

HowTo #N°1 : Connecter l’interface Azure CLI 2.0 à votre abonnement Azure

HowTo #N°2 : Créer et gérer les groupes de ressources Azure

HowTo #N°3 Créer et gérer les réseaux virtuels Azure (VNET : Virtual Network)

HowTo #N°4 Créer et gérer les Machines Virtuelles Azure (Azure VM)

HowTo #N°5 : Gérer la facturation Azure (Azure Billing)

HowTo #N°6 Créer et gérer vos comptes de Stockage Azure

 

Introduction

Azure NSG (Network Security Groups) ou Groupes de Sécurité Réseau vous permettent de contrôler (autoriser ou refuser) le trafic entrant et sortant depuis et vers vos ressources Azure.

Les NSG sont basées sur des listes de règles de sécurité que vous créez/définissez manuellement. Notez que lors de la création d’un NGS, des règles par défaut sont générées automatiquement pour sécuriser certains trafics réseaux. Ces règles peuvent être bypassées en mettant en place des règles personnalisées.

Tip : Je vous invite à consulter cet article pour en savoir plus sur les NSG, leur fonctionnement et leur limitation.

 

La création d’un Groupe de Sécurité Réseau (NSG) peut se faire via :

Le nouveau portail Azure : portal.azure.com

Windows PowerShell : utilisation du module PS Azure

Azure CLI 2.0 : via l’utilisation de la commande az network nsg

 

Nous allons découvrir à travers cet article la troisième méthode qu’est l’utilisation de l’interface Azure CLI 2.0

Now let’s create & manage our Azure NSG via Azure CLI 2.0__O

 

HowTo : créer et gérer vos Groupes de Sécurité Réseau Azure (NGS)

Tout d’abord, je vous invite à saisir az network nsg -h pour en savoir plus sur les sous-commandes disponibles :

Pour lister tous les NSG existants, saisissez la commande suivante : az network nsg list 

Tip : pour une meilleure visibilité de la commande output, saisissez az network nsg list –out table

Commencez par créer un groupe de Ressource 

Azure ARM (Azure Resource Manager) introduit le concept des Groupes de ressources (RG : Resource Group). Ces derniers font office de « Conteneur » pour grouper et gérer les ressources Azure de manière centralisée.

Dans notre cas, nous allons créer un groupe de ressource pour regrouper les différents NSG Azure que nous allons créer par la suite.

Exécutez donc la commande suivante pour créer un nouveau groupe de ressource (nommé hk-demo-howto7) au niveau de la région Europe de l’Ouest (WestEurope)

az group create -n hk-demo-howto7 -l WestEurope

Maintenant que notre Groupe de Ressource est créé, nous allons créer notre premier Groupe de Sécurité Réseau Azure. Pour ce faire, exécutez la commande suivante (NSG nommé hk-demo-nsg dans l’exemple suivant) :

az network nsg create -n hk-demo-nsg -l WestEurope -g hk-demo-howto7

Vous pouvez également ajouter des « Tags » à vos NSG lors de leur création, dans l’exemple suivant nous allons créer un nouveau NSG Taggé « very_secure_network » :

az network nsg create -n hk-demo-nsg-vsecure -l WestEurope -g hk-demo-howto7 –tags very_secure_perimeter no_80 no_22 no_21

Pour afficher des informations détaillées sur un NSG spécifique, la commande suivante est à exécuter (hk-demo-nsg-vsecure dans l’exemple suivant) :

az network nsg show -n hk-demo-nsg-vsecure -g hk-demo-howto7

Enfin, si vous souhaitez supprimer un NSG, exécutez la commande suivante (hk-demo-nsg-vsecure dans l’exemple suivant) :

az network nsg delete -n hk-demo-nsg-vsecure -g hk-demo-howto7

Plusieurs HowTo Azure CLI (N°8/9 et 10) arrivent bientôt, so let’s keep in touch :).

A bientôt

#HK

Publicités

Dans le cadre d’un projet de migration de Datacenters d’un de mes clients vers Azure, j’avais en charge l’étude, design et l’implémentation de plusieurs canaux VPN entre les Datacenters Azure et ceux OnPremise.

Compte-tenu du nombre de Gateway VPN Azure à monter, j’ai créé le script P(ower)S(hell) suivant pour automatiser et accélérer le processus de création des services Cloud réseaux nécessaires pour interconnexion.

Le code est détaillé ci-après, j’ai utilisé des noms & subnets de tests, vous aurez donc juste à remplacer les valeurs des variables par celles correspondant à votre environnement.

Mon architecture réseau Azure « cible » est la suivante :

  • 1 VNET nommé : hk-demo-vnet »
  • 1 Espace d’adressage : 10.0.52.0/24
  • 5 Subnets :
    • Subnet « Front-end » : 10.0.52.0/25
    • Subnet « Back-end » :  10.0.52.128/26
    • Subnet « Management« : 10.0.52.192/27
    • Subnet « DMZ » :  10.0.52.224/28
    • Subnet dédiée à la « Passerelle Az » : 10.0.52.240/28

 

Note : la seule étape qui nécessite un peu d’attente (~45 minutes environ) est la création de la Gateway VPN Az [Step #8]. Le reste des opérations est quasi immédiat :).

Note importante : le présent script concerne uniquement la configuration côté « Azure »; une configuration spécifique côté « Réseau OnPrem » est à faire, cela dépendra du type d’équipement déjà présent sur votre S.I (e.g : Fortigate, Cisco ASA, F5 BIG-IP, A10 Network…Etc). N’hésitez pas à consulter cette page pour vérifier la comptabilité /prise en charge de votre équipement réseau pour la connexion VPN avec Azure.


#1 Connecter votre compte Azure
Login-AzureRmAccount

#2 Selectionner votre Abonnement Azure (si vous en avez qu’un seul, vous pouvez bypasser cette etape). Dans l’exemple suivant, la subscription « HKDemoSubsription » sera selectionnee
Select-AzureRmSubscription -SubscriptionName « HKDemoSubscription »

#3 Crerr votre groupe de Ressource Azure au niveau de la Region Europe de l’Ouest
New-AzureRmResourceGroup -Name « hk-demo-rg » -Location ‘West Europe’

#4 Creer  du VNET ‘HK-Demo-vnet » et ses Subnets associés
$hkdemosubfe = New-AzureRmVirtualNetworkSubnetConfig -Name ‘hk-demo-sub-fe’ -AddressPrefix 10.0.52.0/25

$hkdemosubbe = New-AzureRmVirtualNetworkSubnetConfig -Name ‘hk-demo-sub-be’ -AddressPrefix 10.0.52.128/26

$hkdemosubmgmt = New-AzureRmVirtualNetworkSubnetConfig -Name ‘hk-demo-sub-mgmt’ -AddressPrefix 10.0.52.192/27

$SecuritySubnet = New-AzureRmVirtualNetworkSubnetConfig -Name ‘SecuritySubnet’ -AddressPrefix 10.0.52.224/28

$GatewaySubnet = New-AzureRmVirtualNetworkSubnetConfig -Name ‘GatewaySubnet’ -AddressPrefix 10.0.52.240/28

New-AzureRmVirtualNetwork -Name hk-demo-vnet -ResourceGroupName hk-demo-rg `
-Location ‘West Europe’ -AddressPrefix 10.0.52.0/24 -Subnet $hkdemosubfe, $hkdemosubbe, $hkdemosubmgmt, $SecuritySubnet, $GatewaySubnet

#5 Declarer La Passerelle /Device VPN Local ainsi que les Subnets de votre reseau Corporate (192.168.x.0 dans l’exemple suivant)
New-AzureRmLocalNetworkGateway -Name hk-demo-localgtw -ResourceGroupName hk-demo-rg `
-Location ‘West Europe’ -GatewayIpAddress ‘10.112.11.33’ -AddressPrefix ‘192.168.1.0/24’, ‘192.168.2.0/24’, ‘192.168.3.0/24’

#6 Creation d’une nouvelle adresse IP public pour la Gateway VPN Azure
$azuregtwpip = New-AzureRmPublicIpAddress -Name hk-demo-azgtwpip -ResourceGroupName hk-demo-rg -Location ‘West Europe’ -AllocationMethod Dynamic

#7 Declarer /Creer la configuration de la Gateway VPN Azure
$vnet = Get-AzureRmVirtualNetwork -Name hk-demo-vnet -ResourceGroupName hk-demo-rg
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name ‘GatewaySubnet’ -VirtualNetwork $vnet
$azgtwipconfig = New-AzureRmVirtualNetworkGatewayIpConfig -Name hk-demo-azgtwconfig -SubnetId $subnet.Id -PublicIpAddressId $azuregtwpip.Id

#8 Creer votre nouvelle Gateway Azure
New-AzureRmVirtualNetworkGateway -Name hk-demo-azgtw -ResourceGroupName hk-demo-rg -Location 'West Europe' -IpConfigurations $azgtwipconfig -GatewayType Vpn
-VpnType RouteBased -GatewaySku Standard

#9 Obtenir l’@IP Public de la Gateway Azure (verifier que l’IP Public de votre Gateway Azure est bien générée)
Get-AzureRmPublicIpAddress -Name hk-demo-azgtwpip -ResourceGroupName hk-demo-rg

#10 Creer la connexion VPN entre le Device OnPrem et Azure
$azuregtw = Get-AzureRmVirtualNetworkGateway -Name hk-demo-azgtw -ResourceGroupName hk-demo-rg
$localgtw = Get-AzureRmLocalNetworkGateway -Name hk-demo-localgtw -ResourceGroupName hk-demo-rg

New-AzureRmVirtualNetworkGatewayConnection -Name hk-demo-azgtwcon -ResourceGroupName hk-demo-rg -Location 'West Europe' -VirtualNetworkGateway1 $azuregtw -LocalNetworkGateway2 $localgtw
-ConnectionType IPsec -RoutingWeight 10 -SharedKey ‘$HKD€m0@2017$’


Run & Enjoy the script :).

Une fois l’interconnexion établie entre le Device VPN Azure et celui d’OnPrem, le statut de l’objet de connexion passe à « Connected« , checkez les « Data in » et « Data out » pour s’assurer que le traffic passe bien entre vos ressources locales (OnPrem) et celles hébergées dans le Cloud Az.

Restez connectés, de nouveaux posts autour de l’Azure (step-by-step guides, HowTo..Etc) sont en cours de finalisation :).

 

Malgré l’ajout des ~2300 nouvelles Cmd-lets PowerShell sur Windows Server 2012 R2 et 2016, le meilleur outil de gestion du Networking & Firewalling Windows reste (pour moi :D) le super Command-Line Tool Netsh.exe (Windows Network Shell).

En effet, Windows PowerShell fonctionne aujourd’hui qu’avec un sous-ensemble de fonctionnalités de management Windows Server, n’incluant pas la possibilité de configurer et gérer le Pare-feu Windows et ses fonctions avancées.

J’ai donc décidé de vous regrouper dans le présent post les « Top 10″ des Commandes Netsh que vous devez connaître pour créer, configurer et gérer vos Pare-feu Windows (Client & Server).

Les commandes détaillées ci-dessous peuvent aussi vous être utile lors de la configuration du Firewall Windows IaaS (E.g : VM Azure ou AWS)

 

1.Afficher /Lister une règle spécifique ou toutes les règles du Pare-feu Windows
  • Afficher toutes les règles : netsh advfirewall firewall show rule name=all
  • Afficher une règle spécifique (« SQL » dans l’exemple suivant) : netsh advfirewall firewall show rule name=SQL


2.Activer /Désactiver un ou plusieurs profils du Pare-feu Windows
  • Activer tous les profils du Pare-feu Windows : Netsh advfirewall set allprofiles state on
  • Désactiver tous les profils du Pare-feu Windows : Netsh advfirewall set allprofiles state off
  • Activer le profil « Public » du Pare-feu Windows : Netsh advfirewall set publicprofile state on
  • Désactiver le profil « Privé » du Pare-feu Windows : Netsh advfirewall set privateprofile state off
  • Activer le profil « Domaine » du Pare-feu Windows : Netsh advfirewall set domainprofile state on

3.Réinitialiser les stratégies (par défaut) du Pare-feu Windows
  • netsh advfirewall reset

4.Afficher et Configurer les fichiers Logs du Pare-feu Windows

Notez que le chemin par défaut des fichiers « Logs » liés au Pare-feu Windows est le suivant : C:\Windows\system32\LogFiles\Firewall\pfirewall.log

Vous pouvez visualiser ce chemin par défaut (pour tous les profils du Pare-feu) en exécutant la commande suivante :

  • netsh advfirewall show allprofiles logging

Nous allons définir dans l’exemple suivant le chemin « D:\WSFirewall\Logs\pfirewall.log », pour tous les profils du Pare-feu Windows (Domaine – Privé – Public)

  • netsh advfirewall set allprofiles logging filename « D:\WSFirewall\Logs\pfirewall.log« 

Note : après configuration d’un nouvel emplacement du fichier log pfirewall.log, l’ancien fichier log placé dans le chemin par défaut est automatiquement déplacé et renommé en .old


5.Autoriser ou Refuser le « Ping »
  • Autoriser le « Ping »: netsh advfirewall firewall add rule name= »All ICMP V4″ dir=in action=allow protocol=icmpv4
  • Refuser le « Ping » : netsh advfirewall firewall add rule name= »All ICMP V4″ dir=in action=block protocol=icmpv4

6.Ajouter (Autoriser) ou Supprimer un Port spécifique
  • Ajouter une nouvelle règle autorisant le port 1433 (port par défaut utilisé par SQL Server) : netsh advfirewall firewall add rule name= »Autoriser_Port_SQL Server » dir=in action=allow protocol=TCP localport=1433
  • Supprimer la règle précédente autorisant le port 1433 (port par défaut utilisé par SQL Server) : netsh advfirewall firewall delete rule name= »Autoriser_Port_SQL Server » protocol=tcp localport=1433

7.Autoriser un Programme
  • Dans l’exemple suivant, le Programme « IPScan » placé dans C:\Program Files\IPScan\IPScan.exe » sera autorisé : netsh advfirewall firewall add rule name= »Autoriser_IPScan » dir=in action=allow program= »%ProgramFiles%\IPScan\IPScan.exe »

8.Activer la gestion à distance
  • netsh advfirewall firewall set rule group= »Gestion à distance de Windows » new enable=yes


9. Activer /autoriser Les Connexions Bureau à distance
  • netsh advfirewall firewall set rule group= »Bureau à distance » new enable=Yes


10.Exporter ou importer la configuration & paramètres du Pare-feu Windows
  • Pour exporter toute la configuration du Pare-feu Windows vers D:\WSFirewall : netsh advfirewall export « D:\WSFirewall\WFconfiguration.wfw »

  • Pour exporter toute la configuration du Pare-feu Windows vers D:\WSFirewall : netsh advfirewall export « D:\WSFirewall\WFconfiguration.wfw »

Je vous laisse Run > Netsh Advfirewall /? et découvrir le reste des commandes.

Enfin, toujours gardez à l’esprit que le CLI Netsh.exe fait parti des outils en ligne de commande Windows les plus puissants (et compliqué aussi). Toujours PoC(er), Tester et Valider l’opération sur un LaB /Environnement d’Intégration /PréProd …Etc avant toute application sur les serveurs de Production.

A bientôt