VPN
Source : https://vpn.karolak.fr/#reseau-entreprise
Introduction
Le réseau d'entreprise
Le réseau d'une entreprise évolue en même temps qu'elle. Le réseau qui relie les équipements au sein d'un site géographique est généralement la propriété de l'entreprise; tandis que les interconnexions entre les sites empruntent généralement des infrastructures publiques plus ou moins sécurisées.
On appelle VPN (Virtual Private Network) l'ensemble des techniques permettant d'étendre le réseau de l'entreprise en préservant la confidentialité des données. Une interconnexion VPN permet alors de connecter les réseaux de l'entreprise au travers des réseaux publics, pour moins cher, tout en conservant les garanties de sécurité nécessaires.
Les solutions VPN apportent général les bénéfices suivants :
- Authentification par clef publique
- Confidentialité des échanges (chiffrement)
- Confidentialité à posteriori en cas de compromission des secrets cryptographiques
- Transport de paquets destiné à un réseau privé via un réseau public
Le principal inconvénient porte sur les performances; Internet ne possède pas les garanties de qualité de service d'un réseau dédié. L'encapsulation et le chiffrement ont un coût en matière de performances.
Principes
On distingue en général deux types de besoins pour les connexions au réseau d'entreprise :
- Les connexions d'un employé au réseau
- Les connexions entre deux branches de l'entreprise.
En effet, si l’objectif est similaire, et si les moyens techniques mis en jeu sont souvent les mêmes, les différences conceptuelles entre ces deux types d’accès font qu’on utilisera le plus souvent des solutions différentes pour gérer ces deux cas.
Client-Serveur
La connexion d'un employé utilise une approche de type client-serveur. Le serveur est un concentrateur VPN central sur lequel chaque employé se connecte, obtenant après authentification l'accès aux ressources de l'entreprise. Les clients de ce serveur ne peuvent généralement pas communiquer entre eux, hormis via une ressource du réseau. La connexion du réseau d'une filiale au siège peut parfois s'effectuer selon ce principe; de grandes entreprises très centralisées peuvent reposer sur un modèle en étoile.
Cela peut ressembler à de la connexion d'employés, mais à double sens : le réseau central peut accéder aux réseaux périphériques, pour de l'administration par exemple. Ce modèle est peu performant lorsque deux filiales veulent communiquer entre elles, puisque tout doit passer par le centre.
Interconnexion
Dans d'autres entreprises, ce modèle n'est pas viable, si par exemple l'entreprise est répartie en sites de tailles égales, et on ne sait plus trop où définir un serveur.
La connexion entre plusieurs entités peut s'avérer complexe :
Dès que l'on dépasse les 3 entités, l'égalité entre les noeuds n'est plus assurée, et on doit en désigner certains comme serveurs. Heureusement, certains protocoles VPNS fonctionnent selon un principe décentralisé. Dans ce cas, la configuration se fait de façon identique sur chaque équipement. On a alors un meilleur équilibre.
L'interconnexion de n noeuds nécessite n(n-1)/2 liens.
Dans tous les cas, il faut que la topologie du VPN reflète l'entreprise.
Tunnels
Dans chacun des cas cités, un VPN permet d'établir un tunnel; soit entre deux réseaux, soit entre un poste et un réseau.
Un tunnel est une connexion réseau virtuelle dont le trafic est en réalité dirigé vers une autre interface réseau après avoir subi un traitement, généralement une encapsulation et le chiffrement des informations contenues dans la trame.
L'encapsulation permet de masquer la véritable destination d'une trame dans le cas où celle-ci serait à destination d'un réseau privé, la plupart des entreprise utilisant des adresses IPv4 privées pour leurs réseaux internes. Sans VPN, une trame à destination d'un réseau privé nepeut pas circuler sur Internet.
Une trame qui circule via VPN est donc encapsulée, et éventuellement (généralement) chiffrée. Au niveau de l'OS, une interface virtuelle sert à rendre transparent le traitement de la trame; ainsi, n'importe quelle application peut fonctionner sans avoir connaissance du VPN. On peut bien sûr enchaîner les tunnels,
Dimensionnement
L'encapsulation, en particulier quand elle est couplée à du chiffrement, présente un certain coût en ressources. C'est pourquoi des équipements VPN sont souvent dédiés, ou cohabitent avec des firewalls réseau qui consomment peu de ressources. Le coût de l'encapsulation est rarement limitant pour peu que l'on utilise des serveurs récents. Un serveur bas de gamme encaissera sans problèmes 10 Mbps de trafic chiffré, un serveur un peu plus performant et équipé de cartes réseau haut de gamme pourra assurer des connexions entre réseaux plus rapides (au dessus de 100 Mbps). Ces limites apparaissent en revanche beaucoup plus vite sur des équipements dédiés possédant des processeurs de faible puissance.
On peut noter que certains serveurs ou équipements peuvent être dotés de puces d'accélération cryptographique, qui assurent le support d'un ou plusieurs mécanismes de chiffrement, et décharge considérablement le CPU.
Les solutions
OpenSSH
OpenSSH est le logiciel le plus utilisé pour l’export de console, il est utilisé sur près de 90% des serveurs de type UNIX dans le monde, pour les tâches d’administration. Au fil des années, OpenSSH s’est étoffé de nombreuses fonctionnalités qui permettent de l’utiliser bien au delà de la classique « console réseau » que tous les administrateurs UNIX connaissent bien. Précisons qu’il ne s’agit pas à proprement parler d’une solution de VPN « traditionnelle », mais elle fournit les mêmes services à plus petite échelle.
Redirection de port
La fonctionnalité alternative la plus connue de OpenSSH. Une fois connecté à un serveur via une connection SSH, un client peut demander à ce que le serveur lui transmette des connexions vers d'autres machines, à la manière d'un proxy, via une encapsulation. L'une des principales applications de cette technique est de sécuriser un protocole qui ne l'est initialement pas, comme VNC.
Le serveur, ici, n'est pas accessible depuis Internet car VNC n'est pas sûr. Il est cependant accessible depuis un serveur passerelle SSH, lui-même accessible depuis le net. Le client va donc s'authentifier auprès du serveur SSH, puis ouvrira une connexion VNC qui sera en clair entre le serveur et la passerelle SSH, puis chiffrée de la passerelle à l'utilisateur.
Une autre possibilité est l'ouverture d'un proxy dynamique. Une fois connecté, le client peut utiliser le serveur SSH comme un proxy SOCKS et s'en servir pour relayer les connexions web vers la plupart des services réseau; notamment les mails, la navigation web, etc. Cette possibilité ne se limitant pas à un seul serveur à la fois, elle se rapproche d'un VPN.
Ces application de OpenSSH sont utiles dans certains cas et offrent certains avantages par rapport à un VPN (notamment le prix); cependant elles sont vites limitées, et réservées aux utilisateurs avertis.
Tunnel sécurisé
Les techniques vues précédemment sont en général utilisées pour connecter un utilisateur au réseau. OpenSSH propose une solution d'interconnexion entre réseaux plus robuste : la redirection d'interfaces.
Celle-ci permet de partager une carte réseau virtuelle entre deux machines. Il s'agit d'une solution plus souple car l'ensemble des capacités de Linux sont accessibles (routage, filtrage, HA, etc). L'ensemble des trames réseau envoyées sur cette carte virtuelle, dans un sens comme dans l'autre, réapparaît sur l'autre machine, après avoir été chiffré et transmis au travers de la connexion SSH.
Cette technique permet de monter rapidement un VPN entre deux machines UNIX, pour un besoin ponctuel. Elle est cependant peu utilisée pour de l'interconnexion définitive, au profit de solutions plus interopérables et configurables.
OpenSSH offre donc des possibilités de VPN réduites, pratiques pour une mise en place d’accès rapide. Cependant l’absence de connexion avec un annuaire ou d’intégration dans une PKI rend le déploiement de OpenSSH à grande échelle difficile.