Secure Global Desktop 4.31 管理者ガイド
> セキュリティー
> Secure Global Desktop でのプロキシサーバーの使用
Secure Global Desktop でプロキシサーバーを使うためには、クライアント側に、Secure Global Desktop との接続に使うプロキシサーバーのアドレスとポート番号を設定する必要があります。また、サーバー側プロキシサーバーの経由に関する情報をクライアントに渡すよう、Secure Global Desktop を設定する必要になる場合があります。
ここで説明する内容は、次のとおりです。
Secure Global Desktop でプロキシサーバーを使用するには、プロキシサーバーがトンネリングをサポートしている必要があります。
ブラウザベース Webtop の場合は、HTTP、Secure (SSL)、または SOCKS version 5 プロキシサーバーを使用できます。
旧 Webtop の場合は、Java™ テクノロジクライアントで HTTP、Secure (SSL)、または SOCKS version 5 プロキシサーバーを使用できます。Native Client の場合は、HTTP および SOCKS version 5 プロキシサーバーのみを使用できます。
SOCKS version 5 プロキシサーバーの場合、「基本」および「無認証要求」認証方式が Secure Global Desktop でサポートされます。サーバー側の設定は必要ありません。
ブラウザベース Webtop に関しては、次の 2 つの接続を考慮する必要があります。
Web ブラウザと Secure Global Desktop Web Server を接続してたとえば Webtop を表示する場合、常に Web ブラウザ側のプロキシサーバー設定が使われます。
Secure Global Desktop Client との接続に関しては、Secure Global Desktop Client が Web ブラウザ側のプロキシサーバー設定を使用するか、プロファイル自身の設定を使用するかを、プロファイルで設定できるようになっています。Secure Global Desktop Client は常に、直近に使ったプロキシ設定をプロファイルキャッシュに保存しています。
プロファイルで「デフォルトの Web ブラウザ設定を使用する」が有効になっていれば、ユーザーの Web ブラウザの設定をもとに、プロキシサーバーの設定を決めることになります。Secure Global Desktop Client が統合モードの場合は、プロファイルキャッシュに直近のプロキシサーバー設定があればそれを使い、なければユーザーのデフォルト Web ブラウザを起動してプロキシ設定を取得します。統合モードで、「セッション開始時にプロキシ設定を確立する」がプロファイルで有効になっていれば、Secure Global Desktop Client はそのたびにユーザーのデフォルト Web サーバーを起動します。
Web ブラウザ側の設定をもとにプロキシサーバー設定を決めるためには、Web ブラウザ側で Java テクノロジが有効になっている必要があります。Java テクノロジが使えない、あるいは Web ブラウザ側で無効にしている場合、プロファイルに手動でプロキシ設定を指定しなければなりません。
注 プロキシサーバー設定が Sun Java Plug-in 用の Java コントロールパネルで定義されていれば、Web ブラウザ側の設定の代わりにこの設定が使われます。
プロファイルで「手動でプロキシを設定する」が有効になっていれば、プロファイル自身にプロキシサーバー設定を指定できます。HTTP または SOCKS プロキシサーバーのいずれか、あるいは両方を指定できます。
旧 Webtop の場合、クライアントプロキシサーバー設定は次のように行います。
旧 Webtop で Sun Java Plug-in version 1.5.0 を使用すると、Sun Java Plug-in が原因で、クライアントがブラウザのプロキシサーバー設定を取得できなくなります。現時点での唯一の解決策は、Sun Java Plug-in の初期バージョンを使用することです。
カスタマイズした Webtop テーマを作成した場合には、Secure Global Desktop への「エントリポイント」として使用される HTML ファイルが含まれていることがあります。その HTML ファイルが Secure Global Desktop アプレットを含む最初の HTML ページとして読み込まれる場合は、エントリポイントとして見なされます。ブラウザに設定されているプロキシサーバーが自動的に検出および使用されるようにするには、エントリポイント HTML ファイルの各アプレットに ProxyServer プロキシパラメータと ProxyFrame プロキシパラメータを指定する必要があります。
Java テクノロジクライアントの診断用アプリケーション proxyinfo
を使用すると、プロキシ情報を取得する際に Secure Global Desktop が検出した問題を調査することができます。
このアプリケーションにアクセスする場合、ユーザーは各自の Web クライアントで次の URL を入力する必要があります。
http://server.com/tarantella/cgi-bin/ttawebtop.cgi/tarantella/resources/info/sco/tta/proxyinfo.html
このアプリケーションは常に、ttawebtop.cgi
プログラムを介して実行する必要があります。
このアプリケーションを起動すると、プロキシサーバー情報ページが表示され、プロキシサーバー設定が診断されます。診断結果は、画面に出力されます。
表示される情報から、ユーザーの Web クライアント設定で検出されたこと、およびどのようなテストが実行されたかがわかります。
表示される情報の中で重要な項目は、候補プロキシサーバーの名前とポート番号です。それらは、Secure Global Desktop から接続できるプロキシサーバーです。
アプレットにパラメータを追加すると、次のようにして、そのアプリケーションに表示させる情報の詳細度を設定することができます。
/opt/tarantella/var/docroot/resources/info/sco/tta/proxyinfo.html
ファイルを開きます。TTAAPPLET
タグを見つけます。TTAAPLET
タグ間に次のパラメータを挿入します。
<param name="LOG_MASK" value="bit mask">
このパラメータのビットマスク値は、次のとおりです。
値 | 設定内容 | 表示される情報 |
---|---|---|
1 |
一般 | proxyinfo アプリケーションが検出した Web クライアントの設定値 |
2 |
詳細 | proxyinfo アプリケーションが実行した一連のテスト |
4 |
無効化 | 手動で除外されているドメイン |
8 |
レジストリ | Windows レジストリの詳細 |
デフォルト値 7
の場合、一般、詳細、および無効化は表示されますが、レジストリは表示されません。
Web ブラウザ側の設定をもとにクライアントプロキシサーバー設定を決める場合は、自動設定スクリプトを使って自動的にプロキシ設定を行うことができます。
設定スクリプトの URL を、Web ブラウザの接続設定に指定します。自動設定スクリプトは JavaScript で記述する必要があります。ファイル拡張子は .pac
ですが、ファイル拡張子がなくてもかまいません。詳細については、「Netscape Proxy Auto-Config File Format」を参照してください。
注 この形式は、Secure Global Desktop がサポートしているすべての Web ブラウザで使用します。
プロキシサーバーの例外リストを使って、どの接続の場合はプロキシを使わないかを制御できます。例外リストは次のようにして設定します。
例外リストとは、DNS ホスト名をセミコロンで区切った次のようなリストのことです。
chicago.indigo-insurance.com;detroit.indigo-insurance.com;london.indigo-insurance.com
注 Mozilla ベースのブラウザでは、このリストはコンマ区切りのリストになります。
例外リストには、次のようにワイルドカード * を含めることができます。
*.indigo-insurance.com
例外リストでは、DNS ホスト名と IP アドレスの間の変換が実行されません。たとえば、例外リストが "*.indigo-insurance.com" の場合、"chicago.indigo-insurance.com" および "detroit.indigo-insurance.com" への接続時にはプロキシサーバーが使用されませんが、"192.168.5.20" および "192.168.5.30" (それぞれの IP アドレス) への接続時にはプロキシサーバーが使用されます。
ブラウザベースの Webtop の場合、ユーザーは例外リストに次のエントリを入れる必要があります。
localhost; 127.0.0.1
クライアントに設定されているプロキシサーバーが 1 つだけの場合は、HTTP、HTTPS、および Secure Global Desktop 接続のすべてにこのプロキシサーバーが使用されます。
注 これが Secure (SSL) プロキシサーバーの場合は、ユーザーが Secure Global Desktop サーバーへのセキュア接続を使用する場合にのみ、Secure Global Desktop トラフィックが暗号化されます。
クライアントに HTTP および SOCKS プロキシサーバーが 1 つずつ設定されていて、Secure Global Desktop をファイアウォール転送モードで使用している場合は、HTTP、HTTPS、および Secure Global Desktop 接続のすべてに HTTP プロキシサーバーが使用されます。
クライアントに HTTP および SOCKS プロキシサーバーが 1 つずつ設定されていて、Secure Global Desktop をファイアウォール転送モードで使用していない場合は、使用されるプロキシサーバーはクライアントによって決まります。クライアントによって使用されるプロキシサーバーは次のようになります。
アクティビティーが何も行なわれない接続については、プロキシサーバーが一定時間の経過後にその接続を停止します。デフォルトでは、Secure Global Desktop がキープアライブパケットを 100 秒おきに送信して、接続が開いた状態で維持されます。
一定時間が経過したあとにアプリケーションの表示が消える場合は、キープアライブパケットの送信頻度を高くしてみてください。
Secure Global Desktop クライアントが Secure Global Desktop Web Server に接続する際、DNS 名とアレイルートを使い分けて接続するよう、Secure Global Desktop がクライアントに対して「指示」する旨の設定ができます。アレイルートとは、サーバー側 SOCKS プロキシサーバーのアドレスです。DNS 名とアレイルートは、クライアントの IP アドレスをもとに決まります。
ファイアウォールの内側と外側など、ネットワーク上で Secure Global Desktop サーバーの名前を使い分けている場合、複数の DNS 名をサーバーに設定できます。これにより、Secure Global Desktop サーバーへの接続時に、Secure Global Desktop クライアントがクライアントデバイスの IP アドレスに応じて異なる DNS 名を使用できるようになります。
Array Manager の「General Properties」パネル、または次のコマンドで、Secure Global Desktop サーバーに対する複数の DNS 名を設定します。
tarantella config edit --server-dns-external dns_name ...
各 dns_name は、client IP pattern:external DNS name
という形式です。ここで IP_pattern
はクライアント IP アドレスに合致する正規表現で、「192.168.10.*
」のように指定します。
Array Manager では、それぞれの名前定義のあとで復帰改行キーを押します。コマンド行では、空白文字を使用して名前を区切ります。たとえば次のように入力します。
tarantella config edit --server-dns-external "192.168.10.*:boston.indigo-insurance.com" "*:www.indigo-insurance.com"
名前の順番は重要です。最初に合致した IP パターンが使用されます。たとえば、次の名前が定義されているとします。
192.168.10.*:boston.indigo-insurance.com *:www.indigo-insurance.com
IP アドレスが 192.168.10 で始まるクライアントは boston.indigo-insurance.com に接続し、他のすべてのクライアントは www.indigo-insurance.com に接続します。名前の順番が反対だと、すべてのクライアントが www.indigo-insurance.com に接続するようになってしまいます。
注 複数の DNS 名の設定を変更したとき、これを反映するには Secure Global Desktop サーバーを再起動する必要があります。
複数の DNS 名を使用している状況でセキュア接続を有効にする場合は、使用する DNS 名ごとに X.509 証明書およびキーが必要になります。
アレイのルートは次のコマンドで設定します。
tarantella config edit --tarantella-config-array-netservice-proxy-routes route ...
各 route の形式は IP_pattern:type:host:port
となります。ここで、それぞれの構成要素は次のようになります。
IP_pattern
はクライアント IP アドレスに合致する正規表現で、たとえば「192.168.10.*
」のように指定します。type
は接続の種類を表します。SOCKS version 5 による接続の場合は CTSOCKS
と指定します。host
は接続先プロキシサーバーの DNS 名または IP アドレスです。port
は host 上の接続先ポート番号です。各ルートを引用符で囲み、空白で区切って列挙します。
ルートの順番は重要です。合致するクライアント IP パターンがいくつかある場合、使われるのは最初に合致したものです。
SSL の処理に Secure Global Desktop ではなく外部 SSL アクセラレータを使用する場合は、route
を :ssl
とともに追加します (次の例を参照)。これは、クライアントに対し、SOCKS 接続を続行する前にその接続で SSL を使用するように指示します。外部 SSL アクセラレータを使用する場合は、暗号化されない接続を受け入れるように Secure Global Desktop SSL デーモンを設定する必要もあります。これには、Array Manager (tarantella config edit --security-acceptplaintext
) のサーバー固有の 「Security Properties」パネルにある「Accept plaintext on secure port」属性を使用します。
アレイルートの例を、次に示します。
"192.168.10.*:CTSOCKS:taurus.indigo-insurance.com:8080" "*:CTSOCKS:draco.indigo-insurance.com:8080:ssl"
IP アドレスが 192.168.10 で始まるクライアントは、SOCKS プロキシサーバー taurus.indigo-insurance.com (ポート番号は 8080) を経由して接続します。それ以外のクライアントは SOCKS プロキシサーバー draco.indigo-insurance.com (ポート番号は 8080) を経由して接続します。後者のクライアントは、SOCKS 接続で続行する前に、SSL による接続を試みます。
注 アレイルートの設定を変更した場合、それを反映させるためには、アレイに属するすべてのサーバーを再起動する必要があります。
Copyright © 1997-2006 Sun Microsystems, Inc. All rights reserved.