SSH Tectia

SOCKS トンネリング

SOCKS トンネリングは、Windows プラットフォーム上のアプリケーションのトンネリングに使用可能なメカニズムです。SOCKS トンネリングは、SOCKS4 または SOCKS5 クライアント プロトコルをサポートするアプリケーションを処理します。

ローカル ホスト上の特定のポートからリモート サーバ上の特定のポートまでのトンネリング (ポート転送) を設定する代わりに、ユーザのアプリケーションが使用できる SOCKS サーバを指定することができます。各アプリケーションは、localhost ポート上の SOCKS サーバを使用するように設定される点を除き、通常の方法で設定されます。SecureShell クライアント アプリケーションである SSH Tectia Client は、localhost のポートを開き、任意の SOCKS クライアント アプリケーションに対して SOCKS4 および SOCKS5 サーバを模倣します。

IMAP4、POP3、SMTP、HTTP などのサービスに接続するアプリケーションは、必要な情報を SOCKS サーバ (実際には SOCKS サーバを模倣している SSH Tectia Client) に提供します。SSH Tectia Client はこの情報を使用して、SecureShell サーバまでのトンネルを作成したり、受信および送信トラフィックをセキュアに中継したりします。

sshg3 をコマンドラインで使用した場合は、SOCKS トンネリング コマンドの構文は以下のようになります。

client$ sshg3 -L socks/[listen-address:]listen-port username@sshserver 

各パラメータは以下の通りです。

たとえば、以下のコマンドは、クライアント上のポート 1234 から sshserver までのローカル トンネルを設定します。アプリケーションは、クライアント上のポート 1234 で SOCKS サーバを使用するように設定されます。接続は、そのサーバから、アプリケーションによって要求された接続先ホストまでセキュアではない状態で転送されます。

sshclient$ sshg3 -L socks/1234 username@sshserver 

SOCKS トンネルは、Connection Broker の設定ファイルで接続プロファイルに対して定義することもできます。ssh-broker-config.xml ファイルからの例を以下に示します。

<profile id="id1" host="sshserver.example.com">
...
  <tunnels>
    <local-tunnel type="socks"
                  listen-port="1234"
                  allow-relay="no" />
  ... 
  </tunnels>
</profile>