24

HTTPS トンネルを介して RDP またはその他のバイナリ TCP トラフィックをトンネリングするソフトウェアを探しています。多くのクライアントでは HTTP/S のみが許可されているためです (ファイアウォールでポート 80 と 443 のみが開いています)。

ただし、DMZ 内のマシンからクライアントに RDP (およびその他のプロトコル) を転送する必要があります。

機能説明7 大きな機能説明を見る

この問題に対処するオープン ソースまたはエンタープライズ ソフトウェアはありますか?

悪い解決策

F5 big ipのようなソリューションには、このソフトウェアで接続構成を作成する必要があるという問題があります。APIを使用してこれを行うことができれば、それは良い解決策です. しかし、ゲートウェイソフトウェア全体を使用せずに、トンネルコンポーネントのみを取得したいと思います。自分のソフトウェアからトンネル (1000ds) を作成する必要があり、許可されたユーザー (セッション Cookie によって識別される) へのトンネル アクセスを制限する必要があるためです。

良い解決策

http://http-tunnel.sourceforge.net/

トンネル クライアントが専用サーバーではなく、クライアント ブラウザ内で実行されるフラッシュの Java アプレットである可能性がある場合、それは私のニーズに 100% 一致します。

4

3 に答える 3

31

TCP over HTTP(S) をトンネリングするプロジェクトは数多くあります。ニーズに最も適したものを選択するには、少し作業を行う必要があります (おそらく少し変更します)。

  • スーパートンネル(Java)。良さそうに見えますが、行儀の悪いプロキシに対処する方法を考えているようです。

  • JHttpTunnel (Java)。gnu httptunnel のポートで、同じネットワーク プロトコルを使用していると思います。

  • Netty HTTP トンネル (Java、Netty の一部、非常に優れたネットワーク ライブラリ、サンプル コード)。これには、クライアントとサーバーの両方で Netty を使用する必要があると思いますが、それ以外は、Netty の通常のソケットのドロップイン置換です。

  • ProxyChains (C、Unix、非常に人気)

  • GNU httptunnel (C、HTTPS サポートなし、これはおそらくすべての http トンネルの祖父です)

  • node-http-tunnel (Node.js)、Net::HTTPTunnel (Perl)、nRedir (Python)、Corkscrew、htunnel、...

SuperTunnel と JHttpTunnel は両方とも、クライアント側の独自のアプレットまたは Java アプリに含めることができると思います。スタンドアロン プロキシとして実行する必要はありません。

Netty もそれを行いますが、(私が思うに) サーバーも Netty を使用する必要があります。つまり、connect()Netty を使用するサーバーへの通常の TCP を TCP-over-HTTPに置き換えることができますconnect()が、任意の接続をプロキシしません他のサーバー (独自の単純なプロキシを作成しない限り)。

于 2013-01-02T00:24:39.253 に答える
6

Windows の世界にいる場合は、Windows 2008/2008R2/2012 SSTP VPN サービスを確認することを強くお勧めします。443 ポートを使用し、IIS (443 上) と共同ホストできます。Windows Vista / 7 / 8 では魅力的に動作します。Mac OSX ソリューションについて聞いたことがありますが、まだありません。

ただし、SSH の古き良きソリューションがあります。

Linux の場合は、openssh-server をインストールするだけです。Windows の場合は、OpenSSH サーバー (itefix https://www.itefix.no/からの copSSH など) を取得してインストールします。デフォルトの 22 ではなく 443 を使用するようにポートを変更します。

クライアント側では、パテ ( http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html ) またはキティ ( http://kitty.9bis.net/ ) を Windows などで使用できます。ポート443(SSHサーバーがリッスンしている場所)を介してサーバーに接続するための、任意のOSのSSHクライアントの種類。

たとえば、パテを介したトンネリングに関する説明は、いくつかのサイトで見つけることができます。

これを行うには、ローカル ホストを指定する必要があることを常に覚えておいてください。

Windows には、トンネルの構成と保守の手順を簡素化するMyEnTunnel ( http://nemesis2.qx.net/pages/MyEnTunnel ) もあります。

ブラウザーでこのトンネルを悪用するのは非常に簡単です。クライアント (putty、kitty、myentunnel など) で構成したローカル ポート (ローカル ホスト 8080) にソックス プロキシがあることをブラウザーに伝えるだけです。

于 2013-01-04T15:06:13.973 に答える