PoCガイド:AzureのセキュアブラウザとNetScaler ADCを使用したURLリダイレクト
概要
ここでは、最新のNetScaler ADCマーケットプレイステンプレートを使用して、ADCの設定、SSL転送プロキシ、SSLインターセプトを構成するための構成手順を示します。ADCのセキュア・ブラウザへのURLリダイレクト機能により、管理者は特定のWebサイトのカテゴリを定義して、ローカル・ブラウザからセキュア・ブラウザに自動的にリダイレクトできます。NetScaler ADCは、ローカルブラウジングとインターネット間のインターセプトを行うための中間プロキシとして機能し、Web分離を実現し、企業ネットワークを保護します。この機能により、ユーザーエクスペリエンスを損なうことなくセキュリティが向上します。
概念アーキテクチャ
スコープ
この概念実証ガイドでは、次の内容について説明します。
- セキュリティで保護されたブラウザトライアルアカウントの取得
- Azure で ADC をセットアップする
- NetScaler ADCアプライアンスをプロキシとしてセットアップする
- SSL インターセプトを設定する
- 書き換えポリシーとアクションの設定
展開手順
セクション 1: セキュリティで保護されたブラウザトライアルアカウントの取得
[リモートブラウザ分離サービスのリファレンスドキュメント] /en-us/citrix-remote-browser-isolation)
セキュアブラウザの試用版をリクエストする
-
Citrix Cloudアカウントに移動し、ユーザー名とパスワードを入力します
-
[サインイン] をクリックします。アカウントが複数の顧客を管理している場合は、適切な顧客を選択してください
-
[ セキュリティで保護されたブラウザ] タイルをダブルクリックします。
-
アカウントチームが誰であるかを知っている場合は、その担当者に連絡して、トライアルの承認を受けてください。アカウントチームが不明な場合は、次の手順に進みます。
-
[ 電話をリクエスト] をクリックします。
-
詳細を入力し、 コメントセクションに「リモートブラウザ分離サービストライアル」と指定してください。
-
[Submit] をクリックします。
注:
Citrix Salesからお客様に連絡し、サービスへのアクセス権を付与します。これはすぐにではなく、Citrixの営業担当が連絡する
-
Secure Browserトライアルが承認されたら、 Citrix ドキュメントの「 セキュリティで保護されたブラウザーを公開する 」セクションを参照して 、Secure Browserアプリを公開します。
URL パラメータを有効にする
-
Citrix Cloudサブスクリプションで、 セキュリティで保護されたブラウザータイルをダブルクリックします
-
この例では「ブラウザ」と呼ばれる公開ブラウザで、3 つのドットをクリックし、[ ポリシー]
-
公開ブラウザで URL パラメータポリシーを有効にする
セクション 2: Azure での ADC の設定
ADCは、任意のクラウドに設定できます。この例では、Azure が選択したクラウドです。
ADC インスタンスの設定
-
[ すべてのリソース ] に移動して [ + 追加 ] ボタンをクリックし、[NetScaler ADC] を検索します。
-
NetScaler ADCテンプレートの選択
-
要件に応じてソフトウェアプランを選択します(この例では、独自のライセンスを持参)
-
[作成] をクリックします
NICカードの構成
-
[ すべてのリソース ] に移動し、ADC インスタンスの NIC カードを選択します。
-
[ IP 構成] を選択し、 ADC 管理アドレスをメモします。
-
IP 転送設定を有効にし、変更を保存します。
仮想 IP の構成
-
[ 追加] をクリックし、新しい設定の名前として
virtualip
を設定します。 -
[ 静的 ] を選択し、管理アドレスの後に新しい IP アドレスを追加します
-
パブリックアドレスオプションを有効にし、新しいパブリック IP アドレスを作成します
-
変更を保存する
クライアントで FQDN を設定する
-
virtualip
構成用に作成されたパブリック IP アドレスリソースに移動します。 -
[ 構成] をクリックし、DNS ラベルを追加します (この例では、
urlredirection.eastus.cloudapp.azure.com
)
ネットワークルールの設定
-
次のネットワークルールを追加します
注:
ポート22と443は、設定後に閉じることができます。これらのポートは、設定目的で管理コンソールへのログインにのみ必要です。
-
この時点で 、Azure の ADC インスタンスがセットアップされます
セクション 3: NetScaler ADC アプライアンスをプロキシとしてセットアップする
クライアントブラウザからインターネットにトラフィックをルーティングするプロキシとして ADC を設定します。
ADC 管理コンソールにログインする
-
ブラウザの検索バーにインスタンスのパブリック IP アドレスを入力して、NetScaler ADC 管理コンソールに移動します。
注:
この例では、前の手順でプロビジョニングしたマシンの IP アドレスを使用します。
https://40.88.150.164/
-
前の手順で設定したユーザー名とパスワードを入力して、コンソールにログインします
-
初期設定画面で、[ 続行] をクリックします。
ライセンスのアップロード
-
[ システム] > [ライセンス] > [ライセンスの管理]に移動します
-
ADCに必要なライセンスをアップロードします。
注:
持ち込むライセンスは、「基本機能の構成」および「高度な機能の構成」の手順11と13で強調表示された機能をサポートしている必要があります(例:CNS_v3000_server_Plt_Retail.lic、CNS_Webf_SServer_Retail.lic)
-
両方のライセンスをアップロードした後、サーバを再起動します 。
-
再起動後、管理に再度ログインします
-
[ システム] > [設定] > [モードの設定]に移動します
-
Mac ベースの転送とパスMTU 検出は2 つのオプションのみを有効にする必要があります
-
[ システム] > [設定] > [基本機能の構成]に移動します。
-
SSL Offloading
、Load Balancing
、Rewrite
、Authentication, Authorization, and Auditing
、Content Switching
、Integrated Caching
を選択します。 -
[ システム] > [設定] > [高度な機能の構成]に移動します
-
Cache Redirection
、IPv6 Protocol Translation
、AppFlow
、Reputation
、Forward Proxy
、Content Inspection
、Responder
、URL Filtering
、SSL Interception
を選択します。
NTPサーバのセットアップ
-
[ システム] > [NTPサーバー] > [追加]に移動します
-
たとえば、サーバーを作成する。
pool.ntp.org
-
プロンプトが表示されたらNTPを有効にし、サーバを有効に設定します。
-
管理ポータルの保存アクションから構成を保存する
-
ADC 管理アドレスへの SSH セッションを開き、Azure から ADC をプロビジョニングするときに使用した資格情報でログインします。
TCP プロファイルと仮想サーバーのセットアップ
-
セクション 2の手順から
virtualip
を取得し、コマンドを入力します(この例では 10.1.0.5)。 -
sslproxy
アドレス(virtualip
など)を指定して、次のコマンドを実行します。 -
TCP プロファイルを追加するには、次の手順に従います。
add ns tcpProfile proxy-tcpprofile01 -dynamicReceiveBuffering ENABLED -KA ENABLED -mptcp ENABLED -mptcpDropDataOnPreEstSF ENABLED -mptcpSessionTimeout 360 -builtin MODIFIABLE <!--NeedCopy-->
-
仮想サーバを追加するには
add cs vserver sslproxy01 PROXY 10.1.0.5 8080 -cltTimeout 360 -tcpProfileName proxy-tcpprofile01 -persistenceType NONE bind cs vserver sslproxy01 -lbvserver azurelbdnsvserver add netProfile proxy-netprofile01 -srcIP 10.1.0.5 -srcippersistency ENABLED -MBF ENABLED -proxyProtocol ENABLED -proxyProtocoltxversion V2 set cs vserver sslproxy01 -netProfile proxy-netprofile01 set ssl vserver sslproxy01 -sslProfile ns_default_ssl_profile_frontend save ns config <!--NeedCopy-->
-
キャッシュ設定を変更するには 、ブラウザの管理セッションに戻ります
-
[ 最適化] > [統合キャッシュ] に移動します
-
[ 設定] > [キャッシュ設定の変更] に移動します。
-
メモリ使用量の制限を
250 MB
に設定し 、 「OK」をクリックします
URL リダイレクト用にクライアントをセットアップする
-
クライアントでは、例えば Firefox
-
セクション 2 で設定したブラウザプロキシを
virtualip
、パブリック IP、または FQDN に設定します(例:urlredirection.eastus.cloudapp.azure.com:8080
)。 -
これで ADC をセットアップしたので、ブラウザーから ADC がプロキシとして動作する Web サイトの接続をテストします。
セクション 4: SSL インターセプトを設定する
SSLインターセプションでは、代行受信、ブロック、または許可するトラフィックを指定するポリシーを使用します。トラフィックを傍受する一般的なポリシーを1つ構成し、一部のトラフィックをバイパスするより具体的なポリシーを構成することをお勧めします。
参照先ドキュメント:
RSA キーを作成する
-
[ トラフィック管理] > [SSL] > [SSL ファイル] > [キー]に移動します
-
[ RSA キーの作成] を選択します
-
キーファイル名と必要なキーサイズを選択します
-
キーが作成されたら、後で使用するために
.key
ファイルをダウンロードします
証明書署名要求(CSR)の作成
-
[ トラフィック管理] > [SSL] > [SSL ファイル] > [CSR] > [証明書署名要求 (CSR) の作成]に移動します。
-
リクエストファイルに名前を付けます。たとえば、
semesec_req1.req
-
「 キーファイル名」(Key Filename) >「適用」(Appliace ) をクリックします。キーファイル名は、前の手順で作成した名前です (この例では
smesec_key1.key
) -
キーを選択した後、必要な空白に続けて入力します:共通名、組織名、州または省
-
[作成] をクリックします
証明書を作成する
-
トラフィック管理 > SSL > SSL ファイル > 証明書 > 証明書の作成に移動します
-
証明書に名前を付けて、前の手順で作成した証明書要求ファイル (
.req
) とキーファイル名 (.key
) の両方を選択します。 -
[作成] をクリックします
-
証明書が作成されたら、後で使用するために
.cert
ファイルをダウンロードします
SSL インターセプトポリシーの作成
-
[ トラフィック管理] > [SSL] > [ポリシー]に移動します
-
[追加]をクリックします
-
ポリシーに名前を付けて、INTERCEPT アクションを選択します
-
ニュースを傍受する表現:
client.ssl.detected_domain.url_categorize(0,0).category.eq("News")
-
[作成] をクリックします
-
インターセプトポリシーを仮想サーバーにバインドするには、 [セキュリティ] > [SSL フォワードプロキシ] > [プロキシ仮想サーバー] に移動します。
-
仮想サーバーを選択します。この例では
sslproxy01
-
[ SSL ポリシーの追加 ] を選択し、[ SSL ポリシーのバインドなし] をクリックします。
-
インターセプトポリシーをバインドします。
SSL バイパスポリシーの作成
-
[ トラフィック管理] > [SSL] > [ポリシー]に移動します
-
[追加]をクリックします
-
ポリシーに名前を付けて、NOOP アクションを選択します。BYPASS オプションはありません。次の手順を参照してください。
-
ポリシーをバイパスする式:
CLIENT.SSL.DETECTED_DOMAIN.CONTAINS("cloud")
-
[ セキュリティ] > [SSL 転送プロキシ] > [SSL インターセプトポリシー]に移動します
-
ポリシーを選択して編集します
-
アクションをNOOP から BYPASS に変更する
-
[OK]をクリックします
-
アクションがBYPASSになったことをダブルチェックする
-
[ トラフィック管理] > [SSL] > [ポリシー] に戻って、変更を再度確認します。
-
バイパスポリシーを仮想サーバーにバインドするには、[ セキュリティ] > [SSL フォワードプロキシ] > [プロキシ仮想サーバー] に移動します。
-
この例では、仮想サーバーをダブルクリックします。
sslproxy01
-
[ SSL ポリシーの追加 ] を選択し、[ SSL ポリシーバインド] をクリックします。
-
バイパスポリシーをバインドする > 追加
-
バインド] をクリックします
注:
このポリシーは、セキュアブラウザに向かうトラフィックの ADC インターセプトをバイパスするために作成されます。
launch.cloud.com
SSL プロファイルの作成
-
システム > プロファイル > SSL プロファイル > 追加に移動します
-
名前を付けて、プロファイルを作成します。この例では、
smesec_swg_sslprofile
-
SSL セッションインターセプトを有効にするチェックボックスをオンにして、「OK」をクリックします。
-
「OK」をクリックして SSL プロファイルを作成します。
-
証明書キーペアをインストールする必要があります
-
以前に証明書とキーペアの
.pfx
形式があることを確認してください。以前にダウンロードした.cert
ファイルと.key
ファイルから.pfx
ファイルを生成する方法については 、次の手順を参照してください。
証明書とキーのペアを準備する
-
システム環境変数に
openssl
インストールパスを追加します。 -
PowerShell から、次のコマンドを実行します。
openssl pkcs12 -export -out smesec_cert1.pfx -inkey smesec.key1.key -in smesec.cert1.cert
SSL インターセプト CA 証明書を SSL プロファイルにバインドする
-
[ システム] > [プロファイル] > [SSL プロファイル] に移動します
-
前に作成したプロファイルを選択します
-
[ + 証明書キー] をクリックします。
-
[ インストール] をクリックします
-
前に準備した.pfx ファイルを選択します
-
パスワードを作成する(後で必要とする)
-
[ インストール] をクリックします
SSLプロファイルを仮想サーバにバインドします
-
[ セキュリティ] > [SSL 転送プロキシ] > [プロキシ仮想サーバー] に移動します
-
仮想サーバーを選択します。この例では
sslproxy01
-
クリックして SSL プロファイルを編集します
-
以前に作成した SSL プロファイル (この例では) を選択します。
smesec_swg_sslprofile
-
Done
セクション 5: 書き換えポリシーとアクションの設定
書き換えポリシーは、規則とアクションで構成されます。このルールは、書き換えが適用されるトラフィックを決定し、アクションによってNetScaler ADCが実行するアクションを決定します。書き換えポリシーは、ブラウザに入力されたURLのカテゴリ(この例では「ニュース」)に基づいてセキュアブラウザにURLリダイレクトを行うために必要です。
リライトポリシーとアクションの作成
-
AppExpert > 書き換え > ポリシーに移動します
-
[追加]をクリックします
-
この例では cloud_pol という名前でポリシーを作成し、次の式を使用します。
HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0).CATEGORY.EQ("News")
-
[作成] をクリックします
-
PuTTY でアクションを作成する
-
次のコマンドを実行します:
add rewrite action cloud_act REPLACE_HTTP_RES q{"HTTP/1.1 302 Found" + "\r\n" + "Location: https://launch.cloud.com/<customername>/<appname>?url=https://" + HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL.PATH) + "\r\n\r\n\" "}
注:
コマンドでは、
<customername>
をCitrix Cloudの顧客アカウント名に置き換え、<appname>
をURLパラメータポリシーが有効になっているセキュアブラウザの公開アプリケーション名で置き換えます。第 1 項で作成した公開アプリを参照します。
リライトポリシーを仮想サーバにバインドする
-
ADC管理コンソールに戻る
-
AppExpert > 書き換え > ポリシーに移動します
-
ポリシー cloud_pol に移動し、アクションを cloud_act(以前に作成したもの)に変更します。
-
書き換えポリシーのタイプを選択するには、[ セキュリティ] > [SSL フォワードプロキシ] > [プロキシ仮想サーバー] に移動します
-
「+ ポリシー」を選択します。
-
ポリシー:書き換え
-
タイプ:応答
-
作成したポリシーを選択します。この例では
cloud_pol
-
優先度:10
-
バインド
-
[完了] をクリックします
-
構成を保存
証明書キーをプロファイルにバインドする
-
[ システム] > [プロファイル] > [SSL プロファイル] に移動します
-
作成したプロファイルを選択します(例:
smesec_swg_sslprofile
) -
[ + 証明書キー] をダブルクリックします。
-
証明書キーを選択します(例:
smesec_cert_overall
) - [Select]をクリックします
- バインド] をクリックします
- 「完了」をクリックします
- 構成を保存
証明書ファイルをブラウザにインポートする
-
証明書をFirefoxにアップロードします(ニュースカテゴリのウェブサイトの例に従って)
-
選択したブラウザの [オプション] に移動します。この例では Firefox
-
「証明書」を検索>「証明書の表示」をクリック
-
[証明書マネージャ] ウィンドウで [インポート…] をクリックします。
-
証明書を参照し、[開く] をクリックします(この例では
smesec_cert1.cert
) -
証明書の作成時に作成したパスワードを入力します。
-
認証局が正しくインストールされている必要があります
デモ
ローカルブラウザからのニュースウェブサイトは、セキュアブラウザに自動的にリダイレクトされます。次のデモを参照してください
まとめ
この PoC ガイドでは、Azure で NetScaler ADC をセットアップし、SSL 転送プロキシと SSL インターセプトを構成する方法を学びました。この統合により、ブラウジングをリモートブラウザ分離サービスにリダイレクトすることで、リソースを動的に配信できます。したがって、ユーザーエクスペリエンスを犠牲にすることなく、企業ネットワークを保護します。