Contexte
Le problème dĂ©crit ci-dessous a Ă©tĂ© rencontrĂ© dans le cadre d’une infrastructure DirectAccess sous Windows Server 2012 R2. Celui-ci peut se produire lorsque l’authentification forte (par carte Ă puce ou OTP) est activĂ©e avec des clients Windows 7.
Problème rencontré
Lorsque des lecteurs rĂ©seaux sont montĂ©s Ă l’ouverture de la session, cela peut empĂŞcher cette dernière de s’ouvrir correctement et laisser l’utilisateur bloquĂ© sur la page de “Bienvenue” pendant plusieurs minutes voir plusieurs dizaines de minutes.
Analyse
Pour rappel, la connectivité DirectAccess est composée de deux tunnels :
-
Le tunnel infrastructure utilisĂ© notamment pour l’authentification et les stratĂ©gies de groupes.
-
Le tunnel utilisateur qui permet d’accĂ©der Ă des ressources d’entreprise (partages, applications, site web) en fonction des autorisations de la personne connectĂ©e.
Ce problème est une consĂ©quence de l’activation de l’authentification forte. En effet, tant que cette dernière n’a pas eu lieu, le tunnel utilisateur n’est pas créé. Les lecteurs rĂ©seaux Ă©tant des ressources liĂ©s Ă l’utilisateur, elles sont accĂ©dĂ©es par ce tunnel. Le système d’exploitation tente de monter les lecteurs rĂ©seaux et il faut attendre un timeout de cette opĂ©ration avant que la session ne s’ouvre.
Solution
Toutes les solutions prĂ©sentĂ©es ici sont des contournements permettant d’Ă©viter le problème mais prĂ©sentant toutes des inconvĂ©nients (Ă voir selon le cas, celle qui est le plus acceptable pour vous).
1/ Authentification forte pendant l’ouverture de session
Demander l’authentification forte lors de l’ouverture de session permet de déclencher la création du tunnel utilisateur. Ainsi, les lecteurs réseaux peuvent être montés. Cependant, cette méthode implique deux inconvénients :
-
Elle ne fonctionne que lorsque la méthode d’authentification forte utilisée est la carte à puce. En cas d’usage d’un OTP, cela ne peut être opérationnelle puisque DirectAccess à un processus propre pour gérer ce type d’authentification décorrélé de celui de l’ouverture de session. Pour plus d’informations, je vous invite à lire cet article : https://blog.piservices.fr/post/2015/11/23/DirectAccess-Deploiement-de-lauthentification-forte
-
L’utilisateur est obligé de s’authentifier sur son poste client avec l’authentification. Cela dégrade l’expérience utilisateur lorsque l’on se trouve en entreprise et qu’on ne souhaite donc pas utiliser DirecAccess.
2/ Logon Script
Les lecteurs rĂ©seaux sont parfois mappĂ©s par un script s’exĂ©cutant après l’ouverture de session (logon script). Pour que cette solution soit fonctionnelle, il suffit d’intĂ©grer un test vĂ©rifiant que la connectivitĂ© DirectAccess est montĂ©e et de boucler dessus tant que ce n’est pas le cas. Cela peut ĂŞtre fait en validant l’accès Ă une ressource d’entreprise comme un partage ou l’url du serveur NLS de DirectAccess. Cependant cette solution prĂ©sente l’inconvĂ©nient de devoir parfois laisser un script tourner continuellement.
3/ Management servers
L’une des autres possibilités est d’ajouter les serveurs de fichiers utilisés par ces lecteurs réseaux dans la liste des serveurs de management. Ainsi, l’accès à ceux-ci se fait via le tunnel infrastructure qui ne nécessite pas d’authentification forte et qui est monté dès le démarrage de l’ordinateur avant l’ouverture de session (si une connexion à internet est disponible). Cependant, cette méthode est contraire à la volonté de sécuriser les accès aux ressources d’entreprise avec de l’authentification forte. En effet, si l’utilisateur ouvre une session, il pourra accéder aux serveurs de fichiers sans authentification forte et par rebond à d’autres serveurs. Cette solution affaiblit donc la sécurité de l’infrastructure.
Si toutefois vous souhaitez implémenter cette solution, il suffit de lancer la console de gestion DirectAccess et de se rendre dans la configuration du serveur ou du cluster via le menu éponyme. Ensuite, il faut cliquer sur le bouton “Edit” de l’étape 3 de l’assistant de configuration.
![]()
Dans l’onglet “Management”, il faut indiquer les noms DNS des serveurs de fichiers (les IP ne peuvent être indiquées que si vos serveurs communiquent en IPv6). Vous pouvez ensuite cliquer sur le bouton “Finish”.
N’oubliez pas de mettre à jour les stratégies de groupe en cliquant sur le bandeau qui apparait en bas de la console de gestion DirectAccess. Enfin, il faut récupérer cette nouvelle version des GPOs DirectAccess sur vos postes clients (via la commande “gpupdate” par exemple).
4/ Déclenchement de la connectivité DirectAccess après le logon
Le dĂ©marrage d’un des services requis pour la connectivitĂ© DirectAccess après l’ouverture de session permet de corriger le phĂ©nomène. Le service IP Helper (iphlpsvc) permettant notamment de gĂ©nĂ©rer les interfaces de transitions IPv4/IPv6 est l’un deux. En effet, aucun tunnel dĂ©diĂ© Ă DirectAccess n’existera tant que ce service n’est pas dĂ©marrĂ©. Ainsi, le client ne tentera pas de monter les lecteurs rĂ©seaux. NĂ©anmoins, via cette mĂ©thode, le tunnel infrastructure n’existe pas non plus tant que l’utilisateur n’est pas connectĂ©. Ainsi, un utilisateur qui se connecte pour la première fois sur un ordinateur ne pourra le faire via DirectAccess. Aussi, les patchs ne pourront ĂŞtre rĂ©cupĂ©rĂ©s et les stratĂ©gies de groupes ne seront pas mises Ă jour tant qu’un utilisateur n’a pas ouvert de session. Si toutefois vous souhaitez rĂ©aliser cette manipulation, il suffit de crĂ©er une stratĂ©gie de groupe avec les paramètres ci-dessous.
Dans “Computer Configuration / Preferences / Services”, il faut changer le mode de dĂ©marrage du service IP Helper afin qu’il dĂ©marre manuellement.
Dans “Configuration / Preferences / Scheduled Tasks”, il faut créer une tâche planifiée lancée par le compte “SYSTEM”.
On dĂ©finit l’exĂ©cution de celle-ci Ă l’ouverture de session.
Enfin, on indique qu’il faut lancer le service IP Helper via la commande “net start”.
Aussi, il est nĂ©cessaire de gĂ©rer le cas d’un utilisateur qui ferme sa session afin de ne pas rencontrer le problème lors de la prochaine ouverture de session. Pour cela, il faut crĂ©er une seconde tâche se dĂ©clenchant Ă la fermeture de session.
Celle-ci est quasiment identique en dehors de la commande exĂ©cutĂ©e (“net stop”) et du dĂ©clencheur. Ce dernier est paramĂ©trĂ© pour dĂ©tecter l’Ă©vĂ©nement 4647 du journal d’Ă©vĂ©nements SĂ©curitĂ©. Celui-ci correspond Ă une demande de fermeture de session par l’utilisateur.
Enfin, cet Ă©vènement n’est pas gĂ©nĂ©rĂ© par dĂ©faut. Pour l’obtenir, il faut activer l’audit sur la catĂ©gorie “Logoff”. Cette opĂ©ration s’effectue par stratĂ©gie de groupe dans “Computer Configuration / Policies / Windows Settings / Security Settings / Advanced Audit Policy Configuration / Audit Policies”.

0 commentaires