web-dev-qa-db-ja.com

VPNとSSHの違いは?

SSHを介したリモートシステムへの接続とVPNを介したリモートネットワークへの接続の違いは何ですか?

たとえば、SSH経由で別のネットワーク上のリモートマシンに接続できる場合、なぜVPNが必要なのでしょうか。

15
Guest2

A [〜#〜] vpn [〜#〜] (仮想プライベートネットワーク)は、マシンに新しいネットワークレベルの接続を作成します。通常、これはプライバシー/暗号化の理由で行われます。そのマシンのすべてのネットワークトラフィックは、raw/plainネットワーク接続の代わりにVPNを使用するようになります。

SSH(Secure Shell) は、別のマシンの端末/コマンドラインにリモートで接続するための方法です。したがって、ネットワーク接続にVPNを使用している場合、それだけではリモートマシンに接続できません。 SSHは、他のマシンに接続するために使用されるプロトコル/方法です。

VPNがプライバシー/セキュリティを暗示するため、VPNを使用するときにSSHを明示的に使用する必要があるのはなぜでしょうか。つまり、VPN接続を100%信頼している場合は、非セキュア Telnet または単純な [〜#〜] ftp [〜#〜] を使用するだけでよい、正しい?

まあ、SSHとVPNを組み合わせて使用​​することで、より深いレベルのセキュリティが保証されます。つまり、VPNが危険にさらされている場合でも、攻撃者/プローブは、価値のあるものを取得するためにSSH接続に侵入する必要があります。

別の側面は、すべてのVPNが高度なプライバシー/セキュリティのために構築されているわけではないということです。一部のVPNは、他のユーザーがアクセスしている他のネットワークへの単なるプライベートルートです。そしてその場合、VPNは LAN(ローカルエリアネットワーク) と同じで、VPNピア接続は他のVPNピア接続へのアクセスがいくらか等しくなります。

すべては、目的、プライバシー、信頼性に要約されます。 VPNを100%信頼していて、VPNを信頼していてデータ漏洩のリスクを感じないと思われる場合は、SSHが提供する追加のセキュリティレイヤーを必要とせずに、VPNでやりたいことを何でもしてください。しかし、一般的には、積極的に申し訳ありませんが、積極的に安全であることが望ましいです。安全なVPN内でもSSHを使用する方法です。言うまでもなく、SSHは今日では非常に一般的ですが、使用する理由はほとんどありません。いや、人々はTelnetの非SSHの日を忘れがちです。

10
JakeGould

VPNは通常、システムに仮想ネットワークアダプターを作成することで機能します。この仮想ネットワークアダプターに向かうトラフィックは、VPNソフトウェアによって傍受され、VPNソフトウェアによって暗号化されて処理された後、VPNサーバーエンドポイントに送信され、内部のエンタープライズルーターなどによって転送されます。アプリケーションにとって、VPNは標準のネットワークアダプターと同じです。

SSH転送は、127.0.0.1のポートでリッスンするSSHクライアントであり、シェルと同じ暗号化方法を使用して、そのローカルポートに入ってくるデータをサーバーのポートに転送します。リモートサーバーのポートをリッスンしていない場合、何も起こりません。

ここに少なくともいくつかの重要な違いがあります:

  • SSHは1つのポートしか転送できません(まあ、複数のポートを転送できますが、すべてを指定する必要があります)。つまり、リモートホストの複数のサービスに安全にアクセスし、それぞれが固有のポートで実行されている場合は、各サービスの転送をセットアップして維持する必要があります。

  • 通常のSSHクライアントは、接続する複数のサーバーの指定をサポートせず、最初に機能するサーバーを試します。この種のものは、たとえばOpenVPNに組み込まれています。

  • SSH自体は、UDPのトンネリングをサポートしていません。

  • VPNはオペレーティングシステムにとってはネットワークアダプターのように見えるため、VPNアダプターを含むルートを指定できます。したがって、OSはVPNアダプタを介してサブネット宛のトラフィックを送信できます。これは、フィルタリングやプライバシーのために、すべてのインターネットトラフィックがVPNを通過するようにすることができます。 SSHはこれを簡単に行うことができません。

  • レイヤー2 VPNはブロードキャストトラフィックで機能し、DHCP、マルチキャスト、ICMP、Windows SMB関連のトラフィックなどがそれらを介して機能できるようにします。

6
LawrenceC