web-dev-qa-db-ja.com

SOCKSは安全ですか?

VPNを作成するために、ssh -D 9000 user@HostのようなコマンドでSSHトンネルを開き、システムのプロキシ設定でlocalhost:9000を介してSOCKS5を使用するように設定します。まあ、OpenSSHを使ってホームサーバーをセットアップするのは簡単だったので、今すぐこれを実行して自分自身を安全に保つことができます。しかし、私は疑問に思いました。なぜSOCKSサーバーとしてホストするだけでなく、sshコマンドを実行する必要を回避するのでしょうか。

SOCKSは安全でないプロトコルですか?この状況はまったく意味がありませんか、それとも、SSHを実行してローカルSOCKSサーバーを作成するのではなく、サーバーをSOCKSとしてセットアップすることは実際に良い考えですか? (おそらく、スキーム全体でSOCKSが果たす役割を完全に誤解しているので、訂正してください)

21
Ricket

SOCKS自体はデータを保護するものではありません。単に、別の接続を介して接続をプロキシすることができます。

ローカルコンピューターからSSHサーバーへのSSH接続は、その接続を通過するすべてのトラフィック(SOCKSトラフィックを含む)が暗号化されているため、セキュリティを提供しています。

そのため、クライアント(Webブラウザーなど)とSOCKSプロキシの間のトラフィックは暗号化されません。 SOCKプロキシとSSHサーバー間のトラフィックはすべて暗号化されます。 SOCKSトンネルの反対側から送信されるトラフィックは暗号化されません。ローカルホストでSOCKプロキシを確立しているため、最初の暗号化されていない部分(ブラウザとプロキシの間)は完全にコンピュータの内部にあるため、暗号化されていなくても問題ありません。

23
pkaeding