Présentation approfondie de la sécurité de l’authentification directe Microsoft Entra

Cet article fournit une description plus détaillée du fonctionnement de l’authentification directe Microsoft Entra. Il se concentre sur les aspects de la fonctionnalité relevant de la sécurité. Cet article est destiné aux administrateurs informatiques et de la sécurité, aux personnes en charge de la conformité et de la sécurité et aux autres professionnels de l’informatique qui sont responsables de la sécurité et de la conformité informatiques dans les entreprises de toutes tailles.

Les sujets abordés sont les suivants :

  • informations techniques détaillées sur l’installation et l’inscription des agents d’authentification ;
  • informations techniques détaillées sur le chiffrement des mots de passe lors de la connexion de l’utilisateur ;
  • Sécurité des canaux entre les agents d’authentification locaux et Microsoft Entra ID.
  • informations techniques détaillées sur la façon de préserver la sécurité opérationnelle des agents d’authentification.

Capacités de sécurité des clés d’authentification directe

L’authentification directe dispose des capacités suivantes en matière de sécurité des clés :

  • Elle repose sur une architecture mutualisée sécurisée qui assure l’isolation des demandes de connexion entre les locataires.
  • Les mots de passe locaux ne sont jamais stockés dans le cloud sous quelque forme que ce soit.
  • Les agents d’authentification locale, qui écoutent et répondent aux demandes de validation de mot de passe, établissent uniquement des connexions sortantes à partir de votre réseau. Il n’est pas nécessaire d’installer ces agents d’authentification dans un réseau de périmètre (également appelé DMZ, zone démilitarisée et sous-réseau filtré). En tant que bonne pratique, traitez tous les serveurs qui exécutent des agents d’authentification comme des systèmes de niveau 0 (voir référence).
  • Seuls les ports standard (port 80 et port 443) sont utilisés pour la communication sortante des agents d’authentification vers Microsoft Entra ID. Vous n’avez pas besoin d’ouvrir des ports d’entrée sur votre pare-feu.
    • Le port 443 est utilisé pour toutes les communications sortantes authentifiées.
    • Le port 80 est utilisé uniquement pour télécharger des listes de révocation de certificats (CRL) pour s’assurer qu’aucun des certificats utilisés par cette fonctionnalité n’a été révoqué.
    • Pour obtenir la liste complète de la configuration réseau nécessaire, consultez le Guide de démarrage rapide de l’authentification directe Microsoft Entra.
  • Les mots de passe fournis par les utilisateurs pendant la connexion sont chiffrés dans le cloud avant que les agents d’authentification locale ne les acceptent pour leur validation auprès de Windows Server Active Directory (Windows Server AD).
  • Le canal HTTPS entre Microsoft Entra ID et l’agent d’authentification local est sécurisé à l’aide de l’authentification mutuelle.
  • L’authentification directe protège vos comptes d’utilisateur de manière transparente avec les stratégies d’accès conditionnel Microsoft Entra, notamment l’authentification multifacteur (MFA), le blocage de l’authentification héritée ainsi que le filtrage des attaques de mot de passe par force brute.

Composants impliqués dans l’authentification directe

Pour plus d’informations sur la sécurité des opérations, des services et des données pour Microsoft Entra ID, consultez le Centre de confidentialité. Les composants suivants sont impliqués lorsque vous utilisez l’authentification directe pour la connexion de l’utilisateur :

  • Service d’émission de jeton de sécurité Microsoft Entra (Microsoft Entra STS) : Service STS sans état qui traite les demandes de connexion et émet des jetons de sécurité pour les navigateurs des utilisateurs, les clients ou les services, selon les besoins.
  • Azure Service Bus : offre une communication cloud avec une messagerie d’entreprise et une communication relayée qui vous aide à connecter des solutions locales au cloud.
  • Agent d’authentification Microsoft Entra Connect : Composant local qui écoute les demandes de validation de mot de passe et y répond.
  • Azure SQL Database : contient des informations sur les agents d’authentification de votre locataire, y compris ses métadonnées et clés de chiffrement.
  • Windows Server AD : annuaire Active Directory local, où sont stockés les comptes d’utilisateurs et leurs mots de passe.

Installation et inscription des agents d’authentification

Les agents d’authentification sont installés et inscrits auprès de Microsoft Entra ID quand vous effectuez l’une des actions suivantes :

Rendre un agent d’authentification opérationnel implique trois phases principales :

  • Installation
  • Inscription
  • Initialisation

Les sections suivantes décrivent ces étapes de manière détaillée.

Installation de l’agent d’authentification

Seul un compte administrateur d’identité hybride peut installer un agent d’authentification (à l’aide de Microsoft Entra Connect ou d’une instance autonome) sur un serveur local.

Cette installation ajoute deux nouvelles entrées à la liste dans Panneau de configuration>Programmes>Programmes et fonctionnalités :

  • L’application de l’agent d’authentification proprement dite. Cette application s’exécute avec des privilèges NetworkService.
  • L’application de mise à jour qui est utilisée pour mettre à jour automatiquement l’agent d’authentification. Cette application s’exécute avec des privilèges LocalSystem.

Important

Du point de vue de la sécurité, les administrateurs doivent traiter le serveur exécutant l’agent d’authentification directe comme s’il s’agissait d’un contrôleur de domaine. Les serveurs de l’agent d’authentification directe doivent être renforcés comme indiqué dans Sécuriser les contrôleurs de domaine contre les attaques.

Inscription de l’agent d’authentification

Une fois que vous avez installé l’agent d’authentification, il s’inscrit auprès de Microsoft Entra ID. Microsoft Entra ID affecte à chaque agent d’authentification un certificat d’identité numérique unique qu’il peut utiliser pour sécuriser la communication avec Microsoft Entra ID.

La procédure d’inscription lie également l’agent d’authentification à votre locataire. Microsoft Entra ID sait ainsi que cet agent d’authentification spécifique est le seul autorisé à gérer les demandes de validation de mot de passe pour votre locataire. Cette procédure est répétée pour chaque nouvel agent d’authentification que vous inscrivez.

Les agents d’authentification suivent les étapes ci-dessous pour s’inscrire auprès de Microsoft Entra ID :

Diagram that depicts authentication agent registration with Azure AD.

  1. Microsoft Entra demande d’abord à un administrateur d’identité hybride de se connecter à Microsoft Entra ID avec ses informations d’identification. Pendant la connexion, l’agent d’authentification acquiert un jeton d’accès qu’il peut utiliser pour le compte de l’utilisateur.
  2. L’agent d’authentification génère ensuite une paire de clés : une clé publique et une clé privée.
    • Cette paire de clés est générée à l’aide du chiffrement standard RSA 2 048 bits.
    • La clé privée reste sur le serveur local sur lequel l’agent d’authentification se trouve.
  3. L'agent d'authentification effectue une demande d'enregistrement auprès de Microsoft Entra ID via HTTPS, avec les composants suivants inclus dans la demande :
    • Jeton d’accès acquis par l’agent.
    • Clé publique générée.
    • Demande de signature de certificat (CSR ou demande de certificat). Cette demande concerne l’obtention d’un certificat d’identité numérique, où Microsoft Entra ID représente l’autorité de certification (CA).
  4. Microsoft Entra ID valide le jeton d’accès dans la demande d’inscription et vérifie que la demande provient d’un administrateur d’identité hybride.
  5. Microsoft Entra ID signe ensuite un certificat d’identité numérique, et le retourne à l’agent d’authentification.
    • L’autorité de certification racine (AC racine) dans Microsoft Entra ID est utilisée pour signer le certificat.

      Remarque

      Cette autorité de certification ne figure pas dans le magasin des autorités de certification racine reconnues approuvées Windows.

    • L’autorité de certification est utilisée uniquement par la fonctionnalité d’authentification directe. L’autorité de certification est utilisée uniquement pour signer les demandes de signature de certificat lors de l’inscription de l’agent d’authentification.

    • Aucun autre service Microsoft Entra n’utilise cette autorité de certification.

    • L’objet du certificat (également appelé Nom unique ou DN) est défini sur votre ID de locataire. Ce DN est un GUID qui identifie de manière unique votre locataire. Avec ce DN, le certificat ne peut donc être utilisé qu’avec votre locataire.

  6. Microsoft Entra ID stocke la clé publique de l’agent d’authentification dans une base de données au sein d’Azure SQL Database. Seul Microsoft Entra ID peut accéder à la base de données.
  7. Le certificat qui est émis est stocké sur le serveur local dans le magasin de certificats Windows (plus précisément dans CERT_SYSTEM_STORE_LOCAL_MACHINE). Le certificat est utilisé par l’agent d’authentification et l’application du programme de mise à jour.

Initialisation de l’agent d’authentification

Quand l’agent d’authentification démarre, pour la première fois après l’inscription ou après un redémarrage du serveur, il a besoin de communiquer de manière sécurisée avec le service Microsoft Entra pour pouvoir commencer à accepter les demandes de validation de mot de passe.

Diagram that depicts authentication agent initialization.

Voici comment les agents d’authentification sont initialisés :

  1. L’agent d’authentification envoie une demande de démarrage sortante à Microsoft Entra ID.

    Cette demande est effectuée sur le port 443 et sur un canal HTTPS mutuellement authentifié. La demande utilise le même certificat que celui émis lors de l’inscription de l’agent d’authentification.

  2. Microsoft Entra ID répond à la demande en fournissant une clé d’accès à une file d’attente Service Bus qui est propre à votre locataire, et qui est identifiée par votre ID de locataire.

  3. L’agent d’authentification établit une connexion HTTPS sortante persistante (sur le port 443) avec la file d’attente.

L’agent d’authentification est maintenant prêt à récupérer et à gérer les demandes de validation de mot de passe.

Si vous avez inscrit plusieurs agents d’authentification sur votre locataire, la procédure d’initialisation permet de s’assurer que chaque agent se connecte à la même file d’attente Service Bus.

Comment l’authentification directe traite les demandes de connexion

Le diagramme suivant montre comment l’authentification directe traite les demandes de connexion de l’utilisateur :

Diagram that depicts how pass-through authentication processes user sign-in requests.

La gestion d’une demande de connexion de l’utilisateur par l’authentification directe s’effectue de la façon suivante :

  1. Un utilisateur tente d’accéder à une application, par exemple, Outlook Web App.

  2. Si l’utilisateur n’est pas déjà connecté, l’application redirige le navigateur vers la page de connexion de Microsoft Entra.

  3. Le service Microsoft Entra STS répond avec la page Connexion de l’utilisateur.

  4. L’utilisateur entre son nom d’utilisateur dans la page Connexion utilisateur, puis sélectionne le bouton Suivant.

  5. L’utilisateur entre son mot de passe dans la page Connexion utilisateur, puis sélectionne le bouton Se connecter.

  6. Le nom d’utilisateur et le mot de passe sont envoyés à Microsoft Entra STS dans une requête HTTPS POST.

  7. Microsoft Entra STS récupère les clés publiques de tous les agents d’authentification inscrits auprès de votre locataire à partir d’Azure SQL Database, et chiffre le mot de passe à l’aide des clés.

    Il produit une valeur de mot de passe chiffré pour chaque agent d’authentification inscrit sur votre locataire.

  8. Microsoft Entra STS place la demande de validation de mot de passe, qui comprend les valeurs du nom d’utilisateur et du mot de passe chiffré, dans la file d’attente Service Bus spécifique à votre locataire.

  9. Étant donné que les agents d’authentification initialisés sont connectés en permanence à la file d’attente Service Bus, l’un des agents d’authentification disponibles récupère la demande de validation de mot de passe.

  10. L’agent d’authentification utilise un identificateur pour localiser la valeur de mot de passe chiffré qui est particulière à sa clé publique. Il déchiffre la clé publique à l’aide de sa clé privée.

  11. L’agent d’authentification tente de valider le nom d’utilisateur et le mot de passe dans l’annuaire Active Directory local à l’aide de l’API LogonUser Win32 en utilisant le paramètre dwLogonType défini sur LOGON32_LOGON_NETWORK.

    • Cette API est la même que celle utilisée par les services de fédération Active Directory (AD FS) pour connecter les utilisateurs dans un scénario de connexion fédérée.
    • Cette API sur le processus de résolution standard de Windows Server pour localiser le contrôleur de domaine.
  12. L’agent d’authentification reçoit le résultat de Windows Server AD, tel que réussite, nom d’utilisateur ou mot de passe est incorrect, ou mot de passe est expiré.

    Notes

    Si l’agent d’authentification échoue lors du processus de connexion, la demande de connexion toute entière est supprimée. Les demandes de connexion ne sont pas transmises d’un agent d’authentification local à un autre agent d’authentification local. Ces agents communiquent uniquement avec le cloud, et non entre eux.

  13. L’agent d’authentification retransmet le résultat à Microsoft Entra STS via un canal HTTPS sortant avec authentification mutuelle sur le port 443. L’authentification mutuelle utilise le certificat qui a été émis pour l’agent d’authentification lors de l’inscription.

  14. Microsoft Entra STS vérifie que ce résultat est en corrélation avec la demande de connexion spécifique sur votre locataire.

  15. Microsoft Entra STS poursuit la procédure de connexion telle qu’elle est configurée. Par exemple, si la validation du mot de passe aboutit, l’utilisateur peut devoir s’authentifier via MFA ou être redirigé vers l’application.

Sécurité opérationnelle des agents d’authentification

Pour garantir la sécurité opérationnelle de l’authentification directe, Microsoft Entra ID renouvelle périodiquement les certificats des agents d’authentification. Microsoft Entra ID déclenche les renouvellements. Les renouvellements ne sont pas régis par les agents d’authentification proprement dits.

Diagram that depicts how operational security works with pass-through authentication.

Pour renouveler l’approbation d’un agent d’authentification auprès de Microsoft Entra ID :

  1. L’agent d’authentification effectue un test ping à destination de Microsoft Entra toutes les heures environ pour vérifier s’il est temps de renouveler son certificat. Le certificat est renouvelé 30 jours avant son expiration.

    Cette vérification est effectuée via un canal HTTPS mutuellement authentifié et utilise le même certificat que celui émis lors de l’inscription.

  2. Si le service indique qu’il est temps de procéder au renouvellement, l’agent d’authentification génère une nouvelle paire de clés : une clé publique et une clé privée.

    • Ces clés sont générées à l’aide du chiffrement standard RSA 2 048 bits.
    • La clé privée ne quitte jamais le serveur local.
  3. L’agent d’authentification effectue ensuite une demande de renouvellement de certificat auprès de Microsoft Entra ID via HTTPS. Les composants suivants sont inclus dans la demande :

    • Le certificat existant qui est récupéré à partir de l’emplacement CERT_SYSTEM_STORE_LOCAL_MACHINE dans le magasin de certificats Windows. Aucun administrateur général n’est impliqué dans cette procédure, aucun jeton d’accès n’est donc nécessaire pour un administrateur général.
    • La clé publique générée à l’étape 2.
    • Une demande de signature de certificat. Cette demande concerne l’obtention d’un nouveau certificat d’identité numérique, où Microsoft Entra ID représente l’autorité de certification (CA).
  4. Microsoft Entra ID valide le certificat existant dans la demande de renouvellement de certificat. Il vérifie ensuite que la demande provient d’un agent d’authentification qui est inscrit sur votre locataire.

  5. Si le certificat existant est toujours valide, Microsoft Entra ID signe un nouveau certificat d’identité numérique et le retourne à l’agent d’authentification.

  6. Si le certificat existant est arrivé à expiration, Microsoft Entra ID supprime l’agent d’authentification de la liste des agents d’authentification inscrits de votre locataire. Un administrateur général ou un administrateur d’identité hybride doit alors installer et inscrire un nouvel agent d’authentification manuellement.

    • Utilisez l’autorité de certification racine (AC racine) de Microsoft Entra ID pour signer le certificat.
    • Définissez le DN du certificat sur votre ID de locataire, il s’agit d’un GUID identifiant de manière unique votre locataire. Avec le DN, le certificat ne peut être utilisé qu’avec votre locataire.
  7. Microsoft Entra ID stocke la nouvelle clé publique de l’agent d’authentification dans une base de données Azure SQL Database à laquelle lui seul a accès. Il invalide également l’ancienne clé publique associée à l’agent d’authentification.

  8. Le nouveau certificat (émis à l’étape 5) est ensuite stocké sur le serveur dans le magasin de certificats Windows (plus précisément à l’emplacement CERT_SYSTEM_STORE_CURRENT_USER).

    Étant donné que la procédure de renouvellement d’approbation se produit de manière non interactive (sans la présence de l’administrateur général ou de l’administrateur d’identité hybride), l’agent d’authentification n’a plus accès pour mettre à jour le certificat existant à l’emplacement CERT_SYSTEM_STORE_LOCAL_MACHINE.

    Notes

    Ce procédure ne supprime pas le certificat proprement dit de l’emplacement CERT_SYSTEM_STORE_LOCAL_MACHINE.

  9. Le nouveau certificat est dorénavant utilisé pour l’authentification. Tous les renouvellements ultérieurs du certificat remplacent le certificat dans CERT_SYSTEM_STORE_LOCAL_MACHINE.

Mise à jour automatique de l’agent d’authentification

L’application de mise à jour met automatiquement à jour l’agent d’authentification lors de la sortie d’une nouvelle version (avec résolution des bogues ou amélioration des performances). L’application de mise à jour ne traite pas les demandes de validation de mot de passe de votre locataire.

Microsoft Entra ID héberge la nouvelle version du logiciel sous forme de package Windows Installer (MSI) signé. Le fichier MSI est signé à l’aide de Microsoft Authenticode avec SHA256 comme algorithme de hachage.

Diagram that shows how an authentication agent is auto updated.

Pour mettre à jour automatiquement un agent d’authentification :

  1. L’application du programme de mise à jour effectue un test ping à destination de Microsoft Entra toutes les heures pour vérifier si une nouvelle version de l’agent d’authentification est disponible.

    Cette vérification est effectuée via un canal HTTPS mutuellement authentifié à l’aide du même certificat que celui émis lors de l’inscription. L’agent d’authentification et le programme de mise à jour partagent le certificat qui est stocké sur le serveur.

  2. Si une nouvelle version est disponible, Microsoft Entra ID retourne le package MSI signé au programme de mise à jour.

  3. Le programme de mise à jour vérifie que le MSI est signé par Microsoft.

  4. Le programme de mise à jour exécute le MSI. Dans ce processus, l’application de mise à jour effectue les actions suivantes :

    Notes

    Le programme de mise à jour s’exécute avec les privilèges Système Local.

    1. Arrêt du service Agent d’authentification
    2. Installation de la nouvelle version de l’agent d’authentification sur le serveur
    3. Redémarrage du service Agent d’authentification

Remarque

Si plusieurs agents d’authentification sont inscrits auprès de votre locataire, Microsoft Entra ID ne renouvelle pas leurs certificats et ne les met pas à jour en même temps. À la place, Microsoft Entra ID renouvelle les certificats un par un pour garantir la haute disponibilité des demandes de connexion.

Étapes suivantes