Comment dois-je utiliser VPN sur un Mac pour éviter tout compromis avant le démarrage du VPN?

11

Comme la plupart des utilisateurs expérimentés l'ont entendu, l'utilisation d'un Mac dans un réseau Wi-Fi public non fiable peut être potentiellement dangereuse. Un outil comme Firesheep 1 a rendu très facile l'interception de communications non cryptées.

L'utilisation d'un VPN tunnel complet pour crypter toutes les communications est aussi souvent mentionnée comme une solution magique à l'écoute, mais bien sûr, ce n'est pas si simple:

  • Selon le protocole et la configuration de la connexion VPN, la connexion peut être interrompue plus facilement. (par exemple TLS vs UDP)
  • La connexion VPN n'est pas établie instantanément lorsque vous vous connectez à un réseau public.

Je pense que les deux derniers points importent beaucoup parce que chaque fois que vos paramètres réseau changent, les différentes applications parlent immédiatement à leurs serveurs - je suppose que c'est ce configdqui les informe, non?

Avant -à- dire le tunnel VPN est établi, la plupart ( en cours d' exécution) les processus qui nécessitent Internet va communiquer.

Je vois deux composants pour être un bon utilisateur VPN:

  1. S'assurer que les choses ne sont pas envoyées en clair avant qu'elles ne soient établies.
  2. Faire en sorte que les choses ne soient pas envoyées en clair plus tard si le VPN échoue .

Comment puis-je utiliser VPN sur un Mac dans un réseau public pour limiter le trafic non crypté avant le démarrage du VPN?

gentmatt
la source
Il est agréable de revoir cela - la question la plus ancienne à laquelle j'ai lié semble plus axée sur la façon de savoir quand un VPN abandonne la connexion que sur la façon de configurer les choses pour démarrer en toute sécurité - afin que nous puissions bénéficier de plusieurs questions pointues sur les pratiques pour augmenter la sécurité tout en utilisant un VPN.
bmike

Réponses:

2

Mettons de côté toute solution où vous apportez un deuxième équipement de réseautage au problème. Laissons également le problème de l'arrêt du trafic après l'échec du VPN à cette question connexe, mais différente .

Je considère ce problème comme une solution centrée sur l'utilisateur et non quelque chose qui est facilement accompli en modifiant le comportement d'OS X.

Configurez deux comptes sur votre Mac (aucun n'a besoin d'être un compte administrateur, mais si c'est le cas, vous n'aurez pas besoin d'un troisième compte pour modifier les paramètres système).

  1. Un compte shell qui existe pour ne rien exécuter et établir uniquement la connexion VPN.
  2. Un compte principal qui exécutera les programmes que vous souhaitez vous assurer d'avoir uniquement accès au réseau une fois qu'il a été correctement sécurisé avec un VPN.

Ainsi, avec le changement rapide d'utilisateur activé, vous pouvez vous déconnecter du compte principal. Cela garantit qu'aucun programme ou processus de cet utilisateur ne continuera à s'exécuter en arrière-plan. La plupart des applications OS X se comportent bien et suspendent l'accès au réseau lorsqu'elles n'ont pas de fenêtre active à l'écran, mais vous devez surveiller et tester cela pour toujours pour vous assurer que rien ne se passe - la déconnexion est plus simple à maintenir.

Maintenant, vous pouvez également remplacer "compte" ci-dessus par OS et exécuter un système de virtualisation comme Fusion (ou Parallels ou tout autre) et ne démarrer l'OS invité qu'une fois que l'OS hôte a tout sécurisé sur un VPN. Selon le logiciel VM que vous choisissez, vous pouvez également contrôler le réseau et activer et désactiver l'accès même lorsque le système d'exploitation invité (ou les systèmes d'exploitation) est en cours d'exécution. Il s'agit essentiellement de simuler le matériel supplémentaire que j'ai initialement dit que je ne considérerais pas.

J'espère que cela montre une façon dont vous pourriez être plus sûr lorsque vous voyagez et utilisez un réseau auquel vous ne faites pas confiance tout en minimisant le risque que cela implique toujours. Si quelqu'un d'autre possède le réseau - il possède le DNS, peut enregistrer les paquets, peut essayer les attaques de l'homme du milieu (MITM) ainsi qu'inspecter tous vos paquets en profondeur pour essayer de déterminer ce qui circule à l'intérieur du tunnel VPN.

bmike
la source
1
C'est une réponse assez raisonnable. L'utilisation d'une machine virtuelle dans un deuxième compte utilisateur est facile à configurer. Bien que le système d'exploitation puisse toujours autoriser le trafic réseau non sécurisé, peu importe s'il se trouve dans l'environnement restreint d'un compte d'utilisateur redondant.
gentmatt
Je souhaite qu'il y ait un bouton facile, mais comme vous pouvez le voir - il n'est pas trivial de contrôler le trafic avant ou après sur une couche noyau car OS X est conçu pour utiliser n'importe quel chemin d'accès. Le système d'exploitation n'est pas conçu pour tout arrêter, mais l'équipement réseau l'est.
bmike
3

Voici une approche totalement en dehors de l'interface graphique de MacOS X. Par conséquent, cette approche du problème n'interférera avec aucun paramètre de réseau ou VPN.

Disons que je veux utiliser un VPN IPSEC (basé sur l'utilisation de 500 / udp == isakmp & 50 / ip == esp).

Créez un ipfwfichier de configuration permettant simplement aux protocoles requis de construire le VPN:

/usr/bin/sudo cat <<____eof >/etc/ipfw.vpn.rules
# VPN trafic contention
#
# DHCP
add 00100 permit udp from any to any src-port bootpc dst-port bootps
# DNS
add 01000 permit udp from me to any dst-port domain
add 01010 permit udp from any to me dst-port domain
# isakmp
add 01050 permit udp from me to any dst-port isakmp
add 01060 permit udp from any to me dst-port isakmp
# esp
add 01100 permit esp from me to any
add 01110 permit esp from any to me
# all other ip go to the central black hole
add 20000 deny ip from any to any
____eof

Vérifiez que sa syntaxe est correcte:

/usr/bin/sudo /sbin/ipfw -n /etc/ipfw.vpn.rules

Installez-le dans le noyau:

/usr/bin/sudo /sbin/ipfw /etc/ipfw.vpn.rules

Vérifiez que votre système d'exploitation peut redémarrer et obtenir son adresse IP via le protocole DHCP habituel. Vérifiez que la plupart des protocoles IP sont bloqués:

ping www.google.com

Bien sûr, si vous souhaitez utiliser un VPN en plus de SSL, vous devrez adapter ce fichier de configuration (isakmp + esp → https).

dan
la source