ダイナミック App トンネルの優位性

ダイナミック App トンネルの優位性
この文書では、FirePass verion6.0 の新機能であるダイナミック App トンネルについて、従来の App トンネルと、ネットワー
クアクセスとの比較から、その優位性について説明する。
Verion5.5.X まで使用されていた従来の App トンネルは、特定の IP アドレス、ポート番号の組み合わせを使用し、内部の
サーバへのポートフォワーディングを実現する機能である。クライアントにおいて App トンネルを実行すると、クライアント内部
のループバックアドレスから FirePass との間にセキュアなトンネルが作成される。トラフィックはこのセキュアなトンネルをポート
フォワードされてゆく。以下は、従来の App トンネルを使用したときの、接続フローである。
アプリケーション → 127.x.x.x:port →FirePass_addr:443 → 内部サーバ
従来の App トンネルは、全ての IP 接続がルーティングされるネットワークアクセスとは違い、クライアントからの内部アクセス
を、特定の IP アドレスとポート番号に限定したい場合に使用されてきた。しかしその反面、IP レンジやポートレンジの範囲
指定を行うことはできず、接続する内部サーバのアドレスやポート番号をあらかじめ決定しなければならない制限を持つ。
そしてクライアントマシンのループバックアドレスを使用するために、App トンネル起動時にクライアントの Hosts ファイルの書
き換えを行うメカニズムを採用しており、Hosts ファイルの書き換えにはクライアントの管理者権限を必要とする。これら運
用上の制限から、機能向上の要望が高まり、今回実現した機能が、ダイナミック App トンネルである。
*従来の App トンネルは、ダイナミック App トンネルに対して、スタティック App トンネルと名称を変更した。
ダイナミック App トンネルの特徴を以下に挙げる。
・クライアント側に管理者権限を必要としない。
・クライアントからは、透過的にトンネルを使用できる。(Hosts ファイルの変更などがない)
・TCP/IP の宛先を指定するのではなく、どのアプリケーションがトンネルを利用するかを定義する。
・ 動的な TCP プロトコルに対応できる。
ダイナミック App トンネルにおいて、ユーザー権限で実行可能であることと、インストールが Power User 権限で可能である
ことは、従来にないアドバンテージとなる。トンネルを使用する機能として、従来から App トンネルとネットワークアクセスが存
在していたが、どちらもインストール時管理者権限を必要とし、実行についても App トンネルは Hosts の書き換えにおいて
管理者権限を必要とした。企業環境においては、クライアントマシンのローカル管理者権限をユーザーに与えていないケー
スもあり、ダイナミック App トンネルは今まであった利用環境の制限を大きく減らしたといえる。
そして、ダイナミック App トンネルでは、ユーザーアプリケーションの実行時、ユーザーにとって全てが透過的に動作する。ダイ
ナミック App トンネルでも、従来の App トンネルと同様にループバックアドレスを使用しているが、ユーザーがそれを意識する
必要はない。どのアプリケーションでダイナミック App トンネルの利用をするか管理者が指定していれば、その指定されたア
プリケーション内でのネットワーク動作は、ユーザーが意識することなく全てトンネルの中で行われていく。そのアプリケーション
1
August, 2006
が動的な TCP ポートを使用する場合でも同様である。
ダイナミック App トンネルのテクノロジー
ダイナミック App トンネルは、メモリ内でアプリケーションをフックし、Winsock 関連のファンクションを編集することで、そのアプリ
ケーションが FirePass のネットワーク I/O ファンクションを呼び出す。アプリケーションによる名前解決のファンクションをインタ
ーセプトすることで、DNS プロキシの動作も同時に行っている。これらの動作は、ユーザーは特に意識することなく透過的に
行われる。
<名前解決のプロセス>
アプリケーションが名前解決リクエストをコールしたとき、FirePass コンポーネントがインターセプトし、FirePass がローカルの
IP アドレスの名前解決を行い、クライアントに戻す。
<トンネル作成のプロセス>
アプリケーションが、IP アドレス:ポートへの接続を要求したとき、FirePass コンポーネントがインターセプトして、宛先 IP アド
レスをクライアントマシンのループバックアドレス(127.0.0.X)に置き換える。つまり、アプリケーションはユーザーから見ると透過
的にクライアントマシンのループバックアドレスに接続する。このときにクライアントマシンのループバックアドレスから、FirePass
に対してトンネルが作成され、トンネルを経由して内部ネットワークにアクセスする。
<ダイナミック App トンネルの制限事項>
従来の App トンネルに比較すると、格段に利便性が向上しているが、以下の制限も存在する。
・実行はユーザー権限でよいが、ActiveX コントロールのインストールに、Power User 権限が必要となる。
・システムプロセスではほとんどのケースで動作しない。
・管理者権限がない限り、新しく起動したアプリケーションでは動作するが、起動済みのアプリケーションにて動作しない。
・Winsock を使用しないアプリケーションでは動作しない。
<ネットワークアクセスとの比較>
動的な TCP ポートを使用するアプリケーションを利用できるという意味で、ダイナミック App トンネルはネットワークアクセスと
の類似が見られるが、ネットワークアクセスが SSL トンネル上での IP フォワーディングをベースにしているのに対し、ダイナミッ
ク App トンネルはシステム管理者が指定した特定のアプリケーションを軸としたポートフォワーディングである。従って、サーバ
サイドから折り返しのコネクションが発生するようなアプリケーションでは使用できないが、ほぼ無制限の IP アクセスを可能に
するネットワークアクセスよりも、制限されたアプリケーションの使用を許す環境において適しており、よりセキュアな接続方
法であると言える。
<設定方法>
最後にダイナミック App トンネルの設定について記述する。管理コンソール ->アプリケーションアクセス ->App トンネルを
2
August, 2006
指定し、該当するリソースグループをリストから選択した後、App トンネルお気に入りの画面から、<新しいお気に入りを追
加>をクリックすると、お気に入りの設定画面が表れる。ここではお気に入りの名前のみ設定する。もし接続できる宛先を
明示的に限定したい場合は、 host_name:port または IP_address[/mask]:port の書式を利用して、許可リストに追加
する。ハイフンを使用すればレンジ指定も可能である。お気に入りの追加をクリックした後、リストの中から作成したお気に
入りをクリックすると、以下の画面が表れる。
ここで、 新しいダイナミックトンネルの追加 をクリックすると、以下の画面が表れる。
3
August, 2006
リストからアプリケーションを選択すると、そのアプリケーションへの PATH が アプリケーション の欄に自動表示されるが、リス
トに含まれないアプリケーションを使用する場合は、リストにてカスタムを選択し、アプリケーションの PATH を手動入力する。
アプリケーションの複数選択も可能である。名前の欄は、リストから選択した際は自動入力されるが、ここは任意の名前
を入力可能。
全て更新をクリックすると、設定が保存される。
ユーザーがこのお気に入りを実行すると、以下の画面のようにポップアップウィンドウが表れて、設定したアプリケーションを実
行する確認画面が表れる。
後は、ユーザーは社内にいるときと同じ使用感にて、アプリケーションの操作が可能である。
なお、v6.0 において、Web アプリケーショントンネルという機能も新しく追加されているのだが、この機能はダイナミック App ト
ンネルをブラウザに特化して動作させるための機能である。リバースプロキシ環境でコンテンツがうまく表示できない問題が
あるとき、Web アプリケーショントンネルを試していただきたい。
4
August, 2006
<まとめ>
ダイナミック App トンネルは極めて利便性が高く、かつセキュアなアクセス方法であり、今後広く FirePass ユーザーに使用し
ていただきたい。
以上
5
August, 2006