web-dev-qa-db-fra.com

Différence entre SSH Tunnel / Proxy et VPN en termes de sécurité

Quels sont les avantages d'un VPN par rapport à l'utilisation d'un tunnel SSH standard?

J'envisage de configurer OpenVPN sur un serveur, mais je me demandais quels avantages cela aurait par rapport à l'utilisation de ce même serveur comme tunnel SSH qui est très facile à configurer et permet de se connecter via SOCKS5 qui est déjà pris en charge partout. Les deux ne montreraient-ils pas la même adresse IP comme source de toute façon, auquel cas vous n'êtes plus anonyme?

Le tunnel SSH semble être beaucoup plus facile, il suffit d'ouvrir un tunnel SSH et de configurer l'ordinateur pour se connecter à ce port via localhost et un proxy SOCKS5.

ssh -D 1723 -f -C -q -N [email protected]

Le VPN, d'autre part, semble un peu plus de travail à configurer et je ne peux pas voir quels avantages il offre par rapport à un simple tunnel SSH.

6

Les gens parlent souvent du tunnel SSH comme du VPN d'un pauvre. C'est exactement la même chose du point de vue de la fonctionnalité et de la sécurité: vous établissez un tunnel sécurisé entre le client et un hôte relais et vous laissez une communication non chiffrée devant le relais. La façon dont le tunnel est établi et sécurisé peut varier selon le système VPN, mais tous les plus sérieux peuvent utiliser des protocoles standard à jour, tout comme SSH (et tous peuvent être configurés de manière égale avec certains travaux pour utiliser des protocoles non sécurisés).

La principale différence réside dans la convivialité. Le but de SSH est d'établir une connexion sécurisée entre un client et un hôte, et il fait un bon travail pour lui avec des interfaces humaines propres et soignées. Il peut transporter des communications supplémentaires à l'intérieur de son tunnel, mais comme ce n'est pas son objectif principal, les commandes ne sont pas vraiment simples. Alors qu'un objectif VPN est de fournir un relais transparent de divers protocoles, il est donc beaucoup plus facile à utiliser pour cet objectif.

5
Serge Ballesta

Les VPN ont généralement une fonctionnalité où le trafic de plusieurs utilisateurs apparaîtra à partir d'une seule adresse IP publique, ce qui rend difficile le suivi d'un utilisateur à l'aide d'un VPN, car le trafic provenant d'une seule IP peut être l'un de n'importe quel nombre de clients.

Les VPN offrent souvent plusieurs emplacements, permettant aux utilisateurs de choisir où leur trafic semblera provenir.

La connexion au serveur SSH et l'exécution d'un proxy de chaussettes peuvent être faciles, mais cela vous oblige toujours à verrouiller complètement le serveur, à maintenir ses correctifs, à surveiller les intrusions ou tout autre échec nécessitant une intervention manuelle.

Ensuite, vous devez vous soucier de la sécurité du tunnel SSH. Quelles versions SSH autoriserez-vous? Quels chiffres?

Si votre proxy SSH tombe en panne pour maintenance, le proxy est hors ligne, contrairement à un service VPN qui possède généralement plusieurs serveurs redondants.

EDIT: Je vois que votre question concernait l'exécution de votre propre serveur (SSH ou VPN). Si vous allez exécuter votre propre serveur, ce que j'ai mentionné ci-dessus ne sera pas pertinent.

L'avantage de configurer votre propre serveur VPN est que vous n'avez pas à fournir les informations d'identification de compte de connexion complètes aux utilisateurs (ou à vous-même). Supposons que vos appareils soient compromis et que quelqu'un trouve votre identifiant SSH. Ils peuvent désormais accéder à votre serveur SSH en tant qu'utilisateur. Si vous utilisiez un VPN qui ne fournirait pas d'informations d'identification pour vous connecter en tant qu'utilisateur distant.

Deuxièmement, SSH conserve des journaux de qui s'est connecté quand et potentiellement les commandes exécutées.

2
Daisetsu

Je ne pense pas qu'il y ait beaucoup de différence de sécurité entre une connexion ssh bien implémentée (par exemple, clé uniquement, phrase de passe forte, ...) et un VPN. Vous pouvez rendre les deux assez serrés, utilisez 2FA, qu'avez-vous ...

L'avantage I voir est dans l'utilisabilité; le VPN vous donnera un routage comme par magie, et vous n'avez pas besoin de vous en tenir à un logiciel qui comprend ce qu'est un proxy de chaussettes.

2
tink

SSH

SSH est au cœur d'un Shell sécurisé. Il a été initialement conçu comme un successeur crypté de telnet. Il peut cependant faire bien plus! Pour vos utilisations, vous envisagez spécifiquement la redirection de port dynamique:

Transfert de port dynamique transforme votre client SSH en serveur proxy SOCKS. SOCKS est un protocole peu connu mais largement implémenté permettant aux programmes de demander n'importe quelle connexion Internet via un serveur proxy. Chaque programme qui utilise le serveur proxy doit être configuré spécifiquement et reconfiguré lorsque vous arrêtez d'utiliser le serveur proxy.

Ceci est similaire à redirection de port local vers un serveur avec squid ... cept SSH se charge désormais d'exécuter le proxy de chaussettes pour vous (car c'est un boss).

Une fois la connexion SSH et votre navigateur correctement configurés, vous devriez être en mesure de google what is my ip et lui faire afficher l'adresse IP des serveurs distants. Cela signifie que tous les sites Web que vous visitez vous verront ouvrir un navigateur sur ce serveur distant.

Vous pouvez ( devrait) configurez également votre navigateur pour utiliser le DNS via ce proxy, de sorte que même vos recherches DNS sont sécurisées:

  • Tapez about: config dans la barre d'adresse de Firefox
  • Recherchez la clé appelée "network.proxy.socks_remote_dns" et définissez-la sur true

VPN

Le VPN étend un réseau privé à travers un réseau public en configurant une carte réseau virtuelle et en la configurant avec une ip et passerelle du réseau privé .

Cela signifie que vous pouvez l'utiliser pour tunneler tous vos logiciels pour les faire apparaître si tout fonctionne à partir de votre serveur distant (même les programmes qui n'ont pas de support natif pour le proxy). Encore une fois, vous devriez être capable de rechercher sur Google quelle est mon adresse IP et de lui faire afficher l'adresse IP des serveurs distants.

Les VPN ont également tendance à prendre davantage en charge UDP (torrents/logiciel de streaming/jeux)


Sécurité

OpenVPN exécute un protocole de sécurité personnalisé basé sur SSL et TLS plutôt que de prendre en charge IKE, - IPsec , L2TP ou PPTP .

[~ # ~] ssh [~ # ~] N'utilise PAS TLS/SSL, il utilise plutôt son propre protocole voir RFC 425


À emporter

Certaines personnes disent que SSH est un VPN pour homme pauvre. Je ne serais pas du tout d'accord et je dirais plutôt que SSH est une méthode plus chirurgicale de tunnelisation d'un trafic spécifique pour les personnes qui comprennent ce qu'elles font. Alors que le VPN est comme un tunnel avec de la dynamite ... vous obtiendrez un tunnel, mais ce n'est parfois pas le bon outil pour le travail.

Par exemple, disons que vous travaillez à distance et que vous souhaitez vous connecter à votre réseau professionnel depuis votre domicile. Supposons maintenant que vous souhaitiez parcourir reddit mais que vous souhaitiez toujours garder votre VPN connecté afin de ne manquer aucun e-mail important. Eh bien, tous les mèmes de chat que vous parcourez sont acheminés via le réseau de votre travail ... éventuellement bloqués par le proxy/pare-feu Works.

Alternativement, si vous avez un accès SSH à votre réseau d'entreprise ... vous pouvez tunneler uniquement votre e-mail et configurer un proxy de chaussettes. Cela signifie que vous pouvez toujours recevoir votre courrier électronique et utiliser un navigateur pour les affaires (par exemple Chrome) et un autre navigateur pour afficher les photos de chats (par exemple Firefox).

Les deux outils peuvent être utiles, cela dépend simplement de ce que vous voulez faire.

2
CaffeineAddiction

J'aime vraiment la puissance et la commodité de l'exécution de SOCKS5 via ssh sur mon propre serveur dans le centre de données (comme l'a signalé le posté). Bien que je pense que j'utilise la syntaxe "ssh -f -Nn -D $ LOCAL: $ LPORT -p $ RPORT $ USER @ $ Host".

Non seulement cela tunnele en toute sécurité mes demandes DNS et les demandes bancaires en ligne et DNS en toute sécurité devant mes fournisseurs de services Internet (une fois que vous avez demandé à votre navigateur de l'utiliser) .. mais au lieu de prendre le contrôle de la pile IP de ma machine complète comme un VPN .. I peut tunneler uniquement les applications que je veux (par exemple, exécuter chrome pour mes opérations bancaires SOCKS5 et firefox (réseau domestique direct) pour l'impression sur mon réseau local sans fil HP laserjet). Toutes les autres applications qui ne le font pas avoir des paramètres SOCKS5 (ou je ne veux tout simplement pas jouer avec eux) peut être "enveloppé" pour parcourir mon tunnel SOCKS5 en utilisant des chaînes proxy comme un wrapper. Application TRÈS puissante et pratique ..

Par exemple..

$ elinks -dump v4.icanhazip.com
   73.99.20.38
$ proxychains elinks -dump v4.icanhazip.com
ProxyChains-3.1 (http://proxychains.sf.net)
|DNS-request| v4.icanhazip.com 
|S-chain|-<>-127.0.0.1:5000-<><>-4.2.2.2:53-<><>-OK
|DNS-response| v4.icanhazip.com is 104.20.17.242
|S-chain|-<>-127.0.0.1:5000-<><>-104.20.17.242:80-<--timeout
|S-chain|-<>-127.0.0.1:5000-<><>-104.20.17.242:80-<><>-OK
   91.121.25.19

Tweeks

1
Tweeks

Un tunnel ssh protège uniquement le trafic vers un port spécifique sur un serveur spécifique, tandis qu'un VPN doit gérer tout le trafic sur une route spécifique. Cela dit, si vous avez une connexion ssh, vous pouvez exécuter ppp ou la glisser pour créer un VPN complet.

Les différences de sécurité seront dues à la mise en œuvre.

0
symcbean