web-dev-qa-db-fra.com

Plusieurs clients VPN en parallèle

Si je devais exécuter plus d'un client VPN sur ma machine, simultanément, quels risques seraient impliqués?

Par exemple. y a-t-il des conflits techniques, tels que cela ne fonctionnerait pas correctement?

Pourrait-il y avoir des conflits de résolution d'adresse?

Plus effrayant, le trafic d'un réseau peut-il traverser, via ma machine, vers l'autre réseau?
Ou mon trafic peut-il être accidentellement acheminé vers le mauvais réseau?


Si cela est important, les clients VPN que j'exécute sont Juniper Network Connect et AnyConnect de Cisco (sur Windows7 entièrement corrigé et renforcé). Je ne connais pas grand-chose aux terminaux distants ...

12
AviD

J'ai utilisé un logiciel client VPN sur Mac OS X qui détourne la route par défaut pour envoyer tout le trafic à travers le tunnel (en fait, si la mémoire me sert correctement, c'était Cisco). Si deux de ces clients ont été installés, ou même un et un client sain d'esprit, alors la réponse à la question "où ira ce paquet?" dépendra du calendrier et de la mise en œuvre. Les options probables sont que l'un des clients "gagnera" et récupérera tout le trafic, ou que l'un des tunnels soit implémenté via l'autre. Ce qui se passe sous Windows dans un tel cas me dépasse.

Lorsque vous parlez de conflits de "résolution d'adresse", cela dépend de ce que vous voulez dire. Si vous parlez de résolution ARP, cela ne devrait pas poser de problème. Comme pour tout système connecté à deux réseaux, il devrait y avoir suffisamment d'unicité dans les adresses MAC pour éviter les collisions. En ce qui concerne la résolution DNS, cela dépend des implémentations spécifiques des clients VPN et de la box client sur le réseau privé. S'ils se comportent correctement, il devrait être possible d'utiliser un serveur DNS sur un réseau privé ou sur le réseau public (notez la possibilité de collisions de noms sur des machines dans les domaines de recherche du client, cependant). S'ils se conduisent mal, cela dépend encore une fois des spécificités de la situation.

7
user185

À un niveau assez fondamental, un VPN émule un "réseau privé" dont le but est d'être isolé de l'Internet en général. Le "V" signifie qu'un tel isolement est effectué cryptographiquement plutôt que physiquement; cependant, le modèle est toujours "des câbles séparés". Si votre machine fait partie de deux VPN simultanément, les réseaux privés ne sont plus isolés. Cela tend à contredire la raison même pour laquelle les réseaux privés ont été créés en premier lieu.

Une implémentation VPN est appelée ainsi car les applications n'ont pas besoin de le savoir. Les applications utilisent des protocoles standard Internet (DNS pour la résolution de noms, TCP et sockets UDP ...) et le VPN capte le trafic et fait sa magie de manière transparente. Une implémentation VPN typique se connecte tables de routage système, pour recevoir des paquets destinés à une classe d'adresses donnée. Deux VPN ne peuvent fonctionner en parallèle que si les adresses utilisées dans les deux réseaux privés ne se chevauchent pas - et ce n'est pas facile à réaliser, car les réseaux privés étant privé, n'utilisez pas de schéma d'attribution d'adresses global. Les réseaux privés s'efforcent généralement d'utiliser les "classes privées" telles que 10. *. *. * et 192.168. *. *.

Le DNS illustre bien le problème de l'accès simultané à deux réseaux privés. Lorsqu'une application souhaite accéder à une machine nommée "exemple", elle ne sait pas sur quel réseau elle se trouve. C'est le point des réseaux privés: les applications n'ont pas besoin de connaître l'existence du réseau privé. Le réseau privé héberge son propre serveur de noms, qui peut résoudre les noms des machines qu'il héberge. Si vous vous connectez à deux VPN, alors, pour chaque résolution de nom, vous devrez parler aux deux serveurs de noms. Par conséquent, le serveur de noms du réseau privé 1 recevra également des demandes de résolution de noms pour les noms qui se trouvent dans le réseau privé 2. C'est louche. Et si le même nom est utilisé dans les deux réseaux, tout l'enfer se déchaîne. C'est le même problème que les adresses IP qui se chevauchent, traduites dans l'espace des noms.

De plus, si votre machine fait office de routeur, elle acheminera volontiers les paquets d'un VPN à l'autre. Sur un système Linux, c'est aussi simple que:

echo 1 > /proc/sys/net/ipv4/ip_foward

ce que certaines distributions Linux feront pour vous si vous le demandiez au moment de l'installation. Selon l'utilisateur pas faire quelque chose comme ça semble risqué.

Pour résumer, le modèle normal d'un VPN est le suivant:

  • un système utilisateur donné fait partie du VPN, seulement le VPN (et donc seulement n VPN);
  • si le système doit pouvoir communiquer avec le "monde extérieur", il ne peut le faire que via une passerelle dédiée qui, du point de vue du système utilisateur, fait partie du VPN.

En particulier, un système lié à un VPN ne doit pas être connecté simultanément à un autre réseau, que ce soit le VPN ou Internet en général. Un logiciel VPN approprié détournera l'itinéraire par défaut et s'assurera qu'il voit tout le trafic entrant et sortant pour l'ensemble du système. Par nature, cela ne tolère pas la présence simultanée d'un autre VPN.

12
Thomas Pornin

La façon dont je travaille lorsque j'ai besoin d'utiliser plusieurs clients VPN est de les exécuter sous des machines virtuelles. Cela fonctionne actuellement très bien pour moi et évite les conflits mentionnés par Graham et Thomas - sinon vous pouvez trouver le système d'exploitation faisant des choses étranges lors de l'envoi de trafic (particulièrement vrai sous Windows)

Cela signifie également que vous ne commettez pas facilement des erreurs lors de l'envoi de données pour un VPN sur l'autre (ce que je fais, c'est avoir des antécédents sur chaque VM personnalisé pour chaque environnement)

Vous devrez surveiller vos exigences de sécurité. S'assurer que le routage n'existe pas entre les VM est une bonne chose (tm) ici.

6
Rory Alsop

Je vous suggère de contacter Juniper et Cisco et de vous inscrire pour tester leur logiciel client. Je doute que l'une ou l'autre entreprise testerait cette configuration par elle-même. Si vous avez un problème, j'imagine que le support technique vous demanderait de supprimer le client VPN des autres sociétés et d'essayer à nouveau d'accéder au réseau.

Plus important encore, je pense que vous violerez probablement la politique de sécurité de quelqu'un. Lorsque vous créez une connexion VPN à un site - c'est-à-dire pour établir une connexion sécurisée. Vous semblez vouloir vous connecter à deux réseaux de confiance différents en même temps. Si je gérais la tête de réseau VPN, j'appellerais accéder à mon site via un VPN et le site de quelqu'un d'autre via un autre VPN une violation de sécurité attendant d'être exploitée.

1
OhBrian

Pas pour rien, mais OS X 10.6.x + vous permettra de vous connecter à plusieurs VPN IPSec à la fois. En ce qui concerne le passage de TOUT le trafic à travers un tunnel VPN, oui, c'est le comportement par défaut, bien que Cisco (et je suis certain que cela existe pour d'autres fournisseurs tels que Juniper, etc.) a une technique appelée "tunnel fractionné" où seulement une partie de votre trafic passe par le tunnel, c'est-à-dire les réseaux protégés configurés pour vous par votre administrateur réseau. Si le trafic n'est pas destiné à l'un de ces réseaux, il sort de votre connexion régulière WAN. Cela peut être agréable car il permet aux clients VPN d'accéder à Internet sans restrictions, tout en ayant également accès à Cela réduit également la charge sur les serveurs VPN d'entreprise car ils ne traitent plus autant de trafic.

En ce qui concerne l'utilisation du client VPN OS X intégré pour se connecter à plusieurs VPN à la fois, je pense que cela serait également en violation directe de la politique de sécurité de l'entreprise. De plus, si vous utilisez un client tel que Cisco AnyConnect, vous ne pouvez PAS connecter plus d'une instance VPN à la fois (AnyConnect est pour les VPN SSL uniquement, le client VPN Cisco OS X intégré est pour les VPN IPSec uniquement).

0
Ronan McGurn