この章では、Microsoft Information Technology (IT) チームの経験と処理手法に基づき、サーバー/ドメイン分離シナリオを始めとするインターネット プロトコル セキュリティ (IPsec) のトラブルシューティングを行う方法について説明します。 該当する箇所では、マイクロソフトの既存のトラブルシューティング手順や関連情報を紹介します。 マイクロソフトの IT サポートは、多層構成のサポート モデルをベースとしています。ヘルプ デスクは第 1 層のサポートになります。 専門家のサポートが必要なインシデントの場合、ヘルプ デスクは、エスカレーション手順によって上位層にインシデントをエスカレートできます。 この章では、第 1 層、第 2 層、第 3 層という 3 つのレベルに分けて手順を説明します。 できるだけ実用的かつ簡潔なガイダンスになるように、説明内容は第 2 層のサポートを中心にしています。 最初の第 1 層のガイダンスでは、問題が IPsec に関連しているかどうかをできるだけ短時間で判断し、IPsec に関連している場合は、必要な情報を生成して第 2 層のサポート エンジニアが問題をスムーズに解決できるようにします。 第 3 層のトラブルシューティングで必要になる詳細かつ複雑な情報については、この章では扱いません。 この章に記載されている情報で IPsec に関する問題を解決できない場合は、マイクロソフト製品サポート サービスにお問い合わせになることをお勧めします。ここでさらに高度なサポートを受けることができます。 この章では、マイクロソフトが使用しているサポート手順、ツール、スクリプトの多くを参考に紹介しています。 これらの推奨事項やツールは、それぞれの組織の特定のニーズに応じて使用してください。 IPsec を使用してネットワーク上の Transmission Control Protocol (TCP) および User Datagram Protocol (UDP) トラフィックをセキュリティ保護している場合は、TCP/IP ネットワークに関する一般的なトラブルシューティング手順やツールは無効になります。 したがって、通信に IPsec を使用している (または使用しようとしている) コンピュータの間で問題が発生した場合に適用できる IPsec 固有のトラブルシューティング テクニックを計画し、作成しておくことが重要です。 トピックサポート層とエスカレーションマイクロソフトでは、サーバー/ドメイン分離を標準サービスとしてサポートしており、標準サービス レベル契約 (SLA) に定義が記載されています。 分離へのサポートは、次の 3 つの層により提供されます。 | • | 第 1 層 : ヘルプデスク : ヘルプ デスクは、ドメイン参加クライアントとドメイン非参加クライアントに関する問題を最初にサポートするところです。 ここではまた、中央の IT 組織が管理しているサーバーのサポートも行います (サーバーによっては、業務アプリケーション チームまたは製品グループが管理している場合もあります)。 ヘルプ デスクのスタッフ メンバは、分類学と複数のフローチャートを使用してサーバー/ドメイン分離に関する問題を分類できるように、研修を受ける必要があります。 マイクロソフトの分離ソリューションのパイロット フェーズでは、クライアントに関する問題は企業 IT セキュリティ部門にエスカレートされていましたが、 ソリューションの運用展開後は、クライアントに関する問題は第 2 層のサポート チームが処理するようになりました。 | | • | 第 2 層 : データ センター運用、グローバル ネットワーク運用センター、業務アプリケーション サポート、メッセージング/コラボレーション サポート : このグループは、IT サービスおよび関連資産の監視と管理を日常業務とするチームです。 サーバー/ドメイン分離のパイロットでは、これらのチームが、サーバー関連の問題とトラブルシューティングを担当するヘルプ デスクおよび企業 IT セキュリティ部門の最初のエスカレーション先でした。 各グループには、サーバー/ドメイン分離に関する特定の専門知識を持った担当者と、トラブルシューティングに関する詳細な手順を用意する必要があります。 | | • | 第 3 層 : Windows ネットワーク サービスおよびインフラストラクチャ サービス : サーバー/ドメイン分離のパイロット フェーズでは、IPsec、TCP/IP パケット処理、コンピュータ アカウント、ネットワーク ログオン権限など、ソリューション関連のアーキテクチャ コンポーネントやテクノロジに関する問題を専門に解決するチームを特定する役割を、このグループが果たしました。 マイクロソフトの内部では、さらにエスカレーションが必要になった場合、第 3 層が Windows 開発チームと共同で直接作業を進めて問題を解決します。 マイクロソフトの外部では、第 3 層は必要に応じて、マイクロソフト製品サポート サービスと共同で作業を進めます。 |
以降のセクションでは、第 1 層のサポート組織に属するヘルプ デスクのスタッフが使用するトラブルシューティング テクニックについて、概要を説明します。 第 1 層のトラブルシューティングここでは、第 1 層のサポートを提供するヘルプ デスクのスタッフが使用する、IPsec 関連の問題のトラブルシューティング処理の全体について説明します。 一般的に、第 1 層のサポート担当者とは、電話で問い合わせを受けて離れた場所から問題の診断を試みるヘルプ デスクのスタッフ メンバのことを指します。 IPsec が問題の原因かどうかを特定するヘルプ デスクへの問い合わせとして考えられるのは、「IPsec を有効にするまではサーバー x に接続できたのですが」とか「昨日まではすべて正常に動作していたのに今日はどこにも接続できません」などといった質問です。マイクロソフトの IT 部門によれば、IPsec の公開以降、アプリケーションやネットワークの動作にユーザーが敏感になったため、あらゆる種類のネットワーク接続問題および "アクセス拒否" インシデントに関する問い合わせが増加しました。 問題が IPsec に関連している可能性があれば、ユーザーはヘルプ デスクに連絡してきました。 サーバー/ドメイン分離の実装計画では、問い合わせの分類システムを用意して、ヘルプ デスクの担当者が IPsec に関連する問題の件数と性質を明確に報告できるようにする必要があります。 ヘルプ デスクのスタッフは、連絡してきた相手から適切な管理情報を入手し、事前に定義されたトラブルシューティング プロセスに従って行動します。 IPsec ポリシーの設計は通信にさまざまな影響を与えます。また、公開プロセスには数日ないし数週間かかることがあります。そのため、フローチャートを定義して、分離の変更が実装されるたびにフローチャートを更新する必要があります。 ヘルプ デスクの管理担当者は、この計画プロセスに関与する必要があります。 ヘルプ デスクの業務目的は、問題を分類して既知の解決方法を適用できるようにすることです。 既知の解決方法で問題を解決できない場合、ヘルプ デスクの担当者は必要な情報を収集して、問題を第 2 層のサポートにエスカレートします。 ヘルプ デスクでは、次のような方法でさまざまな種類の問題を特定します。 | • | ネットワーク接続 : Internet Control Message Protocol (ICMP) メッセージの ping と tracert を使用して、ネットワーク パスをテストします。 | | • | 名前解決 : ping<宛先名> と nslookup を使用します。 | | • | アプリケーション : 接続先が同じでも、一部のアプリケーション (net view など) は動作し、他のアプリケーションは動作しない場合があります。 | | • | サービス : たとえば、L2TP に対して矛盾する自動 IPsec ポリシーを作成する Routing and Remote Access (RRAS) サービスをサーバーが実行しているかどうかを確認します。 | | • | 連絡者のコンピュータ : 連絡者のコンピュータが、ヘルプ デスクのテストおよび診断用の任意のホスト コンピュータまたは特定の信頼済みホスト コンピュータにアクセスできるかどうかを確認します。 | | • | 対象コンピュータ : 連絡者のコンピュータが、ヘルプ デスクのすべてのテスト用コンピュータにアクセスでき、特定のコンピュータにだけアクセスできない状態であるかどうかを確認します。 |
組織によっては、ヘルプ デスクがリモート アシスタンスまたはリモート デスクトップを使用して連絡者のコンピュータに接続する場合があります。 この章で説明するガイドラインではリモート アクセスは必須の機能ではありませんが、リモート アクセスを利用すると、[IP セキュリティ モニタ] Microsoft 管理コンソール (MMC) スナップインまたはイベント ログ ビューアを介して連絡者を支援できるため、ヘルプ デスクの担当者にとっては便利なツールです。 ドメインを分離せずにサーバー分離を使用するシナリオでは、ヘルプ デスクの担当者は、分離グループのメンバであるサーバーを把握しておく必要があります。 範囲と深刻度の割り当て第 1 層のサポートでまず対処しなければならないのは、問題によって誰が影響を受けるのかを明らかにすることです。 サポート担当者は、問題が別のユーザーにも発生しているかどうかを確認し、発生している場合はそのユーザーの数と問題の発生場所を把握する必要があります。 次に、サポート スタッフは問題の程度を特定する必要があります。 たとえば、単一のサーバーへの接続にだけ影響する問題なのか、さらに広範囲にわたる問題なのか (ネットワークの大部分でログオンまたは認証が失敗するなど) を確認します。 接続に関する問題の場合、ネットワーク通信で使用されている多くの層やテクノロジが関係する可能性があります。 サポート エンジニアは、解決方法に関連する特定の部分に限らず、Windows TCP/IP ネットワーク通信の一般的な動作の仕組みについても把握しておく必要があります。 ここでは、第 1 層のサポートが処理する必要のあるさまざまな問題の種類と、それぞれに含まれる一般的な問題点について説明します。 | • | コンピュータ特有の問題 : IPsec で保護されている通信では、インターネット キー交換 (IKE) コンピュータ相互認証が必要になります。 通信を開始するコンピュータと通信に応答するコンピュータは、有効なドメイン アカウントを持ち、そのドメインのドメイン コントローラにアクセスできる必要があります。 また、IPsec ポリシーの割り当てとネットワーク アクセス制御は、正しいドメイン グループに属するコンピュータ アカウントよって決まります。 IPsec の動作に影響を与える可能性があるコンピュータ特有の問題として、他に次のようなものがあります。 | • | オペレーティング システムに適切なサービス パック、更新プログラム、またはレジストリ キー構成が適用されていない。 | | • | コンピュータに特定のソフトウェアがインストールされているか、特定のサービスが稼動している。 | | • | ネットワーク接続に特定の IP アドレスが使用されているか、通信に特定のネットワーク パスが使用されている。 |
上に挙げたような問題点があると、一部のコンピュータでは接続に問題が発生し、他のコンピュータでは問題なく接続できるという状況が発生することがあります。 注 : この章に登場する IPsec トラブルシューティング ツールはすべて、ローカルの管理者グループ権限を必要とします。 | | • | ネットワーク ロケーションとパス特有の問題 : サーバー/ドメイン分離ソリューションまたはその他の IPsec の広域展開では、すべての TCP および UDP トラフィックがカプセル化されます。 したがって、パス上のネットワーク デバイスには、IKE、IPsec、および ICMP プロトコルしか表示されません。 発信元と宛先の間でこの 3 つのプロトコルの転送にネットワーク上の問題が発生した場合、2 台のコンピュータの間の通信がブロックされる可能性があります。 | | • | ユーザー特有の問題 : サーバー/ドメイン分離シナリオなどで IPsec を展開すると、ドメイン ユーザーのネットワーク ログオン権限に影響を与える可能性があります。 たとえば、ネットワーク アクセスが承認されているグループに属していないユーザーだけに問題が発生するとか、承認されたユーザーが適切なグループ メンバシップを含む Kerberos 認証資格情報を取得できない場合があります。 ドメイン、ローカル ユーザー、サービス アカウントの間で動作が異なる場合もあります。 |
企業での一般的な IPsec 展開時に利用されるサーバー/ドメイン分離ソリューションには、他に 2 つの特徴があります。内部ネットワークで使用するアドレス範囲の定義にサブネット フィルタを使用する点、および、コンピュータが内部ネットワークに配置されているかどうかにかかわらず、IPsec ポリシーはドメイン メンバシップとグループ メンバシップに基づいて適用される点です。 結果的に、サブネット フィルタの設計に問題がある場合や、コンピュータが他のコンピュータに接続するためのネットワーク パスに問題がある場合は、特定の IP アドレスを使用した際には (LAN アドレスではなくワイヤレス アドレスを使用する場合など) ネットワークの一部にのみ、または特定のコンピュータにのみ、接続に関する問題が発生する可能性があります。 トラブルシューティングのフローチャートここで紹介する問い合わせ処理用フローチャートはマイクロソフトの IT 部門が開発したものであり、第 1 層の IPsec サポート問題を分類する際の参照として使用できます。 このうち 2 つのフローチャートでは、標準のツール以外に IPsec ポリシー更新スクリプトを使用しています。このスクリプトについては、この章で後述する「サポート スクリプトの例」で説明します。 図 7.1 は、初期診断を行い次のどの問題が発生しているのかを特定する場合に使用します。 | • | ネットワークの接続に関する問題。 この場合は、ネットワークの基本的なトラブルシューティングを試してください。 問題を解決できない場合は、第 2 層のサポートにエスカレートします。 | | • | 名前解決に関する問題。 この場合は、名前解決の基本的なトラブルシューティングを試してください。 問題を解決できない場合は、第 2 層のサポートにエスカレートします。 | | • | アプリケーションに関する問題。 この場合は、第 2 層のサポートにエスカレートします。 | | • | 連絡者のコンピュータで発生している IPsec に関する問題。 この場合は、図 7.2 に進みます。 | | • | 連絡者が接続しようとしている対象コンピュータで発生している IPsec に関する問題。 この場合は、図 7.3 に進みます。  図 7.1: 対象コンピュータとの通信に失敗した場合のトラブルシューティング プロセス 拡大表示する |
注 : このフローチャートは、連絡者のコンピュータが IPsec を実行しており、ping –a コマンドが正常に機能するように DNS 逆引き参照ゾーンが構成されていることを前提としています。 図 7.2 は、連絡者自身のコンピュータに関する問題を特定する場合に使用します。 このフローチャートでは、診断以外にも、問題を特定せずに解決する IPsec ポリシー更新スクリプト (この章で後述する「サポート スクリプトの例」を参照) を使用することが想定されています。 図 7.2 の手順に従うと、連絡者のコンピュータで次のどの問題が発生しているのかを確認できます。 | • | RRAS に関する問題。 この場合は、RRAS サービスを停止するか (RRAS を必要としない場合)、問題を第 2 層のサポートにエスカレートします。 | | • | ポリシーに関する問題。 この場合は、グループ ポリシーと IPsec ポリシーを更新を試みます。 | | • | ドメイン アカウントに関する問題。 この場合は、連絡者のコンピュータ用のドメイン アカウントを作成します。 | | • | 上記のいずれにも当てはまらない。 Psec ポリシーの更新やドメイン アカウントの作成によって問題が解決されない場合は、問題を第 2 層のサポートにエスカレートします。  図 7.2: 連絡者のコンピュータの IPsec 関連の問題のトラブルシューティング 拡大表示する |
図 7.3 は、特定の対象コンピュータの問題を特定する場合に使用します。 このフローチャートでは、問題を特定せずに解決する IPsec ポリシー更新スクリプトの使用も想定されています。 図 7.3 を参照すると、対象コンピュータ (または対象コンピュータへのパス) で次のどの問題が発生しているのかを特定できます。 | • | RRAS に関する問題。 この場合は、第 2 層のサポートにエスカレートします。 | | • | IPsec ポリシーに関する問題。 この場合は、グループ ポリシーと IPsec ポリシーを更新を試みます。 次に、ネットワークの接続を確認します。 | | • | ネットワークの接続に関する問題。 この場合は、第 2 層のサポートにエスカレートします。 | | • | ログオン権限に関する問題。 この場合は、第 2 層のサポートにエスカレートします。  図 7.3: 対象コンピュータの IPsec 関連の問題のトラブルシューティング 拡大表示する |
第 1 層のサポート スタッフがフローチャートどおりの作業を完了したとき、問題のステータスは次のいずれかになります。 | • | 修正済 / 特定済 : 問題が解決し、問題の発生原因が特定された状態を示します。 | | • | 修正済 / 未特定 : 問題は解決したものの、問題の発生原因が完全に把握できていない状態を示します。 たとえば、IPsec ポリシーの更新によって問題は解決しましたが、間違ったポリシーが適用された理由、あるいはポリシーが全然適用されなかった理由を特定できない状態などです。 | | • | 未修正 : 問題は未解決のままですが、問題を第 2 層のサポートにエスカレートすれば問題を特定できる可能性がある状態を示します。 |
ソーシャル エンジニアリング攻撃に対する防御分離ソリューションでは、ヘルプ デスクの担当者が IPsec で保護されていない特定の領域 (適用除外リストのメンバであるコンピュータなど) が IT 環境内に存在することに気付く場合があります。 他のセキュリティ ソリューションでは、このような重要な情報は通常高レベルのサポート チームしか利用できないため、ヘルプ デスクの担当者は機密情報を保護する業務には不慣れな可能性があります。 したがって、ヘルプ デスクの担当者は、ソーシャル エンジニアリング攻撃を発見して対抗する手段を身に付けておく必要があります。 ソーシャル エンジニアリング攻撃では、多くの場合他人を信頼するという人間の性質を利用することで、信頼されていない人物がセキュリティの実装内容やセキュリティの脆弱な箇所に関する情報を取得しようとします。 ヘルプ デスクの担当者は、次の情報を注意して管理する必要があります。 | • | 適用除外リストのメンバ : 適用除外リスト フィルタの IP アドレスのリストは、信頼されているホストのローカル管理者であれば、[IP セキュリティ モニタ] MMC スナップインを使用するかローカル レジストリのドメイン IPsec ポリシー キャッシュを閲覧して入手できる可能性があります。 さらに、組織で使用されているセキュリティ設定によっては、管理者以外のユーザーがキャッシュの読み取りアクセスを許可されている場合があります。 ドメイン分離が完全に実装されると、攻撃者はネットワークをスキャンして、TCP および UDP 接続要求に応答できる適用除外対象のコンピュータを検出する必要があります。 DNS サーバー、DHCP サーバー、および WINS サーバーは、DHCP 構成から簡単に特定でき、ドメイン コントローラも、DNS クエリや UDP Light Directory Access Protocol (LDAP) クエリを利用すれば簡単に場所を特定できるため、注意が必要です。 | | • | 分離ソリューションに参加していない組織内のコンピュータ : たとえば、特定のドメインやサーバー タイプがソリューションから漏れている場合があります。 | | • | サーバー分離を使用しているコンピュータまたはマシンベースのアクセス制御を必要とするコンピュータ : 最高の機密情報を格納しているサーバーには、通常、最もセキュリティの高い保護対策を適用します。 | | • | IT 組織内の管理者または特殊な役割を担当しているユーザー : 一部の組織では、電子メール アドレスをコンピュータ名またはコンピュータ名の一部に使用している場合があります。この場合、ログオン名や電子メール アドレスは外部にさらされているのも同然です。 | | • | 特定の目的で、または特定の組織で使用されているサブネット : この情報が漏れた場合、攻撃者はネットワークで最も機密度が高く価値の高い部分に重点を置いて攻撃を仕掛けることができるようになります。 | | • | 使用中の他のネットワークベースのセキュリティ対策 : たとえば、ファイアウォールの存在の有無、ルータ フィルタが特定のトラフィックを許可しているかどうかという点、ネットワーク侵入検知の使用の有無などは、攻撃者にとって非常に有益な情報です。 |
また、ヘルプ デスクの担当者は、連絡者が自分のコンピュータの IP アドレスに接続して障害箇所をチェックするように依頼してきた場合にも注意する必要があります。たとえば、攻撃者がヘルプ デスクの担当者に対して、ファイル共有、リモート デスクトップ、Telnet やその他のネットワーク プロトコルを使用して自分のコンピュータに接続するように仕向ける場合があります。 ヘルプ デスクの担当者が IPsec を使用せずに接続を確立すると、攻撃者は自分のコンピュータでパスワードに関する情報を取得したり、場合によっては Telnet などでパスワードを盗むことができます。 このような状況が発生するのは、クライアント ネットワーク プロトコルの中に、まず認証を行って宛先コンピュータと強力な信頼を確立することをしないものや、強力なパスワード保護を通さずにユーザー ID やパスワード関連の情報を公開するものがあるためです。 サポート スクリプトの例ほとんどのトラブルシューティング シナリオでは、権限に関する情報を特定すると、解決方法を短時間で確定することができます。 この情報を検出するには、フローチャートで示したようなさまざまな Windows ツールを使用できます。 Woodgrove Bank のソリューションでは、第 1 層のサポート スタッフがツールの操作や構文について詳しく知らなくても重要な情報を特定できるように、多数のスクリプトが用意されています。 これらのスクリプトは、このガイドのダウンロード パッケージにある Tools and Templates フォルダに収録されています。 第 1 層のサポートで利用できるスクリプトユーザーがコンピュータのローカル管理者である場合、ヘルプ デスクの担当者は、このソリューションに同梱されている 3 つのスクリプトのいずれかをそのユーザーの環境で実行させることができます。 それらのスクリプトは、このガイドで詳しく説明している Woodgrove Bank 環境用にカスタマイズされたスクリプトのサンプルです。 トラブルシューティング プロセスをサポートするためスクリプトをどのように使用するかについては、この章で説明しています。 注 : これらのスクリプトはテスト済みですが、マイクロソフトによるサポートの対象ではありません。 組織独自のカスタム ソリューションを作成するためのベースとして使用してください。 IPsec_Debug.vbsこのスクリプトを使用すると、デバッグ情報が検出されるだけでなく、一部の問題を修正することもできます。 IPsec サービスを停止して再起動し (現在のすべての IKE および IPsec セキュリティ アソシエーションを削除)、強制的にグループ ポリシーの更新を実行して Active Directory® ディレクトリ サービスからドメインに割り当てられている現在の IPsec ポリシーを再度読み込み、ポリシー キャッシュを更新します。 リモート デスクトップ セッションの接続が失われるのを防ぐため、スクリプトは連絡者のコンピュータにダウンロードして、管理者権限を持つアカウントによりローカルで実行するように指示します。 スクリプトを実行するには、コマンド プロンプトで次の構文を使用します。 cscript IPsec_Debug.vbs スクリプトにより、次の機能が実行されます。 | • | オペレーティング システムのバージョンの検出 | | • | Detect_IPsec_Policy.vbs の呼び出し | | • | グループ ポリシー ログ記録の増加 | | • | Kerberos バージョン 5 認証プロトコル ログ記録の増加 | | • | 現在の Kerberos プロトコル チケットの削除 | | • | グループ ポリシーの更新 | | • | IPsec ログ記録の有効化 | | • | PING および SMB (Net View) テストの実行 | | • | IPsec ファイル バージョンの検出 | | • | ポリシーおよびネットワーク診断テストの実行 | | • | IPsec 547 イベントのテキスト ファイルへのコピー | | • | IPsec ログ記録の無効化 | | • | Kerberos プロトコル ログ記録の復元 | | • | グループ ポリシー ログ記録の復元 |
このスクリプトを使用すると、第 2 層のトラブルシューティングで使用される IPsec 関連のログもすべて有効になります。 Detect_IPsec_Policy.vbsこのスクリプトを使用すると、現在のローカル レジストリ キャッシュでドメイン IPsec ポリシーのポリシー バージョン情報がチェックされ、コンピュータが正しい IPsec ポリシーを実行しているかどうかを確認できます。 スクリプトを実行するには、コマンド プロンプトで次の構文を使用します。 cscript Detect_IPsec_Policy.vbs 注 : このスクリプトは、IPsec_Debug.vbs でも呼び出すことができるため、IPsec_Debug.vbs とこのスクリプトを重複して実行する必要はありません。 Refresh_IPsec_Policy.vbsこのスクリプトは、トラブルシューティング フローチャートで紹介されている IPsec ポリシー更新スクリプトです。 コンピュータの Kerberos 認証プロトコル チケットとグループ ポリシーを更新し、IPsec ポリシーの割り当てが間違っていた場合やグループ ポリシーのダウンロードに失敗した場合に発生する問題を修正することができます。 スクリプトを実行するには、コマンド プロンプトで次の構文を使用します。 cscript Refresh_IPsec_Policy.vbs エスカレーションヘルプ デスクの担当者が IPsec 関連と思われる問題をエスカレートする場合は、第 1 層で次の情報を収集し、サービス要求とともに提供する必要があります。 | • | IPsec_Debug.vbs スクリプトで生成されたログ ファイル。 | | • | 連絡者のコンピュータ名。スクリプトで生成されたログ ファイルを次のサポート層が特定するために必要になります。 | | • | アクセスを拒否した宛先コンピュータ。エスカレーションを適切なサポート グループに割り当てるために必要になります。 |
サーバー分離シナリオでは、多くの場合、ネットワーク アクセス グループのメンバシップを検証するために独自のサポート チームが用意されています。 第 2 層のトラブルシューティングの準備第 2 層のサポートには、主に 2 つの役割があります。 1 つ目は、第 1 層からのすべてのエスカレーションを受け取る窓口としての役割です。サポート スタッフは問題の検証と第 1 層が実施した手順の見直しを行い、トラブルシューティング手順に手落ちがないことを確認します。 つまり、エスカレートされた問題が診断の誤りではなく、本当に IPsec が原因で発生しているのかを確認する必要があります。 2 つ目は、熟練したネットワーク サポート エンジニアとしての役割です。第 2 層のサポート スタッフは、コンピュータの管理制御を取得せずに、スキルと経験 (次のセクションのリストを参照) を駆使してログの分析から問題を解決します。 ただし、ログでは情報を取得できるだけなので、実際に解決のための作業を行う場合は管理的なアクセスが必要になります。 第 2 層のサポート担当者はドメイン管理者である必要はありません。また、ドメインべースの IPsec ポリシーやコンピュータ グループのメンバシップを変更する権限も必要ありません。 第 2 層のサポート スキル第 2 層の IPsec サポートを提供するサポート スタッフには、次の分野に関するスキルと経験が求められます。 | • | グループ ポリシー : 割り当てる必要のあるポリシーとその割り当て方法についての知識があり、次のタスクを実行できる。 | • | グループ ポリシー オブジェクト (GPO) のアクセス制御リスト (ACL) のチェック。 | | • | GPO の設定のチェック。 | | • | コンピュータとユーザーのグループ メンバシップのチェック。 |
| | • | 組織で使用されているサードパーティ ソフトウェアに関する経験。 | | • | 認証の失敗を特定する。 | • | netdiag および nltest ユーティリティを使用して、ドメイン コンピュータ アカウントが正常であることを確認できる。 |
| | • | IPsec 構成 : 次のタスクを実行できる。 | • | IPsec フィルタ構成の検証。 | | • | IPsec ドメイン ポリシーの再読み込み。 | | • | テスト用のローカル ポリシーを使用するための、完全な IPsec の無効化またはドメイン ポリシーのみの無効化。 | | • | IPsec IKE ネゴシエーション プロセスとセキュリティ プロトコルのトラブルシューティング。 |
| | • | ネットワーキング : 次のタスクを実行できる。 | • | ホスト マシンのネットワーク プロトコル スタックのトラブルシューティング。 | | • | ネットワーク トレースで収集された情報の把握とトラブルシューティング。 | | • | TCP パス MTU 検索や仮想プライベート ネットワーク (VPN) リモート アクセス ソリューションなど、ネットワーク パスに関する問題のトラブルシューティング。 |
|
IPsec の使用による固有の問題前のセクションで説明したように、サーバー/ドメイン分離ソリューションの第 2 層のサポート担当者は、IPsec で保護された通信のことを詳しく理解している必要がありますが、他のテクノロジ コンポーネントに関連する問題を分離する能力も必要です。 通常、2 台のコンピュータの間で IPsec 通信を正常に行うには、双方に互換性のある IPsec ポリシーを割り当てる必要があります。 たとえば、リモート コンピュータに適切な IPsec ポリシーが割り当てられていない場合、IPsec ポリシーによって通信がブロックされることがあります。 これは、ポリシー変更を公開中の場合は意図的または適切な動作であることもありますが、1 台以上のコンピュータでネットワーク接続がブロックされ、アプリケーション警告またはエラーが表示されているかどうかを直ちに確認することはできません。 最悪の場合は、管理者が IPsec ポリシーを誤ってすべてのドメイン メンバに割り当てた結果、すべてのトラフィックがブロックされている可能性もあります。 誤りにすぐに気付かない限り、元の割り当てに正しい割り当てを複製しても、誤りを含むポリシーの複製を停止することは容易ではありません。 このような誤りがあると、クライアントとドメイン コントローラの間の通信で IPsec を使用する必要性が出てきます。 このソリューションで使用されている認証は Kerberos プロトコルに依存しているため、このポリシーが初めから割り当てられているクライアントは、通信のセキュリティ保護に必要な Kerberos チケットを取得できません。そのため、ログオン プロセスを完了できなくなります。 ポリシーを変更する場合、管理者は慎重に計画を立てて、このようなリスクを軽減する手続き的な予防対策を講じる必要があります。 TCP/IP のトラブルシューティングに関する背景情報については、この章の最後の「関連情報」で紹介しているトラブルシューティング ガイドを参照してください。 ただし、これらのガイドに記載されている手順の多くは、IPsec で正常に接続を実行できている場合にのみ機能します。 IKE または IPsec で障害が発生すると、ほとんどの手順とツールが無効になる可能性があります。 サーバー/ドメイン分離シナリオでは、IPsec で正常に接続を実行できている場合でも、背景ガイドに記載されている手順の一部がまったく機能しない可能性があります。 サポート組織は、トラブルシューティング ツールと手順の更新およびカスタマイズを実施して、サーバー/ドメイン分離環境内で常に有効に利用できるようにしておく必要があります。 IPsec ポリシーを展開してトラフィックの制御とセキュリティ保護を実施する場合、多数のさまざまな方法があるため、既存の手順や汎用ツールキット以外に頼るものがないということは考えられません。 サポート担当者は、サーバー/ドメイン分離やその他の IPsec 展開が正常に機能するラボ環境から取得したネットワーク トラブルシューティング ツールの出力例を、文書化しておく必要があります。 多くの場合、ネットワーク診断ツールでは、クリアテキストへのフォールバックにかかる 3 秒の遅延、または、IPsec セキュリティ アソシエーション (SA) の最初の IKE ネゴシエーションに必要な若干の遅延は想定されていません。 したがって、ツールの初回実行時の結果と数秒後に実行したときの結果は異なる場合があります。 さらに、IPsec でネットワーク アクセスを意図的に拒否した場合、ツールはこれを障害として報告します。 障害のタイプは、ツールや IPsec 環境によって異なります。 注 : 第 1 層のセクションでは、サポート スタッフが行う一般的な問題のトラブルシューティングを分かりやすく説明するために、"連絡者" と "対象" という用語を使用しました。 第 2 層のセクションでは、より高度なトラブルシューティング プロセスを分かりやすく説明するために、IPsec 用語の "開始側" と "応答側" という言葉を使用します。 この章のこれ以降のセクションでは、この IPsec 用語を使用します。 グループ ポリシーとグループ メンバシップドメインべースの IPsec ポリシーは、グループ ポリシーと GPO のダウンロードに依存します。 クライアントのグループ ポリシー システムで GPO の変更の検出時またはダウンロード時にエラーが発生した場合、IPsec 接続に影響することがあります。 グループ ポリシーの割り当てが組織単位 (OU) のメンバシップによって制御されている場合、コンピュータ アカウントをうっかり別の OU に移動するとか、削除するとか、間違った OU で再作成すると、不適切な IPsec ポリシーが割り当てられる可能性があります。 このソリューションでは、ポリシー割り当てとネットワーク アクセスの制御にドメイン セキュリティ グループを使用しています。 グループ メンバシップは、有効期間が非常に長い Kerberos バージョン 5 認証プロトコル チケット (TGT およびサービス チケットの両方) に格納されています。 このため管理者は、コンピュータが新しい Kerberos TGT とグループ メンバシップの更新を含むサービス チケット資格情報を取得するまでに要する時間を計画する必要があります。 Kerberos プロトコルを使用すると、コンピュータ用の Kerberos チケットに正しいグループ メンバシップが格納されているかどうかが非常に判断しにくくなります。 これは、グループ メンバシップに関するすべての情報がチケット内に暗号化された形で保存されることで、"意図的" に判断しにくくなるように設計されたものです。 グループ メンバシップは、チケット自体の情報ではなく、ディレクトリ サービス内の情報を使用して判断する必要があります。 Kerberos 認証サーバー/ドメイン分離の設計では、IKE 認証に Kerberos バージョン 5 プロトコルが使用されています。 Kerberos プロトコルは正常なネットワーク接続と DNS およびドメイン コントローラによるサービスを必要とするため、接続が失われた場合、Kerberos 認証と IKE は失敗します (IKE は Kerberos 自体に障害が発生した場合も失敗します)。したがって、コンピュータ A とコンピュータ B の間の接続は、Kerberos プロトコルをドメイン コントローラで認証できないためにコンピュータ A とコンピュータ C の間のネットワーク接続がブロックされた場合、問題が発生する可能性があります。 このような状況では、通常は Windows 監査の 547 イベントとセキュリティ ログの情報を参照すると、問題の原因を探るための貴重なガイダンスになります。 IPsec で保護された受信トラフィックの必要性このサーバー/ドメイン分離ソリューションでは、受信アクセスに IPsec で保護された通信を使用するように指定されています。 この要件により、信頼されていないコンピュータ上で動作するリモート監視ツールや専用のネットワーク監視デバイスは、リモート コンピュータと通信できない状態になります。 これらのコンピュータやデバイスは、"信頼された" 環境に参加できなければ、設計に特定の適用除外項目をいくつか追加しない限り、監視の役割を実行できません。 IPsec では信頼されたホストと接続を確立する必要があるため、トラブルシューティングは複雑になります。つまり、管理者は信頼されたホストに接続して、接続を切断しないままで IPsec サービスを停止することができません。 管理者の IPsec ポリシーによってクリアテキストへのフォールバックが許可されている場合は、リモート コンピュータ上のサービスを停止してから 3 秒か 4 秒の遅延がリモート接続で発生する可能性があります。 ただし、リモート コンピュータ上で IPsec サービスを停止すると、現在接続されている他のすべてのコンピュータが使用している IPsec SA が削除されます。 他のコンピュータがクリアテキストへのフォールバックを実行できない場合、通信が停止し、TCP 接続は最終的にタイムアウトになります。 TCP 通信が突然切断されるとアプリケーションでデータが破損する可能性があるため、IPsec サービスを停止するという手段は、トラブルシューティング プロセスで最後に選択する手段としてのみ使用してください。 IPsec サービスを停止する前に、コンピュータをシャットダウンする準備をして、接続しているすべてのユーザーとアプリケーションが正常に通信を終了できるようにする必要があります。 通信の方向に関する問題ある方向の通信は正常なのに逆方向の通信は失敗するというのが、よくあるトラブルシューティングのシナリオです。 IKE 認証では通常、コンピュータ間の相互認証が必要です。 リモート コンピュータの IKE メイン モードを開始したときに一方のコンピュータが Kerberos チケットを取得できない場合、IKE は失敗します。 この問題は、開始側コンピュータの Kerberos クライアントが宛先コンピュータのドメイン内にあるドメイン コントローラにアクセスできない場合に発生します。 コンピュータが相互に信頼 (双方向に信頼) されていないドメインのメンバである場合、IKE メイン モード ネゴシエーションは、一方のコンピュータが開始したときは成功し、もう一方のコンピュータが開始したときは失敗します。 同様に、受信ネットワーク ログオン権限は、2 台のコンピュータで異なる場合があります。 そのため、一方向で行われる IKE メイン モードおよびクイック モードのネゴシエーションは失敗する可能性があります。また、双方の IPsec ポリシー設計に互換性がない場合も失敗する可能性があります。 IPsec 層の上位層のトラフィックを遮断するホストベースのファイアウォールでは、接続方向を強制的に適用できます。 ホストベースのファイアウォールの中には、IPsec 層の下位層のトラフィックを遮断するものもあります。 IPsec 通信が正常に確立されると、IPsec で保護されたトラフィックは、一定期間、両方向で通信を許可されると考えられます。 ネットワーク ルーターまたはファイアウォールが行うステートフル フィルタリングを使用しても、ICMP などの他の診断プロトコルに影響を与えずに、IKE キー更新操作または IPsec トラフィック フローをブロックすることができます。 TCP および UDP ポートは、一方のコンピュータではアクセスできません。これは、サービスが稼動していないか、または IPsec 層の上位層で機能するデバイス (Windows ファイアウォールやネットワーク ルーターなど) がアクセスをブロックしているためです。 ネットワーク トレースと高度なネットワーク パスのトラブルシューティングIKE ネゴシエーションで障害が発生すると、多くの場合、障害が発生したコンピュータは IKE ネゴシエーションに応答しなくなります。または場合によっては、再試行の上限回数に達するまで直前の "正常な" メッセージを再送信します。 IKE では、Kerberos チケットを含む断片化された UDP データグラムを送信できる必要があります。これは、このようなパケットが宛先 IP アドレスで指定されているパスの最大転送単位 (PMTU) を超えることが多いためです。 断片化が適切にサポートされていない場合、断片が特定のパス上にあるネットワーク デバイスでドロップされることがあります。 さらに、IPsec プロトコル パケットまたは IPsec パケットの断片がネットワークによって正しく渡されないことがあります。 IPsec を TCP と統合すると、IPsec ヘッダーのオーバーヘッドに対応するように TCP でパケット サイズを縮小することができます。 ただし、TCP ハンドシェイク時の最大断片サイズ (MSS) の TCP ネゴシエーションでは、IPsec オーバーヘッドは考慮されません。 結果的に、IPsec で保護された TCP 通信を正常に行うためのネットワーク内の ICMP PMTU 検索の要件が高くなります。 したがって、接続に関する問題のトラブルシューティングでは、通信の両端でログを取るだけでなく、通信の一方または両端のネットワーク トレースを行う必要があります。 テクニカル サポート エンジニアは、ネットワーク トレースの読み取り方法と IKE ネゴシエーションについて理解しておく必要があります。 サーバーには、Windows Network Monitor ソフトウェアをインストールします。 Windows 2000 Network Monitor を使用すると、IPsec AH および IKE の解析を実行できます。 Windows Server 2003 では、さらに IPsec ESP-null の解析、暗号化がオフロードされたときの ESP の解析、NAT トラバーサルで使用される UDP-ESP カプセル化の解析がサポートされています。 トラブルシューティング ツールキットトラブルシューティングを開始する前に、トラブルシューティング プロセスに役立つ情報を抽出するユーティリティを確認しておくことをお勧めします。 このセクションには、Windows 2000、Windows XP、または Windows Server 2003 のヘルプと重複する情報は記載されていません。また、Microsoft Windows Server™ 2003 Web サイトの「Troubleshooting tools」(英語) と重複する情報も記載されていません。 ここには、「Troubleshooting tools」ページにまだ記載されていない詳細なツール情報、または要約しておくとオペレーティング システムの全バージョンで役に立つ情報のみが記載されています。 [IP セキュリティ ポリシーの管理] MMC スナップイン[IP セキュリティ ポリシーの管理] MMC スナップインを使用すると、ローカル IPsec ポリシーまたは Active Directory に格納する IPsec ポリシーを作成および管理できます。 また、リモート コンピュータで IPsec ポリシーを変更することもできます。 [IP セキュリティ ポリシーの管理] MMC スナップインは、Windows Server 2003、Windows XP、Windows 2000 Server、および Windows 2000 Professional オペレーティング システムに搭載されています。このスナップインを使用すると、IPsec ポリシーの詳細、フィルタ、フィルタ一覧、フィルタ操作を表示および編集することができます。また、IPsec ポリシーの割り当ておよび割り当て解除を行うこともできます。 [IP セキュリティ モニタ] MMC スナップイン[IP セキュリティ モニタ] MMC スナップインを使用すると、IPsec の統計情報とアクティブな SA を表示できます。 また、次の IPsec コンポーネントに関する情報を表示することもできます。 | • | IKE メイン モードおよびクイック モード | | • | ローカルまたはドメイン IPsec ポリシー | | • | コンピュータに適用する IPsec フィルタ |
このスナップインは Windows XP および Windows Server 2003 オペレーティング システムの一部ですが、Windows XP バージョンと Windows Server 2003 バージョンでは機能とインターフェイスが異なります。 また、Windows Server 2003 バージョンには、次の機能が追加されています。 | • | アクティブな IPsec ポリシーの詳細情報 (ポリシー名、説明、最終変更日、保存場所、パス、OU、グループ ポリシー オブジェクト名など) を表示できます。 Windows XP で同じ情報を取得するには、IPseccmd コマンドライン ツールを使用する必要があります (これについては、このセクションで後述します)。 | | • | メイン モードとクイック モードの統計情報を別々に表示できます。1 画面に表示されるのではなく、各モードに対応するフォルダ内で表示されます。 注 : Windows 2000 では、IP セキュリティ モニタは独自のグラフィカル ユーザー インターフェイス (GUI) を備えたスタンドアロンの実行プログラム (IPsecmon.exe) です。 このツールの内容と使用方法については、マイクロソフト サポート技術情報 257225「Windows 2000 での IPSec の基本的なトラブルシューティング」を参照してください。 |
このスナップインに対応した Windows XP 用の更新プログラムは、マイクロソフト サポート技術情報 818043「Windows XP および Windows 2000 用 L2TP/IPSec NAT-T 更新プログラム」 で紹介されている更新プログラムの一部として入手できます。 この更新プログラムを適用すると、Windows XP コンピュータで Windows Server 2003 コンピュータを表示できるようになります。 更新された [IP セキュリティ モニタ] MMC スナップインでは、Windows Server 2003 で作成された高度な機能 (Diffie-Hellman 2048 グループ情報、証明書マッピング、動的フィルタなど) を読み取ることはできますが、編集することはできません。 詳細については、上記の記事を参照してください。 NetshNetsh は、ネットワーク構成を表示または変更できるようになるコマンドライン スクリプト実行ユーティリティです。 Netsh は、ローカルまたはリモートのいずれかで使用できます。 Windows 2000、Windows XP、および Windows Server 2003 で利用できますが、 Windows Server 2003 バージョンでは、IPsec の診断および管理を実行できるように機能が強化されています。 IPsec 用の Netsh コマンドは、Windows Server 2003 でしか使用できません。Windows XP では Ipseccmd が、Windows 2000 では Netdiag がこれに対応します。 IpseccmdIpseccmd は、[IP セキュリティ ポリシーの管理] MMC スナップインの代替となるコマンドライン ツールです。 このツールは Windows XP でしか使用できません。また、Windows XP Service Pack 2 では、このツールにさらに機能が追加されています。 Ipseccmd は、Windows XP CD の Support Tools フォルダからインストールしてください。 Windows XP SP2 では内容が一部更新されているため、Windows XP SP2 CD の Support Tools フォルダからインストールします。 SP2 以前のバージョンは、更新されたコンピュータでは動作しません。また、更新されたバージョンは SP2 以前のコンピュータでは動作しません。 更新された Ipseccmd ユーティリティには次のような機能があります。 | • | IKE ログ記録のオン/オフを動的に切り替えることができます。 | | • | 現在割り当てられているポリシーに関する情報を表示できます。 | | • | 継続 IPsec ポリシーを作成できます。 | | • | 現在割り当てられているアクティブな IPsec ポリシーを表示できます。 |
更新された Ipseccmd ユーティリティの詳細については、前述のマイクロソフト サポート技術情報 818043 を参照してください。 診断に使用するために、すべての IPsec ポリシー設定と統計情報を表示するには、次の構文を使用します。 ipseccmd show all 現在割り当てられているアクティブな IPsec ポリシー (ローカルまたは Active Directory) を表示するには、次の構文を使用します。 ipseccmd show gpo 注 : このコマンドは SP2 バージョンでのみ機能します。 Windows XP SP2 でデバッグのログ記録を有効にするには、次の構文を使用します。 ipseccmd set logike (IPsec サービスを再起動する必要はありません) デバッグのログ記録を無効にするには、次の構文を使用します。 ipseccmd set dontlogike (この場合も IPsec サービスを再起動する必要はありません) 注 : Ipseccmd は、Windows XP SP2 の Oakley ログ記録を有効にする場合のみ使用できます。上記のコマンドは SP2 以前のコンピュータでは機能しません。 NetdiagNetdiag は、IPsec 情報を含むネットワーク接続と構成をテストするために使用するコマンドライン診断ツールです。 Netdiag は、Windows 2000、Windows XP、および Windows Server 2003 で使用できますが、利用できる機能はオペレーティング システムのバージョンによって異なります。 Windows Server 2003 では、Netdiag に IPsec 用の機能は含まれていません。代わりに一連の netsh ipsec コマンドを使用できます。また、Netsh で基本的なネットワーク テストを行うこともできます。 どのオペレーティング システムのバージョンの場合も、最新バージョンを使用することが重要です。これについては、Microsoft ダウンロード センターで確認してください。 Netdiag は、どの Windows オペレーティング システムの場合も、CD 内の Support Tools フォルダからインストールします。 注 : Netdiag は、Windows XP SP2 をインストールしても更新されません。 IPsec のトラブルシューティングに Netdiag を使用することが適切かどうかは、オペレーティング システムのバージョンによります。 次の表は、機能上の相違点をまとめたものです。 表 7.1: オペレーティング システム別の Netdiag の IPsec 用機能 netdiag /test:ipsec | 割り当てられている IPsec ポリシーを表示します | 利用可 | 利用可 | 利用不可** | netdiag /test:ipsec /debug | アクティブな IPsec ポリシー、フィルタ、クイック モードの統計情報を表示します | 利用可 | 利用可* | 利用不可** | netdiag /test:ipsec /v | アクティブな IPsec ポリシー、フィルタ、メイン モードの統計情報を表示します | 利用可 | 利用可* | 利用不可** |
* ネットワーク診断を実行できますが、IPsec ポリシー名しか表示されません。 その他の IPsec 情報を表示するには、Ipseccmd を使用します。 ** ネットワーク診断を実行できますが、IPsec 情報は表示されません。 情報を表示するには、代わりに「netsh ipsec dynamic show all」という構文を使用します。 IPsec をサポートするその他の便利なツール次の表は、上述の IPsec 固有のツール以外の、トラブルシューティングに使用でき第 2 層のトラブルシューティング ツールキットに含める必要のあるその他のツールをまとめたものです。 表 7.2: IPsec のトラブルシューティングに役立つその他のツール Ipsecpol.exe | Windows 2000 のみ | Windows 2000 Resource Kit | ディレクトリまたはレジストリで IPsec ポリシーを構成します | Windows 2000 リソース キット ツールのヘルプ | Gpresult | Windows 2000、Windows Server 2003、Windows XP | Windows 2000 の場合は Resource Kit。Windows XP および Windows Server 2003 の場合は、オペレーティング システムに搭載済み。 | グループ ポリシーが最後に適用された日時をチェックします | Windows 2000 リソース キット ツールのヘルプ、Windows XP および Windows Server 2003 のヘルプ | [ポリシーの結果セット (RSoP)] MMC スナップイン | Windows Server 2003、Windows XP | オペレーティング システムの一部として搭載済み | コンピュータまたはグループ ポリシー コンテナのメンバの IPsec ポリシーを表示します | Windows Server 2003 のヘルプ | Srvinfo | Windows 2000、Windows Server 2003、Windows XP | Windows 2000 および Windows Server 2003 リソース キット | サービス、デバイス ドライバ、およびプロトコルに関する情報 | Windows Server 2003 リソース キット ツールのヘルプ | PortQry | Windows 2000、Windows Server 2003、Windows XP | Windows Server 2003 リソース キット | ネットワーク ポートのステータスに関するレポートを作成します | http://support.
microsoft.com/
kb/310099 | NLTest | Windows 2000、Windows Server 2003、Windows XP | サポート ツール | 信頼関係と Netlogon セキュア チャンネルをテストします | Windows Server 2003 サポート ツールのヘルプ | Klist | Windows 2000、Windows Server 2003、Windows XP | Windows 2000 および Windows Server 2003 リソース キット | Kerberos チケットに関するレポートを作成します | Windows Server 2003 リソース キット ツールのヘルプ | Pathping | Windows 2000、Windows Server 2003、Windows XP | オペレーティング システムの一部として搭載済み | ネットワークの接続とパスをテストします | Windows のヘルプ | LDP | Windows 2000、Windows Server 2003、Windows XP | サポート ツール | Active Directory の LDAP クライアントをテストします | Windows Server 2003 サポート ツールのヘルプ |
IPsec で ICMP ベースのツールを使用するWindows XP および Windows Server 2003 の Ping、Pathping、および Tracert は IPsec を認識しますが、ソフト SA が確立されるまでは正常に機能しない場合があります (クリアテキストへのフォールバックが有効な場合)。 これらのユーティリティで使用される ICMP トラフィックをカプセル化するように IPsec SA がネゴシエートされ、それが正常に完了した場合、クライアントと接続対象との間にある中間ホップ (ルーター) は検出されなくなります。 Ping で算出されるパケット損失は、IKE による IPsec SA ペアのネゴシエーションが対象コンピュータとの間で行われた場合に、それが正常に完了するまでに要する時間内で失われるパケット数を表します。 ICMP トラフィックが IPsec によりカプセル化される場合、中間ホップごとのパケット損失は算出できません。 これらの ICMP ユーティリティは、IPsec ドライバが送信 ICMP エコー要求パケットに対して IPsec フィルタを適用したか、つまり IKE によるセキュリティのネゴシエーションを要求したかどうかを検出できるように設計されています。 このネゴシエートが行われると、ユーティリティによって「IP セキュリティをネゴシエートしています。」というメッセージが表示されます。 Windows 2000 の既知のバグにより、Ping ユーティリティは十分な待ち時間を入れずに次のエコー要求を再試行します。そのため、ソフト SA が確立されるまでの 3 秒の待ち時間はなく、コマンドは直ちに完了します。 Windows XP および Windows Server 2003 の Ping ユーティリティでは、次のエコー要求が送信されるまで適切な秒数の待ち時間があります。 「IP セキュリティをネゴシエートしています。」というメッセージは、次の状況では表示されません。 | • | IPsec ドライバが、ブロック フィルタにより送信 ICMP パケットをドロップする場合。 | | • | IPsec ドライバが、許可フィルタまたはソフト SA によりセキュリティ保護されないままの状態の ICMP パケットの通過を許可する場合。 | | • | IPsec ドライバが、送信パケットを検出しない場合 (IPsec ドライバの上位層で既にドロップされた場合など)。 注 : ICMP を使用する一部のツールは、IPsec がセキュリティをネゴシエートしていることを検出できないため、矛盾した結果や誤った結果を生成する場合があります。 |
IPsec のトラブルシューティング プロセス第 1 層のサポートで問題が明確に特定されていると、第 2 層のサポートは、以降のセクションで説明するトラブルシューティング手順の中から該当するものを迅速に特定することができます。 ここで紹介するモデルでは、第 1 層のサポートは主にクライアント関連のアクセス問題を扱っています。 サーバーの管理所有者は、基本的なネットワーク接続診断を実行する能力があり、場合によっては第 1 層のサポートをスキップできると想定されています。 ただし、組織はそれぞれのサポート環境に合わせてモデルを調整してください。 第 2 層のサポートでは、通信障害が発生している箇所を特定し、次にシステムのアーキテクチャ内で関連する可能性を調査します。 組織がトラブルシューティング プロセスの一部として提供されているスクリプトを使用している場合は、問題の診断に役立つ多くのテキスト ログ ファイルにアクセスすることができます。 スクリプトが生成するファイルの内容については、次の表にまとめています。 表 7.3: IPsec_Debug.vbs スクリプトで作成されるファイル <コンピュータ名>_FileVer.txt | さまざまな IPsec 関連の DLL ファイルのバージョンを一覧表示したもの。 | <コンピュータ名>_gpresult.txt | gpresult コマンドの出力。 | <コンピュータ名>_ipsec_547_events.txt | セキュリティ イベント ログの任意の IPSEC 547 エラーの出力。 | <コンピュータ名>_ipsec_policy_version.txt | Detect_IPsec_Policy.vbs スクリプトの出力。 コンピュータ上の現在のポリシー バージョンと、それが Active Directory のポリシーと一致しているかどうかを表示します。 | <コンピュータ名>_ipseccmd_show_all.txt | Windows XP でのみ使用可能。 ipseccmd コマンドの出力をキャプチャしたファイルです。 | <コンピュータ名>_kerberos_events.txt | システム イベント ログの任意の Kerberos イベントの出力。 | <コンピュータ名>_klist_purge_mt.txt | マシン チケットの削除中に KList から出力されるファイル。 | <コンピュータ名>_lsass.log | lsass.log ファイルのコピー (存在する場合)。 | <コンピュータ名>_netdiag.txt | netdiag を実行すると出力されるファイル。 | <コンピュータ名>_netsh_show_all.txt | サーバー プラットフォームでのみ使用可能。 netsh の show all コマンドからの出力。 | <コンピュータ名>_netsh_show_gpo.txt | サーバー プラットフォームでのみ使用可能。 netsh の show gpo コマンドからの出力。 | <コンピュータ名>_oakley.log | Oakley.log ファイルのコピー (存在する場合)。 | <コンピュータ名>_OSInfo.txt | 現在のオペレーティング システム情報の出力。 | <コンピュータ名>_RegDefault.txt | 変更前の元のレジストリ キー値の出力。 スクリプトが何らかの理由で失敗した場合に、レジストリを以前の値に手動で復元できます。 | <コンピュータ名>_userenv.log | userenv.log ファイルのコピー (存在する場合)。 | <コンピュータ名>_<サーバー名>_netview.txt | <サーバー名> に対する net view コマンドの出力。 | <コンピュータ名>_<サーバー名>_ping.txt | <サーバー名> に対する ping コマンドの出力。 | <コンピュータ名>_winlogon.log | winlogon.log ファイルのコピー (存在する場合)。 |
障害が発生すると考えられる箇所は多数存在します。したがって、ここでは各アーキテクチャ コンポーネントの対応方法について順番に説明します。まず最初に、ネットワーク接続について取り上げます。 ここで紹介する手順は、次のタスクを実行する場合に役立ちます。 | • | IP ネットワーク構成、ドメイン コントローラを使用したネットワーク接続およびサービス、および IPsec 関連のプロトコルに対応したクライアント/サーバー パス接続を確認する。 | | • | クライアントとサーバーの両方で、グループ ポリシーと IPsec ポリシーが正しく適用されていることを確認する。 | | • | IKE ネゴシエーションと IPsec で保護された通信に関する問題を調査する。 | | • | 必要に応じて、第 3 層にエスカレートする問題の原因を特定する。 |
たとえば、クライアントからサーバーに対して ping を実行できるにもかかわらず、クライアントからサーバーのファイル共有に接続できないものとします。 このサーバーは、クライアントが接続できない唯一のサーバーです。 サーバーの IP アドレスが記録されているイベント 547 (IKE ネゴシエーションの失敗) のセキュリティ ログを参照すると、クライアントに適用されている IPsec ポリシーがあることと、IKE が開始されていることが分かります。 クライアント イベント 547 にクライアント IKE ネゴシエーションのタイムアウトが記録されている場合、サーバー IKE はネゴシエーションに失敗している可能性があります。 次に、第 2 層のサポートは、指定したサーバーから収集した 547 イベントの MOM イベント データベース (現在のクライアントの IP アドレスが記録されています) を参照します。 警告 - IPsec サービスの開始と停止Windows Server 2003 TCP/IP トラブルシューティング ドキュメントおよびその他のリファレンスには、IPsec サービスを停止することで、IPsec が接続に関する問題の原因であるどうかを判断する手順が記載されています。 この手順を使用するとコンピュータの IPsec フィルタリングが停止しますが、同時に IPsec が提供する保護機能が無効になり、信頼されていないネットワークからのアクセスにコンピュータをさらすことにつながり、パケット保護も無効になります。 また、ドメイン分離環境では、IPsec で保護されていない TCP および UDP トラフィックは、別の分離ドメイン メンバによってドロップされます。 IPsec を 1 台のコンピュータ上で無効にすると、現在 IPsec セキュリティ アソシエーションが確立しているリモート コンピュータとの接続が切断されます。 IPsec サービスを停止すると、IKE により、すべての IPsec SA および IKE SA の削除通知が、現在接続中のすべてのコンピュータに対して送信されます。 クリアテキストへのフォールバックを許可する IPsec ポリシーが割り当てられているリモート コンピュータでは、3 秒後に接続が再確立されます。 クリアテキストへのフォールバックを許可しない IPsec ポリシーが割り当てられているリモート コンピュータでは、通信できない状態になります。 したがって、次のセクションで説明するテクニックを用いて、IPsec サービスを停止せずに分離シナリオの問題を解決することが重要です。 IPsec サービスの無効化は、次のような状況で発生した IPsec 関連の問題を公開する最後の手段としてのみ使用してください。 | • | ブロードキャストおよびマルチキャスト トラフィック環境 | | • | 送信アクセスで IPsec を必要としないリモート コンピュータ (適用除外リストのメンバであるコンピュータなど) との接続 |
Windows 2000 では、IPsec サービスを停止すると IPsec ドライバが TCP/IP とのバインドから解除され、IPsec ドライバがメモリからアンロードされます。 Windows XP および Windows Server 2003 では、IPsec サービスを停止すると IPsec ドライバからすべてのフィルタが削除され、ドライバ モードが PERMIT (許可) に設定されます。 IPsec ドライバはメモリからアンロードされません。 IPsec ドライバが読み込まれないようにするには、IPsec サービスを無効にしてコンピュータを再起動する必要があります。 Windows 2000 および Windows XP SP1 では、IKE のログを Oakley.log ファイルに記録するには、IPsec サービスを再起動する必要があります。 Windows XP SP2 および Windows Server 2003 では、IKE のログを Oakley.log ファイルに記録する機能を有効/無効にする場合に、サービスを停止する必要はありません。 Windows XP SP2 の Ipseccmd を最新版に更新すると、構文 ipseccmd set logike および ipseccmd set dontlogike を使用して、IKE のログを Oakley.log ファイルに記録する機能を動的に有効または無効にすることができます。 Windows Server 2003 では、IKE のログ記録は、Netsh コマンドを使用して動的に有効にすることができます。コマンドの詳細については、オンライン ヘルプを参照してください。 ネットワーク接続を確認する第 1 層のサポートがネットワーク接続の問題である可能性があることを特定した場合は、まず最初に、基本的なネットワーク接続が存在することを確認します。 つまり、適切な IP 構成が使用されているか、開始側コンピュータと応答側コンピュータの間に有効なネットワーク パスが存在するか、名前解決サービスが機能しているか、という点を確認します。 ネットワーク IP アドレスの構成に関する問題動的な IP 構成がうまくいかない場合、またはコンピュータの再起動後 (または通常の操作中) に通信がブロックされる場合は、IPsec が原因である可能性があります。 Windows Server 2003 の場合は、IPsec のフェイルセーフ動作が原因で問題が発生している可能性があります (コンピュータがセーフ モードまたは Active Directory 障害回復モードで起動する場合など)。 注 : Windows Server 2003 のフェイルセーフ動作の詳細については、「Windows Server 2003 Deployment Kit」の「Deploying IPsec」にある「Understanding IPSec Protection During Computer Startup」(英語) を参照してください。 Windows Server 2003 では、IPsec サービスが正常に開始されない場合や割り当てられているポリシーを適用できない場合に、フェイルセーフ動作が使用されます。 フェイルセーフは、IPsec ポリシーがコンピュータに適用されていて、IPsec サービスが無効にされていない場合にのみ適用されます。 結果的に、IPsec ドライバによってドメインベースの IPsec ポリシーが強制的に適用されないため、通常の操作中はコンピュータとの接続に失敗します。 bootmode と永続的な構成によって許可されるトラフィックとブロックされるトラフィックが特定されれば、通信障害の解明は簡単になります。 代替情報や追加情報を取得するには、次の構文を使用してコマンド ラインから現在の状態のクエリを行います。 netsh ipsec dynamic show config Windows Server 2003 の場合、IPsec ドライバはコンピュータの起動時に TCP/IP ドライバと一緒に読み込まれます。 そのため、IPsec ドライバのフェイルセーフ動作を削除するには、IPsec サービスを無効にしてコンピュータを再起動する必要があります。 IPsec の展開について説明した章に、受信リモート デスクトップ プロトコル接続を除外する起動時適用除外の推奨構成が紹介されています。この構成を使用すると、他のトラフィックがブロックされているときにサーバーにリモート アクセスすることができます。 サーバー/ドメイン分離ソリューションではブロードキャスト トラフィックと DHCP サーバー宛てのトラフィックが適用除外されており、そのため動的な IP 構成が正常に動作します。 ただし、適用除外リストは手動でメンテナンスする必要があります。リストの有効期限切れに注意してください。 コンピュータが適切な DHCP 構成を取得できない場合 (169.254.x.x の自動構成 IP アドレスを使用している場合など) やリースの更新に問題がある場合は、IPsec ポリシーの適用除外リストが適切に設定されているかどうかを確認する必要があります。 IPsec サービスが稼動中の場合は、Ipconfig を次のように使用してアドレスの取得に問題がないことを確認します。 | • | DHCP クライアントの場合は、コマンド ウィンドウを開いて ipconfig /release を実行し、続けて ipconfig /renew を実行します。 |
Windows XP SP2 および Windows Server 2003 の場合、アドレス構成に関する問題がコンピュータの起動時にしか発生しないときは、適用除外リストの構成 (既定の除外と起動時の除外) を調査する必要があります。 名前解決に関する問題サーバー/ドメイン分離シナリオで使用する IPsec ポリシーを設計する場合は、名前解決が機能しているかどうかを確認する一般的な手順を妨げないように作成する必要があります。 たとえば、Woodgrove Bank シナリオの IPsec ポリシー設計では、DNS サーバーおよび WINS サーバーに送信されるすべてのトラフィックが除外されています。 ただし、DNS サーバーおよび WINS サーバーが Ping 要求に応答しないように構成することは可能です。 IPsec サービスの実行中に名前解決が正常に機能していることを確認するには、次の確認事項をチェックしてください。 | • | クライアントから IP 構成に登録されている DNS サーバーの IP アドレスに対して ping を実行できるか。 | | • | nslookup で DNS サーバーを検出できるか。 | | • | クライアントから対象コンピュータの完全修飾 DNS 名に対して ping を実行できるか。 | | • | クライアントから対象コンピュータの省略 DNS 名または NetBIOS 名に対して ping を実行できるか。 |
名前解決に関する問題の原因としては、アクティブな HOSTS ファイルの構成ミス、IP プロパティ内の DNS サーバー エントリの構成ミス、DNS 記録登録の誤り、ゾーン ファイルの更新に関する問題、Active Directory の複製に関する問題、DNS サーバーでのクリアテキストへのフォールバックの実行、DHCP の自動更新に関する問題などが考えられます。 NetBIOS 名前解決に関する問題の原因としては、アクティブな LMHOSTS ファイルの構成ミス、IP プロパティ内の WINS サーバー エントリの構成ミス、WINS サーバーが使用できない、WINS 記録の誤り、WINS の複製に関する問題、WINS プロキシ障害、WINS サーバーに到達するまでのネットワーク タイムアウトなどが考えられます。 Active Directory が統合されている DNS のトラブルシューティング手順については、マイクロソフト Web サイトの「Troubleshooting Active Directory - Related DNS Problems」(英語) を参照してください。 高いセキュリティが求められる一部の環境では、DNS サーバーと WINS サーバーを IPsec で保護しなければならない場合があります。そのような場合、名前解決で問題が発生します。 たとえば、DNS が Active Directory 内に統合され、IPsec ポリシーに同じ IP アドレスの複製フィルタが存在する場合、一方のフィルタでは DNS サーバーに対してセキュリティのネゴシエーションが行われ、もう一方のフィルタではドメイン コントローラが適用除外されるということも考えられます。 詳細については、この章で後述する「IPsec ポリシーのトラブルシューティングを行う」を参照してください。 名前解決に関する問題が解消されない場合は、開始側コンピュータからフィルタ一覧を取得して複製フィルタかどうかを確認します。 この作業を行うためにフィルタ一覧を表示するには、次のコマンド ライン オプションを使用します。 Ipseccmd show filters
Netsh ipsec static show all それでも名前解決に関する問題が解消されない場合は、可能であれば IPsec サービスを一時的に停止して、名前解決のテストを繰り返します。 IPsec サービスの実行中にのみ名前解決のテストが失敗する場合は、このセクションで後述する手順に従って検証を続け、割り当てられている IPsec ポリシーを確認します。 ドメイン コントローラでの接続と認証を確認するIPsec ポリシーの配布や IKE 認証、およびほとんどの上位層のプロトコルはドメイン コントローラへのアクセスに依存しているため、IPsec 固有のトラブルシューティング手順 (次のセクションを参照) を実行する前に、ネットワーク接続をテストして認証サービスが正常に運用されることを確認する必要があります。 Woodgrove Bank などのシナリオでは、すべてのドメイン コントローラに送信されるすべてのトラフィックが IPsec ポリシーの設計で適用除外されています。このため、ドメイン コントローラに対するネットワーク接続のテストは、IPsec による影響を受けません。 ただし、適用除外リストに含まれるドメイン コントローラの IP アドレス リストは、手動でメンテナンスする必要があります。 ドメイン コントローラ IP アドレスに対して IKE ネゴシエーションが行われる場合、IPsec ポリシーは誤って割り当てられるか、更新されない可能性があります。 Active Directory のネットワーク サービスへのアクセスのトラブルシューティングを行うには | • | クライアントから各ドメイン コントローラの IP アドレスに対して ping を実行できることを確認します。 実行できない場合は、上記のネットワーク接続の手順を参照してください。 | | • | ドメイン メンバのドメイン コントローラで使用されている IP アドレスを特定します。 nslookup <ドメイン名> を使用して、IP アドレスの完全なリストを取得します。 サーバー/ドメイン分離シナリオでは、この各アドレスに対応する、permit (許可) のネゴシエーション ポリシー (フィルタ操作) を含むクイック モード専用のフィルタを用意します | | • | portqry.exe ツールまたは PortQueryUI ツールのバージョン 2.0 以降を使用して、ドメイン コントローラの UDP、LDAP、および RPC ポートに対するアクセスをテストします。 portqry で使用される UDP プロトコル メッセージは、通常、上位層のプロトコル認証を必要としません。そのため、認証を利用できない場合でもサービスの可用性を確認できます。 この手順については、「[HOWTO] Portqry を使用して Active Directory の接続の問題をトラブルシューティングする方法」を参照してください。 | | • | 内部ネットワークとの接続が完了したら、netdiag /v >outputfile.txt を使用して、多数ある DNS 関連およびドメイン コントローラ関連の接続テストを実行します。 Netdiag では、テストを実行するために複数のネットワーク接続とプロトコルを使用します。これらの接続のいずれかによって IKE ネゴシエーションが起動し、IKE が Kerberos 認証用のドメイン コントローラを検出できないために認証に失敗した場合は、イベント 547 障害エラーがセキュリティ ログに記録されます。 |
Windows サポート ツールの klist.exe を使用すると、正常な Kerberos ログインと認証が行われたかどうかを確認できます。 コンピュータの Kerberos チケットを表示するには、ローカル システム環境で Klist を実行する必要があります。 ログインしたドメイン ユーザーの Kerberos サービス チケットを表示するには | • | コマンド プロンプトを開き、次のように入力します。 klist tickets |
ドメイン コンピュータ チケットを表示するには 1. | タスク スケジューラ サービスが実行されており、ログオンしたユーザーが Local Administrators グループのメンバであることを確認します。 | 2. | コマンドライン プロンプトで、現在のシステム時間の 1 分前に当たる時間を選択し (4:38 pm など)、次のように入力します。 at 4:38pm /interactive cmd /k klist tickets コマンド ウィンドウのタイトル バーに C:\Windows\System32\svchost.exe と表示されていることを確認します。 |
Kerberos チケットにはユーザーまたはコンピュータのグループ情報が格納されていますが、この情報は暗号化されているため、グループは表示されません。 したがって、グループ メンバシップを確認するには、Active Directory のグループ メンバシップを手動で調査する必要があります。 Kerberos チケットを更新して最新のグループ メンバシップ情報をコンピュータに反映させるには、klist を使用して現在の Kerberos チケットを削除します。 IKE ネゴシエーションを再度試行すると、新しい Kerberos チケットが自動的に取得されます。 コンピュータの Kerberos チケットを削除するには (手順 1 ~ 4 はローカル システム環境で実行する必要があります) 1. | タスク スケジューラ サービスが実行されており、ログオンしたユーザーが Local Administrators グループのメンバであることを確認します。 | 2. | コマンドライン プロンプトで、現在のシステム時間の 1 分後に当たる時間を選択し (4:38 pm など)、次のように入力します。 at 4:38pm /interactive cmd | 3. | 「klist purge」と入力し、チケットごとに Y キーを押してすべての Kerberos チケットを削除します。 | 4. | 「klist tickets」と入力し、チケットが存在しないことを確認します。 | 5. | この手順を IKE ネゴシエーションで発生した障害のトラブルシューティングの一部として使用する場合は、IKE ネゴシエーションがタイムアウトになるまで 1 分待ち、アプリケーションで対象サーバーに再度アクセスを試みます。 新しい IKE メイン モード ネゴシエーションにより、宛先コンピュータ用の新しい Kerberos TGT およびサービス チケットが要求されます。この結果、最新のグループ情報がそのコンピュータに適用されます。 アプリケーションは、ローカル システム環境で実行しているコマンド ウィンドウからは実行しないでください。 |
Kerberos のトラブルシューティングを行う場合のその他の手順の詳細は、次のホワイト ペーパーに記載されています。 Active Directory の IPsec ポリシーの許可と整合性を確認するActive Directory の IPsec ポリシー コンテナに関する情報の確認が必要になる場合があります。 次の手順では、サポート ツールの ldp.exe を使用します。 IPsec ポリシー コンテナに関する情報を確認するには 1. | [スタート]、[ファイル名を指定して実行] の順にクリックし、「ldp.exe」と入力して ENTER キーを押します。 | 2. | [Connection]、[Connect] の順に選択します。 対象ドメインの名前を指定します。 | 3. | [Connection]、[Bind] の順に選択します。 対象ドメインのログオン資格情報を指定します。 | 4. | [View]、[Tree] の順に選択します。 ベースの DN を指定せずにナビゲートして IPsec ポリシー コンテナを選択するか、ベース ロケーションとして IPsec ポリシー コンテナの LDAP DN を指定します。 | 5. | ツリー ビューのコンテナ ノードの横にある + (プラス記号) をクリックします。 コンテナに読み取り許可が設定されている場合は、コンテナ内のすべての IPsec ポリシー オブジェクトが表示されます。 注 : 一部のドメイン ユーザーは、許可の構成方法によって、コンテナに対する読み取りアクセスの許可が与えられていない場合があります。 詳細については、マイクロソフト サポート技術情報 329194「Windows 2000 および Windows Server 2003 の IPSec ポリシー アクセス許可」を参照してください。 |
ldp.exe を使用して IP セキュリティ コンテナの内容と IPsec |