Part1では、高度化するサイバー攻撃の脅威に対して、境界防御を実現する様々なセキュリティ機能や多層防御の必要性、その組み合わせ方について紹介した。Part2では、ゲートウエイでネットワークを守る「ファイアウオール機能」や「URLフィルタリング」、「Webアプリケーション制御」、「ウイルスゲートウエイ」、エンドポイントでパソコンを守る「総合セキュリティソフト」の仕組みや主な製品の実装方法の違いを見ていく。

IPアドレスとポート番号で制御

 ファイアウオールの基本機能は、大きく2つに分類できる。「パケットフィルタリング」と「ステートフルインスペクション」である。まずパケットフィルタリングには、設定方法の違いから「静的パケットフィルタリング」と「動的パケットフィルタリング」に分けられる(図2-1)。

図2-1●IPアドレスやポート番号に基づいて通信を制御する
図2-1●IPアドレスやポート番号に基づいて通信を制御する
パケットフィルタリングは、宛先/送信元IPアドレス、宛先/送信元ポート番号に基づき、通信を通したり遮断したりする技術。「静的パケットフィルタリング」と「動的パケットフィルタリング」の2種類がある。後者は、送信パケットだけフィルタリングルールに設定しておけば、応答パケットは設定していなくても通す。
[画像のクリックで拡大表示]

 静的パケットフィルタリングは、通信の許可または拒否を設定するパケットをすべて、宛先/送信元IPアドレスと宛先/送信元ポート番号、プロトコルの種類で設定する方法である。例えば、WebサイトへのHTTPアクセスを許可する場合は、「LANからWANに向けたHTTPアクセス(TCPの80番ポート)を許可する」「WANからLANに向けたHTTP応答を許可する」といった設定ができる。ファイアウオールではすべての通信を遮断しておき、必要な通信のみ許可する設定が一般的だ。

 もう1つの動的パケットフィルタリングは、許可した通信の応答は明示的に設定しなくても許可するという設定方法だ。WebサイトへのHTTPアクセスを許可する場合、「LANからWANに向けたHTTPアクセスを許可する」とだけ設定しておけば、応答パケットに対する設定は不要である。これは、ファイアウオール機能が記録したセッション情報を参照して実現する。

 例えば、LANからWANに向けたHTTPアクセスを許可したファイアウオールで、「LANからWANに、送信元IPアドレスAAA、宛先IPアドレスBBB、送信元ポート番号49252、宛先ポート番号80の通信」があったとする。ファイアウオールは、この通信状態をセッションテーブルに記述しておく。「WANからLANに、送信元IPアドレスBBB、宛先IPアドレスAAA、送信元ポート番号80、宛先ポート番号49252」という、セッションテーブルに記録された通信の応答が届けば、自動的に許可する。このように、動的パケットフィルタリングでは、設定担当者の手間が小さくなる。

 ただし、「セッションテーブルを保持する時間が短か過ぎてトラブルになる場合がある」(ネットワンシステムズの荒木氏)。セッションテーブルを保持する時間は製品によって異なり、短いと応答が届くまでにタイムアウトしてしまいファイアウオールが通信を遮断する。この場合は、手動で保持時間を長くする。

不正なやり取りを検知できない

 パケットフィルタリング機能はIPアドレスやポート単位で通信の可否を決めるだけで、不正なやり取りを検知できない。ファイアウオールで許可した通信を悪用した攻撃に対して、パケットフィルタリングは無力なのだ。

 例えば、ファイル転送を行うFTPの通信をパケットフィルタリングで許可する場合、データ転送用のTCPの20番ポートと、FTPのセッションを管理するためのTCPの21番ポートの通信を許可する。FTPでは21番ポートでセッションを確立してから、20番ポートを使ってデータを送るためだ。もし攻撃者がいきなり20番ポートでパケットを送り付けてきても、パケットフィルタリングでは通信を許可してしまう。