Citrix ADC

認証、承認、監査の仕組み

認証、承認、および監査は、適切な資格情報を持つすべてのクライアントが、インターネット上のどこからでも保護されたアプリケーションサーバーに安全に接続できるようにすることで、分散インターネット環境のセキュリティを提供します。この機能には、認証、認可、監査の 3 つのセキュリティ機能が組み込まれています。認証により、Citrix ADCは、ローカルまたはサードパーティの認証サーバーを使用してクライアントの資格情報を検証し、承認されたユーザーのみが保護されたサーバーにアクセスできるようにします。認証により、ADCは、各ユーザーがアクセスできる保護されたサーバー上のコンテンツを確認することができます。監査により、ADCは保護されたサーバーでの各ユーザーのアクティビティを記録できます。

分散環境で認証、承認、および監査がどのように機能するかを理解するために、従業員がオフィス、自宅、および出張時にアクセスするイントラネットを持つ組織を検討してください。イントラネット上のコンテンツは機密情報であり、安全なアクセスが必要です。イントラネットにアクセスするすべてのユーザーは、有効なユーザー名とパスワードを持っている必要があります。これらの要件を満たすために、ADCは次のことを行います。

  • ユーザーがログインせずにイントラネットにアクセスした場合、ユーザーをログインページにリダイレクトします。
  • ユーザーの資格情報を収集し、認証サーバーに配信し、LDAP 経由でアクセス可能なディレクトリにキャッシュします。詳しくは、「LDAPディレクトリ内の属性の決定」を参照してください。

  • ユーザーの要求をアプリケーションサーバーに配信する前に、ユーザーが特定のイントラネットコンテンツにアクセスする権限を持っていることを確認します。
  • セッションタイムアウトを維持します。このタイムアウトに達すると、ユーザーはイントラネットへのアクセスを回復するために再度認証する必要があります。(タイムアウトを設定できます)。
  • 無効なログイン試行を含め、ユーザーのアクセスを監査ログに記録します。

次のセクションでは、2つの認証メカニズムについて説明します。

  • フォームベースのAAA-TM。

  • 401認証はAAA-TMを有効にします。

フォームベースのAAA-TM

フォームベースの認証では、ログオンフォームがエンドユーザーに提示されます。このタイプの認証フォームは、多要素(nFactor)認証とクラシック認証の両方をサポートしています。

フォームベースのAAA-TM

フォームベースの認証が機能するには、次のことを確認してください。

  • 負荷分散仮想サーバーでは、認証がONになっている必要があります。

  • 「authenticationHost」パラメータを指定する必要があります。このパラメータには、ユーザーが認証のためにリダイレクトされる必要があります。これを設定するためのコマンドは次のとおりです:

    set lb vs lb1 -authentication on –authenticationhost aaavs-ip/fqdn
    
  • フォームベースの認証は、HTMLをサポートするブラウザで動作します

次の手順では、フォームベースの認証がどのように機能するかを説明します。

  1. クライアント(ブラウザ)は、TM(負荷分散/CS)仮想サーバー上のURLに対するGET要求を送信します。

  2. TM仮想サーバーは、クライアントが認証されていないと判断し、HTTP 302応答をクライアントに送信します。応答には、クライアントが認証仮想サーバーに/cgi/tmのGET要求を発行する隠しスクリプトが含まれています。
  3. クライアントは、ターゲットURLを含むGET /cgi/tmを認証仮想サーバに送信します。
  4. 認証仮想サーバは、ログインページへのリダイレクトを送信します。
  5. ユーザーは、POST /doAuthentication.doを使用して認証仮想サーバーに資格情報を送信します。 認証は、認証仮想サーバーによって行われます。
  6. 資格情報が正しい場合、認証仮想サーバーは、負荷分散サーバーのcgi/selfauth urlにHTTP 302応答をワンタイムトークン(OTP)で送信します。
  7. 負荷分散サーバーはHTTP 302をクライアントに送信します。
  8. クライアントは、32バイトのcookieとともに、最初のURLのターゲットURLのGET要求を送信します。

    フォームベースのAAA-TMフロー図

AAA-TMを有効にした401認証

401ベースの認証では、Citrix ADCアプライアンスはエンドユーザーに次のようにポップアップダイアログボックスを表示します。

401ベースのAAA-TM

フォームベースのAAA-TMは、リダイレクトメッセージに対して機能します。ただし、一部のアプリケーションはリダイレクトをサポートしていません。このようなアプリケーションでは、401認証が有効なAAA-TMが使用されます。

401認証が有効なAAA-TMが動作するためには、次のことを確認してください。

  • 負荷分散仮想サーバーの ‘AuthnvsName’ パラメータ値は、ユーザーの認証に使用する認証仮想サーバーの名前である必要があります。

  • ‘authn401’ パラメータを有効にする必要があります。これを設定するためのコマンドは次のとおりです:

    set lb vs lb1 –authn401 on –authnvsName <aaavs-name>
    

次の手順では、401 認証の動作について説明します。

  1. ユーザーは、負荷分散仮想サーバーを使用して特定のURLにアクセスしようとします。

  2. 負荷分散仮想サーバーは、アクセスに認証が必要であることを示す 401 HTTP 応答をユーザーに送信します。
  3. ユーザは、認証ヘッダーの負荷分散仮想サーバにクレデンシャルを送信します。
  4. 負荷分散仮想サーバーは、ユーザーを認証し、ユーザーをバックエンドサーバーに接続します。

    401 ベースの AAA-TM フロー図

特定のトラフィックをバイパスするための No_Auth ポリシーの設定

トラフィック管理仮想サーバで 401 ベースの認証が有効になっている場合に、認証からの特定のトラフィックをバイパスするように No_Auth ポリシーを設定できるようになりました。このようなトラフィックの場合は、「認証なし」ポリシーをバインドする必要があります。

CLI を使用して特定のトラフィックをバイパスするように No_Auth ポリシーを設定するには

コマンドプロンプトで、次のように入力します。

add authentication policy <name> -rule <expression> -action <string>

例:

add authentication policy ldap -rule ldapAct1 -action

認証、承認、監査の仕組み