Citrix ADC

Web認証

認証、承認、および監査により、Web サーバに対してユーザを認証できるようになりました。Web サーバが HTTP リクエストで必要とするクレデンシャルを提供し、Web サーバの応答を分析して、ユーザ認証が成功したかどうかを判断します。他のタイプの認証ポリシーと同様に、Web 認証ポリシーは式とアクションで構成されます。認証ポリシーを作成したら、それを認証仮想サーバーにバインドし、プライオリティを割り当てます。バインドするときは、プライマリポリシーまたはセカンダリポリシーとして指定します。

特定の Web サーバで Web ベース認証を設定するには、まず Web 認証アクションを作成します。Web サーバーへの認証は厳密な形式を使用しないため、アクションの作成時に Web サーバーが必要とする情報と形式を正確に指定する必要があります。これを行うには、Citrix ADCアプライアンスの詳細ポリシーで、次の項目を含む式を作成します。

  • [サーバ IP]:認証 Web サーバの IP アドレス。
  • [サーバポート(Server Port)]:認証 Web サーバのポート。
  • 認証規則-Citrix ADCアプライアンスの詳細ポリシーの式。Webサーバーが想定する形式でユーザーの資格情報が含まれます。
  • スキーム:HTTP(暗号化されていない Web 認証の場合)または HTTPS(暗号化された Web 認証の場合)。
  • 成功ルール:ユーザーが正常に認証されたことを示すWebサーバーの応答文字列と一致するCitrix ADCアプライアンスの詳細ポリシーの式。

他のすべてのパラメータについては、add authentication action コマンドの通常の規則に従います。

次に、そのアクションに関連付けられたポリシーを作成します。このポリシーはLDAPポリシーに似ており、LDAPポリシーと同様に、Citrix ADCアプライアンス構文を使用します。

これらの手順は、認証する Web サーバの認証要件をすでに理解しており、Web 認証サーバがすでに設定されていることを前提としています。

コマンドラインインターフェイスを使用して Web 認証アクションを構成するには

コマンドラインで Web 認証アクションを作成するには、コマンドラインで次のコマンドを入力します。

add authentication webAuthAction <name> -serverIP <ip_addr|ipv6_addr|\*> -serverPort <port|\*> [-fullReqExpr <string>] -scheme ( http | https ) -successRule <expression> [-defaultAuthenticationGroup <string>][-Attribute1 <string>][-Attribute2 <string>] [-Attribute3 <string>][-Attribute4 <string>] [-Attribute5 <string>][-Attribute6 <string>] [-Attribute7 <string>][-Attribute8 <string>] [-Attribute9 <string>][-Attribute10 <string>] [-Attribute11 <string>][-Attribute12 <string>] [-Attribute13 <string>][-Attribute14 <string>] [-Attribute15 <string>][-Attribute16 <string>]
<!--NeedCopy-->

add policy expression post_data ""username=" + http.REQ.BODY(1000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("login=").BEFORE_STR("&") + "&passwort=" + http.REQ.BODY(1000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("passwd=")"

add policy expression length_post_data "("username= " + http.REQ.BODY(1000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("login=").BEFORE_STR("&") + "passwort=" + http.REQ.BODY(1000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("passwd=")).length"

add authentication webAuthAction webAuth_POST -serverIP 10.106.187.54 -serverPort 80 -fullReqExpr q{"POST /MyPHP/auth.php HTTP/" + http.req.version.major + "." + http.req.version.major + "\r\nAccept:\*/\*\r\nHost: 10.106.187.54\r\nReferer: http://10.106.187.54/MyPHP/auth.php\r\nAccept-Language: en-US\r\nUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)\r\nContent-Type: application/x-www-form-urlencoded\r\n" + "Content-Length: " + length_post_data + "\r\nConnection: Keep-Alive\r\n\r\n" + post_data} -scheme http -successRule "http.res.status.eq(200)"
<!--NeedCopy-->

構成ユーティリティを使用して Web 認証アクションを構成するには

構成ユーティリティでは、アクションの代わりにサーバーという用語が使用されますが、同じタスクを指します。

  1. セキュリティ > AAA アプリケーショントラフィック > ポリシー > LDAPにナビゲートして下さい。
  2. 詳細ウィンドウの [ サーバー ] タブで、次のいずれかの操作を行います。

    • 新しい Web 認証アクションを作成する場合は、[追加( Add)] をクリックします。
    • 既存の Web 認証アクションを変更する場合は、データペインでアクションを選択し、[ 編集] をクリックします。
  3. 新しい Web 認証アクションを作成する場合は、[ 認証 Web サーバーの作成 ] ダイアログボックスの [ 名前 ] テキストボックスに新しい Web 認証アクションの名前を入力します。名前は 1 ~ 127 文字で、大文字と小文字、数字、ハイフン(-)とアンダースコア(_)で構成できます。既存の Web 認証アクションを変更する場合は、この手順をスキップします。名前は読み取り専用で、変更できません。</span>
  4. [ Web サーバ IP アドレス ] テキストボックスに、認証 Web サーバの IPv4 または IPv6 IP アドレスを入力します。アドレスが IPv6 IP アドレスの場合は、最初に [IPv6] チェックボックスをオンにします。
  5. [ポート] テキストボックスに、Web サーバーが接続を受け入れるポート番号を入力します。
  6. [ プロトコル ] ドロップダウンリストで [ HTTP ] または [ HTTPS ] を選択します。
  7. [HTTP Request Expression] テキスト領域に、認証 Web サーバで想定される正確な形式でユーザのクレデンシャルを含む Web サーバリクエストを作成する PCRE 形式の正規表現を入力します。
  8. [認証を検証する式]テキスト領域に、ユーザー認証が成功したことを示すWebサーバー応答の情報を記述するCitrix ADCアプライアンスの詳細ポリシー式を入力します。
  9. 一般的な認証アクションのドキュメントの説明に従って、残りのフィールドに入力します。
  10. OK」をクリックします。