web-dev-qa-db-ja.com

セキュリティに関するSSHトンネル/プロキシとVPNの違い

VPNには、通常のSSHトンネルを使用するだけの利点がありますか?

サーバーにOpenVPNをセットアップすることを検討していますが、同じサーバーをSSHトンネルとして使用するだけでどのようなメリットがあるか疑問に思っていました。これは、セットアップが非常に簡単で、すでにどこでもサポートされているSOCKS5経由で接続できます。いずれにしても、どちらもソースとして同じIPアドレスを表示しないのでしょうか。その場合、匿名ではなくなりますか?

SSHトンネルの方がはるかに簡単なようです。SSHトンネルを開いて、localhostとSOCKS5プロキシ経由でそのポートに接続するようにコンピューターをセットアップするだけです。

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

一方、VPNの設定は少し手間がかかるように思われ、単純なSSHトンネルに比べてVPNがどのようなメリットをもたらすのかわかりません。

人々はしばしばSSHトンネリングを貧乏人のVPNと呼んでいます。これは機能とセキュリティの観点でもまったく同じです。クライアントとリレーホストの間に安全なトンネルを確立し、通信を暗号化せずにリレーを通過させます。トンネルの確立とセキュリティ保護の方法はVPNシステムごとに異なりますが、SSHと同様に、すべての重要なプロトコルは標準の最新のプロトコルを使用できます(また、セキュリティで保護されていないプロトコルを使用するようにすべての作業を同等に構成できます)。

主な違いは使いやすさです。 SSHの目標は、クライアントとホストの間に安全な接続を確立することであり、クリーンできちんとしたヒューマンインターフェイスを使用して、そのための素晴らしい仕事をします。トンネル内で追加の通信を転送できますが、その主な目的ではないため、コマンドは実際には単純ではありません。一方、VPNの目標は、さまざまなプロトコルの透過的な中継を提供することであり、使用がはるかに容易になりますその目標に対して

5
Serge Ballesta

VPNには通常、単一のパブリックIPアドレスから複数のユーザートラフィックが現れる機能があります。これにより、単一のIPからのトラフィックは任意の数の顧客の1つになる可能性があるため、VPNを使用してユーザーを追跡することが難しくなります。

VPNは多くの場合、複数の場所を提供し、ユーザーはトラフィックの発信元がどこにあるかを選択できます。

SSHサーバーに接続してsocksプロキシを実行するのは簡単ですが、それでもサーバーを完全にロックダウンし、パッチを維持し、侵入を監視し、手動での介入が必要なその他の障害を監視する必要があります。

次に、SSHトンネルのセキュリティについて心配する必要があります。どのSSHバージョンを許可しますか?どの暗号?

SSHプロキシがメンテナンスのためにダウンした場合、一般的に複数の冗長サーバーを備えたVPNサービスとは対照的に、プロキシはオフラインです。

編集:あなたの質問はあなたのownサーバー(SSHまたはVPN)の実行に関するものだったようです。独自のサーバーを実行する場合は、上で述べた内容は関係ありません。

独自のVPNサーバーを設定する利点は、ユーザー(または自分)に完全なログインアカウント資格情報を提供する必要がないことです。デバイスが危険にさらされ、誰かがあなたのSSHログインを見つけたとします。これで、ユーザーはSSHサーバーにユーザーとしてアクセスできます。リモートユーザーとしてログインするための資格情報を提供しないVPNを使用していた場合。

次に、SSHは誰がいつログインしたか、および場合によっては実行されたコマンドのログを保持します。

2
Daisetsu

適切に実装されたssh接続(キーのみ、強力なパスフレーズなど)とVPNの間には、セキュリティに大きな違いはないと思います。あなたは両方をかなりきつくすることができます、2FAを使用してください、あなたは何をしていますか...

利点[〜#〜] i [〜#〜]参照は使いやすさです。 VPNは魔法のようにルーティングを提供し、socksプロキシが何であるかを理解するソフトウェアにこだわる必要はありません。

2
tink

SSH

SSHは、本質的に安全なシェルです。もともとは、telnetの暗号化された後継として設計されました。しかし、それだけではありません。用途として、動的ポート転送を具体的に調べています。

動的ポート転送 SSHクライアントをSOCKSプロキシサーバーに変換します。 SOCKSは、あまり知られていないが広く実装されているプロトコルであり、プログラムはプロキシサーバーを介してインターネット接続を要求します。プロキシサーバーを使用する各プログラムは、特別に構成し、プロキシサーバーの使用を停止したときに再構成する必要があります。

これは ローカルポートフォワーディングsquid が指定されたサーバーへのアクセスに似ています... SSHがsocksプロキシの実行を処理するようになりました(ボスのため)。

SSH接続とブラウザの両方が正しくセットアップされたら、google what is my ipおよびリモートサーバーのIPアドレスを表示します。つまり、アクセスするすべてのWebサイトで、そのリモートサーバー上でブラウザーが開いているように見えます。

君は できる (should)は、そのプロキシ経由でDNSを使用するようにブラウザを設定するため、DNSルックアップも安全です。

  • Firefoxのアドレスバーにabout:configと入力します
  • 「network.proxy.socks_remote_dns」というキーを見つけて、trueに設定します

VPN

VPNは、仮想ネットワークカードをセットアップし、IPと ゲートウェイプライベートネットワーク で構成することにより、パブリックネットワーク全体に プライベートネットワーク を拡張します。

つまり、これを使用してすべてのソフトウェアをトンネリングし、リモートサーバーからすべてが実行されている場合に表示されるようにすることができます(プロキシのネイティブサポートがないプログラムも含む)。繰り返しますが、私のIPをググって、リモートサーバーのIPアドレスを表示できるようにする必要があります。

VPNは [〜#〜] udp [〜#〜] (トレント/ストリーミングソフトウェア/ゲーム)のサポートも多い傾向があります


安全保障

OpenVPNは、IKEをサポートするのではなく、 SSLおよびTLS に基づいて カスタムセキュリティプロトコル を実行します- IPsecL2TP または [〜#〜] pptp [〜#〜]

[〜#〜] ssh [〜#〜]はTLS/SSLを使用せず、独自のプロトコルを使用します RFC 4253を参照してください


取り除く

SSHは貧弱な人のVPNだと言う人もいます。私は強く反対しますが、代わりに、SSHは特定のトラフィックをトンネリングするより外科的な方法であり、彼らが何をしているのかを理解している人にとってはそうです。 VPNはダイナマイトを使用したトンネリングのようなものですが、トンネルを取得しますが、仕事に適さないツールになることもあります。

たとえば、リモートで作業していて、自宅から職場のネットワークにVPN接続したいとします。ここで、redditを参照したいが、VPNを接続したままにして、重要なメールを見逃さないようにしたいとします。さて、あなたが閲覧しているすべての猫のミームはあなたの仕事のネットワークを介してルーティングされています...おそらく仕事のプロキシ/ファイアウォールによってブロックされています。

あるいは、ワークスネットワークにSSHアクセスできる場合は、メールだけをトンネルしてsocksプロキシを設定できます。つまり、引き続きメールを受信して​​、1つのブラウザー(Chromeなど)と別のブラウザーで猫の写真(Firefoxなど)を表示できます。

どちらのツールも便利ですが、何をしたいかによって異なります。

2

私は、sockを介してSOCKS5をデータセンターの自分のサーバーに接続して実行することのパワーと利便性を非常に気に入っています(投稿で指摘されているように)。とはいえ、「ssh -f -Nn -D $ LOCAL:$ LPORT -p $ RPORT $ USER @ $ Host」という構文を使用すると思います。

これは、DNS要求とオンラインバンキングおよびDNS要求を安全にトンネリングして、ISPをのぞき見を安全に通過するだけでなく(ブラウザーを使用するように指示すると)、VPNのようにマシン全体のIPスタックを引き継ぐ代わりに.. I必要なアプリだけをトンネリングできます(たとえば、SOCKS5バンキングではchromeを実行し、ワイヤレスLAN HPレーザージェットで印刷するにはFirefox(ダイレクトホームネットワーク)を実行します)。 SOCKS5設定がある(またはそれらを台無しにしたくない)場合は、プロキシチェーンをラッパーとして使用することにより、SOCKS5トンネルを通過するように「ラップ」できます。非常に強力で便利なアプリです。

例えば..

$ 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

Sshトンネルは、特定のサーバー上の特定のポートへのトラフィックのみを保護しますが、VPNは特定のルート上のすべてのトラフィックを処理する必要があります。そうは言っても、ssh接続がある場合は、pppを​​実行するか、それをすり抜けて完全なVPNを作成できます。

セキュリティの違いは実装次第です。

0
symcbean