Windows 7 couplé à Windows Server 2008 R2 offre une nouvelle fonctionnalité destinée aux professionnels baptisée DirectAccess.

DirectAccess permet à l'utilisateur de se connecter à distance au Système d'Information de l'entreprise de manière complètement transparente. Les personnes qui utilisent aujourd'hui Outlook 2003 ou 2007 couplé à Exchange Server 2003 ou 2007 avec la fonctionnalité RPC sur HTTPS connaissent déjà une première expérience de la transparence des accès distants : il suffit de démarrer le client de messagerie et celui-ci trouve tout seul le moyen de se connecter au serveur Exchange que le poste soit connecté sur Internet ou au sein du réseau local. Et bien DirectAccess, c'est la même expérience mais appliquée à l'ensemble des applications exécutées sur Windows 7.

A la différence d'une connexion VPN nomade (classique ou SSL), DirectAccess ne nécessite aucune intervention de l'utilisateur, il n'y a pas de connexion à établir au travers d'un gestionnaire de connexion.

Commençons par un schéma très basique d’une architecture DirectAccess :

Parmi les technologies nécessaires et utilisées par DirectAccess, on voit bien sur ce schéma qu’il y a IPv6 et IPsec

IPv6 a été traité dans un billet précédent : cf. DirectAccess : mythes & réalité - partie 1 : IPv6  (http://blogs.technet.com/stanislas/archive/2009/06/08/directaccess-mythes-r-alit-partie-1-ipv6.aspx)

Beaucoup de personnes se documentant (ou ayant vu mon schéma ci-dessus) sur DirectAccess voient IPsec dans la liste des pré-requis, ce qui génère beaucoup d'interrogations et d'idées reçues
- C'est quoi IPsec ?
- IPsec ce n'est que pour les tunnels VPN ?
- IPsec c'est pour chiffrer les communications ?
- IPsec est-il vraiment nécessaire pour DirectAccess ?
- ...


L'objectif de ce post est de démystifier certaines idées reçues ou interrogations sur DirectAccess & IPsec

Tout d'abord : qu'est ce que IPsec ? Est ce que c'est que pour les VPN (Virtual Private Network) ?

Comme son nom l’indique IPsec opère au niveau IP (couche 3 ou réseau du modèle théorique OSI de l’ISO) et permet d’établir un canal sécurisé pour échanger de manière protégée des données entre deux périphériques (machines, routeurs, …)

Deux modes de fonctionnement existent :

  • Mode tunnel
    •  Sécurisation du trafic entre 2 réseaux (de routeur à routeur, typiquement : entre 2 passerelles VPN)
    •  Protection de l’entête et de la charge
  • Mode transport
    • Sécurisation du trafic entre 2 machines (de PC à PC en passant par des routeurs)
    • Protection de la charge seulement
    • Ce mode est utilisé typiquement sur des LANs pour sécuriser les communications IP entre 2 ordinateurs (un client et un serveur par exemple)

Mode tunnel et mode transport sont utilisés dans DirectAccess en fonction du scénario d'implémentation choisi :

  1. Le mode tunnel (du client DirectAccess vers le serveur DirectAccess) pour le scénario Full intranet access (end-to-edge)

  2. Le mode transport et le mode tunnel sont utilisés pour le scénario Selected server access (modified end- to-edge)
  3. Le mode transport est utilisé pour scénario End-to-end


Information complémentaires sur ces scénarios : http://technet.microsoft.com/en-us/library/dd637836(WS.10).aspx


IPsec c'est pour chiffrer les communications ?

Oui et Non, IPsec peut être utilisé aussi pour authentifier les communications entre 2 machines.

2 modes sont utilisés dans IPsec : AH et ESP

  • AH (IP Authentication Header) - RFC 2402
    • Permet de faire de l'authentification mutuelle
    • Assure l'intégrité des données transmises et de l’adresse IP (sans chiffrement)
    • Ne traverse pas le NAT (Network Adress Translation)

Le trafic IPSec AH modifie les paquets IP de la manière suivante :

  • ESP (IP Encapsulating Security Payload) - RFC 2406
    • Permet aussi l'authentification mutuelle
    • Assure l'intégrité et le chiffrement des données échangées
    • Traverse le NAT

Le trafic IPSec ESP modifie les paquets IP de la manière suivante :



Il est possible de cumuler les 2 fonctions (Authentification et chiffrement des données) en utilisant ESP et AH.

Pour faire passer des flux IPSec au travers d’un pare-feu, il suffit d’autoriser les flux suivants :
• Protocole IP – 50 : Trafic IPSec Encapsulating Security Protocol (ESP)
• Protocole IP – 51 : Trafic IPSec Authentication Header (AH)
• UDP 500 pour le trafic de négociation Internet Key Exchange (IKE)


IPsec est-il vraiment nécessaire pour DirectAccess ?

Oui, vous l'aurez compris, dans DirectAccess, IPsec est nécessaire dans DirectAccess pour assurer :
- La confidentialité des données échangées (entre le client DirectAccess et le serveur DirectAccess ou entre le client et les serveurs internes)
- L'authentification lors des communications entre les postes DirectAccess et des serveurs (DirectAccess ou internes)

 

Liens utiles pour aller plus loin dans la découverte d’IPsec :

Le portail IPsec sur microsoft.com
http://www.microsoft.com/ipsec

[Microsoft TechDays 2009] - La sécurité de demain : Et si l’on repensait la notion de périmètre ?
par Bernard Ourghanlian
http://www.microsoft.com/france/vision/mstechdays09/Webcast.aspx?EID=a64edf40-0f8d-40e3-98dc-4cfad84443b5

[Microsoft TechDays 2007] - Windows Vista : améliorations du firewall et IPsec
par Arnaud Lheureux, Network Support Engineer, Microsoft France
http://www.microsoft.com/france/vision/WebcastTechNetTechDays.aspx?EID=8e8e7b7a-fe1a-4662-9111-74ccff0ab3c8

Introduction to Server and Domain Isolation
http://technet.microsoft.com/en-us/library/cc725770(WS.10).aspx

[JMS 2006] Isolation de domaine ou de serveur avec Ipsec
par Christophe Dubos
http://www.microsoft.com/france/vision/Technet-tv/Webcast.aspx?EID=519543bb-40e9-484a-bdd8-7a4504bf9856