第 4 章 - ソリューションの設計
最終更新日: 2006年7月18日
ダウンロード
Microsoft 仮想プライベート ネットワークでの検疫サービスの実装計画ガイド (英語情報)
トピック
はじめに
在宅勤務者のための VPN アクセスの実装
その他の考慮事項
監視と管理の実装
要約
はじめに
ここまで、仮想プライベート ネットワーク (VPN) ソリューションが取り組むべき要素について説明してきましたが、この章では、ソリューションの設計プロセスについて説明します。この設計プロセスでは、基本となる計画要素の特定、およびソリューション要件の論理的な分析を行います。
Woodgrove National Bank では、ソリューションが取り組むべきビジネス、技術、およびセキュリティ上の問題点の評価を実施してきました。この章では、システム設計者が考慮した計画上の問題点、到達した結論、および選択したソリューションを構築する際に行った意思決定について説明します。
在宅勤務者のための VPN アクセスの実装
離れた場所で仕事に従事している Woodgrove National Bank の在宅勤務者は、一貫した信頼性の高い企業ネットワークへの接続を必要としています。接続が困難であったり、接続時に過度な遅延が発生したりするようでは、不満の原因になったり、サービスの信用が失われます。VPN 検疫を実装したことにより、ネットワークへの接続にさらに時間がかかってしまうと、ユーザーの不満はますます高まります。Woodgrove National Bankの IT 部門では、接続時の遅延を監視し、遅延を最小限に抑える措置を講じる必要があります。接続スクリプトを使用すると、接続プロセスの各段階で、ユーザーに接続状態を通知することができます。
ネットワーク管理者は、リモート アクセス コンピュータがネットワーク リソースにアクセスする前に、ネットワーク アクセス ポリシーに従うことを義務付ける必要があります。企業ネットワークを保護する最良の方法は、リモート アクセス コンピュータを隔離し、コンピュータがネットワーク セキュリティ ポリシーを満たしていることを確認してから、ネットワーク リソースにアクセスできるようにすることです。
ソリューションの概念
ソリューションは、接続前スクリプト、クラインアント エージェント、Microsoft® Windows Server™ 2003 Service Pack 1 (SP1) コンポーネントを組み合わせて使用します。クライアント コンピュータは、カスタムの接続マネージャ プロファイルを使用して、VPN 接続を開始します。接続マネージャ プロファイルは、接続マネージャ管理キット (CMAK) を使用して作成された自己解凍型の実行可能ファイルで、スクリプトおよび設定を保存しています。トンネル前の動作スクリプトは、クライアントが VPN 接続を確立する前に、セキュリティ更新プログラムの更新を要求します。リモート アクセス コンピュータは、これらの更新プログラムを、Woodgrove National Bank が管理するインターネットに接続されたサーバー、ウイルス対策ソフトウェア ベンダ、および Windows Update の Web サイトから入手します。
クライアント コンピュータは、必要な更新プログラムを取得し、インターネット認証サービス (IAS) を使用して Active Directory® ディレクトリ サービスと照合して、ユーザーの資格情報を認証してから、VPN 接続を確立します。リモート アクセス サーバーは、リソースへの制限付きアクセスのみを許可する検疫パケット フィルタを使用して、着信接続を制限します。クライアント コンピュータが必要なセキュリティ要件を満たしていることをクライアント エージェントが確認すると、リモート アクセス サーバーは検疫の制限を解除し、クライアント コンピュータは承認されたすべてのイントラネット リソースへのアクセスが許可されます。
ソリューションの必要条件
このような特性を持つプロジェクトを開始する場合、プロジェクトは特定の前提条件満たす必要があります。次のセクションでは、VPN 検疫の一般的な前提条件について説明します。
ユーザーおよびグループとの打ち合わせ
関係するユーザーおよびグループと打ち合わせすることは、ユーザー サービスに影響を与える変更を計画するうえで最も重要な手順の 1 つです。ユーザーは、既存のサービスの問題点およびパフォーマンスについての貴重なフィードバックを提供します。さらに、ユーザーは新しいサービスに期待する機能および操作性を指摘することもあります。ユーザーは、サービスに何を期待するか、また何が必要でないかを把握しておく必要があります。このような期待に対処することは、ユーザーに受け入れてもらうための鍵となります。プロジェクトの成功を判断するには、組織が達成可能な目標を設定することが重要になります。
Woodgrove National Bank は、複数の国や地域で操業しており、地域別にサポート センターがあります。初期チームは、リモート アクセス ユーザーおよびサポート チームからのフィードバックを広範囲に調査し、潜在的なユーザー、グループ、およびサポート スタッフを特定してパイロットに参加させました。
プロジェクト チームの編成
このような特性を持つプロジェクトを実装するために、必要な人員とスキルを検討することは重要なことです。プロジェクト チームは、必要なスキルの要件を社内で満たすことができるか、追加の人員を採用する必要があるのかを検討する必要があります。プロジェクトのすべての段階ですべての人員が必要になるわけではないので、プロジェクトの全期間を通じて個々の人員の作業状況を確認する必要があります。役割として必要なのは、ネットワーク設計者、ネットワーク管理者、サーバー管理チーム、スクリプト開発者、インフラストラクチャ セキュリティ チーム、およびプロジェクト管理チームです。
ソリューションの計画
計画プロセス中に、Woodgrove では以下を実施することの必要性を検討しました。
パイロットまたはテストの実装
ターミナル サービスでの境界領域ネットワーク サーバーの管理
検疫スクリプトのアップグレード
パフォーマンス データの収集
パイロットまたはテストの実装
組織の大きさおよび規模によってパイロットの大きさと数が決まります。Woodgrove の IT 部門では、2 つのパイロットを実装しました。最初のパイロットでは、概念を立証し、また潜在的な欠点を明らかにしビジネスと技術上の問題点を緩和するために、経験豊富なリモート アクセス ユーザーが携わりました。最初のパイロットでは、企業リソースへのアクセスを制限し、セキュリティ コンプライアンスに準拠していると考えられるコンピュータにセキュリティ上の問題点がないことを確認しました。VPN 検疫ソリューションを実装する組織では、ウイルスに感染したコンピュータ、または適切な更新プログラムが設定されていないコンピュータが、検疫セキュリティ チェックをすり抜けられないことを確認してから、VPN 検疫ソリューションを実装し、企業ネットワークを公開するべきです。2 番目のパイロットでは、多数のユーザーが携わることを基本とし、発生する可能性のあるサポート上の問題点をより現実に即してテストできるように、経験の浅いユーザーも含めました。
ターミナル サービスでの境界領域ネットワーク サーバーの管理
Woodgrove の IT チームでは、ターミナル サービス管理モードを使用して、境界ネットワーク上の既存のサーバーを管理します。Woodgrove の IT チームは、インターネットに接続する更新サーバーおよび VPN リモート アクセス サーバーをこのリストに追加する必要があります。Woodgrove は、これらの重要なサーバーの更新および維持方法を検討する必要があります。
検疫スクリプトのアップグレード
時間の経過とともに、接続マネージャ プロファイルの新しいビルドによる検疫スクリプトの更新が必要になります。Woodgrove では、ユーザー認証が必要な Web サーバーを経由して、接続マネージャ プロファイルを配布することを選択しました。リモート アクセス ユーザーは、配布ポイントを通知する電子メールを受け取ります。
パフォーマンス データの収集
パフォーマンスを評価することは、サービスを改善するために重要です。Woodgrove の IT 部門は、サーバーのパフォーマンス、信頼性、およびセキュリティを監視する必要があります。ネットワーク チームは、既存の監視および管理構成に VPN 検疫ソリューションを統合できるようにします。
ソリューション アーキテクチャ
Woodgrove National Bank が VPN 検疫ソリューションを実装するには、次のコンポーネントが必要です。
Windows XP Professional SP2 以降を実行しているクライアント コンピュータ
CMAK を使用して作成された接続マネージャ プロファイル
接続マネージャ クライアント パッケージに含まれているクライアント側のスクリプト
VPN 検疫クライアント コンポーネント
Windows Server 2003 SP1 以降を実行しており、リモート アクセス検疫サービスをインストールしているリモート アクセス サーバー
検疫 IP ポート フィルタ
Windows Server 2003 上で実行しているインターネット認証サービス (IAS)
Active Directory
Woodgrove の IT 部門は当初、現在展開されているすべてのバージョンの Windows をサポート対象とすることを検討しました。しかし、インターネットに接続するコンピュータに対する脅威への認識が強まったことから、コンピュータのオペレーティング システムを Windows XP Professional SP2 を標準とすることに決定しました。Woodgrove では Windows XP Home Edition SP2 を搭載したコンピュータが VPN 経由で接続することを許可することも可能でしたが、Woodgrove の IT 部門は、Windows XP Home Edition ベースのコンピュータがドメインに参加できないことから、この構成をサポートしないことに決定しました。Woodgrove の IT 部門が初期のソリューションを実装する際に、Woodgrove は作業者の自宅のコンピュータにソリューションを拡張することを予定しています。
接続前のチェックの 1 つに、Windows ファイアウォールが有効になっていることを確認するチェックが含まれています。Woodgrove ではスクリプト内に例外を指定しませんが、リモート デスクトップの接続後などの例外は設定します。
CMAK は、クライアント通知コンポーネント (RQC.exe) や初期検疫スクリプトなどの、接続を開始するために必要なライセンスを供与されたすべてのソフトウェアを含めた、接続マネージャ プロファイルを設定するためのツールです。Woodgrove National Bank では Web サーバーを使用してこれらのプロファイルを配布します。Woodgrove National Bank が接続マネージャ プロファイルを更新する際には、決まった日までに新しいプロファイルが必要であることを電子メールでユーザーに通知します。
注 : グループ ポリシーや Microsoft Systems Management Server (SMS) 2003 などのソフトウェア配布メカニズムを使用するか、または自宅のコンピュータから企業のネットワークに接続する必要があるユーザーの場合、パスワード保護された USB キーにプロファイルを配置する方法が代替手段として考えられます。
Windows Server 2003 のリモート アクセスには、VPN ホストおよびルーターとしての役割を果たす機能が備えられています。Windows Server 2003 SP1 には、VPN 検疫ソリューションの主要なコンポーネントであるリモート アクセス検疫サービス (RQS) が含まれています。RQS は、実行可能ファイル (RQS.exe) として実装されるサーバー リスナ コンポーネントです。CMAK には通知コンポーネント (RQC.exe) が含まれています。
検疫ポート フィルタは、検疫された VPN クライアントと、ネットワーク上の制限されたリソース間の通信のみを許可します。パケット フィルタは、クライアント エージェントがリモート アクセス サーバー上のリスナ コンポーネントと通信し、ユーザー認証を行うことを許可します。
Windows Server 2003 上で実行している IAS は、RADIUS サーバーおよび RADIUS プロキシ サーバーの Microsoft の実装です。IETF (Internet Engineering Task Force) は RADIUS を RFC 2865 および 2866 で規定しています。IAS はリモート アクセス リクエストを認証し、アカウンティング情報を提供します。Woodgrove の IT 部門は、数社の ISP と契約し、これらの ISP によって複数の国/地域でのインターネットへのローミング アクセスが可能になります。ISP は、Woodgrove の IAS サーバーを経由して認証リクエストを渡すように RADIUS サーバーを構成します。この認証プロセスでは、Woodgrove の IAS サーバーに戻るように構成された ISP で、RADIUS サーバーと RADIUS プロキシを併用する必要があります。IAS を使用して認証を行うと、Woodgrove はリモート アクセス VPN の使用状況を追跡するために RADIUS のアカウンティング機能を利用できます。
Active Directory のユーザー アカウントとグループ メンバシップが、Woodgrove National Bank の企業リソースへのリモート接続および以降のアクセスを規制します。また、Woodgrove National Bank では、グループ ポリシー オブジェクト (GPO) を使用して、Windows ワークステーションが会社のネットワーク セキュリティ ポリシーを満たすように構成します。
ソリューションのしくみ
次の図は、Woodgrove National Bank における VPN 検疫ソリューションの実装を示しています。
.gif)
図 4.1: Woodgrove National Bank での VPN 検疫プロセス
画像を画面全体に表示 Woodgrove National Bank における VPN 検疫ソリューションは、次のように動作します。
ユーザーが VPN 接続プロファイルを選択します。また、アプリケーションが企業のイントラネット上のリソースを要求することも可能です。
接続マネージャ プロファイルが、ダイヤルアップ エントリを使用してインターネットへの接続を開始します。クライアントが既にインターネットに接続している場合は、接続マネージャはこの手順を省略します。
トンネル前のカスタム動作が、コンピュータに最新のセキュリティ更新プログラムとウイルス対策シグネチャが設定されていることを確認するスクリプトを実行します。クライアント コンピュータは、これらの更新プログラムをインストールするために Windows Update に接続します。トンネル前のカスタム動作に適したカスタム スクリプトの例については、このガイドの付録 A 「検疫スクリプトのサンプル」を参照してください。
更新プログラムが正しく適用されると、接続マネージャ プロファイルが VPN サーバーに接続します。更新プログラムが正しく適用されないと、接続マネージャ プロファイルはその旨をユーザーに通知し、VPN 接続の試行を終了します。
リモート アクセス クライアント コンピュータが、リモート アクセス サーバーに認証資格情報を渡し、リモート アクセス サーバーが、RADIUS アクセス リクエスト メッセージを IAS サーバーに送信します。IAS は Active Directory に対してユーザーの資格情報を認証します。資格情報が有効であれば、IAS はそのユーザーをリモート アクセス ポリシーと照合して確認します。
VPN サーバーは接続を受け入れ、検疫タイムアウト属性と IP フィルタ属性を設定します。IAS サーバーは、MS-Quarantine-IPfilter 属性と MS-Quarantine-Session-Timeout 属性を含めた RADIUS アクセス受け入れメッセージを送信します。VPN サーバーはこれらの属性を検疫フィルタに適用し、セッション タイマを設定します。リモート アクセス クライアント コンピュータは、検疫フィルタに一致するトラフィックのみを転送できます。リモート アクセス クライアントは、リモート アクセス サーバーに対し、MS-Quarantine-Session-Timeout カウンタに指定した時間 (秒) が経過する前に、検疫スクリプトが正常に完了したことを通知する必要があります。
リスナ コンポーネントは、リモート アクセス サーバーに対し、クライアントがポリシー要件を満たしていることを通知します。リモート アクセス サーバーは、MS-Quarantine-IPfilter 属性に指定したトラフィック ルール (ポート 7250) に一致するため、この通知を受け取ります。リモート アクセス サーバーは、MS-Quarantine-IPfilter 設定と MS-Quarantine-Session-Timeout 設定を接続から削除し、リモート アクセス ポリシーで事前に規定した通常の接続制約を設定します。
これで、ユーザーは承認されたネットワーク リソースにアクセスできるようになります。
注 : 接続後のスクリプトは、接続マネージャ パッケージのバージョンを確認します。リモート コンピュータ上の接続マネージャのバージョンのうち 3 つ以上のマイナー バージョン、または 2 つ以上のメジャー バージョンの有効期限が切れていた場合、リモート コンピュータは最新の接続マネージャ パッケージをダウンロードし、ユーザーにその旨を通知し、接続を切断します。その結果、リモート コンピュータに最新の修正プログラム リストが備えられ、リモート ユーザーは再び接続可能になります。
このソリューションを実装するには、クライアント側とサーバー側で実行する多くのプロセスが必要になります。次のセクションでは、これらの要件について説明します。
スクリプトを使用してのカスタム動作の実装
接続サイクルのさまざまなポイントで実行するスクリプトは、VPN 検疫ソリューションのほとんどのクライアント側の操作を実施します。このソリューションの最も重要な要素は、特定のチェックをトンネル前の動作として実行するか、または接続後の動作として実行するかによって異なります。特定のチェックが間違った順序で実行された場合、コンピュータが脆弱性への攻撃に不必要にさらされることになり、別の問題が発生することにもなりかねません。次のセクションでは、このソリューション用に設計されたチェック リストを示します。
トンネル前のチェックの実装
クライアントがインターネットに接続していない場合は、接続マネージャはインターネットへの接続を開始します。インターネットに接続すると、VPN トンネルを確立する前に、同期化されたトンネル前の動作が必要なすべてのセキュリティ チェックを実行します。
接続マネージャは必要なすべてのセキュリティ チェックを順に実行します。接続マネージャは、それぞれのチェックを一連のスクリプトとして実装します。次の手順は、スクリプトに必要なワーキング ロジックを示したものです。
クライアント オペレーティング システムがサポートされていますか?
[いいえ] の場合、メッセージ ボックスが表示され、接続に失敗します。
[はい] の場合、操作を続行します。
ウイルス対策ソフトウェアが既にインストールされ、実行されていますか?
[いいえ] の場合、メッセージ ボックスが表示され、接続に失敗します。トンネル前の動作の一環として必要になるライセンス供与されたすべてのソフトウェアを、接続マネージャのインストールにバンドルさせて、リモート サーバーからインストールする必要がないようにします。
[はい] の場合、操作を続行します。
ウイルス対策シグネチャ ファイルの更新
正常に完了した場合、操作を続行します。
正常に完了しなかった場合、警告メッセージが表示されて操作が継続するか、メッセージ ボックスが表示されて接続に失敗します。
Windows 自動更新クライアントが構成されていますか?
[いいえ] の場合、Windows 自動更新サービス クライアントを構成します。
正常に完了した場合、操作を続行します。
正常に完了しなかった場合、警告メッセージが表示されて操作が継続するか、メッセージ ボックスが表示されて接続に失敗します。
[はい] の場合、操作を続行します。
優先順位の高いソフトウェア更新プログラムのダウンロードとインストール
正常に完了した場合、操作を続行します。
正常に完了しなかった場合、警告メッセージが表示されて操作が継続するか、メッセージ ボックスが表示されて接続に失敗します。
[ダイヤルアップ接続を使用してログオン] の使用が必要 (省略可)
使用する場合、操作を続行します。
使用しない場合、警告メッセージが表示されて操作が継続するか、メッセージ ボックスが表示されて接続に失敗します。このチェックを使用するには、ドメインに参加しているコンピュータだけが接続可能で、リモート クライアントは最低 1 度は企業 LAN に接続して、ドメインに参加する必要があります。このオプションを使用する場合、Woodgrove の IT 部門が必須セキュリティ チェックの一時的な例外を設定しなければ、リモート接続を介したドメインへの参加は不可能です (後の「例外と除外の処理」トピックを参照)。
追加のカスタム セキュリティ チェックの実行 (省略可)
インターネット アクセスは接続プロセスのこの時点でしか利用できないため、この制約を考慮してカスタム セキュリティチェックを設計する必要があります。
注 : スクリプトのサンプルについては、付録 A 「検疫スクリプトのサンプル」を参照してください。
接続マネージャは、これらのトンネル前の動作の結果を、レジストリ内の以下のキーに記録します。
HKEY_CURRENT_USER\Software\MyCompany\MyConnectionManager\PreTunnelResults
トンネル前の動作は常に成功を返す必要があり、またリモート アクセス検疫サービス エージェントの接続後の動作は、これらの結果を確認して、VPN サーバーに送信するステータスを決定する必要があります。この方法により、接続マネージャを変更することなく、柔軟性の高い例外管理が可能になります。次の図は、Woodgrove National Bank が使用するトンネル前のカスタム動作スクリプト ロジックを示しています。
.gif)
図 4.2: Woodgrove National Bank の トンネル前の動作
接続後のチェックの実装
クライアントがトンネル前のチェックに合格すると、接続マネージャは VPN 接続を確立します。クライアントが企業のネットワークへアクセスした後、接続後のスクリプトを使用して、必須でない追加のチェックと管理動作を実行できます。
VPN 接続
トンネル前の動作がすべて完了すると、接続マネージャは VPN サーバーへの接続を確立します。
通知の送信
接続マネージャは、クライアント コンピュータ (RQC.exe) を使用して VPN サーバー上のリモート アクセス検疫サービス (RQS.exe) に共有キーを送信し、VPN サーバーは検疫ポリシーを破棄します。
パスワードの有効期限
Woodgrove National Bank では、パスワードの有効期限を確認するスクリプトを実行し、変更が必要な場合はユーザーにその旨を通知します。
注 : パスワードの有効期限通知は、クライアントが企業のネットワークにリモート接続するために [ダイヤルアップ接続を使用してログオン] オプションを使用している場合にのみ送信されます。
グループ ポリシーの更新
ドメインに参加しているクライアントが、企業のネットワークにリモート接続するために [ダイヤルアップ接続を使用してログオン] オプションを使用していない場合、グループ ポリシーの更新プログラムは適用されません。これにより、グループ ポリシーを使用してクライアント上に重要なセキュリティ オプションを設定したときに、セキュリティ侵害が発生する可能性があります。このような潜在的な問題の発生を抑えるために、Woodgrove National Bank では、ユーザーがログオンした後にグループ ポリシーを更新する接続後スクリプトを実行します。スクリプトは、gpupdate.exe /force /wait:0 コマンドを使用して、グループ ポリシー設定を即座に更新します。グループ ポリシーの更新ユーティリティの詳細については、マイクロソフトの Web サイトの「グループ ポリシー更新ユーティリティの説明」https://support.microsoft.com/kb/298444/ を参照してください。
次の図は、接続後カスタム動作のスクリプト ロジックの詳細を示しています。
.gif)
図 4.3: Woodgrove National Bank の接続後の動作
接続マネージャ プロファイルの作成と配布
接続マネージャには、ユーザーが、企業リソースにすばやく、簡単に、信頼性を持ってアクセスできるようにするための便利なメカニズムが備えられています。Woodgrove National Bank では、IT 部門が CMAK を使用して作成した接続マネージャ プロファイルを介して、カスタム VPN 接続を実装することを決定しました。
Woodgrove National Bankでは、何万台ものクライアントと、数百もの電話番号に対して接続を構成しているので、Woodgrove の IT 部門では、構成前に以下の情報を調査する必要があります。
ダイアルアップ接続、また VPN 接続の構成は、場所、時刻などの要素によって変化します。
エラーの発生を防止するために、ユーザーがダイヤルアップ接続または VPN 接続プロパティの設定または変更ができないようにします。
一部の機能を動的にし、Woodgrove の IT スタッフはセキュリティ準拠を確保するためにこれらの値を管理する必要があります。
グローバル企業に見合った構成方法を設定します。
Woodgrove の IT 部門が使用する、リモート アクセス接続の接続マネージャ機能の一部を次の表に示します。
表 4.1:Woodgrove の IT 部門が使用する接続マネージャの機能
| 機能 | 目的 |
|---|---|
| ブランド化 | グラフィックス、アイコン、メッセージ、およびヘルプをカスタマイズすることによって、パッケージに企業デザインを備えます。接続マネージャ パッケージは、出張中のユーザーにその地域のサポート番号を提供できます。 |
| カスタム動作 | ログの収集およびアプリケーションの更新を実行します。 |
| ポート番号 | 用途 | コメント |
|---|---|---|
| UDP 67, 68 | DHCP | クライアントの IP アドレスを要求します。 |
| UDP 53 | DNS | 名前解決を行います。 |
| UDP 137 | WINS | NetBIOS 名前解決を行います。 |
| TCP 139, 445 | ファイル共有 | NetBIOS セッションと SMB ファイル共有を提供します。このオプションは、絶対不可欠な場合にのみ有効にするようにしてください。 |
| TCP/7250 | RQC, RQS | VPN 検疫クライアント エージェントとサーバー側のリスナ コンポーネント間の通信を可能にします。 |