Windows Apache サーバーを使用して HTTPS 暗号化トンネル内で SSH と SOCKS を使用するのでしょうか?

Windows Apache サーバーを使用して HTTPS 暗号化トンネル内で SSH と SOCKS を使用するのでしょうか?

私は何時間もかけて Super/Stack やその他のサイトを調べましたが、まだ答えが見つかりません。そこで、ここでもう一度質問してみることにします。リンクで見つけた部分的な答えをいくつか指摘したいのですが、それらは非常に複雑であったり、半分しか答えられていないため、これを読む人にとっては事態を悪化させる可能性があると思います。

これまでのところ、自己署名証明書を使用してローカル PC 上で Apache サーバーをセットアップできました。ルーターのポート 443 をこのサーバーに転送しています。また、ローカル PC のポート 22 で OpenSSH を実行しています。目標は次のとおりです。

  1. Putty/WinSCP からポート 22 で自分の PC に接続し、443 SSL 接続を介してトンネリングし、その PC 上にいるかのように SOCKS 経由でブラウズできるようにしたいと考えています。

  2. Stunnel、SSHL、HTTPProxy、Httptunnel、Corkscrew クライアント側を試すこともできますが、その方法を明確に説明してくれる人 (またはガイドへのリンク) がいれば何でも試せますが、Windows 上で実行する必要があります。

  3. 私の好みとしては、Apache サーバー (mod_proxy / proxy pass?) を設定して (独自に?) 着信 443 をポート 22 に転送し、OpenSSH が接続を取得し、SOCKS がブラウジングするようにします。

    注: フローの説明は次のとおりです。VPN は使用できません (すでに使用中)。また、レイヤー 7 FW が SSH プロトコルを検出してブロックするため、SSH で 443 を使用することはできません。クライアント PC はすでに VPN を使用しているため、VPN は使用できません。

Win PcA > Win ServerB で何かを実行 (Apache/Nginx?) {SSL}

次に、HTTPS がアクティブで暗号化されている間に以下を送信します。

Win PcA > Win ServerB は WinSCP または SFTP 用の Putty 経由で OpenSSH {SSH} を実行しています

Win PcA > Win ServerB はブラウザ経由で Putty for SOCKS を介して OpenSSH {SSH} を実行しています

これは主に知識目的ですが、FW パンチング用でもあることに気付きました。これらはすべて私のコンピューターなので、必要に応じてクライアント側にソフトウェアをインストールできますが、クライアント側でプロキシ ポートを変更できる Putty/WinSCP とブラウザー以外のソフトウェアがないのが最善です。この方法なら、所有していない PC からこれを実行する必要がある場合でも、フラグを立てたり管理者権限を必要とせずに Putty/WinSCP で済む可能性が高くなります。

サーバー側でプロキシ サーバーとして Squid と Ngnix を使うという話を聞いたことがありますが、現在は Apache 2.4 を実行しています。変更できると思います。基本的には、どこからでもアクセスでき、ネットワークが SSL 接続を許可している限りブロックされない、一種の Inet ブラウジング (SOCKS プロキシ経由) とファイル転送エンドポイント (SSL で完全に隠された 22 経由) を作成したいと考えています。

Apache と自己署名証明書を設定するためのガイドはここまで来ましたが、今は選択肢が多すぎて困っています。お読みいただきありがとうございます。

編集: 世の中には、回答のない、あるいはわかりにくい回答のこのような質問があります。しかし、私にとっては、完全なものはありません。また、私の質問の形式が正しいかどうかもわかりません。ここでは初めての質問です。

答え1

SSH は既に SSL を使用してトラフィックを暗号化しています。(多くの場合) 許可されている HTTPS ポート tcp/443 を使用してホーム SSH サーバーに接続するには、SSH クライアントと SSH サーバーの両方でポート tcp/443 を使用するように構成するだけで済みます。クライアントとしての WinSCP ではこれが可能です。SSH サーバーに使用するソフトウェアによっては、独自の SSL 証明書をインストールして、これも可能になるはずです。

これには Apache をインストールする必要はありません。実際、Apache は SSL 接続を終了するため、そこからローカル SSH サーバーへの暗号化されたトラフィックは不可能になります (ただし、暗号化されていない Telnet など)。

アプリケーション認識を回避する必要がある場合は、SSL VPN トンネルを作成し、その上で SSH トンネルを開始することが考えられます...その一部は Apache + OpenSSH で言及されています。SSL VPN サーバーには、Apache の一部ではない (?) OpenVPN などの追加ソフトウェアが必要になります。

答え2

私は VM についてあまり詳しくないので、VM の問題に対処できると想定しています。 このガイド役立つはずです。

ガイドに従って stunnel4 サーバーをセットアップし (connect を 127.0.0.1:22 に変更し、accept を 443 に変更)、通常どおり ssh サーバーを作成します。

クライアントPCのダウンロードに進み、スタンネルクライアントトレイアイコンを右クリックして設定を編集これをコピーします(IPを変更してください):

[ssh]
client = yes
accept = 127.0.0.1:22
connect = [ip address of the server]:443

メニューに戻ってクリックします設定を再読み込みこれで完了です。127.0.0.1:22 を使用して ssh に接続するだけです。

関連情報