マイクロソフト
セキュリティ レスポンス マネージャ
小野寺 匠

 前回まで,Windows Vista単体のセキュリティ機能を主に紹介してきた。ただ,ネットワークの管理者としては個々の端末ではなくネットワーク全体の安全性を考えなければならない。そこで配慮したいのが,セキュリティ更新プログラムが適用されていないなどの管理不十分な端末や,そもそも管理の及ばない持ち込み端末である。セキュリティ・レベルが低い端末が1台接続されるだけで,ネットワーク全体の安全性は簡単に低下してしまう。

 こうした事態を防ぐための仕組みが,Windows VistaとWindows Server 2008に実装されている「NAP」(Network Access Protection)である。いわゆるネットワークの検疫を行う機能で,必要に応じて各端末のセキュリティ対策の状況を是正できる。今回は,このNAPについて解説しよう。

 ネットワーク検疫機能はWindows Server 2003でも提供されていたものの,利用環境がVPN接続などに限定されていた上,検疫のための検査項目は独自開発する必要があった。 これに対してWindows Vistaでは,クライアントの稼働状況とネットワーク・アクセスに関する情報を収集・提供するためのNAPクライアントエージェントが標準搭載された。ただ,Windows Vistaに搭載されたエージェントだけでは,NAPは完全には機能しない。Windows Server 2008と連携させるて初めて本領を発揮する。

NAP対応ネットは三つのゾーンに分けられる

 NAPではネットワークを三つのゾーン「検疫ゾーン」「境界ゾーン」「セキュアゾーン」に分けて考える(図1)。ここで言うゾーンは仮想的なもので,ネットワークに接続するマシンごとに,その状態に合わせてゾーンを設定する。

図1 NAPの構成
図1 NAPの構成
[画像のクリックで拡大表示]

 「境界ゾーン」は,LANスイッチなどNAPクライアントの接続を制御するためのアクセス・デバイスや,状態を更生させるための修復サーバーが設置されている領域。「セキュアゾーン」は,社内リソースなどの保護されるべきサーバー,クライアント群,セキュアゾーンにNAPクライアントが接続するためのルールを保持するポリシー・サーバーが設置されている領域である。「検疫ゾーン」は未検査のNAPクライアントや,検査対象になっていない持ち込みパソコンを設置する領域で,このゾーンのパソコンからは,NAPによる確認に合格しなければセキュアゾーンにアクセスすることはできない(図2)。

図2 NAPによるネットワーク・アクセスの制限
図2 NAPによるネットワーク・アクセスの制限
[画像のクリックで拡大表示]

 NAPの検疫システムは,検疫対象となるNAPクライアントに搭載される検疫エージェント(Quarantine Agent:QA)と,管理する側のネットワーク・ポリシー・サーバー(Network Policy Server:NPS)に搭載される検疫サーバー(Quarantine Server:QS)で構成する(図3)。

図3 NAPの動作
図3 NAPの動作
[画像のクリックで拡大表示]

 QAはクライアントの状態に関する情報をQSとやり取りし,検疫の処理を進める。この際QAは,システム正常性エージェント(System Health Agent:SHA)と強制エージェント(Enforce Agent:EC)という2種類のモードを使い分ける。QSはシステム正常性検証ツール(System Health Valuator:SHV)を備え,各SHAの情報を基にエージェントを評価する。

 実際の流れとしては,クライアントからアクセス・デバイスに接続した場合に,アクセス・デバイスから検疫要求が送られる。このアクセス・デバイスは,DHCPサーバー,VPNゲートウエイ,IEEE 802.X認証サーバーなどを標準で選択可能で,サードパーティの各種デバイスや接続方式も選択することができる。検疫要求はNAPクライアントのECで処理され,同時にECは検疫用の制限されたネットワークに接続される。その後QAは,各SHAによりクライアントの状態を調査し,その結果を集約し状態ステートメント(Statement of Health:SoH)を作成。このSoHを,アクセス・デバイスを通じてQSに送信し,NPSによる検証結果を待つ(図3の1,2)。

 QAから提出されたSoHを受けたQSは,クライアントの状態が,あらかじめ各SHAに設定したポリシーを満たすものであるかを検証する(図3の3)。検証結果はQSからQAに対して返されNPSで設定したすべてのポリシーに合格していればQAは,ECを通じてネットワークの設定を変更し,QAがセキュアゾーンにアクセスできるようにする(図3の4,5)。このとき一部のポリシーでも満たさない場合は,引き続きネットワーク・アクセスが制限されることになる。このネットワーク・アクセス制限は,修復サーバーを利用し,設定を変更することで解除できる(図4)。

図4 ネットワーク・アクセス要件を満たす場合
図4 ネットワーク・アクセス要件を満たす場合
[画像のクリックで拡大表示]

 システム正常性検証ツールは,サードベンダーのものでも利用できるが,Windows標準のものならWindowsのセキュリティセンターの状態まで確認することができる。セキュリティセンターで確認可能な「ファイアウォールの状態」「ウイルス対策ソフトの状況」「スパイウエア対策ソフトの状況」「自動更新の設定」および「セキュリティ更新など更新プログラムの適用状況」を検証・強制することが可能である(図5)。セキュリティセンターを通じてクライアントの状況を確認することで,多様なウイルス対策ソフトごとにSHA/SHVを用意する必要がなく,統一された方法で検証を行うことが可能になる。またWindows XPについても,今後リリースされる予定のService Pack 3を適用すれば「スパイウエア対策ソフトの状況」以外は,検証・強制することができる。

図5 Windowsセキュリティ正常性検証ツール
図5 Windowsセキュリティ正常性検証ツール
[画像のクリックで拡大表示]

方式によってセキュリティ強度にバラつき

 では,実際にネットワークへの接続を制御しているECの動作をDHCPサーバーでNAPを実現する場合を例に見ていこう。DHCPの場合は,IPルーティング・テーブルの設定を検証結果に応じて切り替えることで実現している。最も導入が容易な方法でもある。

 実際のIPアドレスなどの違いは,ipcnofig /allで見ることができる。制限されている場合はネットマスクが255.255.255.255となり,デフォルト・ゲートウエイは設定されない(図6)。ポリシーを満たし制限が解除された場合は,ECが自動的に制限時のIPアドレス設定をリリースし,DHCPで再度取得する。その際には,ネットマスクやデフォルト・ゲートウエイは本来のものが提供される(図7)。

図6 制限された状態
図6 制限された状態
[画像のクリックで拡大表示]
図7 制限が解除された状態
図7 制限が解除された状態
[画像のクリックで拡大表示]

 ただこの方式はNAPの中では最も制限が弱い。例えばグループポリシーなどで設定変更を制限されていないクライアント・パソコンの場合,手動でIPアドレスを書き換えることでNAPの制限を回避できてしまう。NAPに対応しないクライアントの扱いも管理者が選択できる。NPS側で,非対応クライアントをチェックなしで接続を許可することもできるし,もちろんアドレスを全く与えずにアクセスを拒否することもできる。

 これに対してIPsecゲートウエイや802.1X認証での検疫は,どちらも接続認証を実行する。このため,DHCPサーバーでの検疫よりもネットワーク接続を厳格に制限するのに向いている。システムはDHCPの場合より大掛かりになるが,メリットも大きい。IPsecの場合,ネットワーク機器に依存せずにアクセス制限を実施することができ,IPsecを使うことで通信経路上のデータの盗み見や改ざんも防止できる。NAPおよびIPsecに対応していないクライアントからは保護されたサーバーに直接アクセスすることはできず,安全性が高い。

 802.1Xの場合は,ネットワーク接続ポート単位にネットワーク・アクセスの範囲を物理的に制御することができる。ただし,末端のスイッチはNAP対応機種に置き換える必要がある。

 ネットワーク全体のセキュリティを維持・管理するNAPは,効果が大きい半面,ネットワークに与える影響も大きい。導入には十分な計画と段階的な導入を行っていきたい。

 NAPに触れてみて動作や設定を知るなら,TechNetバーチャルラボを使ってみるといいだろう。Microsoftが提供する構成済みのVirtual Serverを利用して設定のポイントと動作の概要をつかむことができる。

TechNet バーチャルラボ Microsoft Windows Server 2008

 実際の構築方法やステップ・バイ・ステップの展開ガイダンスなどは一部英語のものもあるが,以下のサイトから入手できる。

ネットワーク アクセス保護(NAP)

Network Access Protection(英語)