Jean-Sébastien DUCHENE Blog's

Actualité, Tips, Articles sur l'ensemble des Technologies Microsoft (Microsoft Intune, ConfigMgr, Microsoft Defender, Microsoft Purview, Microsoft Azure, Windows...)

Les Proxys… Cet article s’attache à retranscrire plusieurs heures de dépannage pour utiliser les différents services/mécanismes Cloud proposés par Microsoft lorsqu’un proxy est utilisé à l’intérieur de l’entreprise. Parmi les services et mécanismes abordés, on retrouve :

  • La jointure hybride à Azure Active Directory (Hybrid Azure AD Join)
  • La jointure à Azure Active Directory (Azure AD Join)
  • L’utilisation de Microsoft Intune dont :
    • L’enregistrement (automatique via la fonctionnalité Azure AD/GPO ou manuel) dans Microsoft Intune
    • La récupération des stratégies par Microsoft Intune
    • Le téléchargement/déploiement d’applications universelles/modernes issues du Microsoft Store
    • Le téléchargement/déploiement d’applications au format MSI via le canal MDM
    • Le téléchargement/installation de l’extension Intune Management Extension (aussi appelé SideCar) utilisées pour installer des applications Win32 ou exécuter des scripts PowerShell
    • Le téléchargement/déploiement d’applications Win32 via l’Intune Management Extension (aussi appelé SideCar).
  • Le téléchargement/l’installation des mises à jour de sécurité ou des mises à niveau de Windows 10 via Windows Update/Windows Update for Business.

Avant d’aller plus loin dans cet article, je tenais à rappeler qu’il existe différentes architectures de proxy. Il n’est pas possible à ma connaissance d’utiliser un proxy qui requiert une authentification par utilisateur pour les services plus haut. Cet article s’attache à rendre possible la configuration pour des proxys où l’administrateur permet de configurer des exceptions d’authentification pour certaines URLs.

La configuration de l’environnement se détaille en deux grandes parties :

  • Configuration des exceptions d’authentification pour certaines URLs sur le proxy en lui-même
  • Configuration locale de la machine pour les différents services utilisés par la gestion moderne.

Configuration de l’infrastructure (serveur proxy)

Je ne rentrerais pas dans le détail de la configuration de l’infrastructure et du serveur proxy car les étapes dépendent des proxys utilisés. Néanmoins, cette partie s’attache à détailler les URLs connues (à date du 03-06-2019) pour les différents services :

Service

Fonctionnalité

Usage

URLs à autoriser

Service d’activation

Windows 10 Subscription Activation

Active Windows 10 avec une licence Microsoft 365

  • https://go.microsoft.com
  • http://go.microsoft.com
  • https://login.live.com
  • http://crl.microsoft.com
  • https://activation.sls.microsoft.com
  • https://validation.sls.microsoft.com
  • https://activation-v2.sls.microsoft.com
  • https://validation-v2.sls.microsoft.com
  • https://displaycatalog.mp.microsoft.com
  • https://displaycatalog.md.mp.microsoft.com
  • https://licensing.mp.microsoft.com
  • https://licensing.md.mp.microsoft.com
  • https://purchase.mp.microsoft.com
  • https://purchase.md.mp.microsoft.com

 

Azure Active Directory

Azure AD Join
Hybrid Azure AD Join

Utiliser pour créer une relation de confiance/appartenance avec le tenant Azure AD

  • https://login.live.com
  • https://login.microsoftonline.com
  • https://account.live.com 
  • https://signup.live.com
  • https://account.azureedge.net
  • https://secure.aadcdn.microsoftonline-p.com
  • https://enterpriseregistration.windows.net
  • https://EnterpriseEnrollment-s.manage.microsoft.com
  • https://device.login.microsoftonline.com

Microsoft Intune

Enregistrement dans Microsoft Intune (Automatique ou manuel)

Récupération des stratégies Microsoft Intune

Déploiement d’applications MSI (Canal MDM)

 

Gestion des périphériques Windows 10

  • https://login.microsoftonline.com
  • https://portal.manage.microsoft.com
  • https://m.manage.microsoft.com
  • https://sts.manage.microsoft.com
  • https://Manage.microsoft.com
  • http://i.manage.microsoft.com
  • https://r.manage.microsoft.com
  • https://a.manage.microsoft.com
  • http://p.manage.microsoft.com
  • http://EnterpriseEnrollment.manage.microsoft.com
  • http://EnterpriseEnrollment-s.manage.microsoft.com
  • https://portal.fei.msua01.manage.microsoft.com
  • https://m.fei.msua01.manage.microsoft.com
  • https://fef.msua06.manage.microsoft.com
  • https://wip.mam.manage.microsoft.com
  • https://mam.manage.microsoft.com
  • https://enterpriseregistration.windows.net

Dans le détail, vous retrouvez des URLs plus précises (exemple : fei.msuc05.manage.microsoft.com) correspondant aux sous-services qui peuvent être contactés. Je vous recommande en lieu et place d’utiliser l’URL : *.manage.microsoft.com

Microsoft Intune Management Extension (Win32 Apps & PowerShell Scripts)

Installation de l’agent Intune Management Extension

Déploiement d’applications Win32 via l’Intune Management Extension

Déploiement d’application Win32 ou de scripts PowerShell

  • https://graph.windows.net
  • https://*.manage.microsoft.com, 
  • https://*.officeconfig.msocdn.com
  • https://config.office.com
  • https://*.azureedge.net

Note : Delivery Optimization est utilisé par cette fonctionnalité et les URLs associées doivent être autorisées.

Windows Update / Windows Update for Business

p

 

Déploiement de mises à jour logicielles

  • http://windowsupdate.microsoft.com
  • http://*.windowsupdate.microsoft.com
  • https://*.windowsupdate.microsoft.com
  • http://*.update.microsoft.com
  • https://*.update.microsoft.com
  • http://*.windowsupdate.com
  • http://download.windowsupdate.com
  • http://download.microsoft.com
  • http://*.download.windowsupdate.com
  • http://wustat.windows.com
  • http://ntservicepack.microsoft.com
  • https://*.ws.microsoft.com
  • http://*.ws.microsoft.com
  • fs.microsoft.com

Note : Delivery Optimization est utilisé par cette fonctionnalité et les URLs associées doivent être autorisées.

Delivery Optimization

Utilisé par Windows Update for Business & Microsoft Intune Management Extension

Utilisé pour le téléchargement des binaires et permettre du P2P

  • *.dl.delivery.mp.microsoft.com
  • *.delivery.mp.microsoft.com
  • *.emdl.ws.microsoft.com
  • *.download.windowsupdate.com
  • *.windowsupdate.com
  • *.do.dsp.mp.microsoft.com
  • cs9.wac.phicdn.net
  • tsfe.trafficshaping.dsp.mp.microsoft.com

Microsoft Store, Microsoft Store for Business

Déploiement d’applications Microsoft Store

 

  • .md.mp.microsoft.com
  • https://*displaycatalog.mp.microsoft.com
  • login.live.com
  • login.windows.net
  • account.live.com
  • clientconfig.passport.net
  • windowsphone.com
  • https://*.wns.windows.com
  • *.microsoft.com
  • *.s-microsoft.com
  • pti.store.microsoft.com
  • pti.store.microsoft.com.unistore.akadns.net
  • storeedgefd.dsx.mp.microsoft.com
  • markets.books.microsoft.com
  • http://storecatalogrevocation.storequality.microsoft.com
  • https://img-prod-cms-rt-microsoft-com*
  • https://store-images.microsoft.com

Note : Microsoft publie une page de référence par version de Windows 10 (par exemple pour la version 1903). La liste des URLs est par expérience non exhaustive.

 

Configuration des machines Windows 10

Voici un tableau qui résume les différentes configurations à déployer localement pour permettre l’utilisation du service/mécanisme cité. Pour chaque service, vous retrouvez la configuration manuelle nécessaire lors de l’usage d’un proxy ou dans le meilleur des cas la configuration automatique recommandée par Microsoft. La dernière colonne décrit si le service effectue des requêtes directes de résolution de nom DNS externe. En effet, certains clients ne permettent pas la résolution de nom DNS externes par des machines internes (configuration qui requiert la résolution par une requête via le proxy de l’entreprise).

Service/Mécanisme

Service sur lequel se repose le téléchargement

Configuration manuelle nécessaire

Configuration automatique recommandée

Requête directe de résolution de nom DNS externe

Log pour dépanner

Azure Active Directory

Jointure Azure AD

N/A

Proxy Utilisateur (Non détaillé dans cet article car déjà en place lorsqu’un proxy est présent)

Utilisation de Web Proxy Auto-Discovery (WPAD)

Non

Observateur d’événements :

  • Microsoft/Windows/AAD
  • Microsoft/Windows/User Device Registration

Utilisation de la commande dsregcmd

Jointure Hybrid Azure AD

N/A

Proxy Machine
+
Proxy Utilisateur (pour récupérer l'AzureADPrt)

Utilisation de Web Proxy Auto-Discovery (WPAD)

Non

Observateur d’événements :

  • Microsoft/Windows/AAD
  • Microsoft/Windows/User Device Registration

Utilisation de la commande dsregcmd

Microsoft Intune

Enregistrement dans Microsoft Intune (Automatique ou manuel)

Device Management Enrollment Service

Proxy Machine
+
Proxy Utilisateur (pour récupérer l'AzureADPrt)

Utilisation de Web Proxy Auto-Discovery (WPAD)

Non

Observateur d’événements :

  • Microsoft/Windows/AAD
    Microsoft/Windows/User Device Registration
  • Microsoft/Windows/DeviceManagement-Enterprise-Diagnostics-Provider
  • Microsoft/Windows/Provisioning-Diagnostics-Provider
  • Microsoft/Windows/ModernDeployment-Diagnostics-Provider

 

Commande : mdmdiagnosticstool.exe -area DeviceEnrollement -cab c:\temp\ DeviceEnrollement.cab

Récupération des stratégies Microsoft Intune

N/A

Proxy Machine

Utilisation de Web Proxy Auto-Discovery (WPAD)

Non

Observateur d’événements :

  • Microsoft/Windows/DeviceManagement-Enterprise-Diagnostics-Provider
  • Microsoft/Windows/Provisioning-Diagnostics-Provider

 

Commande : mdmdiagnosticstool.exe -area DeviceProvisioning -cab c:\temp\ DeviceEnrollement.cab

Déploiement d’applications Microsoft Store

N/A

Proxy Machine
+
Proxy BITS pour le compte LocalSystem

Utilisation de Web Proxy Auto-Discovery (WPAD)

Non

Observateur d’événements :

  • Microsoft/Windows/DeviceManagement-Enterprise-Diagnostics-Provider
  • Microsoft/Windows/AppXDeployment & AppXDeployment-Server

Déploiement d’applications MSI (Canal MDM)

N/A

Proxy Machine
+
Proxy BITS pour le compte LocalSystem

Utilisation de Web Proxy Auto-Discovery (WPAD)

Non

Observateur d’événements : Microsoft/Windows/DeviceManagement-Enterprise-Diagnostics-Provider

Installation de l’agent Intune Management Extension

N/A

Proxy Machine
+
Proxy BITS pour le compte LocalSystem

Utilisation de Web Proxy Auto-Discovery (WPAD)

Non

Observateur d’événements : Microsoft/Windows/DeviceManagement-Enterprise-Diagnostics-Provider

C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\IntuneManagementExtension.log

Déploiement d’applications Win32 via l’Intune Management Extension

Delivery Optimization (DO) 1

Proxy Machine
+
Proxy BITS pour le compte LocalSystem
+
Proxy BITS pour le compte NetworkService

Utilisation de Web Proxy Auto-Discovery (WPAD)

Oui

C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\IntuneManagementExtension.log

Windows Update for Business / Microsoft Update

Installation des mises à jour Windows 10

Delivery Optimization (DO) 1

Proxy Machine
+
Proxy BITS pour le compte LocalService
+
Proxy BITS pour le compte NetworkService

Utilisation de Web Proxy Auto-Discovery (WPAD)

Oui

Observateur d’événements : Microsoft/Windows/WindowsUpdateClient

Get-WindowsUpdateLog

 

1 Les services qui font appel à Delivery Optimization sont soumis aux contraintes de ce dernier. Le proxy de l’entreprise doit supporter des requêtes de type byte-range requests et permettre la résolution de requêtes DNS pour des noms de domaine externes.

Note : La liste est bien entendu non exhaustive et correspond à des services que j’ai eu l’occasion d’essayer.

La méthode principalement recommandée par Microsoft est l’utilisation du protocole Web Proxy Auto-Discovery (WPAD) pour la découverte dynamique du proxy. C’est notamment la seule solution pour utiliser Windows Autopilot (non abordé dans cet article) dans des environnements proxyfiés.
Pour utiliser cette méthode, je vous renvoie vers Internet où des articles décrivent plutôt bien cette méthode.

L’objet de cet article est plutôt la mise en œuvre de la configuration manuelle et nous aborderons chacune des configurations.
Note : Je vous recommande de faire des tests sur une ou plusieurs machines avant de déployer globalement ces configurations.

 

Proxy Machine

Le proxy machine est la configuration la plus commune et la plus simple à réaliser. Il doit être configuré pour presque tous les mécanismes cités dans le tableau.

Pour afficher la configuration, la commande suivante doit être utilisée : netsh winhttp show proxy

Ce dernier se configure manuellement via la commande suivante :
netsh winhttp set proxy <proxy>:<port> "<Liste d’exclusion, séparée par des ";">"
Exemple : netsh winhttp set proxy proxy.corp.local:8282 "192.168.*;corp.local"


Pour importer la configuration réalisée sur Internet Explorer, vous pouvez exécuter la commande : netsh winhttp import proxy source=ie
Pour réinitialiser le proxy, vous pouvez utiliser la commande : netsh winhttp reset proxy

Si vous souhaitez opérer la configuration par GPO, vous pouvez utiliser les Group Policy Preference (GPP) en procédant à la création de la valeur de registre associée.

  1. Vous devez donc manuellement configurer le proxy sur une machine test
  2. Utiliser ensuite cette machine test pour récupérer la valeur de la clé :
    • Emplacement : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections
    • Nom : WinHttpSettings
    • Type : Binary
  3. Ouvrez la console GPMC et procéder à la création d’une GPO. Nommez la GPO
  4. Editez la GPO et naviguez dans Computer Configuration – Preferences – Windows Settings – Registry.
  5. Choisissez New puis Registry Item.
  6. Dans le champ Action, choisissez Update puis cliquez sur le bouton avec les … à droite du chemin de la clé.
  7. Naviguez et sélectionnez la clé sur la machine de test. Ceci vous récupère le chemin, la ruche, la valeur, le type de valeur et la donnée binaire associée.
  8. Cliquez sur OK.
  9. Procédez ensuite au déploiement de la GPO et validez la configuration sur une autre machine de test via la commande netsh winhttp show proxy

Plus d’informations sur ce billet qui décrit bien la configuration : WinHTTP Proxy Settings deployed by GPO

 

Proxy du service BITS

Le proxy du service BITS est utilisé par les comptes de service pour effectuer des opérations de téléchargement. Les configurations dépendent du mécanisme ou de la fonctionnalité et du compte de service avec lequel s’exécute le service associé.
On retrouve donc la capacité de configurer le proxy BITS pour les comptes :

  • LOCALSYSTEM
  • NETWORKSERVICE
  • LOCALSERVICE

Pour connaître les configurations à réaliser pour le mécanisme/la fonctionnalité choisi, vous pouvez vous référer au tableau.

Pour afficher la configuration, la commande suivante doit être utilisée :
bitsadmin /UTIL /GETIEPROXY <COMPTE DE SERVICE>

Ce dernier se configure manuellement via la commande suivante :

bitsadmin /Util /SetIEProxy <COMPTE DE SERVICE> MANUAL_PROXY <proxy>:<port> "<Liste d’exclusion, séparée par des ";">"
Exemples :

  • bitsadmin /Util /SetIEProxy LOCALSYSTEM MANUAL_PROXY proxy.corp.local:8282 "192.168.*;corp.local"
  • bitsadmin /Util /SetIEProxy NETWORKSERVICE MANUAL_PROXY proxy.corp.local:8282 "192.168.*;corp.local"

 

Pour réinitialiser le proxy, vous pouvez utiliser la commande :
bitsadmin /Util /SetIEProxy <COMPTE DE SERVICE> AUTODETECT

Exemples :

  • bitsadmin /Util /SetIEProxy NETWORKSERVICE AUTODETECT
  • bitsadmin /Util /SetIEProxy LOCALSYSTEM AUTODETECT

Plus d’informations sur la commande dans la documentation.

Si vous souhaitez opérer la configuration par GPO, vous pouvez aussi utiliser les Group Policy Preference (GPP) en procédant à la création de la valeur de registre associée.

  1. Vous devez donc manuellement configurer le proxy BITS pour les comptes souhaités sur une machine test
  2. Utiliser ensuite cette machine test pour récupérer la valeur de la clé :

Compte de service

Emplacement de la clé

Nom de la valeur

Type de valeur

LocalSystem

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connection

DefaultConnectionSettings

Binary

NetworkService

HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections

DefaultConnectionSettings

Binary

LocalService

HKEY_USERS\S-1-5-19\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections

DefaultConnectionSettings

Binary

 

  1. Ouvrez la console GPMC et procéder à la création d’une GPO. Nommez la GPO
  2. Editez la GPO et naviguez dans Computer Configuration – Preferences – Windows Settings – Registry.
  3. Choisissez New puis Registry Item.
  4. Dans le champ Action, choisissez Update puis cliquez sur le bouton avec les … à droite du chemin de la clé.
  5. Naviguez et sélectionnez la clé sur la machine de test. Ceci vous récupère le chemin, la ruche, la valeur, le type de valeur et la donnée binaire associée.
  6. Répétez l’opération à partir de l’étape 5 pour les comptes de service que vous ciblez en fonction des fonctionnalités.
  7. Cliquez sur OK.
  8. Procédez ensuite au déploiement de la GPO et validez la configuration sur une autre machine de test via la commande bitsadmin /UTIL /GETIEPROXY <COMPTE DE SERVICE>

 

Environnement sans résolution de nom DNS externe

Certains environnements ne permettent pas la résolution de nom DNS externes directement via des requêtes DNS. Le seul moyen de sortir sur Internet s’effectue via le proxy et via des requêtes TCP. Ce cas de figure pose des problèmes avec le déploiement d’applications Win32 via l’Intune Management Extension et les mises à jour logicielles via Microsoft Update / Windows Update for Business.

Vous devez donc configurer un redirecteur conditionnel sur votre infrastructure DNS interne pour permettre le déploiement des applications Win32 et le déploiement des mises à jour logicielles. Le redirecteur conditionnel (conditional forwarder) peut être :

  • Complet pour l’ensemble des noms de domaine
  • Limité aux noms de domaine spécifiés pour les fonctionnalités de déploiement d’applications Win32 via l’Intune Management Extension et les mises à jour logicielles via Microsoft Update / Windows Update for Business (voir mon tableau plus haut)

Dans un prochain article, je détaillerais comment dépanner et diagnostiquer chacune des fonctionnalités / Services.

Bonne Configuration !

Facebook Like