ADC

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

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

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

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

図1:ケルベロスの機能

ケルベロス認証プロセス

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

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

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

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

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

認証、承認、監査におけるKerberos認証の最適化

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

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