ADC

Kerberos /NTLM による認証、承認、監査の処理

コンピューターネットワーク認証プロトコルである Kerberos は、インターネットを介した安全な通信を提供します。主にクライアント/サーバーアプリケーション用に設計されており、クライアントとサーバーがそれぞれ互いの信頼性を保証するための相互認証を提供します。Kerberos は、キー配布センター (KDC) と呼ばれる信頼できるサードパーティを使用します。KDC は、ユーザーを認証する認証サーバー (AS) と、チケット交付サーバー (TGS) で構成されます。

ネットワーク上の各エンティティ (クライアントまたはサーバー) には、自身と KDC のみが認識する秘密鍵があります。このキーの知識は、エンティティの真正性を意味します。ネットワーク上の 2 つのエンティティ間の通信のために、KDC は Kerberos チケットまたはサービスチケットと呼ばれるセッションキーを生成します。クライアントは、特定のサーバのクレデンシャルを AS に要求します。クライアントは、チケット交付チケット(TGT)と呼ばれるチケットを受け取ります。次に、クライアントは、AS から受信した TGT を使用して TGS に接続し、その ID を証明し、サービスを要求します。クライアントがサービスに適格である場合、TGS はクライアントに Kerberos チケットを発行します。次に、クライアントは Kerberos チケットを使用して、サービスをホストしているサーバー (サービスサーバーと呼ばれる) と通信し、サービスの受信が許可されていることを証明します。Kerberos チケットには、設定可能な有効期間があります。クライアントは AS で自身を認証するのは 1 回だけです。物理サーバに複数回接続すると、AS チケットが再利用されます。

次の図は、Kerberos プロトコルの基本的な機能を示しています。

図1:Kerberosの機能

Kerberos認証プロセス

Kerberos 認証には、次の利点があります。

  • 認証の高速化。物理サーバーがクライアントから Kerberos チケットを取得すると、サーバーはクライアントを直接認証するのに十分な情報を持ちます。クライアント認証のためにドメイン Controller に接続する必要がないため、認証プロセスが高速になります。
  • 相互認証。KDC がクライアントに Kerberos チケットを発行し、クライアントがチケットを使用してサービスにアクセスする場合、認証されたサーバーのみが Kerberos チケットを復号化できます。Citrix ADCアプライアンス上の仮想サーバーがKerberosチケットを復号化できる場合は、仮想サーバーとクライアントの両方が認証されていると結論付けることができます。したがって、サーバーの認証は、クライアントの認証とともに行われます。
  • WindowsとKerberosをサポートする他のオペレーティング・システムの間のシングル・サインオン。

Kerberos 認証には、次のような欠点があります。

  • Kerberos には厳しい時間要件があります。認証が失敗しないように、関連するホストのクロックを Kerberos サーバのクロックと同期させる必要があります。ネットワークタイムプロトコルデーモンを使用してホストクロックの同期を維持することで、この欠点を緩和できます。Kerberos チケットには可用性期間があり、これを設定できます。
  • Kerberos では、中央サーバを継続的に使用できるようにする必要があります。Kerberos サーバーがダウンすると、誰もログオンできません。複数の Kerberos サーバーとフォールバック認証メカニズムを使用することで、このリスクを軽減できます。
  • すべての認証は一元化された KDC によって制御されるため、ローカルワークステーションのユーザーのパスワードが盗まれるなど、このインフラストラクチャに侵入すると、攻撃者が任意のユーザーを偽装する可能性があります。信頼するデスクトップマシンまたはラップトップのみを使用するか、ハードウェアトークンを使用して事前認証を適用することで、このリスクをある程度軽減できます。

Kerberos 認証を使用するには、Citrix ADC アプライアンスおよび各クライアントで認証を構成する必要があります。

認証、承認、監査での Kerberos 認証の最適化

Citrix ADCアプライアンスは、Kerberos認証中にシステムパフォーマンスを最適化し、改善するようになりました。認証、承認、および監査デーモンは、同じユーザーに対する未処理の Kerberos 要求を記憶し、キー配布センター (KDC) への負荷を回避します。これにより、要求の重複を回避できます。

Kerberos /NTLM による認証、承認、監査の処理