Citrix Secure Browserで保護されたブラウザーを使用してレガシーWebアプリケーションの寿命を延ばす
Webアプリケーションやフレームワークの世界では、多様性を採用する必要があります。さまざまな種類のユーザー、グループ、企業が Web 対応のビジネスアプリケーションに接続するには、適切なツール、アプリケーション、および権限にアクセスする必要があります。ほとんどの場合、これらのアプリケーションへのアクセス方法を決定するコンプライアンス要因があります。古いブラウザフレームワークを使用する古いサブシステムをサポートする必要がある企業は、適切なアクセスを提供し、ビジネスクリティカルなアプリケーションのコンプライアンス要件を満たすという困難な作業に直面しています。以下のドキュメントでは、Citrix Secure Browser を使用して、更新および移行戦略を作成しながら、レガシーWebアプリケーションおよびブラウザーのアクセスと使用期間を延ばす方法について説明します。
このソリューションでは、ユーザーの接続方法や内部サイトへの接続に使用するブラウザーに関係なく、外部または内部ユーザーがアクセスできる準拠のブラウザーを公開する必要があります。このソリューションは、XenDesktop サーバーOSのVDA、StoreFront、NetScaler Gateway、およびXenAppセキュアブラウザーを使用します。ユーザーは、IT 管理者が設定したすべての要件を満たしている場合、準拠しているブラウザまたはエンドポイントをリダイレクトしてネイティブブラウザーを使用します。ポリシーが非準拠のブラウザまたはエンドポイントを検出すると、コンテナー化されたリモート公開ブラウザセッションにユーザーをリダイレクトします。ユーザーは、環境への接続方法に関係なく、リソースごとに 1 つの URL しか知る必要がありません(トレーニングとサポートのコストが削減されます)。
アーキテクチャ
次のセクションでは、ユーザが内部ネットワークと外部ネットワークのどちらから接続しているかに関係なく、ユーザが内部サイトにアクセスする方法について説明します。このシナリオでは、1 つのブラウザータイプ (Internet Explorer) が準拠のブラウザーで、もう 1 つのブラウザー (Google Chrome) が非準拠のブラウザーとなります。コンプライアンスポリシーにどのブラウザーをマッピングするかは、各社が決定します。
このソリューションでは、NetScaler Gateway が公開アプリケーションへの外部アクセス用に構成されていることを前提としています。これは、図1ではGateway vServer 1として表されています。2番目の仮想サーバー(Gateway vServer 2)は、セキュアブラウザー用のHTML5 Receiverセッションを起動するようにユーザーをリダイレクトします。
使用例
現在のブラウザーでサポートされなくなったレガシー Web アプリケーションを維持する必要があります。この場合、IT 部門は Internet Explorer 8 用に設計された Web サイトを維持する必要がありますが、ベンダーは新しいブラウザや他のブラウザーをサポートするための拡張機能をリリースしなくなりました。この問題を解決するために、IT 管理者はセキュリティで保護されたブラウザーを公開し、ブラウザーの要件を満たすユーザーがサイトにアクセスできるようにします。次の図は、内部ユーザーと外部ユーザーのワークフローにおける各接続について説明しています。
接続ワークフロー
- すべてのユーザーは、外部 DNS サーバーから解決するサイト URL を入力します。この例では、
https://train.qckr.net
- ブラウザーはNetScaler Gateway ロードバランサーに接続し、コンプライアンス要件を決定します。
- ブラウザーが非準拠の場合、内部ユーザーと外部ユーザーの両方がNetScaler Gateway 仮想サーバーにリダイレクトされます。ブラウザーが準拠している場合、NetScaler Gateway は外部ユーザーのロードバランサーを介して内部サイトへの接続をプロキシし、ローカルブラウザーを内部ユーザーのサイトにリダイレクトします。
- 仮想サーバーは、StoreFront によって列挙されたセッションを自動的に開始します。
- StoreFrontがXenDesktop コントローラーに接続し、セッション情報とルーティングを確認します。
- セッションは、Secure Browserデスクトップグループを介して開始されます。この場合、公開された準拠ブラウザーを備えたサーバーOS VDAです。
- セッションは、NetScaler Gateway アプライアンス上のICAプロキシを介して接続されます。
- Citrix Receiver for HTML5は、ネイティブブラウザー内でユーザーのセッションを確立します。
- 内部サイトは、Citrix Receiver for HTML5とのセキュアブラウザセッションを介して表示されます。
セットアップと構成
このセクションでは、NetScaler Gateway のリモート接続を使用する現在のXenDesktop 環境にソリューションを実装する方法について説明します。
ソリューションの要件
セットアップには、次のコンポーネントのインストールと構成が必要です。
- XenDesktop コントローラーサーバー
- 外部アクセス用に構成されたストアを持つCitrix StoreFront サーバー
- XenDesktop 仮想サーバーを使用したNetScaler Gateway
- インストールされているブラウザーをセキュアブラウザとして使用するサーバーOS VDA
- 新しいNetScaler ロードバランサーを指す外部DNSアドレス
- 新しいNetScaler Gateway 仮想サーバーを指す外部DNSアドレス
構成
XenDesktop コントローラ
サーバーOSのVDAを、 セキュアブラウザカタログという名前の新しいマシンカタログに追加します。
セキュアブラウザカタログ 用のデリバリーグループを作成し、Internet Explorerを公開します。コマンドラインパラメータで、**-k と入力します <URL of Internal Site>。-k パラメータを使用すると、Internet Explorer をキオスクモードで開くことができます。この例では、Internet Explorer 8 を公開し、URL に内部サイトを使用しています。
デリバリーグループを特定のユーザーおよびグループに割り当てることができます。ユースケースで必要でない場合は、デスクトップアクセスを追加する必要はありません。
サーバーOS VDAで、サーバーまたはクライアント認証証明書をインストールします。これにより、ControllerとVDAの通信でSSLが有効になります。
XenDesktop 7.6以降のインストールメディアをマウントします。PowerShell コマンドウィンドウを開き、%メディアドライブ% を実行します。\ サポート\ ツール\ SslSupport\ 有効化 VdaSSL.ps1 —有効化
サーバーOSのVDAインスタンスを再起動します。
XenDesktop コントローラーでは、PowerShell コマンドウィンドウを開き、コマンド ASNPCitrix*を実行します。
以下の3つのコマンドを実行して、ブローカとVDAのセキュアな通信を有効にします。
Get-BrokerAccessPolicyRule –DesktopGroupName ‘Secure Browser Desktop Group’ | Set-BrokerAccessPolicyRule –HdxSslEnabled $true*
<!--NeedCopy-->
Set-BrokerSite –DnsResolutionEnabled $true
<!--NeedCopy-->
Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true*
<!--NeedCopy-->
StoreFront
SecureBrowser という新しいストアを作成し、[認証されていないユーザーのみにこのストアへのアクセスを許可する] を選択します。すべてのユーザーがNetScaler Gateway からController にトークンを渡すため、トラフィックは認証されます。
XenDesktop コントローラーを追加します。
リモートアクセスを 有効にし、次の手順で構成する2つ目のNetScaler Gateway を追加します。この構成では、StoreFront /NetScaler Gateway 構成で コールバックアドレスまたはVIPアドレス を使用する必要はありません。
ウィザードの既定値を使用して、ストアの作成を完了します。
ストアを作成したら、[ Receiver for Webサイトの管理]をクリックします。
Receiver for Webサイトの管理 ページで、「 構成 」をクリックし、「 Webサイトへのショートカット 」に移動し、内部WebサイトURLを追加して、「 ショートカットの取得 」リンクをクリックします。
公開されている セキュアブラウザー アプリケーションへのアクセス権を持つ通常のユーザーとしてログオンします。
セキュアブラウザアプリケーションのURLをコピーし、テキストファイルに保存して、後でNetScaler Gateway 構成で使用できるようにします。
Citrix ReceiverのWebサイトプロパティの編集]に戻り、[Citrix Receiverの展開]をクリックし、[常にReceiverをHTML5で使用する]を選択します。[ Receiver for Webと同じタブでアプリケーションを起動する]オプションを選択します。
[ワークスペース制御] をクリックし、[ログオフ操作] で [終了] を選択します。[Workspace コントロールを有効にする]オプションをオフにします。
[クライアントインターフェイスの設定]をクリックし、[デスクトップを自動起動] オプションをオフにし、[OK] をクリックして設定を保存します。
テキストエディタで、ファイル C:\inetpub\wwwroot\Citrix\SecureBrowserWeb\web.config. を開きます。
設定を見つけて <appShortcuts promptForUntrustedShortcuts=”true”>false** に設定し、変更を保存します。この設定を無効にすると、StoreFront でユーザーにアプリケーションを起動するかどうかを確認するメッセージが表示されなくなります。
NetScaler Gateway
NetScaler Gateway のGUIで、ナビゲーションペインで「 XenAppおよびXenDesktop」をクリックし、 ダッシュボードで「 新しいGatewayの作成」をクリックします。
StoreFront プロパティで、[ サイトパス ]を[/Citrix/SecureBrowserWeb]に設定し、[ ストア 名]をStoreFrontサーバーの新しいストアとして セキュアブラウザ に設定します。
ウィザードを続行し、新しい仮想サーバーを保存します。
「 NetScaler Gateway 」ノードで、「 ポリシー」 を展開し、「 セッション」 に移動します。
[Actions] タブを選択し、2 番目の仮想サーバー用に新しく作成したアクションを編集してから、 AC_WB_ ポリシーアクションを編集します。
[公開アプリケーション] タブで、[Web インターフェイスアドレス] フィールドに以前に保存した アプリのショートカット URL を貼り付け、[OK] をクリックします。
ナビゲーションウィンドウで、[AppExpert] ノードをクリックし、[レスポンダー] セクションを展開し、[アクション] をクリックします。
新しい アクションを追加し、「 内部接続」という名前を付け、タイプを 「リダイレクト」に設定します。
[式] フィールドで、接続する内部サイトの URL を引用符で囲んで追加します。たとえば、https://mysite.acme.com
[作成] をクリックしてアクションを保存します。
新しいアクションを追加し、「 外部接続」という名前を付け、タイプを 「リダイレクト」に設定します。
「 式 」フィールドで、2番目のNetScaler Gateway 仮想サーバーのURLを引用符で囲んで追加します。たとえば、https://gateway.acme.com
[作成] をクリックしてアクションを保存します。
[レスポンダーポリシー] ノードに移動します。
新しいポリシーを追加し、「 ブラウザコンプライアンスを検出」という名前で、「 アクション」ドロップダウンで、以前に作成した「 外部接続」アクションを選択します。
未定義の結果アクション を NOOP に設定します。
[ 式 ] フィールドに、次のテキストを追加します。
HTTP.REQ.ヘッダー (「ユーザーエージェント」) .含まれています (「AppleWebKit」) | HTTP.REQ.ヘッダー(「ユーザーエージェント」).含む(「クローム」) |
上記の式は、非準拠のブラウザ、またはこのユースケースではInternet Explorerではないブラウザーを検出します。
[作成] をクリックして変更を保存します。
新しいポリシーを追加し、「 クライアントソースの検出」という名前を付けて、「アクション」を「 内部接続」アクションに設定します。
未定義の結果アクション を NOOP に設定します。
[式] フィールドに、次のテキストを追加します。
(CLIENT.IP.SRC.IN_SUBNET(172.17.0.0/23) |
上記の各サブネットを内部ネットワーク環境に合わせて置き換えるか追加します。この場合、ユーザーエージェントは Internet Explorer の構成済みバージョンと一致し、クライアントが内部ネットワークから接続していることを確認します。
[作成] をクリックして変更を保存します。
ナビゲーションウィンドウで、[トラフィック管理] > [負荷分散] を展開し、[サーバー] を選択します。内部サイトのホストに使用するサーバーを追加します。
ナビゲーションペインで、[Load Balancin] の下の [Service Groups] をクリックし、新しいサービスグループを追加し、 プロトコル を SSL に設定し、前の手順で作成した サーバー を [Service Group Members] リストにバインドします。
[完了] をクリックします。
ナビゲーションウィンドウで、[負荷分散] ノードの [仮想サーバー] をクリックし、[追加] をクリックして、サーバーに [イントラネットサイト] という名前を付けます。
プロトコル を SSL に設定し、ロードバランサーの IP アドレスを入力します。
前の手順で作成した サービスグループ内部 Web サーバーを バインドし、外部アクセス用の証明書を構成します。ロードバランサーが SSL を内部 Web サーバーにオフロードできるように、内部ルート CA 証明書を CA 証明書にバインドします。
詳細ウィンドウの [詳細 設定] で、[+ ポリシー] をクリックします。プラス(+)記号をクリックして、新しいポリシーをバインドします。
[ポリシーの選択] で [レスポンダー] を選択し、[続行] をクリックします。[ クライアントソースの検出] を選択し、優先順位を 100 に設定します。
[バインド] をクリックします。
[レスポンダー ポリシー] セクションをクリックし、[バインドの追加] をクリックし、[ブラウザーのコンプライアンスを検出]を選択して、優先度を110に設定します。[バインド] をクリックします。
[閉じる] をクリックし、[完了] をクリックします。
NetScaler Gateway 構成を保存します。
ユースケースの結果と期待
このセクションでは、各ユーザーが前述の設定でどのように接続するかについて、ユースケースと予想される結果を確認します。以下のすべてのユースケースでは、ユーザーがローカルにインストールされたブラウザーを開き、トレーニングサイトの外部 URL を入力します。
非準拠のブラウザーを持つ外部ユーザ
予想される結果: ユーザーがブラウザタブでCitrix Receiverセッションを起動し、公開されているセキュアブラウザーを使用してサイトをレンダリングします。
準拠ブラウザーを持つ外部ユーザ
予想される結果:NetScaler Gateway は、ローカルブラウザと内部Webサイト間のトラフィックをプロキシします。
非準拠のブラウザーを持つ内部ユーザー
予想される結果:公開されているセキュアブラウザーを使用してサイトをレンダリングするブラウザタブでCitrix Receiverセッションを起動します。
準拠ブラウザーを持つ内部ユーザー
予想される結果:ユーザーセッションが内部サイトにリダイレクトされます。クライアントが内部ネットワークから接続しているため、NetScaler Gateway は接続をプロキシしません。
既知の制限事項
- NetScaler Gateway 仮想サーバーへの動的URLの受け渡しは、セキュリティで保護されたブラウザーのCitrix Receiver for HTML5の使用をサポートしていません。
- 起動URLを仮想サーバーに渡すには、セッションプロファイルでICAプロキシを無効にします。ICAプロキシは、Citrix Receiver for HTML5の要件です。
- Citrix Receiver for HTML5では、コンテンツのリダイレクトはサポートされていません。
- 管理者は、Webサイト用にStoreFront でCitrix Receiverを構成できます。
- 複数のサイトを持つ環境では、サイトごとに異なるNetScaler Gateway セッションポリシーを作成し、それらを仮想サーバーにバインドするか、内部サイトのURLをホストできる内部起動ポータルを作成します。