The Cable GuyNAP 強制のトラブルシューティングを行う

Joseph Davies

Windows Vista、Windows Server 2008、および Windows XP SP3 に組み込まれている新しいネットワーク アクセス保護 (NAP) プラットフォームを使用すると、コンピュータの正常性要件への準拠を強制することができるので、プライベート イントラネットの保護に役立ちます。NAP の主要な構成要素は、NAP クライアント、NAP 強制ポイント、および NAP 正常性ポリシー サーバーです。

NAP クライアントは、システム正常性の評価に必要な正常性状態情報を提供できるコンピュータです。NAP 強制ポイントは、NAP を使用するか NAP と併用されるコンピュータまたはネットワーク アクセス デバイスであり、NAP クライアントの正常性状態の評価を要求し、制限付きのネットワーク アクセスや通信を提供します。NAP 正常性ポリシー サーバーは、Windows Server® 2008 とネットワーク ポリシー サーバー (NPS) サービスを実行しているコンピュータであり、正常性要件ポリシーを格納し、NAP クライアントの正常性評価を実行します。NAP 正常性ポリシー サーバーと NAP 強制ポイントは、リモート認証ダイヤルイン ユーザー サービス (RADIUS) サーバー メッセージとプロキシ メッセージを使用して、システム正常性情報と制限付きアクセスに関する指示を交換します。

このコラムでは、正常性要件ポリシーの構成要素について説明した後、NPS サービスが NAP 評価の着信要求を処理するしくみと、NAP 強制に関する最も一般的な問題のトラブルシューティング方法について説明します。

正常性要件ポリシー

NAP 正常性評価のしくみ

NAP 正常性ポリシー サーバー上の NPS サービスは、次のプロセスに従って正常性評価を実行します。

  1. NPS サービスが、着信要求メッセージを構成済みの接続要求ポリシーと比較します。NAP の場合、この着信要求メッセージは、NPS サービスが認証と承認をローカルで実行することを指定した接続要求ポリシーと照合されます。
  2. NPS サービスが要求メッセージに含まれている正常性情報を評価します。この情報は、正常性状態情報を含むシステム正常性ステートメント (SSoH) で構成されています。NPS サービスは、インストールされているシステム正常性検証ツール (SHV) に正常性状態情報を渡し、SHV が NPS サービスに正常性評価情報を返します。
  3. NPS サービスが、要求メッセージと SHV から取得した正常性評価情報を、一連の適切なネットワーク ポリシーと比較します。正常性評価情報は、NAP ベースのネットワーク ポリシーに含まれている正常性ポリシー条件と比較されます。正常性ポリシー条件は、正常性要件に準拠しているかどうかを判断するための条件です。NPS サービスは、最初に照合されたネットワーク ポリシーを要求メッセージに適用します。
  4. 照合された NAP ベースのネットワーク ポリシー、およびそれに関連付けられた NAP 設定に基づいて、NPS サービスがシステム正常性ステートメントの応答 (SSoHR) を作成します。この応答には SHV から取得した正常性評価情報が含まれています。また、この応答は、NAP クライアントに無制限のアクセスと制限付きアクセスのどちらが許可されるか、および NAP クライアントが自動的に正常性状態の修復を試みる必要があるかどうかを示しています。
  5. NPS サービスが RADIUS 応答メッセージと SSoHR を NAP 強制ポイントに送信します。クライアントが制限付きアクセスを許可された場合、この応答メッセージには、NAP クライアントのアクセスがどのように制限されるかを指定する指示が含まれることもあります。
  6. NAP 強制ポイントが SSoHR を NAP クライアントに送信します。

正常性要件ポリシーは、NAP の強制方法で使用する 1 つの接続要求ポリシー、1 つまたは複数のネットワーク ポリシー、1 つまたは複数の正常性ポリシー、および NAP 設定を組み合わせたものです。正常性要件ポリシーを作成するには、ネットワーク ポリシー サーバー スナップインで、[NAP を構成する] をクリックして表示されるウィザードを使用します (評価処理の詳細については、補足記事「NAP 正常性評価のしくみ」を参照してください)。

接続要求ポリシー このポリシーは、順序付けられた一連の規則です。NPS サービスは、このポリシーを使用して、着信接続要求をローカルで処理する必要があるか、または別の RADIUS サーバーに転送する必要があるかを判断できます。NAP 正常性ポリシー サーバーは、接続要求をローカルで処理します。

Windows® ベースの NAP 強制ポイントからの着信 RADIUS 要求には、動的ホスト構成プロトコル (DHCP) サーバーや仮想プライベート ネットワーク (VPN) サーバーなど、NAP 強制ポイントの種類を指定するソース タグが含まれている場合があります。

着信要求メッセージにソース タグが含まれている場合、NAP 正常性ポリシー サーバー上の NPS サービスは、ソースが一致する接続要求ポリシーとその着信要求を照合しようとします (他の接続要求ポリシーはすべて無視されます)。着信要求メッセージにソース タグが含まれていない場合、この NPS サービスは、要求をソースが指定されていない接続要求ポリシーと照合しようとします (ソースが指定されている他の接続要求ポリシーは、すべて無視されます)。

たとえば、NAP 対応 DHCP サーバーからの着信要求には、DHCP のソース タグが指定されています。NPS サービスは、DHCP サーバーから発行された要求を、ソースが DHCP である接続要求ポリシーと照合しようとします。802.1X 対応スイッチおよびワイヤレス アクセス ポイントからの着信要求には、ソース タグが指定されていません。NPS サービスは、これらの要求を、ソースが指定されていない接続要求ポリシーと照合しようとします。

ローカルまたはリモート処理の評価に使用される接続要求ポリシーは、着信要求に適用される順序付けられたポリシーのサブセットの中で、最初に照合される接続要求ポリシーです。要求がどの接続要求ポリシーとも一致しなかった場合、その要求は拒否されます。

ネットワーク ポリシー このポリシーは順序付けられた一連の規則であり、着信要求メッセージに対応する接続が承認される状況と拒否される状況を指定します。規則ごとに、アクセスを許可または拒否するアクセス許可、一連の条件、一連の制約、およびネットワーク ポリシー設定が存在します。接続が承認された場合、ネットワーク ポリシーの制約と設定を使用して、接続に関する一連の制限を指定できます。NAP の場合は、ネットワーク ポリシーを使用して、正常性要件と強制動作の設定を確認する正常性ポリシー条件を指定できます。

接続要求ポリシーと同様、ネットワーク ポリシーもソース タグを使用して、着信要求と照合するネットワーク ポリシーを判断します。着信要求メッセージにソース タグが含まれている場合、NPS サービスは、ソースが一致するネットワーク ポリシーと着信要求を照合しようとします (他のネットワーク ポリシーはすべて無視されます)。着信要求メッセージにソース タグが含まれていない場合、NPS サービスは、ソースが指定されていないネットワーク ポリシーと着信要求を照合しようとします (ソースが指定されている他のネットワーク ポリシーは、すべて無視されます)。

試行された接続に適用される、順序付けられたポリシーのサブセットの中で、最初に照合されるネットワーク ポリシーは、承認や正常性評価に使用されるネットワーク ポリシーです。試行された接続がどのネットワーク ポリシーとも一致しなかった場合、要求は拒否されます。

正常性ポリシー このポリシーを使用すると、インストールされている SHV (正常性評価に使用されます) に基づいた正常性要件を指定できます。また、NAP クライアントがどの SHV チェックに合格する必要があるかも指定できます。たとえば、NAP クライアントが要件に準拠していることを示す正常性ポリシーでは、クライアントがすべての正常性チェックに合格する必要があることを指定できます。NAP クライアントが要件に準拠していないことを示す正常性ポリシーでは、クライアントが少なくとも 1 つの正常性チェックまたはすべての正常性チェックに不合格になる必要があることを指定できます。

ネットワーク アクセス保護の設定 この設定は、NAP 正常性ポリシー サーバーにインストールされている SHV の正常性要件とエラー条件の構成、および修復サーバー グループの構成から成ります。修復サーバー グループでは、DHCP 強制と VPN 強制でネットワーク アクセスが制限された、要件に準拠していない NAP クライアントがアクセスできる一連のサーバーが指定されます。

NAP 強制に関する問題を詳しく調べる

どのような問題のトラブルシューティングを行う場合でも、論理的な手法を使用すると役立ちます。トラブルシューティングの担当者がよく質問することをいくつか挙げると、「何が機能しているか」、「何が機能していないか」、「機能しているものと機能していないものはどのように関連しているか」、「機能していないものは今までに機能していたことがあるか」、「機能していたことがある場合、最後に機能していたときから何が変わったか」などがあります。

当然のことながら、NAP 強制に関する問題に対処する場合、これらの質問の範囲はさらに限定されます。たとえば、「その NAP の強制方法を展開する前から接続は機能していたか」、「IPsec 強制を展開する前は、インターネット プロトコル セキュリティ (IPsec) サーバーまたはドメインの分離は機能していたか」、「802.1X 強制を展開する前は 802.1X 認証は機能していたか」、「VPN 強制を展開する前は VPN リモート アクセスは機能していたか」、「DHCP 強制を展開する前は DHCP は機能していたか」といった質問になります。

さらには、「その NAP の強制方法は以前は機能していたか」、「機能していた場合、NAP クライアント、NAP 強制ポイント、または NAP 正常性ポリシー サーバーで何が変わったか」などの質問も考えられます。これらの質問に対する回答をヒントに、どこからトラブルシューティングを始めればよいかを特定できることがあり、場合によっては、問題の原因となっているコンポーネント、層、または構成に関する問題を特定できることもあります。

NAP 強制に関する問題の一般的なトラブルシューティングでは、その問題の範囲を特定する必要があります。まずは、実際に NAP 強制が問題となっているかどうかを突き止めます。IPsec 強制の場合は、NAP クライアントに適用されている一連の IPsec ポリシーが、IPsec ピア間のネゴシエーションとデータ保護に適しているかどうかを確認します。DHCP 強制の場合は、NAP クライアントが DHCP メッセージを DHCP サーバーと交換できるかどうかを確認します。802.1X 強制と VPN 強制の場合は、NAP クライアントの認証を正常に実行できるかどうかを確認します。たとえば、VPN クライアントで VPN 接続の認証を実行できない場合は、VPN クライアントの認証設定と資格情報を確認します。

NAP 強制が問題となっていることを確認できたら、次は問題の程度を確認します。つまり、適用された NAP の強制方法にかかわらず、すべての NAP クライアントが影響を受けるのか、特定の強制方法が適用されたすべての NAP クライアントが影響を受けるのか、特定の強制方法や特定の NAP 強制ポイントが適用されたすべての NAP クライアントが影響を受けるのか、特定のグループに属するすべての NAP クライアントが影響を受けるのか、特定の NAP クライアントのみが影響を受けるのか、ということを確認します。

たとえば、適用された NAP の強制方法にかかわらず、すべての NAP クライアントで問題が発生している場合は、NAP 正常性ポリシー サーバーの構成に問題がある可能性があります。特定の強制方法が適用されたすべての NAP クライアントで問題が発生している場合は、NAP クライアントに適用されるグループ ポリシー設定の構成に問題がある可能性があります。また、NAP 正常性ポリシー サーバーで構成されている、特定の NAP の強制方法に適用される正常性要件ポリシーに問題がある可能性もあります。NAP 強制に関する問題が特定の NAP クライアントのみで発生している場合は、その NAP クライアントの NAP 強制に関する構成に問題がある可能性があります。

NAP 強制に関する一般的な問題

NAP の関連情報

無制限のアクセス 無制限のアクセスが許可された NAP クライアントは、NAP 正常性ポリシー サーバーによって、要件に準拠していると評価された可能性があります。これは、まさに期待どおりの結果です。ただし、無制限のアクセスは、NAP クライアントが SSoHR を受け取らなかった場合でも許可されます。通常、この状況は、NAP クライアントの正常性評価が実行されなかった場合に発生します。NAP 正常性評価が実行されなかった場合、SSoHR は NAP クライアントに返されないので、NAP クライアントに無制限のアクセスが許可されます。

たとえば、DHCP 強制用に構成された NAP クライアントは、DHCP サーバーに SSoHR を送信します。Windows Server 2008 を実行している DHCP サーバーが NAP 用に構成されていない場合、このサーバーは NAP 正常性ポリシー サーバーに正常性評価の要求メッセージを送信しません。また、Windows Server 2008 を実行しており、NAP 用に構成されている DHCP サーバーが、NAP 正常性ポリシー サーバーにアクセスできない場合、DHCP サーバーは既定で無制限のアクセス用のアドレス構成を割り当てます。

NAP 正常性評価を要求しないネットワーク ポリシーと着信要求が照合されたために、NAP 正常性ポリシー サーバーで正常性評価が実行されない場合も、無制限のアクセスが許可されることがあります。NAP クライアントの要求と照合されたネットワーク ポリシーを特定する方法については、このコラムの「順を追って NAP 強制のトラブルシューティングを行う」を参照してください。

制限付きアクセス 制限付きアクセスが許可された NAP クライアントは、NAP 正常性ポリシー サーバーによって、要件に準拠していないと評価されています。制限付きアクセスが許可された NAP クライアントに、無制限のアクセスを許可する必要がある場合は、その NAP クライアントの正常性状態を、NAP クライアントの要求と照合されたネットワーク ポリシーに対応する正常性ポリシー設定に対して検証します。

自動修復が実行されない NAP クライアントが適切に構成されていれば、そのクライアントの正常性状態を自動的に修復できます。NAP クライアントの自動修復を実行できない場合は、その NAP クライアントの要求と照合されるネットワーク ポリシーの NAP 強制設定で、[クライアント コンピュータの自動修復を有効にする] チェック ボックスがオンになっていることを確認します。

自動修復に影響を与える可能性があるもう 1 つの問題は、制限付きアクセスが許可されている NAP クライアントが、更新プログラムをダウンロードするために修復サーバーにアクセスできないという問題です。IPsec 強制を適用している場合は、修復サーバーに適切な IPsec ポリシーが適用されていることを確認します。802.1X 強制を適用している場合は、照合されるネットワーク ポリシーで、アクセス制御リスト (ACL) または仮想ローカル エリア ネットワーク識別子 (VLAN ID) の割り当てを行う設定、およびスイッチやワイヤレス アクセス ポイント (AP) の ACL または VLAN の構成を確認します。VPN 強制または DHCP 強制を適用している場合は、照合されるネットワーク ポリシーで、修復サーバー グループ用の設定を確認し、すべての修復サーバーをこのグループのメンバとして構成します。DHCP 強制を適用している場合は、NAP クライアントの DHCP スコープ オプションが適切に構成されていることを確認します (NAP ユーザー クラスのデフォルト ゲートウェイ オプションの値など)。

NAP 対応ではないと評価される 使用している NAP の強制方法にかかわらず、NAP クライアントで、対応する強制クライアントが有効になっていることを確認します。802.1X 強制または VPN 強制を適用している場合は、PEAP 認証に関するシステム正常性チェックが接続要求ポリシーと NAP クライアントの両方で有効になっている ([保護された EAP のプロパティ] ダイアログ ボックスの [検疫のチェックを有効にする] チェック ボックスがオンになっている) ことを確認します。

アクセスを制限されていない NAP クライアントがイントラネットにアクセスできない IPsec 強制を適用している場合は、要件に準拠している NAP クライアント用の IPsec ポリシーと、イントラネット コンピュータの IPsec ポリシーとの間で、ネゴシエーションと保護の設定が一致していることを確認します。802.1X 強制を適用している場合は、要件に準拠している NAP クライアント用のネットワーク ポリシーで、制限付きネットワーク用ではなくイントラネット用の ACL や VLAN ID が指定されていることを確認します。スイッチやワイヤレス AP で、イントラネット用の ACL や VLAN ID が正しく構成されていることを確認してください。VPN 強制を適用している場合は、要件に準拠している NAP クライアント用のネットワーク ポリシーで、VPN クライアントのトラフィックを制限する IP パケット フィルタが構成されていないことを確認します。

順を追って NAP 強制のトラブルシューティングを行う

ここでは、特定の NAP クライアントで発生した NAP 強制に関する問題のトラブルシューティングを進めていく方法を 1 つ紹介します。まず NAP クライアントの構成を確認し、NAP クライアントのイベント ログを確認します。次に、NAP 正常性ポリシー サーバーで、NAP クライアントの要求が NPS サービスによってどのように処理されたかを確認します。

手順 1: NAP クライアントの構成を確認する NAP クライアントの構成は、Windows サービス、強制クライアント、および NAP 強制に固有の設定から成ります。NAP クライアントの状態と構成に関する情報を表示するには、netsh nap client show state コマンドと netsh nap client show configuration コマンドを使用します。

NAP クライアントの設定がグループ ポリシーによって提供されている場合、NAP クライアントのすべての設定はグループ ポリシーによって指定され、ローカルでの NAP クライアントの設定はすべて無視されることに注意してください。その場合は、netsh nap client show grouppolicy コマンドを使用してグループ ポリシー ベースの NAP クライアントの構成を表示し、グループ ポリシーを通じてそれらの構成を変更します。

Windows Vista® を実行しているコンピュータに IPsec 強制を適用している場合は、net start コマンドを使用して、ネットワーク アクセス保護エージェント サービス、IKE および AuthIP IPsec のキー モジュール サービス、IPsec ポリシー エージェント サービスが開始されていることを確認します。また、netsh nap client show configuration コマンドを使用して、IPSec 証明書利用者強制クライアントが有効になっていることを確認します。必要に応じて、NAP クライアントの構成スナップインを使用して IPSec 証明書利用者強制クライアントを有効にするか、netsh nap client set enforcement 79619 enabled コマンドを使用します。netsh nap client set enforcement コマンドは、システム特権を使用してコマンド プロンプトから実行する必要があります。

Windows Vista を実行しているコンピュータに 802.1X 強制を適用している場合は、net start コマンドを使用して、拡張認証プロトコル サービス、ネットワーク アクセス保護エージェント サービス、ワイヤード自動構成サービス (ワイヤード接続で 802.1X 強制を使用している場合)、および WLAN 自動構成サービス (ワイヤレス接続で 802.1X 強制を使用している場合) が開始されていることを確認します。

また、netsh nap client show configuration コマンドを再び使用して、EAP 検疫強制クライアントが有効になっていることを確認します。必要に応じて、NAP クライアントの構成スナップインを使用して EAP 検疫強制クライアントを有効にするか、netsh nap client set enforcement 79623 enabled コマンドを使用します。ワイヤード接続またはワイヤレス接続に使用される、保護された EAP 認証のプロパティで、[検疫のチェックを有効にする] チェック ボックスがオンになっていることを確認します。

Windows Vista を実行しているコンピュータで VPN 強制を使用している場合、net start コマンドを使用して、拡張認証プロトコル サービス、ネットワーク アクセス保護エージェント サービス、およびリモート アクセス接続マネージャ サービスが開始されていることを確認します。

また、netsh nap client show configuration コマンドを使用し、その表示内容から、リモート アクセス検疫強制クライアントが有効になっていることを確認します。必要に応じて、NAP クライアントの構成スナップインを使用してリモート アクセス検疫強制クライアントを有効にするか、netsh nap client set enforcement 79618 enabled コマンドを使用します。また、VPN 接続に使用される、保護された EAP 認証のプロパティで、[検疫のチェックを有効にする] チェック ボックスがオンになっていることを確認します。

Windows Vista を実行しているコンピュータに DHCP 強制を適用している場合、net start コマンドを使用して、ネットワーク アクセス保護エージェント サービスと DHCP クライアント サービスが開始されていることを確認します。必要に応じて、サービス スナップインまたは Sc.exe ツールを使用してこれらのサービスを開始した後、これらのサービスを自動的に開始するように構成します。

netsh nap client show configuration コマンドを使用し、その表示内容から、DHCP 検疫強制クライアントが有効になっていることを確認します。必要に応じて、NAP クライアントの構成スナップインを使用して DHCP 検疫強制クライアントを有効にするか、netsh nap client set enforcement 79617 enabled コマンドを使用します。

手順 2: NAP クライアントのイベント ログを確認する イベント ビューア スナップインを使用して、ネットワーク アクセス保護エージェント サービスによってイベント ログに記録されたイベントを確認します。Windows Vista を実行しているコンピュータでは、イベント ビューア スナップインを使用して、"アプリケーションとサービス ログ\Microsoft\Windows\ Network Access Protection \Operational" のイベントを確認します。Windows XP SP3 を実行しているコンピュータでは、イベント ビューア スナップインを使用して、システム イベント ログの NAP イベントを確認します。

NAP クライアントのイベントでは、NAP クライアントの正常性評価に割り当てられた関連付け ID を確認します。関連付け ID または NAP クライアントのコンピュータ名を使用すると、NAP 正常性ポリシー サーバーで、対応する正常性評価イベントを検索できます。図 1 は、要件に準拠していない NAP クライアントのイベント ログに記録されたイベントの例を示しています。この情報には関連付け ID が含まれています。

Figure 1 Windows Vista NAP クライアントのイベント ログに記録されたイベントの例

Figure 1** Windows Vista NAP クライアントのイベント ログに記録されたイベントの例 **(画像を拡大するには、ここをクリックします)

手順 3: NPS イベント ログを確認する NAP 正常性ポリシー サーバーのイベント ビューア スナップインで、"Windows ログ\セキュリティ" に移動し、NPS サービスによって記録されたイベントを確認します。NPS イベントを確認するには、イベント ビューアで [カスタム ビュー]、[サーバーの役割] の順に展開し、[ネットワーク ポリシーとアクセス サービス] をクリックします。イベントに関連するオンライン ヘルプ トピックを確認するには、イベントの [全般] タブにある [イベント ログのヘルプ] をクリックします。

一般的な NAP 正常性評価イベントのイベント ID は、6278 (無制限のアクセスの場合) または 6276 (制限付きアクセスの場合) です。NAP 正常性ポリシー サーバーで、NAP クライアントのコンピュータ名 (イベントの説明の中で、クライアント コンピュータに関するセクションに含まれている、アカウント名を示すフィールド) または関連付け ID (イベントの説明の中で、検疫情報に関するセクションに含まれている、セッション識別子を示すフィールド) を基に、対応するイベントを検索します。

NPS イベント ログに記録されたイベント 6278 とイベント 6276 には、照合された接続要求ポリシーの名前 (イベントの説明の中で、認証に関するセクションに含まれている、プロキシ ポリシー名を示すフィールド)、照合されたネットワーク ポリシー (イベントの説明の中で、認証に関するセクションに含まれている、ネットワーク ポリシー名を示すフィールド) など、NAP 正常性評価に関する情報が含まれています。図 2 は、イベント ID 6276 の [詳細] タブの例を示しています。この情報には、プロキシ ポリシー名、ネットワーク ポリシー名、および関連付け ID (QuarantineSessionID という箇所) が含まれています。これは、図 1 で示した Windows Vista NAP クライアントのイベントに対応する NAP 正常性ポリシー イベントです。

Figure 2 NAP 正常性ポリシー サーバーのイベント ログに記録されたイベントの例

Figure 2** NAP 正常性ポリシー サーバーのイベント ログに記録されたイベントの例 **(画像を拡大するには、ここをクリックします)

NAP クライアントのイベントに対応するイベントが存在しない場合は、ネットワーク ポリシー サーバー サービスが開始されていることを確認します。また、NAP 強制ポイントが NAP 用に正しく構成されていること、およびこの強制ポイントが NAP 正常性ポリシー サーバーを RADIUS サーバーとして使用するように正しく構成されていることを確認します。また、NAP 強制ポイントと NAP 正常性ポリシー サーバーとの間で RADIUS メッセージを送受信できることを確認します。

この 3 つの手順を実行することによって、NAP 強制が期待どおりに機能しない理由を突き止めることができるでしょう。NAP の詳細については、補足記事「NAP の関連情報」を参照してください。

Joseph Davies は、マイクロソフトのテクニカル ライターとして Windows ネットワークのトピックに関する講義および執筆を 1992 年から行っています。Microsoft Press から 8 冊の書籍を上梓しており、月刊の TechNet Cable Guy コラムの執筆者でもあります。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.