■IPsec(IPセキュリティ)は,データ暗号化以外にも,特定のポートに対する通信をブロックする,ドメインに参加していないコンピュータとの通信を禁止するなど様々な目的に利用できる。
■ワームの拡散防止,サーバーの保護,ドメイン分離,の3つのシナリオについてIPsecを使ってセキュリティを向上させる方法を解説する。
(2005年10月号「Windowsテクノロジ徹底解説」より)




 IPsec(IPセキュリティ)と言えば,通常はVPN(仮想プライベート・ネットワーク)に使われることが多いが,ネットワークのセキュリティを確保するに当たって果たす役割も多い。IPsecを使うことで,3つの一般的な問題を解決できる。「ワームが広がるのを防ぐ」「サーバーを保護する」「ドメインを分離する」である。これらの用途では,性能を低下させる暗号化は不要である。以下ではこの3つを実現するテクニックを説明していく。

ワームの拡散防止にIPsecを使う
 ワームを食い止める最良の方法は,侵入させないようにすることである。ところが悲しいことに,電子メールやネット・サーフィンに付随する脅威と危険性を理解していない人,あるいは気にしない人がいるために,ワームや悪意あるコードがはびこっている。こうした不幸な状況において,悪意あるコードが及ぼす被害を減らすにはどうすればよいだろうか。

 悪意あるコードを阻止する方法は3つある。「インストールされるのを防ぐ」「コードが実行されるのを防ぐ」「コードが通信するのを防ぐ」である。

 場合によっては悪意あるコードに通信をさせないようにすることが精一杯の対処となることもある。IPsecポリシーを利用すれば,コンピュータから出入りするトラフィックを制限することで悪意あるコードが通信するのを防げる。IPsecは,フィルタ操作のルールでトラフィックをブロックするか許可するかを設定するだけで,個々のコンピュータ上で機能する基本的なパケット・フィルタとしての役割を果たすようになる。認証やトラフィックの暗号化といったIPsecのセキュリティ・アソシエーションを定義する必要はない。グループ・ポリシーを使ってこれらのルールを各コンピュータに割り当てれば,ネットワークを伝わる悪意あるトラフィックを大幅に減らせる。

 どのIPsecポリシーを選択するかは,実行しているOSに依存する。Windows Server 2003とWindows XPはホスト・ベースのファイアウオールを備える。このファイアウオールはインバウンド・トラフィック(着信方向の通信)をブロックするに当たってIPsecよりも効果的である。従って,これらのOSでこのファイアウオールを使っている場合は,アウトバウンド・トラフィックをブロックするだけでよい。対して,Windows 2000はホスト・ベースのファイアウオールを搭載していないので,インバウンド,アウトバウンド両方に対応するIPsecポリシーを検討する必要がある。

△ 図をクリックすると拡大されます
表1●Slammerの感染を防ぐために作成するポリシーの設定内容
 Slammerワームを例に考えてみよう。SlammerはUDPポート1434に対するメッセージをネットワークに送り込み,SQL ServerまたはMSDE(SQL Server Desktop Engine)を実行中のコンピュータを見つけ出す。米Microsoftはこのワームに対するパッチをリリースしたが,すべてのコンピュータにパッチを当てるには時間がかかる。そこで,暫定的な回避措置として,グループ・ポリシーを使ってIPsecポリシーをすばやく設定し,攻撃対象となるポートへのインバウンド・トラフィックをブロックするという方法が考えられる。もちろんこのポリシーはSQL Serverへのインバウンド・トラフィックをブロックするわけだから,パッチを当て終わったらポリシーを無効にする必要がある。

 コンピュータがSlammerに感染しないようにするためには,そのコンピュータのIPアドレスをあて先とするUDPポート1434に対するすべてのインバウンド・トラフィックをブロックする。具体的には表1のようなIPsecポリシーを作成する。ここではIPsecセキュリティ・アソシエーションを定義しないので,認証方法はどれでもかまわない。

△ 図をクリックすると拡大されます
図1●[ローカルセキュリティ設定]の画面
 ポリシーを作成するにはまず,保護したいコンピュータの[ローカルセキュリティ設定]画面を開く(図1)。手順は,Windows Server 2003,Windows XP,Windows 2000のいずれの場合でも同じである。

(1)スタート・メニューやコントロール・パネルの[管理ツール]フォルダにある[ローカルセキュリティポリシー]をダブル・クリック
(2)[ローカルコンピュータのIPセキュリティポリシー]をクリック

 [ローカルセキュリティ設定]画面が表示されたら,フィルタ一覧を作成する。

△ 図をクリックすると拡大されます
図2●フィルタ一覧を作成する手順
(1)ウインドウ右側のペインを右クリックして[IPフィルタ一覧とフィルタ操作の管理]メニューを選択
(2)[IPフィルタ一覧とフィルタ操作の管理]ダイアログが表示されたら,[IPフィルタ一覧の管理]タブで[追加]ボタンをクリック(図2
(3)表示された[IPフィルタ一覧]ダイアログの[名前]の欄に「Slammerフィルタリスト」と入力し,[追加]ボタンを押す
(4)表示されたIPフィルタ・ウィザードの最初の画面で[次へ]をクリック
(5)[発信元アドレス]の欄で[任意のIPアドレス]を選択して[次へ]ボタンをクリック
(6)[宛先アドレス]の欄で[このコンピュータのIPアドレス]を選択して[次へ]をクリック
(7)[プロトコルの種類の選択]で[UDP]を選択して[次へ]をクリック
(8)[次の宛先ポート]オプションを選択して「1434」と入力し,[次へ]をクリック
(9)[完了]をクリックしてウィザードを終了
(10)[IPフィルタ一覧]で[OK]をクリックし,ダイアログを閉じる

 次に,フィルタ操作を作成する。既に「Block」という名前の操作がある場合は以下の作業を飛ばしてかまわない。

△ 図をクリックすると拡大されます
図3●フィルタ操作を作成する手順
(1)[IPフィルタ一覧とフィルタ操作の管理]ダイアログの[フィルタ操作の管理]タブで[追加]をクリックし,表示された[フィルタ操作ウィザード]の最初の画面で[次へ]をクリック(図3
(2)[名前]の欄に「Block」と入力して[次へ]をクリック
(3)フィルタ操作の全般オプションの欄で[ブロック]を選択して[次へ]をクリック (4)[完了]ボタンをクリックしてウィザードを終了
(5)[IPフィルタ一覧とフィルタ操作の管理]ダイアログで[OK]をクリックし,ダイアログを閉じる

 続いて「Slammerフィルタ」という名前のIPsecポリシーを作成する。

(1)[ローカルセキュリティ設定]画面の右側のペインを右クリックして[IPセキュリティポリシーの作成]メニューを選択し,[IPセキュリティポリシーウィザード]の最初の画面で[次へ]をクリックする
(2)[名前]の欄に「Slammerフィルタ」と入力して[次へ]をクリックする
(3)[既定の応答規則をアクティブにする]チェック・ボックスをオフにして,[次へ]をクリック
(4)[プロパティを編集する]が選択された状態で[完了]をクリックしてウィザードを終了

 ウィザードを終了するとポリシーのプロパティ・ダイアログが表示されるので,ここでポリシーのルールを追加する。

△ 図をクリックすると拡大されます
図4●ポリシーにルールを追加する手順
(1)プロパティ・ダイアログで[追加]をクリックして,表示された[セキュリティの規則ウィザード]の最初の画面で[次へ]をクリック(図4
(2)続く3つの画面では,表示される既定値のままで[次へ]をクリック
(3)[IPフィルタ一覧]のリストから「Slammerフィルタリスト」を選択して[次へ]をクリック
(4)[フィルタ操作]から「Block」を選択して[次へ]をクリック
(5)[終了]をクリックしてウィザードを終了し,さらに[OK]をクリックして規則のプロパティ・ダイアログを閉じる
(6)[終了]をクリックしてポリシー・プロパティ・ダイアログを閉じる

 ここまでの作業が終わったら,最後に作成したポリシーを割り当てる。これには[ローカルセキュリティ設定]画面に表示されている「Slammerフィルタ」ポリシーを右クリックして[割り当てる]メニューを選択すればよい。