■第3回は,リモート・アクセス・クライアントの検疫機能を紹介する。最新のパッチが適用されていないような,必要な条件を満たしていない社外のパソコンを接続させないようにできる。

(山口 哲弘)



最新のパッチが適用されていない社外のクライアントを接続させない
 ファイアウオールなどで保護したり,LANに接続するクライアントを厳重に管理したりして社内LANの安全を保っていても,リモート・アクセスによって外部のネットワークから無防備なPCが接続されると,そのPCが原因となって社内LAN全体が危険にさらされる場合がある。そうかといって,外部ネットワークからの接続を完全に禁止してしまっては,外出することの多いユーザーにとって生産性が著しく低下してしまう。


△ 図をクリックすると拡大されます
図9●リモート・アクセスのネットワーク検疫制御

 Windows Server 2003 SP1が備える「リモート・アクセスのネットワーク検疫制御」は,VPN(仮想プライベート・ネットワーク)やダイヤルアップによって社外からリモート・アクセスしてきたクライアントを検疫する機能である。あらかじめ社内LANに接続するのに必要な要件を定義しておき,その要件を満たしていないクライアントからアクセスされたときに,それを拒否したり,社内ネットワークとは別のネットワークに隔離して要件を満たすのに必要なソフトウエアをインストールさせたりできる(図9)。要件は,最新のセキュリティ更新プログラム(パッチ)を適用しているか,ウイルス対策ソフトの定義ファイルを最新のものにしているか,パスワードで保護されたスクリーン・セーバーを有効にしているか,など自由に決められる。

まず検疫モードで接続し接続要件合致後に検疫モードを解除
 リモート・アクセスのネットワーク検疫制御の仕組みは次の通りだ。

 外部からリモート・アクセス・クライアントによって接続要求があると,サーバーはパスワードによってクライアントを認証する。ここまでは今までのリモート・アクセス時と同じだ。通常,クライアントが認証されるとIPアドレスが与えられ,そのユーザーの権限内でLANのすべてのリソースにアクセスできるようになる。だがネットワーク検疫制御を利用した場合は,認証してIPアドレスが与えられても,すぐにLANにアクセスできるようになるわけではない。リモート・アクセス・クライアントは検疫モードになり,あらかじめサーバーに設定しておいた検疫に必要なデータ(パケット)だけが通信可能になる。より正確に言うと,リモート・アクセス・サーバーは,クライアントからの通信のうち,検疫に関するもの以外をすべてブロックする。

 検疫モードを解除して,リモート・アクセス・クライアントが社内LANにアクセスできるようにするには,クライアントからサーバーに対して通知メッセージを送る必要がある。Windows Server 2003 SP1には,通知メッセージを送るクライアント用のコマンドとしてrqc.exeが,そのメッセージを待ち受けるサーバー向けにrqs.exeが用意されている。


△ 図をクリックすると拡大されます
図10●リモート・クライアントを検疫するときに利用するスクリプトのサンプル

 一般には,パスワードによって認証した後,リモート・アクセス・クライアントで,社内LANに対する接続要件を満たしているかどうかを調べるプログラム(スクリプト)を実行する。このプログラムは独自に作る必要があるが,その作り込みによって接続要件を自由に決められる(図10)。

 要件を満たしていることが確認できたら,rqc.exeを使ってサーバーにメッセージを通知するようプログラムを作っておく。サーバーでは,例えば,あらかじめ設定した時間内にクライアントから通知メッセージが送られてこなかったら,リモート・アクセス・クライアントの接続を切断する,などの制御をする。



△ 図をクリックすると拡大されます
図11●リモート・アクセスのカスタマイズ・ツール「接続マネージャ管理キット」のウィザード

接続マネージャ管理キットで接続プロファイルを作る
 以上のような処理をするために,リモート・アクセス用の接続マネージャ(CM)プロファイルを使う。これは「接続マネージャ管理キット」のウィザードを使って作成する(図11)。CMプロファイルには,リモート接続時のTCP/IP情報やInternet Explorerのプロキシなどのほか,カスタム動作としてリモート接続後の処理を定義できる。これを利用して,要件をチェックし,サーバーに検疫モードを解除するメッセージを通知するプログラムを実行するよう設定するわけだ。

 さらに,CMプロファイルの作成時に,[追加ファイル]を設定できる。ここに,rqc.exeを設定すると,今作ったCMプロファイルと一緒にrqc.exeもリモート・アクセス・クライアントに配布できる。

 なお,既に述べたように,LANへの接続要件を調べるスクリプト(プログラム)は,ユーザー(管理者)自身が作る必要がある。マイクロソフトのWebサイトからは,サンプル・スクリプトもダウンロードできるが,各種要件を調べるプログラムを作るには専門的な知識が必要であり,簡単ではない。スクリプトを生成するウィザードが用意されていればより便利なのだが,Windows Server 2003 SP1で提供される予定はない。

 また,リモート・アクセスのネットワーク検疫制御は,文字通り,リモート・アクセス・クライアントに対してのみ有効である。LANに直接接続するクライアントに対しては検疫しない。LANでの検疫機能は,Windows Server Longhorn(開発コード名)で提供される予定である。

 なお,リモート・アクセスのネットワーク検疫制御は,Windows Server 2003リソース・キットによって既に提供されている機能である。これまではマイクロソフトによるサポートは受けられなかったが,SP1として提供されるネットワーク検疫制御機能に対してはサポートが受けられる。


(『日経Windowsプロ』2004年11月号掲載「速報Windows Server 2003 SP1の新機能」より)