実はこんなに奥の深い「ファイアウォール」(2/4 ページ)

» 2004年11月19日 14時50分 公開
[ITmedia]

 いずれにしても、ファイアウォールの基本的な役割や能力としては、以下の項目が挙げられるだろう。

  • 外部からの無秩序なアクセスを禁止し、外部で発生する脅威の影響が内部に及ばないよう制御する
  • 内部から外部に向けたネットワーク利用を提供する
  • 外部から内部リソースへのネットワーク利用を制御する
  • 保護とアプリケーション利用の両立
  • 保護対象に対するセキュリティ対策の効率化を実現する集約的効果
  • 外部および内部から発生した通信記録(ログ)の採取

 これらの要件を実現するための代表的なファイアウォールの基本技術として、「パケット・フィルタリング」「アプリケーション・プロキシ」「ステートフル・インスペクション」という3つの手法について、改めて整理してみよう。いずれも、ネットワーク上で通信されるパケットが持つ情報について検査を行うものだが、対象とするプロトコルのレイヤや情報量によって特徴が異なる。

パケット・フィルタリング

 パケット・フィルタリングは、古くからルータなどのネットワーク機器で利用されてきた、導入が容易な手法である。ルータは本来の機能として、IPパケットが持つ情報を元にパケットをルーティング(転送)するが、このとき、パケットに含まれる「発信元のIPアドレス」「送信先のIPアドレス」「通信を行うポート番号」などの情報について、事前に設定された条件と照らし合わせ、フィルタリングを行う。これによって、主に外部からの不要な通信を制御することが可能である。パケット・フィルタリングは、検査条件としてIP、TCP、UDP、ICMPなどのヘッダに含まれる情報を主に参照し、制御を行う。

図1 図1●パケット・フィルタリングの検査対象

パケット・フィルタリングの特徴と考慮すべき点は以下のとおりだ。

利点
1.ルータの付加価値機能として利用できるため、導入しやすい
2.特定のアプリケーションに依存しない

考慮点
1. 検査条件には、主にネットワーク層の範囲の情報が使用される。アプリケーション層の情報を参照しないため、実現できるのはネットワークレベルのセキュリティに限られる
2. UDPやRPCなど、コネクションレス型のプロトコルのリクエストパケットとリプライパケットの関連付けがなされていな場合、正常な通信であるか、それとも外部からの攻撃であるかの認識ができない。内部から外部へアクセスする場合、リプライパケットが内部へ戻ってくるように、1024番以上のポートを通過できるよう設定が必要である。または、UDPなどのコネクションレス型アプリケーションや戻りのポートが動的に変化するアプリケーションは利用しないといった運用を選択することとなる。
3. ネットワーク層の情報に限られたセキュリティ実施であるため、ログの情報が乏しい

 したがってパケット・フィルタリング機能を利用したファイウォールは、組織ネットワークの中核なセキュリティ機能として用いるよりも、たとえば「外部から内部ホストへのTelnetの禁止」といったポリシー設定を適用するための補完的な役割として利用することが望ましいだろう。

アプリケーション・ゲートウェイ

 アプリケーション・ゲートウェイは、境界に配置されたゲートウェイにおいて、外部と内部それぞれのネットワークインタフェース間でパケットの転送を禁止し、外部からのパケットが内部に到達できないようにすることで、根本的なセキュリティを実現する。しかし、これでは内部から外部へ送られるパケットも出ていくことができず、アプリケーションが使用できない。これを解決するために、アプリケーションを中継する(プロキシ)プログラムを動作させている。

 この中継プログラムは一般に、アプリケーションの種類ごとに用意される。内部のクライアントから外部に向けて送られる、あるアプリケーション利用の要求パケットがゲートウェイに到達したとする。するとゲートウェイの中継プログラムが、内部クライアントとセッションを確立し、一方で外部に向けてアプリケーション要求のためのセッションを開始、確立する。こうして中継プログラムは、アプリケーションのデータをセッション終了まで仲立ちし、中継する(図2)。

図2 図2●アプリケーション・ゲートウェイ方式

 アプリケーション・ゲートウェイの代表的な利点と考慮点は以下のとおりだ。

利点
1.ゲートウェイの基本設定としてパケット転送を禁止しているため、アクセス制御といった観点からは高いセキュリティを実現する
2.アプリケーションを中継するため、検査する情報を持ち合わせていれば、アプリケーションのコマンドやデータについて詳細なセキュリティ制御が実施可能である

考慮点
1.アプリケーション・ゲートウェイの利点を生かすためには、アプリケーションごとの中継プログラムが必要となり、利用可能なアプリケーションの種類に制限が生じる
2.上位のアプリケーション層の情報に対して中継プログラムが検査を行うため、ゲートウェイがパケットを捕捉した後、上位層まで引き渡す処理にはコンピュータのリソースが必要であり、処理性能に限界がある

ステートフル・インスペクション

 ステートフル・インスペクションの手法は、1993年にイスラエルのCheck Point Software Technologiesによって考案、開発された。これは、前述のパケット・フィルタリングとアプリケーション・ゲートウェイの利点をあわせ持った手法ともいえる。

 創業者の一人によれば、1990年代のはじめ、ある環境で部門間のセキュリティ対策が必要になり既存の手法を検討したが、内部/部門間であるがゆえに、インターネット標準以外のアプリケーションの種類への対応と高いパフォーマンスといった要件が求められた。それらを満たすためには、自身で新たな手法を開発する必要があったという。その結果がステートフル・インスペクションであった。

 ステートフル・インスペクションの手法では、パケットの検査に際して通信の状態に関する情報を保持しておく。パケットの検査を行う際には、パケットの中身に加え、過去の通信から作成されたこの通信の状態情報と照らし合わせ、正しい通信パケットなのか、不正なパケットなのかを判断し、通信を許可するかどうかを動的に決定する。状態(ステート)情報を持つことから“ステートフル”と呼ばれているわけだ。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ