Simple and secure by Design but Business compliant [Benoît SAUTIERE / MVP]

Simple, yes, Secure Maybe, by design for sure, Business compliant always

Common Tasks

Recent Posts

Tags

Community

Email Notifications

Blogs

Archives

DirectAccess et la magie de la smartcard

DirectAccess + NAP + Smartcard = La solution de mobilité la plus complète. C’est vrai, encore fallait-il creuser un peu plus la chose. Commençons avec la carte à puce. Car mine de rien, c’est un véritable tour de magie.

 

Vue de haut

Lors de la configuration de ForeFront Unified Access Gateway 2010, ce n’est qu’une simple case à cocher mais dont on a du mal à déterminer comment elle sera mise en œuvre. Pour la case à cocher, pas de problème.

SMARTCARD0

 

Une fois la mise en œuvre terminée, on constate toujours la présence de trois stratégies de groupe dont une vide (elle est dédiée au mode Selected Server). Coté contenu, on n’arrive pas à voir la différence avec avant.

 

Coté client, on constate qu’il est toujours possible d’ouvrir une session sans la carte à puce. Conclusion, il n’y a pas d’obligation à utiliser la carte à puce pour l’ouverture de session au niveau du poste ou de l’utilisateur par défaut. C’est à nous de configurer cela. Pour cela, deux options :

  • Au niveau du compte de l’utilisateur
  • Au niveau du poste de travail

 

De mon point de vue, la première option est la plus intéressante car il est plus facile de la débrayer alors que la seconde oblige l’ouverture de session sur le poste.

 

Vue de l’utilisateur

Dès lors que l’utilisateur a ouvert une session, on verra rapidement apparaître l’interface ci-dessous dans la zone de notification :

SMARTCARD1

 

Elle nous invite à insérer notre carte à puce.

SMARTCARD2

 

Ce qu’il faut comprendre, c’est que le Wizard UAG a bien activé la prise en charge de la carte à puce, mais au niveau du tunnel IPSEC initialisé par l’utilisateur. A ce stade, arrêtons nous sur quelques subtilités :

  • L’utilisateur n’est pas obligé d’insérer sa carte à puce, il est juste invité. S’il ne le fait pas, alors, le tunnel IPSEC “Utilisateur” ne monte pas. Pourtant, il est bien authentifié auprès du contrôleur de domaine grâce au tunnel “Ordinateur”.
  • Si l’utilisateur refuse d’insérer sa carte à puce et ferme l’interface, il n’y a plus de notification. Si l’utilisateur veut finalement s’authentifier avec sa carte à puce, il doit verrouiller sa session pour que la notification apparaisse de nouveau.
  • Si NAP est activé, la notification de l’utilisateur ne sera possible que si le poste de travail est reconnu comme conforme.

 

Mais quelle est cette magie?

Ce n’est pas de la magie mais simplement l’implémentation du protocole AuthIP, successeur  d’IKEV2 pour la négociation des tunnels IPSEC. Sa particularité est de permettre de prendre en charge de nouveaux critères pour l’authentification tel que :

  • Le certificat d’état de santé du poste de travail (NAP)
  • Le certificat de l’utilisateur (Smartcard)
  • L’appartenance à un groupe de sécurité

 

Pourtant, on a beau chercher, on ne voit pas comment cela se configure et fonctionne. La raison est simple, il n’y a pas d’interface graphique, tout se passe en ligne de commande avec NETSH. 

 

La première chose à faire, c’est de se positionner dans la stratégie de groupe que l’on va éditer. Dans le cas qui nous occupe, c’est la stratégie de groupe du serveur UAG qui configure AuthIP.

AuthIP0

On découvre deux paramètres très intéressants :

  • AuthzUserGrp
  • AuthzComputerGrp

 

C’est grâce au paramètre “AuthzUserGrp” que le tunnel IPSEC de l’utilisateur ne monte que si l’utilisateur est membre du groupe indiqué. Pourtant le groupe référencé ne semble pas très parlant. Cela ressemble juste à un groupe “Spécial” du fait de son SID court.

 

Regardons maintenant du coté du client. Lorsque celui s’authentifie avec une carte à puce, la commande “WHOAMI /GROUPS” nous retourne le résultat ci-dessous :

LOGONAVECSMARTCARD

En regardant bien, on retrouve notre SID “S-5-65-1”, plus connu sous le nom de “Ce certificat d’organisation. Et bien lorsque l’utilisateur s’est authentifié, il a été reconnu que la carte à puce a été utilisée et l’utilisateur a été reconnu comme membre de ce groupe spécial. C’est grâce à cela que le tunnel IPSEC de l’utilisateur va fonctionner. Magique non?

 

Allons plus loin

Par extension, il est donc possible de remplacer le contenu du paramètre “AuthzUserGrp” pour spécifier un autre groupe de sécurité (à condition de le formater la chaîne de caractère au format SDDL strings). On peut donc spécifier d’autres groupes et développer de nouveaux scénarios tel que :

  • Limiter l’utilisation de DirectAccess aux seuls utilisateurs autorisés (en plus des postes de travail)
  • Limiter l’accès à certains serveurs selon appartenance de l’utilisateur à un groupe, l’utilisation d’une carte à puce et même l’utilisation d’une carte à puce bien spécifique (Authentication Insurance)
  • Limiter l’accès à certains serveurs selon l’appartenance du poste de travail à un groupe de sécurité donné

 

Authentication Insurance

Si on regarde encore le résultat de la commande “WHOAMI /GROUPS”, on constate la présence d’un groupe “HighInsuranceGroup”, un simple groupe de domaine. Lui aussi, il n’est présent que parce que je me suis authentifié avec une carte à puce. Oui mais pas n’importe quelle carte à puce. Une carte à puce contenant un certificat bien spécifique.

 

L’authentification de l’utilisateur avec cette carte à puce à positionné l’utilisateur dans le groupe “HighInsuranceGroup”. C’est ce qu’on appelle l’”Authentication Insurance”, une nouvelle fonctionnalité de Windows 2008 R2 que je détaillerai prochainement.

 

Conclusion

Voila pour la magie de DirectAccess avec les Smartcard. Le wizard de DirectAccess fait un peu de la magie car AuthIP n’est pas configurable au travers des GPO. Il n’est possible de le manipuler qu’au travers de la boîte à outil NETSH.EXE. C’est pour cette raison qu’il ne faut surtout pas manipuler les GPO générées avec la console GPMC.

 

Voila de nouveaux scénarios autour de DirectAccess, que je développerai dès que j’aurai un peu de temps.

 

Benoîts – Simple and Secure by Design (J’insiste sur le Secure)

Comments

Stanislas Quastana's blog on TechNet said:

Le mois de mai aura été un bon mois concernant DirectAccess avec pas mal d'articles assez intéressants

# juin 3, 2010 9:55

Simple (and secure) by Design [Benoît SAUTIERE / Exakis / MVP] said:

Facile, on fait de la carte à puce comme illustré dans le billet “ DirectAccess et la magie de la smartcard

# juillet 4, 2010 11:33