Citrix NetScalerによるアプリケーションセキュリティ



みなさんこんにちは! 多数の脅威が最近増加していることは誰にとっても秘密ではありません。 セキュリティのトピックと使用されるリソースへのアクセスの保護に多くの注意が払われています。 この記事では、Citrix NetScaler VPX製品とその統合Unified Gatewayプラットフォームを分析すると同時に、現在使用されている認証方法、多要素認証などについて説明します。 興味のある方は読んでください。

ラボ環境の構成から始めましょう。 この図は、ルーター、プライベートネットワークのセグメント、外部ネットワーク、および仮想マシンが配置され、長方形で囲まれたハイパーバイザーを示しています。 実際、すべての実験室作業は、特に仮想マシンに焦点を合わせます。 このスキームは、実験室のスタンドがどのように組織されているかを抽象的に示すために提示されています。 ご覧のように、スタンドは異なる役割と構成を持つ8つの異なる仮想マシンで構成されています。 この記事はすぐに本になり、ApacheまたはExchangeの構成方法に関する資料がいっぱいになるため、これらのオペレーティングシステムとその構成のインストール方法については検討しません。 主な焦点はNetScaler Unified Gatewayの構成にありますが、この記事を書いているときに、重要なポイントや他の仮想マシンについてコメントします。 そして最初に頭に浮かぶのは、NetScaler Gateway仮想マシンの入手先です。 Citrixの公式Webサイトから無料でダウンロードできます。

必要なのは登録することだけです。

テーブル内の仮想マシンのすべてのIPアドレスをすぐに書き出します。



ドメインコントローラーはtraining.labゾーンを担当するため、それ以降のすべての仮想マシンはそれに関連付けられます。

まず最初にすべきことは、NetScaler Unified Gatewayを構成することです。 これは、特定のユーザーに特定のコンテンツを提供する一種の統合プラットフォームです。 つまり、Citrix Unified Gateway(以降UGと略します)に対して認証を行うユーザーは、自分に割り当てられているリソースにのみアクセスできます。 これにより、セキュリティが大幅に向上します。 このプラットフォームはCitrix NetScaler内で動作し、11番目以降のバージョンが付属しています。 それを構成します。 Webブラウザーを開き、NetScaller VPX(またはNS_VPX_1)のアドレスに移動します。 これはアドレス192.168.10.50です。



ログインとパスワードを入力するためのウィンドウが開き、データを入力します。 デフォルトでは、ユーザー名とパスワードはnsrootです。

これにより、NetScalerのホームページが開きます。



いくつかのタブがあります。 NetScalerは、WEBインターフェイスとコンソールインターフェイスの両方を使用して管理できることに注意してください。 構成タブ、つまり利用可能な製品の左下のウィンドウに興味があります。



Unified Gatewayを選択します 。 クリックすると、設定ウィザードが開きます。



彼は、始める前に、UGのパブリックIPアドレスが必要だと警告しています。 外部に公開することはありません。つまり、十分なプライベートIPアドレスがあることを意味します。 さらに、ルート証明書、認証アカウント、およびこれらのユーザーがログオンするアプリケーションが必要です。 これがすべてであり、さらに設定されます。 [ 開始]をクリックします。



UGの機能を示す別のウィンドウが表示されます。 続行をクリックします。

さらに、構成は、仮想サーバー、サーバー証明書、認証、ポータルテーマ、およびアプリケーションの5つの構成手順で構成されます。

構成するために最初に提案されるのは、仮想サーバーです。 小さな余談-ここで、仮想サーバーは、Citrix NetScalerが対話する特定のサービスを説明する情報のセットにすぎません。 ほとんどの場合、これは「名前」、IPアドレス、およびポート番号です。



ug1という名前を付け、IPアドレス192.168.10.90を設定します。 ネットワークがIPv6アドレスを使用している場合、その横にdawを配置して登録できます。 ポート443はデフォルトで登録されています。 続行をクリックします。



既存の証明書サーバーを選択し、[ 続行 ]をクリックします。



認証設定ウィンドウが開きます。 Active Directory / LDAPおよび既存のtraining.lab_polサーバーを介してメインの認証方法を選択します。 続行をクリックします。



UGに適用するテーマを選択します。 ここで、選択は任意です。 X1を選択しました。 続行をクリックします。



そして、アプリケーションをセットアップするための最後のウィンドウが開きます。 現時点では、アプリケーションを構成せずに[ 完了 ]をクリックします。

これでUGが起動し、それを実行できます。

ページをキャッシュしないように、プライベートWebブラウザウィンドウを開きます。



そして、アドレス192.168.10.90をダイヤルします。



Unified Gatewayのログオンウィンドウが開きます。 パスワードCitrix123でuser1アカウントを使用しています。



[ クライアントレスアクセス]を選択します



このユーザーの個人ページにアクセスします。ここには、ユーザーのサイト、アプリケーションが表示されます。 現在空です。 WEBアプリケーションの追加に移りましょう。

今日、独自のサービスとリソースを持たない会社を想像することは困難です。 たとえば、メール、プラットフォームへの一般的なアクセスなど。 そして、これらのリソースへのアクセスは、社内だけでなく社外でも組織化する必要があります。 現時点では、会社のリソースへのリモートアクセスを整理することは難しくありません。 ただし、多くの場合、必要に応じて任意のサービスへのリモートアクセス、マシン全体(仮想または物理)へのアクセスが許可されるようなアプローチを使用します。 この方法の欠点はたくさんあります。 負荷から始まり、安全で終わります。 また、ユーザーがメールをチェックしたり、手紙にすばやく返信したりする必要があるときに、マシン全体にアクセスする必要があるのはなぜですか。 これに加えて、接続を確立し、必要なコンピューターにログインし、目的のリソースを開き、そこにパスワードでログインを入力するという形で、認証手順を数回実行する必要があります。 これにより、費やす時間が大幅に増加し、アクセスプロセスが複雑になります。

認証を簡素化するために、SSOメカニズムが発明されました(英語のシングルサインオンから)。 このテクノロジーにより、ユーザーは利用可能なアプリケーションを使用し、再認証を必要とせずにアプリケーションを切り替えることができます。 つまり、開かれた各リソースでパスワードを使用して同じログインを入力する必要はありません。 SSOはさまざまな認証方法で動作しますが、この記事ではフォームベース、NTLM、LDAP、RADIUSの一部のみを検討します。

最も人気のあるものから始めましょう。 これはフォームベース認証です。 彼女の仕事について簡単に:

  1. ユーザーがWebサーバーにページを要求します。
  2. Webサーバーは、これが認証されていない未知のユーザーであることを認識し、ログインとパスワードを入力するためのフォームを含むWebページを返します。
  3. このページを受け取ったユーザーは、必要なフォームに記入し、Webサーバーに送り返します。
  4. このデータを受信したWebサーバーは、そのようなユーザーの存在を確認し、このアカウントが認証された場合、最初に要求されたページをユーザーに送信します。

ほとんどすべての最新のWebサーバーは、このタイプの認証をサポートしています。
Apache 1という名前の事前作成された仮想マシンで、SugarCRMシステムが実行されています。 タスクスケジューラ、従業員のリスト、連絡先のリスト、さまざまなトランザクションに関する情報など、優れた機能と機能を備えています。 この製品をさらに詳しく調べたい場合は、指定されたリンクをクリックしてください 。 私たちのタスクは、このサービスをUnified Gatewayに統合し、SSOを構成することです。



NetScalerを開き、Unified Gatewayに移動します。



UGパネルが開きます。ここには、リアルタイムのパフォーマンスを示すさまざまなグラフとチャートがあります。 ug1をクリックして、その設定に入ります。



以前に設定した非常に5つの設定オプションが表示されます。 アプリケーションを選択します





Web Applicationを選択します



WEBアプリケーションの構成ページに移動します。 名前フィールドにSugarCRMと記述し、アプリケーションタイプフィールドにドロップダウンリストからイントラネットアプリケーションを選択し、「 Unified Gateway URLからこのアプリケーションにアクセスできるようにしますか? 」 つまり、Unified Gateway URLを介してこのアプリケーションを使用可能にします。



Dawが設定されると、SugarCRMのURLパラメーターを入力するためのフィールドが開きます。 最初のフィールドに、アドレス/sugarcrm/index.phpを書きます。 それがメインページのアドレスです。 2番目のフィールドのパラメーターは自動的に入力されます。 次に、このサービスが実行されているサーバーを選択する必要があります。 「+」の付いたボタンをクリックします。



新しい設定ウィンドウを開く前に。 「名前」フィールドに、 apache.training.labと書きます 。 ドロップダウンリストから、 HTTPプロトコルを選択します 。 次のフィールドで、 ug1.training.labを指定します。 SugarCRMを実行しているサーバー(つまり、Apache 1)のIPアドレスを書き留め、「+」をクリックして、アドレスが下部のフィールドに追加されるようにします。 OKをクリックします。



構成された設定を確認できる要約ウィンドウが開きます。 そうです、[ 完了 ]をクリックます。



Webアプリケーション設定ウィンドウに戻り、仮想サーバーが追加されたことを確認します。 続行をクリックします。



設定されたWEBアプリケーションを含む最終ウィンドウが表示されます。



アプリケーションがUnified Gatewayリストに表示されていることを確認します。



[ 続行して完了]をクリックます。 アプリケーションが作成されました。 UGのアドレスにアクセスして、可用性を確認しましょう。

アドレス192.168.10.90に移動します。



同じ資格情報(user1 / Citrix123)を入力します。



[ クライアントレスアクセス]を選択します



そして、Enterprise WEB Sitesウィンドウに、登場したSugarCRMが表示されます。 現在の構成では、SSOをまだ構成していないため、クリックすると、ログインとパスワードのリクエストを含むページが開きます。

フォームベース認証がどのように機能するかを理解するために、その機能のメカニズムをさらに詳しく見てみましょう。



新しいタブを開き、Apache 1 Webサーバー(Unified Gatewayアドレスではありません)にあるSugarCRMページに移動します。 クライアントがサーバーと通信する方法を理解するには、そのソースコードを調べる必要があります。 Ctrl + Uを押すと、ページソースビューモードに切り替えることができます(Firefox、Chrome、およびIEでも同じです)。



多くのテキストを含むページが開きます。 ユーザーのログインを担当するフォームを見つける必要があります。 Ctrl + Fキーの組み合わせを押して検索パネルを開き、 「ユーザー名」と入力します





そして、彼は本当にそのような線を見つけて、それを緑色で強調したことがわかります。 以下に「パスワード」という行があります。 これらは、ログインとパスワードを担当するフォームです。 実際、これらのフォームは、アプリケーションごとに異なる方法で呼び出される場合があります。

SugarCRMでは、 「user_name」および「user_password」と呼ばれます



この情報を覚えて、少し後で戻ってきます。



パスワードでログインログインページに戻り、何かを入力する前に、ユーティリティ「Live HTTP headers」を開きます。

その後、ユーザー名とパスワード(user1 / Citrix123)を入力できます。 [ ログイン]をクリックして、「ライブHTTPヘッダー」に戻ります。



アプリケーションは、HTTPプロトコルバージョン1.1を使用して、POSTメッセージで多くの異なるパラメーターをPOSTアドレス/sugarcrm/index.phpに送信することがわかります。 この情報は、フォームベースのSSOプロファイルを作成するときに非常に役立ちます。



この行をコピーしてメモ帳に保存します。

次に、リクエストの送信後にアプリケーションに返される内容を確認する必要があります。



応答コード302の行までスクロールします。

Locationヘッダーとそのパラメーターに興味があります。 この行は、クライアントが正常に認証され、メインページにリダイレクトされることを示しています。 この行もコピーします。
次に、NetScalerを構成します。



メインページから、 [セキュリティ]-> [AAA]-[アプリケーショントラフィック]-> [ポリシー]-> [トラフィック]に移動します。 [ フォームSSOプロファイル ]タブに移動し、[ 追加 ]ボタンをクリックします。



SSOプロファイル設定ウィンドウが開きます。

1)プロファイルの名前を書きます-sugarcrm_SSO。
2)このプロファイルが作成されるURLを登録します。
3)ログインを含むフォームの名前が登録されます。
4)パスワードを含むフォームの名前が登録されます。
5)このプロファイルの式または操作を作成します。 これがコピーされたものです。
6)応答サイズを16192に設定します。これは戻りサイズです。
7)抽出、ドロップダウンリストから[動的]を選択します。
8)メソッドの送信POSTを選択します。 つまり、POSTメッセージを送信します。

作成をクリックします



次に、[ トラフィックプロファイル ]タブを開き、[ 追加 ]ボタンをクリックします。



1)プロファイル名を設定します。
2)タイムアウトを設定します(この場合は1分)。
3)このプロファイルのSSOメカニズムをオンにします。
4)以前に作成されたSSOプロファイルを選択します。
そして、 作成ボタンをクリックします

[ トラフィックポリシー ]タブに移動し、[ 追加 ]ボタンをクリックします。



ここでは、フォームに基づいたSSOが実行される条件を作成します。

1)sugarcrm_SSO_polという名前を付けます。
2)ドロップダウンリストから以前に作成したプロファイルを選択します。
3)このポリシーが機能する式を選択します。 HTTP.REQ.URL.PATH_AND_QUERY.EQ( " /sugarcrm/index.php ?アクション=ログイン&モジュール=ユーザー")。 この式では、Live HTTPヘッダーからコピーしたアドレスを追加します。

作成をクリックします 。 ポリシーが作成され、次にそれらを適用する必要があります。



[ トラフィック管理 ] -> [負荷分散]-> [仮想サーバー ]タブに移動し、作業中のapache.training.labを選択して[ 編集 ]ボタンをクリックします。

使い慣れた仮想サーバー構成ウィンドウが開きます。 右側の[詳細設定]列が必要です。



ポリシーを選択します。



開いたウィンドウで、「+」ボタンをクリックします。



TrafficポリシーとトラフィックタイプRequestを選択します。 続行をクリックします。



[ポリシーのバインド]ウィンドウが開きます。ここで、ポリシーを選択する必要があります。 [ポリシーの選択]を開きます。



作成されたsugarcrm_SSO_polを選択し選択ボタンを押します。



ポリシーが選択されていると確信しています。 [ バインド]ボタンと[ 完了]ボタンを押します。
ポリシーが適用されます。つまり、SSOメカニズムが機能する必要があります。 ご覧ください。



192.168.10.90を開きます(タブを作成しました)。



おなじみのウィンドウが開きます。 そこにすべて同じアカウントを入力します。



[ クライアントレスアクセス]を選択します



SugarCRMショートカットをクリックします。



そして、パスワードを使用して追加のログインをバイパスし、自動的にSugarCRMシステムに入ります。 ご覧のとおり、これは、開いているアプリケーションごとに同じユーザー名とパスワードを入力するよりもはるかに便利です。

次に確認する認証方法はNTLM(NT Lan Manger)です。 オペレーティングシステム用にMicrosoftが開発したプロトコル。 最新バージョンはNTLMv2と呼ばれ、Windows 10まで使用されています。認証方法はフォームベースとは少し異なりますが、非常に簡単です。

1)クライアントはサーバーに要求を送信し、サーバーがサポートしているNTLMのバージョンを報告します。
2)要求を受信すると、サーバーは最も安全なプロトコルを選択し、クライアントに応答を送信します。
3)回答を受け取ったクライアントは、どの方言(またはプロトコルバージョン)でサーバーと通信するかを理解し、要求をNEGOTIATE_MESSAGEに送信します。 つまり、近所の設立。
4)このメッセージを受信したサーバーは、 CHALLENGE_MESSAGEを送信します。 これはランダムな8バイトシーケンスです。
5)クライアントはこのシーケンスを受信し、パスワードを使用してそれを暗号化し、 AUTHENTICATE_MESSAGE応答をサーバーに送信します
6)応答を受信したサーバーは、同じシーケンス暗号化操作を実行し、結果を比較します。 これらの結果に基づいて、アクセスを許可または拒否します。

NTLMプロトコルで使用される有名なWebアプリケーションの1つは、Microsoft Sharepointです。 この仮想マシンはすでに作成されています。 NetScalerに追加するだけです。



NetScalerのメインページで、 Traffic Management-> Load Balancing-> Serversに移動し、 Addボタンをクリックします。



サーバー名srv_sharepointとIPアドレス192.168.10.25(仮想マシンアドレス)を記述します。 作成をクリックします



次に、[ サービス ]タブに移動し、[ 追加 ]ボタンをクリックします。



サービス設定ウィンドウが開きます。 svc_sharepointという名前を書きます。 既存のサーバー (つまり、 既存のサーバー )を選択し、以前に追加したsrv_sharepointを選択します。 つまり、192.168.10.25にあるサーバーのポート80で実行されるHTTPサービスを選択します。 OKをクリックします。



次のステップは、Sharepointの仮想負荷分散サーバーを作成することです。 [ 仮想サーバー ]タブに移動し、[ 追加 ]ボタンをクリックします。



設定ウィンドウが開きます。 名前フィールドに、sharepoint.training.lab、HTTPプロトコルおよびIPアドレス192.168.10.110を書き込みます。 その後、[ OK ]をクリックします。



次のウィンドウには、バランシングが設定されていないというメッセージが表示されます。 最初の行をクリックして、サービス設定に入ります。



サービス選択ウィンドウをクリックします。



利用可能なサービスのリストを含むウィンドウが開きます。 svc_sharepointを選択し、 選択ボタンを押します。



その後、前のウィンドウに戻り、 バインドボタンを押します。



その後、1つの仮想バランシングサーバーがあることを示す通知ウィンドウが表示されます。

サービスが構成され、ログインを試行します。



ブラウザを開き、ドメイン名に移動します。



認証ウィンドウがすぐに表示されます。 パスワードを入力すると、メインページが表示されます。 彼に直接行くことに注意してください。 ただし、Unified Gatewayを介してアクセスする必要があります。

これまで、NetScalerで構成しました。 Unified Gatewayに追加します。



UGを開きます。



設定済みのug1を選択します。



そして、アプリケーションウィンドウで、鉛筆でボタンをクリックします(編集を意味します)。



その後、鉛筆が「+」に変わり、クリックします。



WEBアプリケーションを選択します。



アプリケーションに名前を付け、タイプをクライアントレスアクセスとして定義します。



このサービスへのURLを登録し、[ 続行 ]をクリックします。



概要ウィンドウが表示されます。 [ 完了]をクリックます。



その後、以前に作成されたSugarCRMの横のリストにSharePointアプリケーションが表示されます。 ユーザーアカウントでログインして、可用性を確認しましょう。



UGを開きます。



資格情報を入力します。



[ クライアントレスアクセス]を選択します



アプリケーションが実際に表示されたことがわかります。 クリックすると、すぐに認証ウィンドウが表示されます。



これは私たちには適さず、NTLMv2プロトコルのSSO設定に戻ります。



NetScalerに戻ります。 NetScaler Gateway->ポリシー->セッションに移動します。 [ セッションプロファイル ]タブの横にある[ 追加 ]ボタンをクリックします。



SSO_NTLM_Sharepointという名前の新しいプロファイルを作成します。



[ クライアントエクスペリエンス ]タブを選択します [ クライアントレスアクセス]ドロップダウンリストから[ 許可]を選択し、WebアプリケーションのSSOを設定します。



[セキュリティ]タブに移動し、許可(つまり、有効化)などの承認の標準アクションを選択します。 最後に、[ 作成 ]ボタンをクリックします

次に、セッションのポリシーを作成する必要があります。



これを行うには、[ セッションポリシー ]タブに移動し、[ 追加 ]ボタンをクリックします。



ポリシーにSSO_NTLM_sharepointという名前を付けます。 ドロップダウンリストから、以前に作成したプロファイルを選択します。 そして、式ns_trueを書きます。

次に、作成したポリシーをUnified Gatewayにバインドする必要があります。



NetScaler Gateway- > Virtual Serversに移動し、既存のUG_VPN_ug1を編集します



「+」をクリックします。



Sessionやtype Request(つまり、requests)などの新しいポリシーを定義します。



[ バインド追加 ]ボタンをクリックして、 セッションポリシー をバインドします。



[ ポリシーバインド]ウィンドウが開きます。 ドロップダウンリストをクリックします。



そして、以前に作成したSSO_NTLM_sharepointを選択します。



その後、[バインド]ボタンを押してバインドし、ウィンドウを閉じます。



その後、2つのセッションポリシーがあることがわかります。

ユーザーとしてログインしてみましょう。









SharePointショートカットをクリックします。



そして、SharePointのページに自動的にアクセスします。 ug1.training.labがアドレスバーに書き込まれていることに注意してください。 したがって、Unified Gatewayは、パスワードを使用してログインを再要求せずにアプリケーションにスキップしました。 認証用。 したがって、SSOをNTLMv2プロトコルで動作するように構成しました。

次に構成するサービスは、Outlook Web AccessまたはOWAです。 メールサーバーにアクセスするための最も人気のある企業Webクライアントの1つ。 したがって、必ず追加してください。 これは、以前のものより少し長く構成されていますが、非常に単純です。
最初に、OWAアプリケーションがリンクするExchangeを備えた仮想サーバーを追加します。



[トラフィック管理]-> [負荷分散 ] -> [サーバー]に移動し、[ 追加 ]ボタンをクリックします。



サーバー設定ウィンドウが開きます。 [名前]フィールドにsrv_exchangeと書き込み、サーバーのIPアドレスを以下のように書きます:192.168.10.20、[ 作成 ]をクリックします

次に、Exchangeサーバーの状態に応答するサービスを追加する必要があります。 OWAアプリケーションが機能するために必要です。



[トラフィック管理]-> [負荷分散 ] -> [モニター ]に移動し、[ 追加 ]ボタンをクリックします。



設定ウィンドウが開き、名前を指定して、ドロップダウンリストからHTTPプロトコルを選択します。

次に、下にスクロールします



Secureの近くにDawを配置しますが、 [ 作成 ]をクリックしないでください



戻って、[ 特殊パラメータ ]タブに移動します。 ここでは、HTTPリクエスト「GET /owa/healthcheck.htm」を作成します。 そして、以下にコード200を残します。つまり、このページをリクエストするとき、答えはコード200(つまりOK)を伴うはずです。 作成をクリックします
次に、Exchangeサーバーの負荷分散サービスを作成する必要があります。



[トラフィック管理]-> [負荷分散 ] -> [サービス ]に移動し、[ 追加 ]ボタンをクリックします。



サービスの名前を書きます。 既存のサーバー( Existing Server )を選択し、ドロップダウンリストから、以前に追加されたサーバーとSSLプロトコルを選択します。 OKをクリックします。



[モニター]タブで、1つのサービスが既に実行されていることがわかります。 クリックしてください。



tcp-defaultサービスが既に実行されていることがわかります。 [ バインディング追加 ]ボタンをクリックして、別のボタンを追加します。



設定ウィンドウが開きます。 [ モニター選択 ]タブをクリックします。



前に作成したowa_monを選択し、「 選択」ボタンを押します。



[ バインド ]ボタンでバインドします。



サービスが関連付けられていることを確認し、[ 閉じる ]をクリックします

次に、Exchangeサーバー用の仮想バランスサーバーを作成する必要があります。



[トラフィック管理]-> [負荷分散]-> [仮想サーバー]に移動し、[ 追加 ]ボタンをクリックします。



設定ウィンドウが開きます。 サーバー名を登録し、ドロップダウンリストからSSLプロトコルとIPアドレス192.168.10.140を選択します。 OKをクリックします。



[ サービスとサービスグル​​ープ ]タブで、どのサービスにもバインドされていないことがわかります。 この行をクリックします。



サービスバインドウィンドウが開きます。 [ サービスの選択]をクリックします



svc_exchangeを選択します。



バインドをクリックします。



そして続行します。

次に、仮想サーバーにSSL証明書を追加する必要があります。



[ 証明書 ]タブに移動し、[ サーバー証明書なし ]行をクリックします。



[ サーバー証明書の選択]をクリックします



既存のwildcard.training.labを選択します。



証明書が選択されていることを確認し、「 バインド」ボタンをクリックします。



証明書サーバーが追加されたことを示すウィンドウが表示されます。 続行をクリックします。

次に行うことは、仮想サーバーポリシーを構成することです。



[ 詳細設定 ]タブで、[ ポリシー ]を選択します。



空のウィンドウが開きます。 「+」をクリックします。



ドロップダウンリストから[レスポンダー](つまり、回答)を選択し、[ 続行 ]をクリックします。



次に、このポリシーをバインドします。 「+」ボタンをクリックして、このポリシーのアクションを作成します。



名前と式を「HTTP.REQ.URL.STARTSWITH(「/ owa」)。NOT」と書きます。 つまり、「/ owa」ページからではないリクエストの場合は、+ボタンを押して次のアクションを追加します。



同じ名前を書き、ドロップダウンリストから[リダイレクト]を選択します(リダイレクト)。 以下は「/ owa」という表現です。 つまり、このポリシーはリクエストをこのページにリダイレクトします。 作成をクリックします



その結果、すべてのポリシー設定のウィンドウが表示されます。 つまり、「/ owa」で始まっていないすべてのリクエストは、このページにリダイレクトされます。 作成をクリックします



そして、このポリシーを「 バインド」ボタンでバインドします。



次に、SSOを構成するために仮想AAAサーバー(認証、承認、アカウンティング)を追加する必要があります。

[セキュリティ]-> [AAA]-[アプリケーショントラフィック]-> [仮想サーバー]に移動し、[ 追加 ]ボタンをクリックします。



名前、IPアドレス、および認証ドメイン(つまり、TRAININGドメインに属する全員)を登録します。 OKをクリックします。

これに続いて、同様の証明書のセットアップが行われます。













高度なポリシーは使用せず、[ 続行 ]をクリックします。



基本認証ポリシーを設定します。



LDAPプロトコルを選択し、[ 続行 ]をクリックします。



次に、ポリシーをバインドする必要があります。 [ ポリシーの選択]をクリックします。



そして、先ほど作成したtraining.lab_poolを選択します。



バインドをクリックします。



メニューの右側に[詳細設定]ウィンドウがあり、そこから[ ポリシー ]を選択します。



新しいポリシーを追加できる空のウィンドウが開きます。 「+」をクリックします。



セッションのポリシーを選択します。



必要なポリシーを作成します。



名前を設定し、式「ns true」を記述します。 次に、「+」をクリックして、このポリシーにアクションを追加します。



許可ルールでは、許可(つまり許可)の方法を定義します。 SSOを有効にし、ドメイン、Cookieを決定し、有効性を設定します。 これらのパラメータをグローバルに定義し、[ 作成 ]ボタンを使用して作成するには、カスタムdawフィールドの反対側に配置することを忘れないでください。



最後のウィンドウが表示され、[ 作成 ]をクリックします



最初のウィンドウに戻り、以前に作成したポリシーが添付されていることを確認します。 結果のバインドボタンを結合します。



NetScalerに構成を保存することを忘れないでください。

次に、webmail.training.labで認証を構成します。



[トラフィック管理]-> [負荷分散]-> [仮想サーバー]に移動して、サーバーを選択し、[ 編集 ]ボタンをクリックして編集します。



認証を選択します。



[ フォームベース認証]を選択し、名前、仮想サーバーの種類を指定し、ドロップダウンリストから先に追加したものを選択します。



すでに1つのポリシーがあります。 ただし、システムにログインおよびログアウトするためのポリシーを追加する必要があります。 「+」をクリックします。



開いたウィンドウで、[ トラフィック]を選択します。



ここで、ポリシーを作成してバインドする必要があります。



ポリシーに名前を付けて、「HTTP.REQ.URL.CONTAINS( "/ owa / auth / logon.aspx")」という式を設定します。 「+」を押してプロファイルを作成した後。



名前を設定し、タイムアウトを分単位で決定し、SSOを有効にします。 次に、SSOが機能するフォームを決定する必要があります。 フォームSSOプロファイルの反対側の「+」をクリックします。



SSOフォーム設定ウィンドウが開きます。 名前、アクションURL、ログインフォーム、パスワード、式、その他の属性を設定します。 実際、これらは標準の認証パラメーターであり、OWAアプリケーションをセットアップする場合も同じであるため、詳細を説明する意味はありません。 作成をクリックします



前のトラフィックポリシーウィンドウに戻り、[ 作成 ]をクリックします



ポリシーバインドウィンドウに入り、 [ポリシー選択]フィールドで実際に選択されていることを確認します。 [ バインド ]をクリックした後。
これで、ログインまたはログオンのポリシーを作成してリンクしました。 終了またはログオフするために作成する必要があります。



「+」の付いたボタンをクリックして、別のポリシーを作成します。



トラフィックのポリシーを選択し、[ 続行 ]をクリックします。



新しいバインディングを追加します。



優先度90(前の優先度は100)を設定し、「+」をクリックする前に、新しいポリシーを追加します。



トラフィックポリシーを作成するためのウィンドウが開きます。名前を設定し、式「HTTP.REQ.URL.CONTAINS(「/ owa / logoff.owa」)を記述します。 「+」が付いたボタンをクリックして、プロファイルを作成します。



ポリシーに名前を付け、タイムアウトを分単位で示し、SSOを有効にして、ログアウト開始の前にDawを配置します(つまり、終了を開始します)。作成をクリックします



前のウィンドウに戻ります。プロファイルが選択されていることを確認し、「作成」をクリックします



ポリシーバインドウィンドウで、正しいポリシーが選択され、[ バインド ]ボタンでバインドされていることがわかります



ウィンドウが開き、ポリシーのリストが表示されます。閉じるをクリックします



そして完了

構成をNetScalerに保存します。

必要なすべての設定とポリシーが構成されたので、アプリケーション自体をUnified Gatewayに追加します。



ユニファイドゲートウェイに渡します。



ug1を選択します。



鉛筆でボタンをクリックして、編集モードに移動します。



そして、新しいアプリケーションを追加します。



WEBアプリケーションを選択します。



名前を設定します。ただし、[ アプリケーションの種類]ウィンドウでは、[クライアントレスアクセス]ではなく[このNetScalerの事前構成済みアプリケーション] 選択します。次に、サービスURLを規定します。そして、仮想サーバーを選択します。



それを選択し、後続のウィンドウで[ 続行して完了 ]をクリックします



アプリケーションが追加されました。次に、UGにユーザーとしてログインして確認します。







表示されるアプリケーションを確認してクリックします。



また、追加の承認ウィンドウなしで、メールまたはOutlook Web Appにアクセスします。
したがって、SSOメカニズムを使用して、Unified Gatewayを介した企業メールへのアクセスを設定しました。つまり、ユーザー名とパスワードを一度入力します。

ただし、これは安全ではないと主張する人もいれば、パスワード付きのユーザー名を取得すると、ユーザーのリソースにアクセスできます。このような場合、多要素認証が提供されます。 1つではなく、複数のパスワードがログインに要求される場合。

次の例では、2要素認証(または2要素認証)を構成する方法を見ていきます。2番目の方法として、RADIUSサーバーを介した認証を選択します。
RADIUSは、AAAグループに属するプロトコルです。これにより、ユーザーの認証(アカウントの真正性の検証)、承認(特定のオブジェクトに対する権限の確認)、実行されたアクションの追跡(つまり、ユーザーのアクションの監査)を行うことができます。

認証にもっと関心があります:

1)クライアントは、送信されるデータ(ログインとパスワード)を含むリクエストを送信します。
2)このデータを受信したサーバーは、データを検証し、応答を送信します。3つの可能な答えがあります:




NetScalerメニューから、Unified Gatewayを選択します。



ug1を選択します。



認証パネルで、鉛筆でボタンをクリックします。



以前に構成されたウィンドウが開き、[ セカンダリ認証方法]ドロップダウンリストから[RADIUS]を選択します。



そして、RADIUSサーバーのパラメーターを入力します。そのIPアドレス、ポート、秒単位のタイムアウト(通常は3秒で十分であり、作業チャネルがある場合)、およびUGを入力するときに入力する必要がある秘密キー。ラボ作業の一環として、Citrix456キーを選択します。実際の環境では、より強力なキーを選択してください。 [ 続行して完了 ]をクリックした後

2番目の認証方法が追加されました。次に、その動作を確認します。



ユニファイドゲートウェイを開きます。


そして、パスワードを入力するための2番目のフィールドが表示されていることがわかります。資格情報(user1 / Citrix123 / Citrix456)を入力し、「ログオン」をクリックします



使い慣れたウィンドウが表示され、セットアップが成功したことを意味します。このようにして、Unified Gatewayで多要素認証を設定し、セキュリティを強化しています。
この記事で最後に取り上げるのは、nFactor認証です。このタイプの認証は、Citrixによって発明され、プラットフォームに統合されました。これは非常に柔軟で信頼できる方法です。したがって、私は彼を無視することはできません。

NS さらに、nFactor認証はグラフィカル環境では構成されませんが、コンソールを使用します。



Puttyプログラムを開きます(別の端末を使用することもできます)。NS_VPX_2(192.168.10.55にある)という名前のブックマークに既にあります。開けます。

最初に、パスワードを入力してログインを入力するように求められます。標準のnsroot / nsrootを入力します。

NetScalerコンソールに入ります。ここで、AAAサーバーを作成して構成し、ドメイン証明書をそれにバインドする必要があります。次のコマンドを入力します。

add authentication vserver security.training.lab SSL 192.168.10.125 443 –AuthenticationDomain training.lab 

つまり、192.168.10.125、ポート443、 training.lab認証ドメインにあるSSLを介して、認証security.training.lab仮想サーバーを追加します。

次に、このサーバーに証明書をバインドする必要があります。 以下を入力してください:

 bind ssl vserver security.training.labcertKeyName wildcard.training.lab 

wildcard.training.lab証明書をsecurity.training.lab仮想サーバーにバインドします。

コマンドで認証ポリシーを追加します:

 add authentication Policy training.lab_ldap –rule true -action ad.training.lab 

training.lab_ldapという名前の認証ポリシーと、 ad.training.labドメインコントローラーを介した認証アクションを追加します。

次に実行する必要があるのは、バインドする必要がある認証スキームとポリシーを作成することです。 以下を紹介します。

 add authentication loginSchema nfactor1 –authenticationSchema nfactorauth.xml –userCredentialIndex 1 –passwordCredentialIndex 2 

スキームを追加し、記録するXMLファイルを指定し、記録パラメーター(ログインとパスワードのフォーム)を指定します。

次に、作成したスキームにポリシーを関連付けます。

 add authentication loginSchemaPolicy nfactor1 –rule true –action nfactor1 

また、スキップのスキームを作成します。

 add authentication loginSchema nfactor2 –authenticationSchema noschema add authentication policyLabel nfactor_label –loginSchema nfactor2 

次に、多要素認証用のLDAPおよびRADIUSサーバーのポリシーと認証を作成する必要があります。 RADIUSサーバーを介して認証を追加します。

 add authentication radiusAction radius_actserverIP 192.168.10.13radKey Citrix456 

RADIUSを介して認証方法を決定し、IPアドレスとキー(またはパスワード)を設定します。

 add authentication policy radius –rule true –action radius_act 

ポリシーを追加し、上記で作成したメソッドにバインドします。

次に、スキームを認証仮想サーバーにバインドする必要があります。 次のコマンドを作成します。

 bind authentication vserver security.training.lab –policy nfactor1 –priority 1 –gotoPriorityExpression END 

つまり、 nfactor1ポリシーをsecurity.training.lab仮想サーバーにバインドし、優先度を設定します。

そして、作成された認証ポリシーの両方を仮想AAAサーバーにバインドします。

 bind authentication vserver security.training.lab –policy training.lab_ldap –priority 1 –nextFactor nfactor_label –gotoPriorityExpression next bind authentication policyLabel nfactor_label –policyName radius –priority 2 –gotoPriorityExpression end 

つまり、優先度1でLDAPサーバーを介した認証ポリシーが実行され、次に優先度2でRADIUSサーバーを介した認証ポリシーが実行されます。 最後のendパラメーターは、アクションが終了することを示します。 つまり、これら2つのポリシーは一緒に機能するはずです。

最後に、仮想サーバーの認証をアクティブにします。

 set lb vserver nfactor.training.labauthenticationHost security.training.labAuthentication ON 

仮想サーバーnfactor.training.labに対して 、認証ホストsecurity.training.labを指定し、認証を有効にします。

設定を保存した後:

 save config 

これでセットアップは完了です。 作業を確認してください。



指定されたサーバーを開きます。



そして、XMLスキーマのコンテンツとともに、仮想AAAサーバーにスローされます。 つまり、ログインを入力するためのフォームとパスワードを入力するための2つのフォームがあります。



データを正しく入力すると、次のメッセージが発行されます。

したがって、LDAPおよびRADIUSプロトコルを使用してnFactorを展開しました。 そして、仮想AAAサーバーがユーザーを認証する方法をテストしました。

まとめると。 この記事のフレームワークでは、Citrix NetScaler製品を分解し、WEBインターフェイスとコンソールインターフェイスを使用して構成しました。 ユニファイドゲートウェイプラットフォームを上げ、アプリケーションを追加し、ポリシーを作成し、それらを構成し、サービスにアタッチする方法を学びました。 さらに、認証方法、多要素認証と通常認証の違いを見つけました。

私はすべてを可能な限り最大限かつ分かりやすく説明しようとしました。 さらに設定を加えることで、有用かつ有用であることが判明したことを願っています。 ご質問がある場合は、コメントでお気軽にお問い合わせください。 読んでくれてありがとう、そして次の問題を楽しみにしています!

Source: https://habr.com/ru/post/J347398/


All Articles