インターネット認証サービスに検疫サービスに必要な設定を追加
 次に,ネットワークを構成する各サーバーに,リモート・アクセス検疫サービスに必要な設定をしていこう。ドメイン・コントローラDC1には,VPN接続を許可するユーザーと,必要なグループが登録されているものとする。

 続いてドメイン・コントローラで動作しているインターネット認証サービスに,リモート・アクセスのポリシーを作成する。作るのは,検疫されたVPNリモート・アクセス接続(Quarantined VPN remote access connections)である。プロファイルには[詳細設定]画面で,2つの項目を追加する。


△ 図をクリックすると拡大されます
図6●検疫されたVPNリモート・アクセス接続のプロファイルに,「MS-Quarantine-Session-Timeout」項目を追加する

△ 図をクリックすると拡大されます
図7●検疫されたVPNリモート・アクセス接続のプロファイルに,「MS-Quarantine-IPFilter」項目を追加する

△ 図をクリックすると拡大されます
図8●設定したルールの例CA1サーバーへのすべての通信と,rqc.exe,DHCP,DNSのためのパケットだけを通すよう設定した

 1つ目は「MS-Quarantine-Session-Timeout」で,属性の値に例えば「120」を設定する(図6)。この値は検疫されているクライアントのセッション切断までの時間で,単位は「秒」である。これを設定したときには,リモート接続後,検疫モードを解除するまでに2分以上かかると,自動的に切断される。社内LANへの接続要件を満たしていないときに,必要なパッチなどをインストールさせるには,2分では短すぎるかもしれない。その場合はこの値を大きくするか,あるいはセッション・タイムアウト自体を使わないようにする。

 2つ目は「MS-Quarantine-IPFilter」である(図7)。これには,検疫モードのときに,クライアントからサーバーに対する通信を許可するプロトコルなどを設定する。ここでは,(1)クライアントのrqc.exeによるメッセージを受けるためにTCPのポート7250番(あて先),(2)IPアドレスを割り当てるのに使うDHCPのトラフィックであるUDPの68番(発信元)と67番(あて先),(3)名前解決に使うDNSのトラフィックためのUDPの53番(あて先),(4)検疫モードでもクライアントからはCA1サーバーにアクセスできるようにするために,あて先アドレス「172.16.0.4/255.255.255.255」(CA1サーバーのIPアドレス)に限って通信を許可する設定——の4つのルールを設定する(図8)。ここに設定したルールによって,検疫モード時にクライアントからアクセス可能なネットワークを,自由に制御可能だ。

 目的に応じて,MS-Quarantine-Session-Timeoutを使わずにMS-Quarantine-IPFilterだけで制御したり,逆にMS-Quarantine-IPFilterは使わずMS-Quarantine-Session-Timeoutだけで運用したりすることもできる。リモート接続が完了した直後から特定のサーバーとの間で通信しなければならないようなアプリケーションを利用する場合には,MS-Quarantine-IPFilterを使うと検疫モードを解除するまで,わずかではあるが通信できない時間が生じてしまう。そのようなときには,MS-Quarantine-IPFilterを使わず,MS-Quarantine-Session-Timeoutだけで制御した方がよいかもしれない。ただし,その場合には,社内LANへの接続要件を満たしていなくても,タイムアウトするまでは社内LANのすべてのサーバーにアクセスできてしまうので,セキュリティ上は弱くなってしまう。

 なお,前に述べた通り,インターネット認証サービスを使わなくてもリモート・アクセス検疫サービスを利用できる。そのときは,VPNサーバー(ルーティングとリモートアクセス)に検疫制御のためのポリシーを作る。従って,VPNサーバー(リモート・アクセス・ポイント)を複数設置する場合はインターネット認証サービスを利用した方が,検疫制御のためのポリシーをインターネット認証サービスで一元管理できるので便利だ。それに対してVPNサーバーを1台しか設置する予定がないのならば,インターネット認証サービスを利用してもしなくても,ポリシーの管理や運用にかかる手間は同じだ。

クライアントでの検疫用スクリプトを作る
 次に,実際に,リモート・アクセス・クライアントが接続要件を満たしていることを確認するためのスクリプトを作る。このスクリプトは,クライアントが実際にリモート・アクセスし,パスワード認証された後にクライアントで実行することになる。ここでは例として,Windowsファイアウオールが有効になっていることだけを調べる。MicrosoftのWebサイトからは,このほか,最新のセキュリティ更新プログラムがインストールされていることやインターネット接続共有が無効になっていること,スクリーン・セーバーが有効でパスワードが設定されていることなどを調べるサンプル・スクリプトがダウンロード可能だ。


(a)    (b)
△ 図をクリックすると拡大されます

図9●Windowsファイアウオールが有効になっていることを調べるスクリプト

 Windowsファイアウオールが有効になっていることを調べるスクリプトは図9の通りである。図9aは,リモート・アクセス・クライアントがVPNサーバーに接続した後に実行する「quarantine.cmd」スクリプト,図9bは図9aから呼び出されるサブルーチンで,実際にWindowsファイアウオールが有効かどうかを調べる「CheckFW.vbs」スクリプトである。Windowsファイアウオールが有効であることは,WMI(Windows Management Instrumentation)を使って調べる。

 なお,Windowsファイアウオールが実装されているのは,2004年末現在,Windows XP SP2だけである。Windows XP SP2以外のWindowsに実装されているインターネット接続ファイアウオールについては,Windowsファイアウオールとは別の方法で調べる必要があり,図9bのプログラムでは,OSのバージョンを調べ,それに応じて判別方法を分けている。

 なお図9aでは,検疫に失敗したときも,rqc.exeを使ってサーバーに通知メッセージを送っている。ただし,カギ(環境変数REMOVALに設定している値)がサーバーに設定されたものと違うので,エラーになって検疫モードは解除されない。これは,サーバーのイベント・ログに,接続要件を満たしていないクライアントがリモート接続してきたことを残すためである。rqc.exeでメッセージを通知しないと,サーバーにログが残らない。

 以上のような処理をする検疫用のスクリプトは,リモート・アクセス・クライアントがVPNサーバーに接続し,認証された後に実行する。これを設定するのに,リモート・アクセスの接続プロファイルを使う。


△ 図をクリックすると拡大されます
図10●リモート・アクセスの接続プロファイルにスクリプトを設定する

△ 図をクリックすると拡大されます
図11●検疫に必要なプログラムをリモート・アクセスの接続プロファイルと一緒に配布できるよう,追加ファイルに登録する
接続マネージャ管理キットを使って接続プロファイルを作る
 接続プロファイルには,接続先の情報だけでなく,接続後に自動的に実行するプログラムの設定や,プロファイルと一緒に配布するプログラムの指定ができる。接続プロファイルの具体的な作り方は次の通りだ。

 まず,リモート・アクセスの接続マネージャ管理キット・ウィザードを実行する。ウィザードでは,このプロファイルの名前やVPNサーバーのIPアドレス(ここでは10.0.0.2)などの情報のほか,「カスタム動作」を指定できる。ここで,[実行するプログラム]に「quarantine.cmd」,[動作の種類]に「接続後」を指定する(図10)。

 ウィザードを進めていくと[追加ファイル]を指定するページがあるので,カスタム動作で設定したquarantine.cmdが利用する「rqc.exe」と「Check-FW.vbs」をここに指定する(図11)。rqc.exeは,%windir%\ServicePackFiles\i386フォルダに格納されている。%windir%はWindowsフォルダを意味し,標準でC:\WINDOWSである。この後,最後までウィザードを進めると,「example.exe」という接続プロファイルの配布パッケージができる。

 このパッケージをクライアントで実行すると,接続プロファイルがインストールされる。これを使ってクライアントからVPNサーバーにアクセスすると,接続後に実際に検疫される。Windowsファイアウオールが無効の状態で接続すると図12のように,IIS1サーバーにはアクセスできない。ただし,この状態でも,CA1サーバーにはアクセスできる。

 これに対して,Windowsファイアウオールを有効にして接続すると,図13のようにIIS1サーバーにアクセスできるようになる。検疫モードが解除された状態でも,検疫用サーバーCA1にはアクセス可能である。


△ 図をクリックすると拡大されます

△ 図をクリックすると拡大されます
図12●Windowsファイアウオールを無効にしてVPN接続したときの状態
図13●Windowsファイアウオールを有効にしてVPN接続したときの状態


(『日経Windowsプロ』2005年1月号掲載「今から備えるWindows Server 2003 SP1」より)

あなたにお薦め

今日のピックアップ

日経クロステック Active注目記事

おすすめのセミナー

セミナー一覧

注目のイベント

おすすめの書籍

書籍一覧

日経BOOKプラスの新着記事

日経クロステック Special

What's New

経営

クラウド

アプリケーション/DB/ミドルウエア

運用管理

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ