Aujourd’hui, je vous partage le fruit de plusieurs échanges que j’ai régulièrement avec mes clients ou experts : comment accéder aux ressources locales du système d’information depuis une machine connectée à Entra ID (Azure AD, en particulier pour les imprimantes gérées par un serveur d’impression basé sur Active Directory.
Face aux enjeux actuels de la sécurité informatique, se connecter sans mot de passe n’est pas seulement un avantage ; c’est une nécéssité. Windows Hello for Entreprise (WHfB) représente une avancée significative dans ce domaine, offrant une solution d’authentification sécurisée et sans mot de passe.
Kerberos Cloud Trust et Windows Hello sont des mécanismes majeures dans le domaine dde l’authentification des utilisateurs. En tant que, il est essentiel de comprendre ces technologies et leur intégration pour renforcer la sécurité dans son organisation et faciliter l’accès des utilisateurs.
Dans ce guide, nous nous concentrerons sur le déploiement de WHfB en utilisant la méthode Kerberos Cloud Trust, une approche qui simplifie l’accès aux ressources locales sans nécessiter de certificats. Ensuite, nous verrons comment configurer WHfB avec Microsoft Intune pour que les appareils Windows puissent utiliser cette méthode pour accéder aux ressources locales. Nous finirons par la configuration des restrictions « Point & Print » également avec Microsoft Intune qui permettent aux utilisateurs sans privilèges d’ajouter des imprimantes partagées sur un serveur d’impression.
Introduction
Kerberos Cloud Trust est une extension du protocole d’authentification Kerberos, conçue pour permettre une intégration sécurisée entre les environnements informatiques locaux et les services basés sur le cloud. Cette technologie permet aux professionnels de l’IT de gérer des protocoles d’authentification centralisés tout en adoptant des solutions cloud.
Notre problématique
Lorsque les utilisateurs se connectent uniquement à des services Cloud, comme OneDrive, SharePoint Online, Teams, etc., il n’y a pas de problème. Mais lorsque les utilisateurs ont encore besoin d’accéder à des ressources locales, qui dépendent d’Active Directory, comme des partages de fichiers, des imprimantes partagées.. votre environnement nécessitera une configuration un peu plus poussée. C’est là que l’authentification Kerberos dans le nuage entre en jeu.
Un utilisateur qui a ouvert une session Windows avec Windows Hello for Business et qui essaie d’accéder à une ressource Active Directory devra se reconnecter, sauf si l’environnement Active Directory a été configuré pour prendre en charge Windows Hello for Business.
Cette invite est due au fait que l’utilisateur ne dispose pas d’un TGT (Ticket Granting Ticket) pour l’authentification sur des ressources on prem. Lorsque le client tente d’obtenir un TGT auprès d’un contrôleur de domaine, il est invité à s’authentifier. Ce processus peut être automatisé (ou plutot caché à l’utilisateur en déployant l’une des solutions suivantes :
- Windows Hello for Business via Key Trust
- Windows Hello for Business via Certificats
- Windows Hello for Business via Kerberos Cloud Trust
Le déploiement Key Trust et le déploiement Certificate Trust utilisent une authentification Kerberos basée sur un certificat lors de la demande de TGT (ticket-granting-tickets) Kerberos pour l’authentification on prem. Ce mode d’authentification exige une infrastructure PKI pour les certificats du contrôleur de domaine et les certificats des utilisateurs pour établir cette trust (confiance).
La configuration de Kerberos Cloud Trust pour Windows Hello for Business est plus simple que les autres options :
- Pas besoin de créer ou modifier une infrastructure PKI
- Pas besoin de synchroniser les clés publiques entre Entra ID et Active Directory pour permettre aux utilisateurs d’accéder aux ressources locales.
- Pas de délai entre l’activation de Windows Hello for Business et la possibilité d’authentification de l’utilisateur sur Active Directory.
- L’authentification via FIDO2 peut être activée rapidement
Plutôt que le modèle de déploiement Key Trust, Windows Hello for Business Cloud Kerberos Trust est le modèle de déploiement conseillé. C’est aussi le modèle de déploiement à privilégier si les scénarios d’authentification par certificat (Certificate Trust) n’est pas un prerequis.
Nous allons voir dans notre exemple comment déployer le modèle Cloud Kerberos Trust. Dans ce modèle, Azure AD Kerberos est utilisé pour fournir les TGT demandés par les clients qui accèdent aux ressources gérées par Active Directory. La sécurité est établie entre le client et l’annuaire Azure AD de confiance, sans que l’utilisateur ait à fournir son identifiant et son mot de passe. Le client reçoit le TGT nécessaire pour s’authentifier auprès de la ressource protégée par Active Directory.
Dans notre exemple, nous avons deux objectifs :
- Permettre de s’authentifier en SSO sur des ressources Active Directory ou Azure Files tout en utilisant Windows Hello for Business/FIDO2 (PIN, BIOMETRIC)
- Permettre à un utilisateur standard de mapper des imprimantes deployées depuis un serveur d’impression et installer les pilotes si nécéssaire
C’est parti !
Déploiement de Azure AD Kerberos
Prérequis :
- Windows Server 2016, avec le KB3534307 ou plus récent
- Windows Server 2019, avec le KB4534321 ou plus récent
- Windows Server 2022
- Windows 10 21H2, avec le KB5010415 ou plus récent
- Windows 11 21H2, with KB5010414 ou plus récent
- Authentication multifacteur (MFA Entra ID ou autre)
Creation du Kerberos Server Object
Avant de créer l’objet Kerberos, il est nécéssaire d’installer sur un controlleur de domaine le module AzureADHybridAuthenticationManagement avec la commande suivante :
Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber
Ensuite, executer le script suivant (avec des droits « administrateurs » afin de créer l’objet dans votre domaine :
$domain = $env:USERDNSDOMAIN
$cloudCred = Get-Credential -Message 'An ADDS user who is a member of the Global Administrators group for EntraID.'
$domainCred = Get-Credential -Message 'An ADDS user who is a member of the Domain Admins group.'
Set-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred -DomainCredential $domainCred
Get-AzureADKerberosServer -Domain $domain -CloudCredential $cloudCred -DomainCredential $domainCred
Activation de Azure AD Kerberos
Dans votre console Intune, créer une nouvelle policy avec le Settings Catalog et la nommer. Dans le settings picker, choisir la catégorie Windows Hello For Business et cocher le paramètre « Use Cloud Trust for On Prem Auth«
Bien vérifier que la paramètre est « Enabled«
Assigner cette policy sur un groupe de machine ou d’utilisateur et attendre (ou forcer!) l’application des politiques de gestion.
Vous pourrez vérifier que le paramètre est appliqué avec la clé de registre suivante : HKLM:SOFTWARE\Microsoft\Policies\PassportForWork\%PROVIDER_ID%Device\Policies
Coté Event Viewer, l’évenement 358 du journal « User Device Registration » nous indique bien que notre paramètre est pris en compte pour Windows Hello :
Une commande klist cloud_debug permet également de vérifier le paramètre :
Pour terminer, la commande « dsregcmd /status » nous confirme également que OnPremTgt et CloudTgt sont disponibles :
A partir de maintenant, les utilisateurs n’auront plus besoin de s’identifier quand ils accèdent à des ressources gérées via Active Directory avec des identifiants Windows Hello for Business.
Windows 365
Autre retour d’experience, sur une machine Windows 365, il se peut qu’elle ne puisse pas communiquer avec un contrôleur de domaine et donc qu’elle ne puisse pas obtenir de TGT.
Une situation courante est l’utilisation de partages de fichiers hébergés sur Azure Files. Pour les atteindre, il faut utiliser le protocole SMB. Pour obtenir correctement un TGT, il faut appliquer un réglage supplémentaire car par défaut le ticke TGT n’est pas obtenu lors de la connexion. Pour récupérer un ticket Kerberos à la connexion, il faut définir le CSP « CloudKerberosTicketrievalEnabled » avec Intune.
Il faut pour cela créer un nouveau profil custom avec les informations suivantes :
- Name : Cloud Kerberos Ticket Retrieval
- Description : Cloud Kerberos Ticket Retrieval
- OMA-URI : ./Device/Vendor/MSFT/Policy/Config/Kerberos/CloudKerberosTicketRetrievalEnabled
- Data type : Integer
- Value : 1
Après une nouvelle sychronisation Intune, notre commande « klist cloud_debug » nous indique que le paramètre est correctement appliqué :
A partir de maintenant, les utilisateurs Windows 365 pourrons consommer des ressources comme des partages SMB Azure Files en SSO !
Notre premier objectif est rempli, à savoir, permettre de s’authentifier en SSO sur des ressources Active Directory ou Azure Files tout en utilisant Windows Hello for Business/FIDO2 (PIN, BIOMETRIC).
Maintenant, il s’agit de permettre aux utilisateurs (sans droits) d’installer des imprimantes depuis un serveur d’impression du domaine.
Gestion des impressions
Notre client a pour objectif de continuer à utiliser ses serveurs d’impression et de donner la possibilité à ses utilisateurs qui ont des machines EntraID de connecter des imprimantes et, si besoin, d’installer les pilotes d’impression correspondants, sans être administrateur.
Notre objectif nécessite l’utilisation de Policy « Point and Print Restrictions », qui sont familiers aux administrateurs depuis quelques années, en raison notamment de Print Nightmare.
Voici la configuration que je suggère pour assurer la sécurité des imprimantes de l’organisation et permettre aux utilisateurs de les utiliser malgré les correctifs Microsoft liés aux failles CVE-2021-34527 et CVE-2021-1675 (PrintNightmare).
- Package Point and print – Approved servers : Package « Point and print – Approved servers » : Ce paramètre ressemble au paramètre Point and Print classique, mais pour les pilotes « packagés ». Il faut définir ce paramètre avec le(s) même(s) serveur(s) de confiance que le(s) serveur(s) de confiance « Point and Print » classique. (voir screenshot ci-dessus)
- Point and print restrictions : Il faut définir ce paramètre avec le(s) même(s) serveur(s) de confiance que le(s) serveur(s) de confiance « Point and Print » classique.
- User can only point and print to these servers : permet de s’assurer que les utilisateurs peuvent uniquement imprimer sur le FQDN déclaré plus haut.
- Allow installation of devices using drivers that match these device setup classes : Permet d’installer des périphériques de classes définies, ici {4658ee7e-f050-11d1-b6bd-00c04fa372a7} et {4d36e979-e325-11ce-bfc1-08002be10318} qui correspond aux imprimantes réseaux.
Vous pouvez télécharger cette policy directement depuis mon Github : https://github.com/maleroyfr/Intune/blob/main/Use%20Cloud%20Trust%20For%20On%20Prem%20Auth_2024-02-29T13_24_41.697Z.json
Avec cette configuraiton, notre second objectif a savoir permettre à un utilisateur standard de mapper des imprimantes deployées depuis un serveur d’impression et installer les pilotes si nécéssaire est rempli !
Conclusion
Dans cet article, nous avons examiné les difficultés et les possibilités liées à l’accès aux ressources locales du système d’information depuis un ordinateur connecté à Entra ID, notamment pour les imprimantes gérées par un serveur d’impression basé sur Active Directory. Nous avons expliqué pourquoi il est essentiel d’utiliser des méthodes d’authentification modernes et sécurisées, comme Windows Hello for Business et Kerberos Cloud Trust, pour répondre aux besoins actuels de sécurité informatique et simplifier l’accès protégé aux ressources locales.
Nous avons également abordé les configurations nécessaires pour mettre en œuvre ces solutions, en insistant sur l’importance de la préparation et de la connaissance des conditions techniques pour une mise en place réussie. Les stratégies de gestion des impressions et les restrictions « Point & Print », configurées avec Microsoft Intune, ont été présentées comme des moyens performants pour permettre aux utilisateurs d’ajouter et d’utiliser des imprimantes partagées tout en assurant la sécurité du réseau.
Le but de cet article était de fournir un guide pratique pour vous aider à vous orienter dans le paysage complexe de l’authentification et de l’accès aux ressources dans un environnement hybride. En adoptant les solutions et les approches recommandées, les organisations peuvent renforcer la sécurité de leur infrastructure informatique tout en offrant une expérience utilisateur fluide et sécurisée.