非透過的 TCP トンネリングが使用されている場合、トンネルされるアプリケーションは、サーバに直接接続するのではなくローカル リスナー ポートに接続するように設定されます。 SSH Tectia Client は、接続をリモート サーバにセキュアに転送します。
たとえば、sshclient
、sshserver
、および imapserver
の 3 つのホストがあり、sshclient
のポート 143
に送信されるトラフィックを imapserver
のポート 143
に転送する場合、sshclient
と sshserver
の間の接続だけがセキュアになります。使用するコマンドは以下のようになります。
sshclient$ sshg3 -L 143:imapserver:143 username@sshserver
SecureShell サーバが DMZ ネットワークに設置される例を図 7.8 に示します。SecureShell クライアントから SecureShell サーバまでの接続は暗号化され、社内ネットワークから IMAP サーバまでは暗号化されません。
トンネルは、Connection Broker の設定ファイルで接続プロファイルに対して定義することもできます。定義されたトンネルは、そのプロファイルを使用した接続が確立されると自動的に開かれます。ssh-broker-config.xml
ファイルからの例を以下に示します。
<profile id="id1" host="sshserver.example.com"> ... <tunnels> <local-tunnel type="tcp" listen-port="143" dst-host="imap.example.com" dst-port="143" allow-relay="no" /> ... </tunnels> </profile>
デフォルトでは、クライアント ホスト自体からのローカル トンネルだけが許可されます。トンネル リスナー ポートに他のマシンからも接続できるようにするには、allow-relay
を yes
に設定します。
Windows では、SSH Tectia 構成 GUI の [接続プロファイル] → [トンネル] で、プロファイルごとにトンネリングの設定を作成できます。トンネリングの定義項を参照してください。
自動トンネルは、アプリケーション接続用の非透過的ローカル トンネルを作成するための 1 つの方法です。
自動トンネルでは、トンネルを確立するときに常に接続プロファイルを使用します。Connection Broker の起動時に自動的に有効になる、ローカル トンネル用のリスナーを作成できます。実際のトンネルは、リスナー ポートへの接続が最初に行われるときに形成されます。その時点でサーバへの接続が開かれていない場合は、その接続も自動的に開かれます。
Connection Broker の設定ファイルで、以下の種類の設定を作成します。
<static-tunnels> <tunnel type="tcp" listen-port="9874" dst-host="st.example.com" dst-port="9111" allow-relay = "no" profile="id1" /> </static-tunnels>
Windows では、SSH Tectia 構成 GUI の [自動トンネル] ページで自動トンネルを設定できます。手順については、自動トンネルの定義項を参照してください。
sshg3 を使用して、ローカル ポート転送を使用したセキュアなトンネルを作成すると、トンネルされる TCP アプリケーションは、アプリケーション サーバのポートではなく localhost ポートに接続するように設定されます。
アプリケーションの例 clientapp1
は、デフォルトでは、TCP ポート 2345 を使用して UNIX サーバ unix.example.com
に接続します。
$ clientapp1 --username user1 --server unix.example.com --port 2345
SecureShell を使用してこの TCP アプリケーションをセキュアにするために、以下のコマンドを使用します。
$ sshg3 -L 2345:localhost:2345 user1@unix.example.com -S -f & $ clientapp1 --username user1 --server localhost --port 2345
上の sshg3 コマンドは、リモートの SecureShell サーバ unix.example.com
に接続し、ポート 2345 上にローカル リスナーを作成し、リモートの SecureShell サーバに受信トラフィックを localhost:2345
に転送するよう指示して、1 回のみのモードでバックグラウンドに移動します。