Team Foundation Server、認証、およびアクセス
ユーザーと Visual Studio Team Foundation Server の配置間の接続をセキュリティで保護するように配置を構成できます。Team Foundation Server (TFS) では、基本認証、ダイジェスト認証、および証明書をサポートできます。したがって、HTTPS (ハイパーテキスト転送プロトコル セキュア) と SSL (Secure Sockets Layer)、および基本認証またはダイジェスト認証を使用するように、TFS の配置を構成できます。この方法を使用すると、仮想プライベート ネットワーク (VPN) 接続を使用する必要なく、ユーザーはより安全に配置に接続できます。
構成
Team Foundation Server の配置へのセキュリティで保護された外部接続をサポートするには、インターネット インフォメーション サービス (IIS: Internet Information Services) を構成して、基本認証またはダイジェスト認証あるいはこの両方を有効にする必要があります。また、証明書を要求するように外部接続を構成します。
基本認証とダイジェスト認証
基本認証は HTTP 1.0 仕様の一部であり、Windows ユーザー アカウントを使用します。基本認証では、ブラウザーがユーザー名とパスワードの入力をユーザーに要求し、Base64 エンコードを使用して HTTP でこの情報を送信します。基本認証の場合、既定では、Windows ユーザー アカウントに Web サーバーのローカル ログオンの権利が必要となります。基本認証は、ワークグループ配置とドメイン配置の両方で使用できます。ほとんどの Web サーバー、プロキシ サーバー、および Web ブラウザーが基本認証をサポートしていますが、これはセキュリティで保護された方法ではありません。Base64 でエンコードされたデータのデコードは簡単であるため、基本認証では本質的にパスワードをプレーンテキストで送信していることになります。悪意のあるユーザーは、ネットワーク上の通信を監視し、一般に入手できるツールを使用することで、このようなパスワードを簡単に傍受して解読できます。セキュリティを強化するには、HTTPS と SSL を使用することを検討する必要があります。
ダイジェスト認証はチャレンジ/レスポンス方式であり、パスワードの代わりにダイジェスト (ハッシュとも呼ばれます) をネットワーク上で送信します。ダイジェスト認証では、IIS がクライアントにチャレンジを送信してダイジェストを作成し、そのダイジェストをサーバーに送信します。クライアントは、クライアントとサーバーの両方が知っているユーザーのパスワードとデータに基づくダイジェストを、チャレンジに対するレスポンスとして送信します。サーバーは、クライアントと同じプロセスを使用し、Active Directory から取得したユーザー情報に基づいて、独自のダイジェストを作成します。サーバーが作成したダイジェストとクライアントが作成したダイジェストが一致した場合にのみ、IIS はクライアントを認証します。Active Directory 配置では、ダイジェスト認証のみを使用できます。ダイジェスト認証自体は、基本認証を多少改善したものにすぎません。悪意のあるユーザーは、クライアントとサーバー間の通信を記録し、その情報を使用してトランザクションを再現できます。また、ダイジェスト認証は HTTP 1.1 プロトコルとも依存関係がありますが、すべての Web ブラウザーがこのプロトコルをサポートしているわけではありません。さらに、ダイジェスト認証を正しく構成していない場合、Team Foundation Server へのアクセス試行は失敗します。配置がダイジェスト認証モードのすべての要件を満たしていない場合は、ダイジェスト認証を選択しないでください。詳細については、Microsoft Web サイトの「ダイジェスト認証を構成する (IIS 7)」を参照してください。
認証プロトコル
既定では、Team Foundation Server は、Windows チャレンジ/レスポンス (NTLM) 認証プロトコルを使用します。NTLM 資格情報は、対話型ログオン プロセスで得られたデータに基づいており、パスワードの一方向のハッシュを含みます。
Team Foundation Server は、認証プロトコルとして Microsoft ネゴシエートもサポートします。ネゴシエート プロトコルでは、認証プロセスに関連するシステムの 1 つが使用できない場合を除き、Kerberos が選択されます。Kerberos 用に構成されていないシステムの場合、NTLM が使用されます。ネゴシエートは、ほとんどの配置について安全なオプションですが、追加の構成タスクが必要となることがあります。
制限事項
前述のドメインとワークグループの要件に加え、基本認証もダイジェスト認証も、単独では外部クライアントのネットワーク セキュリティを実現するうえで十分とは言えません。したがって、これらの接続で HTTPS と SSL も要求するように構成した場合を除き、外部クライアントをサポートするように Team Foundation Server を構成しないようにしてください。
参照
概念
Team Foundation Server のアーキテクチャ
その他の技術情報
Securing Team Foundation Server with HTTPS and Secure Sockets Layer (SSL)