Partager via


Activer ou désactiver une règle de pare-feu sur un système d’exploitation invité d’une machine virtuelle Azure

S’applique à : ✔️ Machine virtuelles Windows

Cet article fournit une référence pour résoudre une situation dans laquelle vous pensez que le pare-feu du système d’exploitation invité filtre le trafic partiel sur une machine virtuelle. Cela peut être utile pour les raisons suivantes :

  • Si une modification apportée volontairement au pare-feu a provoqué l’échec des connexions RDP, la fonctionnalité Extension de script personnalisé peut résoudre ce problème.

  • La désactivation de tous les profils de pare-feu est une solution plus efficace que la définition de la règle de pare-feu spécifiques à RDP.

Solution

La façon dont vous configurez les règles de pare-feu dépend du niveau d’accès à la machine virtuelle requis. Les exemples suivants utilisent les règles RDP. Toutefois, les mêmes méthodes sont applicables à n’importe quel autre type de trafic en pointant vers la bonne clé de registre.

Résolution des problèmes en ligne

Atténuation des risques 1 : Extension de script personnalisé

  1. Créez votre script en utilisant l’exemple suivant.

    • Pour activer une règle :

      netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=yes
      
    • Pour désactiver une règle :

      netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=no
      
  2. Chargez ce script dans le portail Azure en utilisant la fonctionnalité Extension de script personnalisé.

Atténuation des risques 2 : PowerShell à distance

Si la machine virtuelle est en ligne et accessible sur une autre machine virtuelle sur le même réseau virtuel, vous pouvez atténuer les risques suivants à l’aide de l’autre machine virtuelle.

  1. Sur la machine virtuelle de dépannage, ouvrez une fenêtre de console PowerShell.

  2. Exécutez les commandes suivantes, si nécessaire.

    • Pour activer une règle :

      Enter-PSSession (New-PSSession -ComputerName "<HOSTNAME>" -Credential (Get-Credential) -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)) 
      Enable-NetFirewallRule -DisplayName  "RemoteDesktop-UserMode-In-TCP"
      exit
      
    • Pour désactiver une règle :

      Enter-PSSession (New-PSSession -ComputerName "<HOSTNAME>" -Credential (Get-Credential) -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)) 
      Disable-NetFirewallRule -DisplayName  "RemoteDesktop-UserMode-In-TCP"
      exit
      

Atténuation des risques 3 : Commandes PSTools

Si la machine virtuelle est en ligne et accessible sur une autre machine virtuelle sur le même réseau virtuel, vous pouvez atténuer les risques suivants à l’aide de l’autre machine virtuelle.

  1. Sur la machine virtuelle de dépannage, téléchargez PSTools.

  2. Ouvrez une instance CMD, puis accédez à la machine virtuelle via son adresse IP interne (DIP).

    • Pour activer une règle :

      psexec \\<DIP> ​-u <username> cmd
      netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=yes
      
    • Pour désactiver une règle :

      psexec \\<DIP> ​-u <username> cmd
      netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=no
      

Atténuation des risques 4 : Registre distant

Si la machine virtuelle est en ligne et accessible sur une autre machine virtuelle sur le même réseau virtuel, vous pouvez utiliser le Registre à distance sur lʼautre machine virtuelle.

  1. Sur la machine virtuelle de dépannage, démarrez l’éditeur de Registre (regedit.exe), puis sélectionnez Fichier>Connexion au Registre réseau.

  2. Ouvrez la branche MACHINE CIBLE\SYSTEM, puis spécifiez les valeurs suivantes :

    • Pour activer une règle, ouvrez la valeur de Registre suivante :

      TARGET MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-In-TCP

      Ensuite, remplacez Active=FALSE par Active=TRUE dans la chaîne :

      v2.22|Action=Allow|Active=TRUE|Dir=In|Protocol=6|Profile=Domain|Profile=Private|Profile=Public|LPort=3389|App=%SystemRoot%\system32\svchost.exe|Svc=termservice|Name=\@FirewallAPI.dll,-28775|Desc=\@FirewallAPI.dll,-28756|EmbedCtxt=\@FirewallAPI.dll,-28752|

    • Pour désactiver une règle, ouvrez la valeur de Registre suivante :

      TARGET MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-In-TCP

      Puis remplacez Active=TRUE par Active=FALSE:

      v2.22|Action=Allow|Active=FALSE|Dir=In|Protocol=6|Profile=Domain|Profile=Private|Profile=Public|LPort=3389|App=%SystemRoot%\system32\svchost.exe|Svc=termservice|Name=\@FirewallAPI.dll,-28775|Desc=\@FirewallAPI.dll,-28756|EmbedCtxt=\@FirewallAPI.dll,-28752|

  3. Redémarrez la machine virtuelle pour appliquer les changements.

Résolution des problèmes hors connexion

Si vous ne pouvez pas accéder à la machine virtuelle par n’importe quelle méthode, Extension de script personnalisée échoue, et vous devrez travailler en mode HORS CONNEXION directement via le disque système.

Avant de suivre ces étapes, prenez un instantané du disque système de la machine virtuelle affectée comme sauvegarde. Pour plus d’informations, consultez Créer un instantané.

  1. Attachez le disque système à une machine virtuelle de récupération.

  2. Établissez une connexion Bureau à distance avec la machine virtuelle de récupération.

  3. Vérifiez que le disque est marqué comme étant En ligne dans la console Gestion des disques. Notez la lettre de lecteur affectée au disque système attaché.

  4. Avant d’effectuer des changements, créez une copie du dossier \windows\system32\config au cas où vous souhaiteriez annuler les changements.

  5. Sur la machine virtuelle de dépannage, démarrez l’éditeur de Registre (regedit.exe).

  6. Mettez en surbrillance la clé HKEY_LOCAL_MACHINE, puis sélectionnez Fichier>Charger Hive dans le menu.

    Capture d’écran de la clé HKEY_LOCAL_MACHINE et de l’option Charger la ruche dans le menu Fichier de l’Éditeur du Registre.

  7. Recherchez et ouvrez le fichier \windows\system32\config\SYSTEM.

    Note

    Vous êtes invité à saisir un nom. Entrez BROKENSYSTEM, puis développez HKEY_LOCAL_MACHINE. Vous voyez maintenant une clé supplémentaire nommée BROKENSYSTEM. Pour cette procédure de dépannage, nous montons ces ruches défectueuses en tant que BROKENSYSTEM.

  8. Sur la branche BROKENSYSTEM, apportez les modifications suivantes :

    1. Vérifiez à partir de quelle clé de Registre ControlSet la machine virtuelle démarre. Son numéro de clé s’affiche dans HKLM\BROKENSYSTEM\Select\Current.

    2. Pour activer une règle, ouvrez la valeur de Registre suivante :

      HKLM\BROKENSYSTEM\ControlSet00X\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-In-TCP

      Puis remplacez Active=FALSE par Active=True.

      v2.22|Action=Allow|Active=TRUE|Dir=In|Protocol=6|Profile=Domain|Profile=Private|Profile=Public|LPort=3389|App=%SystemRoot%\system32\svchost.exe|Svc=termservice|Name=\@FirewallAPI.dll,-28775|Desc=\@FirewallAPI.dll,-28756|EmbedCtxt=\@FirewallAPI.dll,-28752|

    3. Pour désactiver une règle, ouvrez la clé de Registre suivante :

      HKLM\BROKENSYSTEM\ControlSet00X\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-In-TCP

      Puis remplacez Active=True par Active=FALSE.

      v2.22|Action=Allow|Active=FALSE|Dir=In|Protocol=6|Profile=Domain|Profile=Private|Profile=Public|LPort=3389|App=%SystemRoot%\system32\svchost.exe|Svc=termservice|Name=\@FirewallAPI.dll,-28775|Desc=\@FirewallAPI.dll,-28756|EmbedCtxt=\@FirewallAPI.dll,-28752|

  9. Mettez la clé BROKENSYSTEM en surbrillance, puis sélectionnez Fichier>Charger la ruche dans le menu.

  10. Détachez le disque système et recréez la machine virtuelle.

  11. Vérifiez si le problème est résolu.

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.