LE RPV DE NIVEAU RÉSEAU AVEC TINC L entreprise Ilog est une petite entreprise de services informatiques située à La Défense. Les chefs de projet de l entreprise sont souvent en déplacement à travers toute la France. Mais même en clientèle, l entreprise souhaite qu ils puissent accéder de manière sécurisée au serveur de l entreprise, car ils sont tenus de rendre compte chaque semaine de l avancement de leur travail. Bien évidemment, seuls les chefs de projet doivent pouvoir se connecter depuis l extérieur au serveur de l entreprise et tous les flux échangés doivent être chiffrés. Prenons l exemple de M. Durand en déplacement à Marseille depuis de longs mois. I MISE EN PLACE DE LA MAQUETTE La situation réelle présentée ci-dessus sera simulée de la façon suivante : Vous travaillez par groupe de deux. Un Seven physique joue le rôle de client VPN, un serveur windows 2003 virtuel sous Vmware Workstation joue le rôle du serveur Vpn au siège social. Entre les deux, un autre serveur Windows 2003 Vmware Workstation joue le rôle du routeur Internet. Contrairement aux autres machines, ce routeur possède deux cartes réseau, une vers le poste nomade 1
en host-only et l'autre vers le serveur VPN en bridged (les serveurs Win2003 sont répartis sur deux machines physiques). Pour adresser correctement votre routeur, vérifiez et modifiez si nécessaire, dans Vmware Workstation, "Edit", "Virtual Network Editor", l'adresse réseau du réseau host-only. Désactivez le serveur DHCP intégré à Vmware Workstation. Enfin sur ce routeur, activez le routage et un serveur DHCP (dont la plage est sur le réseau retenu pour le poste client VPN). Vérifiez les adresses de vos machines ; Vérifiez que les machines se «pinguent»; II INSTALLATION ET CONFIGURATION DE TINC Pour mettre en place ce VPN le logiciel retenu est le logiciel Tinc. Ce logiciel tourne aussi bien sous Windows XP, 2003, Seven et sous différentes distributions Linux. Il joue à la fois le rôle de serveur Vpn et de client Vpn. Lorsqu'on installe un logiciel VPN comme TINC on rajoute à la machine des cartes réseau virtuelles. Ces cartes réseau virtuelles doivent avoir une adresse IP et seront utilisées pour construire le VPN. Les cartes virtuelles liées à TINC, doivent être sur le même réseau, puisqu'un VPN donne l'impression à des machines situées sur des réseaux différents d'être sur le même LAN. Voici la configuration réseau retenue pour les cartes réseau virtuelles du VPN : Serveur VPN Siège Social (Windows 2003) : 10.0.0.1 masque 255.0.0.0 ; Client VPN Durand : 10.0.0.2 masque 255.0.0.0. II.1 CONFIGURATION DE TINC Tinc est disponible sur le serveur de fichiers, répertoire Tinc. Suivez simplement la procédure d installation. Pour la configuration de Tinc nous devons créer quelques fichiers texte et donner des valeurs à des variables prédéfinies. Afin d éviter des problèmes je vous demande, dans un premier temps, de respecter les indications de paramétrage réseau, fournies. Vous pourrez faire dans un deuxième temps toutes les modifications désirées. II.2 CRÉATION DU RÉPERTOIRE DE CONFIGURATION DU VPN Le programme Tinc a été installé dans le répertoire \program files\tinc. Positionnez-vous dans ce répertoire et créez un répertoire dont le nom sera celui de votre connexion vpn, parce exemple vpn. Ce travail est à faire sur les deux machines qui vont héberger Tinc. C est dans ce répertoire que nous allons créer les fichiers de configuration de cette liaison vpn. II.3 LES FICHIERS TINC.CONF Ces fichiers "tinc.conf" vont contenir les principaux paramètres de la connexion vpn. Créez un fichier texte, mais attention vous devez supprimer l extension «.text» au moment de l enregistrement. En effet Tinc vient du monde Linux et les noms des fichiers donnés dans ce TP sont en général sans extension. Dans ce fichier on doit trouver trois paramètres : Name = Client ConnectTo = Serveur Interface = Vpn Client Name = Serveur Interface = Vpn Serveur 2
Name : c est le nom de votre ordinateur sur le Vpn. Il n est pas nécessaire que cela soit le nom de votre machine Windows. ConnectTo : c est le nom de la machine à laquelle vous voulez vous connecter dans le cadre du Vpn. C est donc le nom du serveur vpn tinc ici Serveur. Interface : C est le nom de l interface réseau que vous allez utiliser pour joindre votre Vpn. Nous créerons cette interface plus tard. Le fichier tinc.conf sur la machine serveur VPN contient les mêmes informations, excepté la ligne ConnectTo. En effet c'est le client vpn qui va tenter de se connecter à la machine serveur Vpn qui elle sera juste à l écoute des connexions entrantes. II.4 LES FICHIERS HOSTS Tinc a besoin de résoudre les noms des machines saisis dans le fichier tinc.conf, c est à dire de trouver leur adresse IP respective. Pour cela on utilise une résolution de noms en local et propre à Tinc. Cette résolution de noms est très proche de celle obtenue par utilisation du fichier hosts sous Linux ou Windows. Créez un répertoire nommé hosts sous votre répertoire vpn. Dans ce répertoire, créez un fichier texte (sans extension) du nom de votre machine. Dans l exemple donné, on doit trouver un fichier "Client" sur le client Vpn et un fichier "Serveur" sur le serveur Vpn. Subnet : C est l adresse IP de la machine sur le vpn (on met alors un masque /32) ou l adresse réseau du Vpn (on met alors le masque du sous-réseau). Attention dans le fichier correspondant au client vpn c est bien l adresse de la machine qu il faut donner et non pas l adresse du réseau (le serveur vpn gère un réseau, mais le client vpn n est qu une machine de ce réseau privé virtuel). Address : C est l adresse IP réelle de la machine Serveur. (Ce paramètre n est nécessaire que sur la machine serveur, en effet le client doit trouver le serveur et pour cela il doit connaître son adresse IP réelle). Client Subnet = 10.0.0.2/32 Subnet = 10.0.0.0/8 Serveur Address = 192.168.1.100 II.5 LES CLEFS DE CHIFFREMENT Un Vpn est basé sur le chiffrement. En effet toutes les communications entre les deux machines vont être chiffrées de façon à les rendre incompréhensibles à toutes machines extérieures au Vpn. Or pour chiffrer les communications chaque machine doit posséder un jeu de clefs (une clef privée et une clef publique). Pour générer le jeu de clefs qui sera utilisé par Tinc, vous devez lancer une fenêtre Dos, puis aller dans le répertoire \program files\tinc et tapez la commande suivante : tincd n vpn K. tincd est le nom du démon Tinc qui va gérer le vpn, -n indique pour quelle liaison Vpn on va générer les clefs (on peut avoir plusieurs liaisons Vpn sur une seule machine). Ici nous tapons vpn car c est le nom que nous avons 3
donné à notre vpn. K indique que l on veut générer le jeu de clefs. Vous gardez les noms de fichiers proposés par Tinc pour enregistrer les clefs (tapez Entrée). Le fichier "Client" qui permettait de résoudre en adresse IP le nom de cette machine contient aussi maintenant la clef publique de cette même machine (attention au saut de ligne). La clef privée est enregistrée dans un fichier à part, qui doit faire l objet de protections particulières. Dévoiler ce fichier c est rendre votre Vpn inutile (on pourra alors déchiffrer vos échanges). Vous devez maintenant donner votre fichier "Client" à la machine serveur vpn et après avoir fait la même opération sur la machine "Serveur", donnez votre fichier Serveur à la machine Client. Vous devez donc avoir deux fichiers dans chacun de vos répertoires hosts. Attention si plus tard au cours du TP vous devez re-générer votre jeu de clefs vous devez au préalable faire les opérations suivantes : Retirer la clef publique du fichier, portant le nom de la machine pour laquelle on re-génère le jeu de clef, et situé dans le répertoire hosts ; Supprimer le fichier de nom «rsa_key.priv» situé dans le répertoire vpn Une fois les clefs re-générées vous devez échanger de nouveau les fichiers situés dans le répertoire hosts. II.6 CRÉATION ET CONFIGURATION DE L INTERFACE RÉSEAU POUR LE VPN Il nous faut maintenant créer une interface réseau virtuelle pour notre Vpn. Pour cela sur chaque machine, allez dans le répertoire \program files\tinc\tap-win32 et lancez le programme «addtap.bat». Ce programme va créer une nouvelle interface réseau dans la fenêtre des connexions réseau. Aller dans cette fenêtre et renommer votre nouvelle interface réseau sous le nom que vous avez saisi dans le fichier tinc.conf en face du paramètre «Interface» ( dans notre exemple «Vpn»). Il reste maintenant à configurer ces interfaces en leur donnant une adresse IP sur le réseau Vpn, c est à dire dans notre cas une adresse sur le réseau 10.0.0.0/8. La configuration du Vpn est maintenant terminée. III LANCEMENT DU VPN Pour lancer le vpn, ouvrez une fenêtre Dos et tapez la commande tincd n vpn D d5. Il faut commencer par lancer tinc sur le serveurvpn pour que celui soit déjà en écoute sur le réseau, lorsque la machine cliente tentera de se connecter au vpn. Cette commande permet aussi de suivre dans la console DOS les échanges effectués entre les deux machines. La connexion de nom «vpn» devient alors active. 4
IV VÉRIFICATION DU FONCTIONNEMENT Vous pouvez normalement faire un ping sur les adresses virtuelles. Arrêter votre Vpn. IV.1 SUR LE CLIENT VPN Sur le client vpn, vous allez installer ou re-installer WireShark pour prendre en compte votre nouvelle interface réseau, et pour pouvoir faire de la capture de paquets et analyser les échanges dans le cadre du vpn. Une fois ce programme installé, activez la capture de paquet sur l interface réelle (celle en host-only). Lancez maintenant votre vpn. Faites un ping sur l interface virtuelle de l autre machine. Qu observez-vous? 5
Activez maintenant la capture de paquet sur l interface du vpn, retirez le filtre UDP dans Wireshark et faites un ping sur l'adresse virtuelle de l autre machine. Qu observez-vous? Depuis votre client vpn, effectuez une commande tracert du client vpn vers le serveur Vpn, d abord sur les adresses virtuelles puis sur les adresses réelles. Que constatez-vous? Pourquoi? IV.2 SUR LE ROUTEUR Sur le routeur, vous allez installer WireShark et lancez une capture. Faites un ping depuis votre client vpn vers le serveur vpn en utilisant le vpn. Qu observez-vous? IV.3 EN UTILISANT UN SERVICE APPLICATIF (LES CAPTURES ONT LIEU SUR LE ROUTEUR) Activez le serveur Telnet sur votre machine serveur (Outils d administration, Services et démarrez si besoin est le serveur Telnet). Vérifiez que le serveur Telnet écoute sur le réseau par la commande netstat a. En local effectuez une connexion sur le serveur telnet. Depuis l autre machine, effectuez une connexion vers le serveur telnet précédemment installé, sur son interface réelle. En observant le contenu des trames capturées sur le routeur, relevez le user et le mot de passe envoyés en clair sur le réseau. User : Mot de passe : Effectuez maintenant une connexion vers le serveur telnet précédemment installé, sur son interface virtuelle. En observant le contenu des trames capturées sur le routeur, pouvez-vous relever le user et le mot de passe envoyés sur le réseau? User : Mot de passe : Vous constatez que les communications entre les deux machines hébergeant tinc sont sécurisées. 6