証明書サービスを使用してワイヤレス LAN のセキュリティを保護する
第 13 章 : テスト ガイド
最終更新日: 2005年5月24日
トピック
はじめに
テストの範囲
テストの目的
テストの方針
テスト ツール
テスト事例
リリース条件
関連情報
はじめに
テスト ガイドは、「証明書サービスを使用してワイヤレス LAN をセキュリティで保護する」ソリューションの実装が予期したとおりに動作することを確認するときに役立ちます。 この章のガイダンスは、ソリューションの内部テストの一部として、Microsoft Solutions for Security (MSS) テスト チームによって開発および使用されました。 このガイダンスでは、テスト範囲、テストの目的と方針、テスト ラボの環境、使用ツール、およびテスト事例について説明します。 最後に、MSS ラボでのテスト結果についても報告します。
この文書の目的
この章の目的は、独自に開発したソリューションのテストに使用できる既成のテスト フレームワークを提供することです。 テスト事例に無事合格したら、テスト ラボでも運用環境でも、開発したソリューションが予期したとおりに動作するという高い信頼性を得ることができます。
テストの範囲
ソリューションのテストは、「第 3 章 : セキュリティ保護されたワイヤレス LAN ソリューション アーキテクチャ」で説明されている架空の会社のプロファイルに基づいています。
テスト範囲内の項目
テスト チームは、異なる種類のテストを実行してソリューションを検証しました。 各テスト フェーズでは、これらのテストのさまざまな組み合わせがテストされました。 テストの種類は次のとおりです。
ベースライン テスト
機能テスト
運用テスト
これらのテストの詳細については、この章で後述する「テスト事例」を参照してください。
テスト チームは、次のコンポーネントに対してこの 3 種類のテストをソリューションで使用されているとおりに実行しました。
PKI:
ルート証明機関 (CA)
発行 CA
Microsoft インターネット認証サービス (IAS)
ワイヤレス クライアント :
Microsoft® Windows® XP Professional Service Pack 1 (SP1)
Windows XP Tablet PC Edition SP1
さらに、テストでは、ソリューションの各コンポーネントのインストール後、ソリューションの適用前と同じレベルの機能を使用してクライアントが次のサービスにアクセスできることが確認されました。 このテストは、前述のソリューション コンポーネントのいずれかを導入したり、構成プロセスでそれらを変更したため、機能の回帰を確認するために設計されました。
ネットワーク接続
ドメイン コントローラ
IP 構成 - 動的ホスト構成プロトコル (DHCP)
名前解決サービス - ドメイン ネーム システム (DNS)
ファイル サービス - ファイル サーバー
Web サービス - インターネット インフォメーション サービス (IIS)
電子メール サービス - Microsoft Exchange 2000
ワイヤレス ネットワーク アクセス
テスト範囲外の項目
次の領域は、テスト範囲に含まれていません。
ソリューションの脆弱性評価およびペネトレーション テスト。 この評価とテストはセキュリティ専門業者が実行しました。
サード パーティ製公開キー基盤 (PKI) との統合
以下のサーバーの役割に関する広範なテスト (ソリューションが正常に動作しているか確認するために必要なテストを除く)
ドメイン コントローラ、動的ホスト構成プロトコル (DHCP)、およびドメイン ネーム システム (DNS)
Exchange Server 2000
Web サーバー、ファイル/プリント サーバー
Microsoft Operations Manager (MOM)
以下のクライアント サービスの広範なテスト (ソリューションの機能確認には使用されました)
DNS および DHCP
ファイル
Web
電子メール
次のソフトウェアを実行しているクライアントは、テスト範囲から除外されました。
Windows 2000 Professional
Windows CE を実行している Pocket PC
Microsoft Windows NT® version 4.0
Windows 9x
Windows 以外のクライアント
テストの目的
テストの目的は、以下を検証することです。
ソリューションで規定されているすべてのガイドが明確かつ完全で、技術的に正確であること。
既存のインフラストラクチャの機能、パフォーマンス、およびセキュリティ ポリシーに有害な影響を与えずに、ソリューションが証明書サービスを使用してワイヤレス LAN (WLAN) ネットワークをセキュリティで保護していること。
ソリューションを簡単に展開できること。 Windows 2000 (または Windows Server 2003) Microsoft Certified Systems Engineer (MCSE) 認定資格または同等の知識を持ち証明書サービスおよび IAS に精通した IT 専門家がこのガイダンスを使用できる必要があります。
テストの方針
テストの目的を達成するために、テスト チームは Woodgrove Bank 社 (15,000 人のユーザーを抱える架空の会社) に基づいてラボを構築しました。 テスト ラボ環境については後述します。 テストには、次の段階があります。
開発プロセスの一部として、ソリューションに対して単体テストを実施しました。
システム テスト パス 1
システム テスト パス 2
システム回帰テスト
テストに使用した各ベース インフラストラクチャ サーバーには、次の役割があります (複数の役割が設定されるサーバーもあります)。
ドメイン コントローラ、DHCP、および DNS
Web サーバー、ファイル/プリント サーバー
Microsoft Exchange Server 電子メール サーバー
Microsoft Outlook® Web Access サーバー
Active Directory® ドメイン コントローラ
これらのサービスは、ソリューション コンポーネントの展開前にベースライン テストを実施することによって検証されました。 2 回目のテスト パスで使用するために各インフラストラクチャ サーバーのイメージ バックアップが行われました。 回帰テストでは、2 回目のテスト パスと同じインフラストラクチャが使用されました。
システム テスト パス (1 回目と 2 回目) はそれぞれ、次の 2 つの増分構築フェーズで構成されています。
PKI 証明書サービス フェーズ
WLAN フェーズ
これら 2 つのフェーズの詳細については、このセクションの後半で説明します。
テスト チームは、特定のフェーズで見つかったすべての致命的な問題をバグとして記録し、致命的なバグはすべて、次のフェーズへ移る前にそのフェーズ内で解決しました。 この方針により、致命的な問題の迅速な解決が可能となり、デバッグに関連する時間とコストが節約されました。
また、テストを複数のテスト パス (またはサイクル) で構成することにより、テスト パス N で見つかった重大ではない問題を回帰テスト パス N+1 で確実に解決し、結果として、高品質のソリューションを実現しました。 ソリューションは、回帰テスト サイクルが終了するまでには安定しました。
このガイドで使用する、このソリューションのフェーズごとのテスト アプローチを次の図に示します。
図 13.1: ソリューションのフェーズごとのテスト アプローチ
テスト フェーズ
テストでは、論理的なフェーズごとに分割したアプローチを採用しました。 各フェーズは増分的で、次の手順が含まれています。
開始条件 : フェーズの開始
コンポーネント構築
構築に対して実施される異なる種類のテスト
終了条件 : フェーズの終了
PKI フェーズ
このフェーズの開始条件は、インフラストラクチャ サーバーに対するベースライン テストが正常に完了していることです。 この最初のフェーズで行われた手順は次のとおりです。
PKI の構築 : この手順では、ネットワークの証明書サービスの実装を行いました。 具体的には、ルート CA と発行 CA サーバーのインストール、構築、および構成を行いました。 これは、このフェーズのコンポーネント構築手順でもあります。
ベースライン テストの実施 : この手順では、証明書サービスのセットアップが既存のインフラストラクチャやクライアント サービスを破壊しないことを確認しました。
機能テストの実施 : この手順では、CA がテスト ネットワークに正しく実装され、完全に機能していることを確認しました。
運用テストの実施 : この手順では、CA が適切な管理役割によって管理および保守されることを確認しました。 これらのテストでは、ソリューション ガイドに記載されているさまざまな証明書サービス コンポーネントの運用手順を検証しました。
このフェーズの終了条件は、上記のテストすべてが正しく完了することです。
WLAN フェーズ
増分フェーズの 2 番目の構築である WLAN フェーズは、PKI フェーズが正しく完了した後に開始されます。 PKI フェーズが正しくインストールされていることが、このフェーズの開始条件です。 2 番目の手順は、IAS サーバーのインストールから始まり、WLAN コンポーネントの構成へと進みます。 このフェーズで行われた手順は次のとおりです。
IAS の構築 : この手順では、ソリューション ガイダンスに従い、ネットワーク内の本社と支社の両方で IAS サーバーのインストールと構成を行いました。
WLAN コンポーネント : この手順では、WLAN コンポーネントの構築と構成を行いました。
WLAN クライアント : この手順では、WLAN クライアントの構成を行いました。
完全なベースライン テストの実施 : この手順では、ベース インフラストラクチャおよびクライアント サービスに対する負の影響が存在しないことを確認しました。
完全な機能テストの実施 : この手順では、ソリューションが正しく構築および実装されていることを確認しました。 これには、ネットワーク内にセキュリティで保護されたワイヤレス アクセス サービスがあること、および前のフェーズで構築した PKI が使用されていることの確認が含まれます。
完全な運用テストの実施 : この手順では、セキュリティで保護されたネットワークが管理および保守されていることを確認しました。 これには、運用テストおよび管理テストを使用した、証明書サービス コンポーネントの再テストが含まれます。
このフェーズの終了条件は、上記のテストすべてが正しく完了することです。
テスト環境
テスト環境は、Woodgrove Bank 社のような企業が使用する IT サービスの機能のサブセットになるように設計されました。 ソリューションに必要なすべてのキー基盤サービスが、ラボ環境に反映されました。 ラボでは、本社オフィスと、ルーティングされたワイド エリア ネットワーク (WAN) 接続によってリンクされている小規模な支社オフィスをエミュレートしました。 ラボでは、次のインフラストラクチャ サーバーをセットアップしました。
ドメイン コントローラ、DHCP、および DNS (本社および支社)
Microsoft Exchange 2000 を Windows Advanced Server 2000 で実行 (本社)
Web、ファイル/プリント (本社)
MOM (本社)
ソリューション サーバーを構成するコンポーネントは次のとおりです。
ルート CA (本社)
発行CA (本社)
本社のプライマリおよびセカンダリ IAS サーバー、および支社のドメイン コントローラにインストールされているセカンダリ IAS サービス
ハードウェア
サーバー コンピュータのテスト ラボ ハードウェア構成は、ソリューション ガイダンスに記載されているハードウェア プロファイルをベースに、次のコンポーネントを追加したものです。
標準的なデスクトップ クライアント
標準的なポータブル コンピュータ クライアント
標準的な Tablet PC クライアント
802.1X 対応のワイヤレス アクセス ポイント (AP) (本社および支社)
ルーティングおよび WAN シミュレーション用のデスクトップ コンピュータ
レイヤ 3 スイッチ
ソフトウェア
テスト ラボですべてのサーバー (Microsoft Exchange 2000 サーバーを除く) の役割に使用する基本オペレーティング システムは、Microsoft Windows Server™ 2003 です。 さらに、次のソフトウェアをテストに使用しました。
Windows 2000 Advanced Server (SP3)
Windows Server 2003 Enterprise Edition
Windows Server 2003 Standard Edition
Exchange 2000 (SP3)
Windows XP Professional (SP1)
Windows XP Professional (SP1) Tablet バージョン
MOM 2000 (SP1)
Microsoft SQL Server™ 2000 (SP3)
Outlook 2000 (SP1)
セキュリティで保護されたワイヤレス アクセスをテストするために、テスト ラボでは次のオペレーティング システムを使用しました。
Windows XP Professional (SP1)
Windows XP Tablet PC Edition SP1
ネットワークの概略図
次の図は、テスト環境の詳細な概略図です。
図 13.2: テスト ラボのネットワーク概略図
構成および設定
上の図は、Woodgrove Bank 社のシナリオをシミュレートするためにテスト ラボで構築されたネットワークを示しています。 このシナリオでは、大部分のインフラストラクチャとソリューション サーバーを含む本社ネットワーク、およびインフラストラクチャおよびソリューション サービスを実行している 1 台のサーバーを含む支社ネットワークが存在します。 WAN シミュレータ コンピュータは、これらのネットワーク間でのネットワークの待ち時間および帯域幅の制限をシミュレートします。 テスト ラボの構成と設定は、ソリューション ガイダンスで指定されている構成および設定と同一です。
テスト ツール
ここでは、ソリューションのテスト中に使用したさまざまな種類のツールについて説明します。 これらのツールのほとんどは、オペレーティング システムのインストール ガイダンスに付属しています。 オペレーティング システムのインストール ガイダンスに付属していないツールは、Windows Server 2003 インストール メディアの Support\Tools フォルダからインストールします。
ソフトウェア
テストでは、次のツールを使用しました。
Certutil - これは、CA のセットアップ、構成、およびトラブルシューティングに使用できる強力な多目的の証明書サービス ユーティリティ ツールです。
Certreq - このツールは、CA からの証明書を手動で要求するときに使用します。Windows Server 2003 インストール メディアに収められています。
Ldifde - このツールは、LDAP データ交換形式 (LDIF) ファイルを使用して Active Directory の情報をインポート/エクスポートするときに使用します。 このツールは、ソリューション内の一部の証明書テンプレート関連の操作に使用されました。
Ntbackup - このツールは、ファイルの復元およびバックアップに使用します。Windows Server 2003 インストール メディアに収められています。
システムの監視
テストでは、次のシステム監視ツールを使用しました。
Dcdiag - このツールは、Active Directory フォレスト内のドメイン コントローラの状態を分析し、トラブルシューティングに役立つすべての問題を報告します。
Jetpack - このツールは、DHCP データベースの整合性を確認するために使用します。
Agenthelper - このツールは、MOM が管理するエージェント上で OnePoint サービスが動作していることを確認する MOM ユーティリティです。
PerfMon - このツールは、システム パフォーマンスのログ、警告、およびカウンタを表示します。
NetMon - このツールは、このユーティリティがインストールされているコンピュータで送受信されるネットワーク トラフィックからフレームをキャプチャおよびフィルタリングします。
IASparse - このツールは、IAS ログ ファイルを解析し、さまざまな リモート認証ダイヤルイン ユーザー サービス (RADIUS) パラメータの詳細を報告します。
EventViewer - このツールは、Windows のアプリケーション、セキュリティ、およびシステムの各監視ログを表示、フィルタリング、およびエクスポートします。
[MOM] MMC - MOM サーバーが管理するエージェントに関する情報、警告、通知、エラー、および致命的エラーのログが出力されていないか監視する MOM 管理コンソールです。
PKIHealth - このツールは、組織内のすべての CA の CRL 配布ポイント (CDP) および機関情報アクセス (AIA) を診断するために使用します。
カスタム スクリプト
テストでは、ソリューションで定義されているさまざまな段階において、次のスクリプトを使用しました。
ca_setup.wsf - このスクリプトには、証明書サービスの構成および構築に必要なジョブ コマンドが含まれています。
ca_setup.vbs — このスクリプトには、ca_setup.wsf スクリプトで定義されているジョブの実装に使用する機能コードが含まれています。
ca_monitor.wsf - このスクリプトには、CA サービスを監視するために必要なジョブ コマンドが含まれています。
ca_monitor.vbs — このスクリプトには、ca_monitor.wsf スクリプトで定義されているジョブの実装に使用する機能コードが含まれています。
ca_operations.wsf - このスクリプトには、証明書サービスの操作および監視タスクの実行中に必要なジョブ コマンドが含まれています。
ca_operations.vbs — このスクリプトには、ca_operations.wsf スクリプトで定義されているジョブの実装に使用する機能コードが含まれています。
constants.vbs - このスクリプトには、他のスクリプトで使用される証明書サービス用の定数パラメータが含まれています。
helper.vbs - このスクリプトには、証明書、IAS、および WLAN 関連のスクリプトで使用する共通の関数および変数が含まれています。
IASAccessPrep.txt - このテキスト ファイルには、IAS ログ ファイルを Microsoft Access ファイルに変換するために IAS ログ ファイルに追加されるヘッダー行が含まれています。
IASClientExport.bat - このバッチ ファイルは、IAS サーバーの RADIUS クライアント構成を "A:\" ドライブ上にテキスト構成ファイルとして出力します。
IASClientImport.bat - このバッチ ファイルは、"A:\" ドライブ上のテキスト構成ファイルから IAS サーバーへ RADIUS クライアント構成をインポートします。
IASExport.bat - このバッチ ファイルは、IAS 固有の構成をテキスト構成ファイルとして出力します。
IASImport.bat - このバッチ ファイルは、テキスト構成ファイルから IAS サーバーへ IAS 固有の構成をインポートします。
ias_tools.wsf - このスクリプトには、IAS サーバーの構成に必要なジョブ コマンドが含まれています。
ca_setup.vbs — このスクリプトには、ias_tools.wsf スクリプトで定義されているジョブの実装に使用する機能コードが含まれています。
IAS_Data.bat - このバッチ ファイルには、IAS サーバーをソリューション用に構成するために必要なコマンドが含まれています。
pkiparms.vbs - このスクリプトには、証明書サービスの構成プロセスで使用されるユーザー固有の定数が含まれています。
wl_tools.wsf - このスクリプトには、WLAN コンポーネントの構成に必要なジョブ コマンドが含まれています。
wl_tools.vbs — このスクリプトには、wl_tools.wsf スクリプトで定義されているジョブの実装に使用する機能コードが含まれています。
これらのスクリプトはすべて、ソリューション ダウンロード パッケージに含まれています。
テスト事例
ここでは、ソリューションが条件を満たしていることを検証するために実施するテストについて詳細に説明します。 さらに、テスト事例の合格および不合格基準を紹介します。 以下のコア テストは、テスト事例一式のごく一部のサブセットです。 すべてのテスト事例の一覧は、ソリューションのダウンロード パッケージに含まれている Microsoft Excel 形式のスプレッドシードに 2 ページにわたって記載されています (スプレッドシート ファイルについては、次のセクションを参照してください)。
次に示すテスト シナリオは、ソリューション ガイダンスに従ってラボを完全に構築してから実施しました。 ドメイン ユーザーおよびコンピュータを適切な認証サービスとワイヤレス アクセス セキュリティ グループに追加し、ユーザーをネットワークにワイヤード (有線) 接続し、グループ ポリシーがワイヤレス クライアント コンピュータに正しく適用されるように、ログオンを 1 回許可しました。
ソリューションを検証するために、ラボでは次のコア シナリオに対するテストを実施しました。
ユーザーとコンピュータの証明書自動登録 - ユーザーがワイヤード (有線) 接続でドメインにログオンすると、ユーザーとコンピュータに対してグループ ポリシーが適用されます。 ユーザーおよびコンピュータの認証証明書は、発行 CA によって正しく発行され、ユーザー プロファイルおよびコンピュータの個人証明書ストアで使用可能になります。
信頼されたルート ストア内のルートおよび発行 CA 証明書 - ユーザーがワイヤード (有線) 接続でドメインにログオンすると、ユーザーとコンピュータに対してグループ ポリシーが適用されます。 ユーザーおよびコンピュータの証明書ストアは、[証明書] MMC を使用して検証し、信頼されたルート証明機関フォルダの下にルート CA 証明書があるかどうかを確認します。 また、発行 CA 証明書が中間証明機関の下にあるかどうかも確認します。
IAS サーバー認証証明書 - 構築が完了し、適切なセキュリティ グループおよび組織単位 (OU) に IAS サーバーを追加したら、IAS サーバーを再起動します (コンピュータが新しいグループ メンバシップを取得するには再起動が必要です)。 各 IAS サーバーが新しい認証証明書を取得します。 これは、コンピュータの証明書ストアを表示する [証明書] MMC を使用して確認しました。
Web サーバー上で利用可能なルートおよび発行 CA の証明書と CRL - クライアント コンピュータ上の Internet Explorer から、Web サーバーの PKI 仮想ディレクトリにアクセスし、クライアントでルートおよび発行 CA の証明書および CRL を表示できるかどうか確認しました。 この確認作業では、クライアントの証明書の [詳細] タブで構成されている Hypertext Transfer Protocol (HTTP) の場所と一致する必要があります。
認証証明書を使用したネットワークへのワイヤレス アクセス - ユーザーが新しい有効なユーザーおよびコンピュータ認証証明書を取得した後、ネットワーク カードを差し込んでワイヤード (有線) 接続を削除しました。 コンピュータの再起動後、WLAN へのコンピュータ認証が行われます。 IAS サーバーのシステム イベント ログを確認することによって、WLAN へのコンピュータ認証を確認しました。 ユーザーは WLAN 経由でドメインにログオンできるようになりました。 WLAN へのユーザー認証は、IAS サーバー上で生成されたシステム イベント ログのエントリで確認しました。
支社のユーザーに対する IAS サーバーの可用性 - 支社の IAS サービスが利用できない場合、ユーザーは本社の IAS サーバーで認証を受けることができます。 このテストに必要なセットアップは、本社の IAS サーバーを支社のワイヤレス AP 上のセカンダリ IAS サーバーとして動作させることでした。 次に、支社の IAS サービスを停止しました。 この状態でもユーザーは、認証を受けてネットワークに接続することができました。 本社の IAS サーバー上のシステム イベント ログに記録された認証イベントを調べることによって、認証が確認されました。
ソリューションに対してテスト チームが実施したさまざまなテスト事例の詳細については、以降のセクションで説明します。
ベースライン テスト
このテストでは、ベース インフラストラクチャ サービスを検証します。 このテストは、サーバーおよびクライアントの機能に対する基本テストを含んでおり、システム テストで参照されました。
クライアントの観点から、ベースライン テストには、ドメインに対する認証や、ファイル サーバー、Web サーバー、電子メール サーバーへのアクセスなど、基本クライアント サービスのテストが含まれています。 ベースライン テストは、ソリューション構築の各フェーズの後に再実行され、ソリューションの構成を適用しても既存の環境の機能に問題が発生しないことが確認されました。
サーバーの観点からは、サーバーが適切に機能していること、およびソリューション コンポーネントの実装後にサーバーの役割にとって負の影響が発生していないことを確認しました。
ベースライン テスト フェーズで使用したテスト事例の詳細については、ソリューションに付属している Baseline Test Cases.xls ファイルを参照してください。
機能テスト
このテストは、ソリューションがガイドラインどおりに構築され、予期したとおりに機能することを確認するために設計されました。 機能テスト事例には、PKI、IAS、および WLAN の各コンポーネントとサービスの機能、状態、および相互運用性がソリューション ガイダンスの規定どおりであることの確認が含まれています。
機能テスト フェーズで使用したテスト事例の詳細については、ソリューションに付属している Functional & Operational Test Cases.xls ファイルを参照してください。
運用テスト
このテストでは、ソリューションのサーバーの運用、保守、および管理性を検証しました。 これらの要素は、運用ガイドの「第 11 章 : 公開キー基盤を管理する」および「第 12 章 : RADIUS およびワイヤレス LAN のセキュリティ インフラストラクチャを管理する」の管理手順で説明されています。
運用テスト フェーズで使用したテスト事例の詳細については、ソリューションに付属している Functional & Operational Test Cases.xls ファイルを参照してください。
リリース条件
ソリューションの主なリリースは、次の条件に従って未解決バグの重要度および優先順位に関連付けられています。
重要度 1 または重要度 2 の未解決バグが存在しない。
すべての重要度で、優先順位 1 または優先順位 2 の未解決バグが存在しない。
すべてのソリューション ガイドにコメントおよび改訂がない。
指導チームによってすべての未解決バグに優先順位が付けられている。
テスト ラボ環境でのすべてのテスト事例が正しく完了している。
すべてのソリューション コンテンツに矛盾する記述がない。
バグの分類
テスト ラボで使用されたバグの重要度および優先度の定義を次の表に示します。
表 13.1: バグの分類
評価 | 重要度の定義 | 優先度の定義 |
---|---|---|
1 | バグによりシステム クラッシュまたはデータ損失が発生する。 | できる限り早くバグを修正する必要がある。 バグは、この領域における作業進行を妨げている。 |
2 | バグにより主要機能またはその他の重大な問題が発生する。不明な状況で製品がクラッシュする。 | 製品リリース前にバグを修正する必要がある。 |
3 | バグによって比較的重要でない機能の問題が発生する。品質に影響する可能性がある。 | 時間があればバグを修正する。些細な問題である。 延期可能。 |
4 | 視認性の低いフィールドに、誤植、不明確な表現、またはエラー メッセージがある。 | 未定義 |