JP3464610B2 - パケット検証方法 - Google Patents
パケット検証方法Info
- Publication number
- JP3464610B2 JP3464610B2 JP25283198A JP25283198A JP3464610B2 JP 3464610 B2 JP3464610 B2 JP 3464610B2 JP 25283198 A JP25283198 A JP 25283198A JP 25283198 A JP25283198 A JP 25283198A JP 3464610 B2 JP3464610 B2 JP 3464610B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- subsequent
- processing
- cache
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0254—Stateful filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、コンピュータネッ
トワークにおける権限のないアクセスの防止に関し、特
に、コンピュータネットワーク内のファイアウォール保
護に関する。
トワークにおける権限のないアクセスの防止に関し、特
に、コンピュータネットワーク内のファイアウォール保
護に関する。
【0002】
【従来の技術】コンピュータネットワークでは、情報
は、通常、パケットの形で伝送される。あるサイトにあ
る情報は、そのサイトまたは別のサイトのコマンドで、
別のサイトからアクセスされ、あるいは、別のサイトへ
送信される。従って、例えば情報が財産である場合、権
限のないアクセスに対する保護の必要がある。このため
に、ファイアウォールとして知られるワークプロセッサ
コンポーネントで実行される、パケットフィルタリング
という技術が開発され市販されている。ファイアウォー
ルでは、パケットは検査されフィルタリングされる。す
なわち、あらかじめ定義されたアクセスルールのセット
に従っているかどうかに応じて、パケットは、通過し、
あるいは、廃棄される。通常、このルールセットは表形
式で表される。
は、通常、パケットの形で伝送される。あるサイトにあ
る情報は、そのサイトまたは別のサイトのコマンドで、
別のサイトからアクセスされ、あるいは、別のサイトへ
送信される。従って、例えば情報が財産である場合、権
限のないアクセスに対する保護の必要がある。このため
に、ファイアウォールとして知られるワークプロセッサ
コンポーネントで実行される、パケットフィルタリング
という技術が開発され市販されている。ファイアウォー
ルでは、パケットは検査されフィルタリングされる。す
なわち、あらかじめ定義されたアクセスルールのセット
に従っているかどうかに応じて、パケットは、通過し、
あるいは、廃棄される。通常、このルールセットは表形
式で表される。
【0003】一般に、ファイアウォールアドミニストレ
ータは、ファイアウォールの一方の側から他方の側へ
は、同意された広範なアクセスを許容するが、アクティ
ブなネットワークセッションの一部ではない逆向きの伝
送は遮断する。例えば、会社の「内部」の従業員はファ
イアウォールを通じてインターネットのような「外部」
のネットワークに無制限にアクセスすることができる
が、インターネットからのアクセスは、特別に権限を与
えられていなければ遮断される。このような、会社とイ
ンターネットの境界にあるファイアウォールに加えて、
ファイアウォールは、ネットワークドメイン間にも置か
れることがあり、また、ドメイン内でも、サブドメイン
を保護するために用いられることがある。それぞれの場
合において、異なるセキュリティポリシーが関係してい
る。
ータは、ファイアウォールの一方の側から他方の側へ
は、同意された広範なアクセスを許容するが、アクティ
ブなネットワークセッションの一部ではない逆向きの伝
送は遮断する。例えば、会社の「内部」の従業員はファ
イアウォールを通じてインターネットのような「外部」
のネットワークに無制限にアクセスすることができる
が、インターネットからのアクセスは、特別に権限を与
えられていなければ遮断される。このような、会社とイ
ンターネットの境界にあるファイアウォールに加えて、
ファイアウォールは、ネットワークドメイン間にも置か
れることがあり、また、ドメイン内でも、サブドメイン
を保護するために用いられることがある。それぞれの場
合において、異なるセキュリティポリシーが関係してい
る。
【0004】いくつかの複雑なネットワークプロトコル
では、外部からユーザへ戻る別個の追加のネットワーク
セッションが必要とされる。そのような複雑なプロトコ
ルの1つは、RealAudioという商品名で知られているサ
ービスによって用いられている。特別の処置がなけれ
ば、この別個のセッションに対する要求はファイアウォ
ールによって遮断されてしまう。
では、外部からユーザへ戻る別個の追加のネットワーク
セッションが必要とされる。そのような複雑なプロトコ
ルの1つは、RealAudioという商品名で知られているサ
ービスによって用いられている。特別の処置がなけれ
ば、この別個のセッションに対する要求はファイアウォ
ールによって遮断されてしまう。
【0005】このような複雑なプロトコルに対して、ユ
ーザの代わりにファイアウォールプロセッサ上で並行し
て走る別個の「プロキシ」プロセスが開発されている。
プロキシプロセスは、別の特殊目的アプリケーション、
例えば、認証、メール処理、およびウィルススキャンの
ようなサービスを実行するためにも、開発されている。
ーザの代わりにファイアウォールプロセッサ上で並行し
て走る別個の「プロキシ」プロセスが開発されている。
プロキシプロセスは、別の特殊目的アプリケーション、
例えば、認証、メール処理、およびウィルススキャンの
ようなサービスを実行するためにも、開発されている。
【0006】
【発明が解決しようとする課題】ファイアウォールプロ
セッサが並行プロセスをサポートする容量には限界があ
るので、並行して走らせることができるセッションの数
を最大にするためには、ファイアウォール上のプロキシ
プロセスに対する需要を最小にすることが好ましい。さ
らに、このような最小化は、全伝送レートに関しても、
好ましい。その理由は、入力データが別々のプロセスを
通ると伝送が遅くなるためである。
セッサが並行プロセスをサポートする容量には限界があ
るので、並行して走らせることができるセッションの数
を最大にするためには、ファイアウォール上のプロキシ
プロセスに対する需要を最小にすることが好ましい。さ
らに、このような最小化は、全伝送レートに関しても、
好ましい。その理由は、入力データが別々のプロセスを
通ると伝送が遅くなるためである。
【0007】
【課題を解決するための手段】本発明は、処理効率を改
善し、セキュリティを改善し、アクセスルール自由度を
増大させ、複雑なプロトコルを扱うファイアウォールの
能力を高めるように、コンピュータネットワークのファ
イアウォールを実現する技術を提供する。本発明の第1
の特徴によれば、コンピュータネットワークファイアウ
ォールは、与えられたパケットに対していくつかの別個
のアクセスルールセットのうちのいずれかを適用するこ
とによって、(a)複数のセキュリティポリシー、
(b)複数のユーザ、または、(c)複数のセキュリテ
ィポリシーおよび複数のユーザの両方をサポートするこ
とができる。パケットに対して適用されるルールセット
は、入出力ネットワークインタフェースや、ネットワー
クのソースおよびデスティネーションのアドレスのよう
な情報に基づいて決定される。
善し、セキュリティを改善し、アクセスルール自由度を
増大させ、複雑なプロトコルを扱うファイアウォールの
能力を高めるように、コンピュータネットワークのファ
イアウォールを実現する技術を提供する。本発明の第1
の特徴によれば、コンピュータネットワークファイアウ
ォールは、与えられたパケットに対していくつかの別個
のアクセスルールセットのうちのいずれかを適用するこ
とによって、(a)複数のセキュリティポリシー、
(b)複数のユーザ、または、(c)複数のセキュリテ
ィポリシーおよび複数のユーザの両方をサポートするこ
とができる。パケットに対して適用されるルールセット
は、入出力ネットワークインタフェースや、ネットワー
クのソースおよびデスティネーションのアドレスのよう
な情報に基づいて決定される。
【0008】本発明の第2の特徴によれば、コンピュー
タネットワークファイアウォールは、パケットに適用さ
れるルール処理の結果を記憶することによって性能を改
善する「状態付き」パケットフィルタリングを利用する
ように構成される。状態付きパケットフィルタリング
は、パケットに対するルール処理結果をキャッシュし、
キャッシュされた結果を利用して、そのパケットと同様
の特性を有する後続のパケットに対するルール処理を迂
回することによって実現される。例えば、あるネットワ
ークセッションの特定のパケットにルールセットを適用
した結果をキャッシュし、同じネットワークセッション
からの後続のパケットがファイアウォールに到着したと
きに、キャッシュされている前のパケットからの結果
を、その後続パケットに対して用いる。これにより、そ
れぞれの入力パケットにそのルールセットを適用する必
要がなくなる。
タネットワークファイアウォールは、パケットに適用さ
れるルール処理の結果を記憶することによって性能を改
善する「状態付き」パケットフィルタリングを利用する
ように構成される。状態付きパケットフィルタリング
は、パケットに対するルール処理結果をキャッシュし、
キャッシュされた結果を利用して、そのパケットと同様
の特性を有する後続のパケットに対するルール処理を迂
回することによって実現される。例えば、あるネットワ
ークセッションの特定のパケットにルールセットを適用
した結果をキャッシュし、同じネットワークセッション
からの後続のパケットがファイアウォールに到着したと
きに、キャッシュされている前のパケットからの結果
を、その後続パケットに対して用いる。これにより、そ
れぞれの入力パケットにそのルールセットを適用する必
要がなくなる。
【0009】本発明の第3の特徴によれば、コンピュー
タネットワークファイアウォールは、ソースホストアド
レス、デスティネーションホストアドレス、およびサー
ビスタイプのようなセッションデータ項目に基づいて設
定することが可能な依存関係マスクを用いて、ネットワ
ークセッションを認証あるいは阻止する。依存関係マス
クを用いて、ファイアウォールによって処理されている
アクティブセッションのキャッシュに問合せをすること
が可能であり、それにより、問合せを満たすセッション
の数を識別することができる。この問合せを、アクセス
ルールに対応させ、特定のルールのセッションが、その
問合せに適合する数に依存するようにすることが可能で
ある。
タネットワークファイアウォールは、ソースホストアド
レス、デスティネーションホストアドレス、およびサー
ビスタイプのようなセッションデータ項目に基づいて設
定することが可能な依存関係マスクを用いて、ネットワ
ークセッションを認証あるいは阻止する。依存関係マス
クを用いて、ファイアウォールによって処理されている
アクティブセッションのキャッシュに問合せをすること
が可能であり、それにより、問合せを満たすセッション
の数を識別することができる。この問合せを、アクセス
ルールに対応させ、特定のルールのセッションが、その
問合せに適合する数に依存するようにすることが可能で
ある。
【0010】本発明の第4の特徴によれば、コンピュー
タネットワークファイアウォールは、パケットを処理す
るためのアクセスルールのセットに追加された動的ルー
ルを利用することが可能である。動的ルールによれば、
与えられたルールセットは、ルールセット全体をリロー
ドすることを要求せずに、ネットワークにおいて起こる
イベントに基づいて修正される。動的ルールの例として
は、単一のセッションに対してのみ用いられる「ワンタ
イム」ルール、指定された期間に対してのみ用いられる
時限ルール、および、ある条件が満たされたときにのみ
用いられるしきい値ルールがある。他のタイプの動的ル
ールとしては、ホストグループを定義するルールがあ
る。この動的ルールによれば、アクセスルールセットの
他の事項を変更せずに、ホストを追加あるいは削除する
ようにホストグループを変更することができる。
タネットワークファイアウォールは、パケットを処理す
るためのアクセスルールのセットに追加された動的ルー
ルを利用することが可能である。動的ルールによれば、
与えられたルールセットは、ルールセット全体をリロー
ドすることを要求せずに、ネットワークにおいて起こる
イベントに基づいて修正される。動的ルールの例として
は、単一のセッションに対してのみ用いられる「ワンタ
イム」ルール、指定された期間に対してのみ用いられる
時限ルール、および、ある条件が満たされたときにのみ
用いられるしきい値ルールがある。他のタイプの動的ル
ールとしては、ホストグループを定義するルールがあ
る。この動的ルールによれば、アクセスルールセットの
他の事項を変更せずに、ホストを追加あるいは削除する
ようにホストグループを変更することができる。
【0011】本発明の第5の特徴によれば、アプリケー
ションプロキシのファイアウォールの負担を軽減するよ
うに、処理のための別のサーバにネットワークセッショ
ンをリダイレクトするようコンピュータネットワークフ
ァイアウォールに対して指令することができる。この別
サーバは、リダイレクトされたネットワークセッション
を処理した後、そのセッションを、ファイアウォールを
通じて、もとの意図されたデスティネーションへ渡す。
ションプロキシのファイアウォールの負担を軽減するよ
うに、処理のための別のサーバにネットワークセッショ
ンをリダイレクトするようコンピュータネットワークフ
ァイアウォールに対して指令することができる。この別
サーバは、リダイレクトされたネットワークセッション
を処理した後、そのセッションを、ファイアウォールを
通じて、もとの意図されたデスティネーションへ渡す。
【0012】本発明のコンピュータネットワークファイ
アウォールにより、広範囲の重要なアプリケーションで
のファイアウォール処理が可能となる。例えば、本発明
は、ダイヤルアップアクセスゲートウェイに実装可能で
ある。本発明の別の実施例では、ファイアウォールの第
1部分がネットワークに存在し、ファイアウォールの第
2部分がセットトップボックス、コンピュータあるいは
その他の、家庭または会社にあるユーザ端末にあるとい
うように分散的にも実装可能である。後者の実施例によ
れば、本発明のファイアウォール技術は、例えば、家庭
においてインターネットとビデオアクセスの親による制
御を提供することが可能である。
アウォールにより、広範囲の重要なアプリケーションで
のファイアウォール処理が可能となる。例えば、本発明
は、ダイヤルアップアクセスゲートウェイに実装可能で
ある。本発明の別の実施例では、ファイアウォールの第
1部分がネットワークに存在し、ファイアウォールの第
2部分がセットトップボックス、コンピュータあるいは
その他の、家庭または会社にあるユーザ端末にあるとい
うように分散的にも実装可能である。後者の実施例によ
れば、本発明のファイアウォール技術は、例えば、家庭
においてインターネットとビデオアクセスの親による制
御を提供することが可能である。
【0013】
【発明の実施の形態】ファイアウォールにおいて、例え
ば、別個のローカルエリアネットワーク(LAN)間あ
るいはLANのサブネット間でのデータの流れを制御す
る好ましい技術が実現される。以下で、本発明の実施例
は、プロセスに関して説明する。このようなプロセスの
効率的なプロトタイプは、汎用PCハードウェア上に実
装するためにプログラミング言語Cを用いて、コンピュ
ータシステムソフトウェアとして実現されている。専用
のファームウェアあるいはハードウェアのコンピュータ
システム実装により、さらに効率を向上させることも可
能である。
ば、別個のローカルエリアネットワーク(LAN)間あ
るいはLANのサブネット間でのデータの流れを制御す
る好ましい技術が実現される。以下で、本発明の実施例
は、プロセスに関して説明する。このようなプロセスの
効率的なプロトタイプは、汎用PCハードウェア上に実
装するためにプログラミング言語Cを用いて、コンピュ
ータシステムソフトウェアとして実現されている。専用
のファームウェアあるいはハードウェアのコンピュータ
システム実装により、さらに効率を向上させることも可
能である。
【0014】1.複数のセキュリティドメインのサポー
ト複数のセキュリティドメインをサポートする能力によ
り、単一のファイアウォールが、それぞれ別々のセキュ
リティポリシーを有する複数のユーザをサポートするこ
とが可能となる。また、相異なるセキュリティポリシー
をサブサイト間の通信に適用することができるため、こ
のような能力は、サイト内でも使用可能である。それぞ
れの構成を図1および図2に例示する。
ト複数のセキュリティドメインをサポートする能力によ
り、単一のファイアウォールが、それぞれ別々のセキュ
リティポリシーを有する複数のユーザをサポートするこ
とが可能となる。また、相異なるセキュリティポリシー
をサブサイト間の通信に適用することができるため、こ
のような能力は、サイト内でも使用可能である。それぞ
れの構成を図1および図2に例示する。
【0015】図1に、インターネット105への接続に
ファイアウォールを有する4つのユーザサイト101〜
104(例として、会社A〜D)を示す。このような保
護は、ファイアウォール設備によって提供される。ファ
イアウォール設備は、ここではLAN110の形態であ
り、ファイアウォールプロセッサ111、113および
114、アドミニストレータプロセッサ115、ルータ
116ならびにウェブサーバ117を有する。ファイア
ウォールプロセッサ113および114はそれぞれ単一
のサイト(すなわち、それぞれサイト103および10
4)専用である。ファイアウォールプロセッサ111
は、2つのサイト101および102にサービスするよ
うに設定される。ファイアウォールプロセッサ111
は、2つのサイトそれぞれとインターネット105との
間、および、2つのサイト間の通信に、別々のファイア
ウォールポリシーを実装する。ファイアウォールプロセ
ッサ111の好ましい動作のためのプロセスについて、
複数のファイアウォールポリシーのうちからの適切な選
択を含めて、図5および図6を参照して後述する。
ファイアウォールを有する4つのユーザサイト101〜
104(例として、会社A〜D)を示す。このような保
護は、ファイアウォール設備によって提供される。ファ
イアウォール設備は、ここではLAN110の形態であ
り、ファイアウォールプロセッサ111、113および
114、アドミニストレータプロセッサ115、ルータ
116ならびにウェブサーバ117を有する。ファイア
ウォールプロセッサ113および114はそれぞれ単一
のサイト(すなわち、それぞれサイト103および10
4)専用である。ファイアウォールプロセッサ111
は、2つのサイト101および102にサービスするよ
うに設定される。ファイアウォールプロセッサ111
は、2つのサイトそれぞれとインターネット105との
間、および、2つのサイト間の通信に、別々のファイア
ウォールポリシーを実装する。ファイアウォールプロセ
ッサ111の好ましい動作のためのプロセスについて、
複数のファイアウォールポリシーのうちからの適切な選
択を含めて、図5および図6を参照して後述する。
【0016】図2に、ファイアウォールプロセッサ21
1を通じてインターネット105に接続されたユーザサ
イト201を示す。アドミニストレータプロセッサ21
5およびルータ216は、ファイアウォールプロセッサ
211に接続される。ルータ216は、ユーザサイト2
01の内部にある別のファイアウォールプロセッサ21
2および213に接続される。ファイアウォールプロセ
ッサ212は、単一のサブサイト223(例として人事
(HR))を保護する。ファイアウォール213は、2
つのサブサイト(例として、給与(P)および支払
(D))を、サイト201の残りの部分に対して、およ
び、サブサイト221と222の間の通信に関して、保
護するように設定される。これは、ファイアウォールプ
ロセッサ213において、図5および図6で例示される
プロセスを用いることによって達成される。
1を通じてインターネット105に接続されたユーザサ
イト201を示す。アドミニストレータプロセッサ21
5およびルータ216は、ファイアウォールプロセッサ
211に接続される。ルータ216は、ユーザサイト2
01の内部にある別のファイアウォールプロセッサ21
2および213に接続される。ファイアウォールプロセ
ッサ212は、単一のサブサイト223(例として人事
(HR))を保護する。ファイアウォール213は、2
つのサブサイト(例として、給与(P)および支払
(D))を、サイト201の残りの部分に対して、およ
び、サブサイト221と222の間の通信に関して、保
護するように設定される。これは、ファイアウォールプ
ロセッサ213において、図5および図6で例示される
プロセスを用いることによって達成される。
【0017】セキュリティポリシーは、アクセスルール
のセットによって表現される。アクセスルールのセット
は、表(テーブル)形式で表され、ファイアウォールア
ドミニストレータによってファイアウォールにロードさ
れる。図3に示すように、このようなテーブルは、ルー
ル番号、ソースおよびデスティネーションのホストの名
称、パケットで要求されることが可能な特殊サービスの
名称、および、パケットに対してなされるアクションの
指定を含むカテゴリに対して与えられる。特殊サービス
には、例えば、プロキシサービス、ネットワークアドレ
ス翻訳、および、暗号化が含まれる。図3では、「ソー
スホスト」、「デスティネーションホスト」および「サ
ービス」というカテゴリは、パケットに対して指定され
たアクションがなされるために、そのパケットに含まれ
るデータが満たさなければならない条件を課している。
他の条件を含めることも可能であり、そのような条件
は、必ずしも、パケットに含まれるデータに関係する必
要はない。例えば、ルールの適用は、日時に関して条件
づけられることも可能である。
のセットによって表現される。アクセスルールのセット
は、表(テーブル)形式で表され、ファイアウォールア
ドミニストレータによってファイアウォールにロードさ
れる。図3に示すように、このようなテーブルは、ルー
ル番号、ソースおよびデスティネーションのホストの名
称、パケットで要求されることが可能な特殊サービスの
名称、および、パケットに対してなされるアクションの
指定を含むカテゴリに対して与えられる。特殊サービス
には、例えば、プロキシサービス、ネットワークアドレ
ス翻訳、および、暗号化が含まれる。図3では、「ソー
スホスト」、「デスティネーションホスト」および「サ
ービス」というカテゴリは、パケットに対して指定され
たアクションがなされるために、そのパケットに含まれ
るデータが満たさなければならない条件を課している。
他の条件を含めることも可能であり、そのような条件
は、必ずしも、パケットに含まれるデータに関係する必
要はない。例えば、ルールの適用は、日時に関して条件
づけられることも可能である。
【0018】あるルールにおいて、ルールテーブルに与
えられたカテゴリが無関係である場合、対応するテーブ
ルエントリは「ワイルドカード」とマークされる。これ
は、任意のカテゴリあるいはカテゴリの組合せに適用可
能である。図3などでは、ワイルドカードエントリにア
ステリスク(*)を用いている。「FTP」はファイル
転送プロトコル(file transfer protocol)を表す。
えられたカテゴリが無関係である場合、対応するテーブ
ルエントリは「ワイルドカード」とマークされる。これ
は、任意のカテゴリあるいはカテゴリの組合せに適用可
能である。図3などでは、ワイルドカードエントリにア
ステリスク(*)を用いている。「FTP」はファイル
転送プロトコル(file transfer protocol)を表す。
【0019】パケットに対するルール処理において、パ
ケットによって満たされるルールが見つかるまで(また
は、ルールテーブルの最後まで。その場合、そのパケッ
トは廃棄される。)、ルールは順に適用される。ルール
を満たすパケットに対して、そのルールに含まれる各条
件が満たされなければならない。例えば、図3におい
て、ソースホストAからデスティネーションホストDへ
の、メールを表すパケットは、ルール20により廃棄さ
れる。以下は、本発明による例示的なルールセットカテ
ゴリのさらに詳細なリストである。最初の5個のカテゴ
リ名は、図3のカテゴリに対応する。
ケットによって満たされるルールが見つかるまで(また
は、ルールテーブルの最後まで。その場合、そのパケッ
トは廃棄される。)、ルールは順に適用される。ルール
を満たすパケットに対して、そのルールに含まれる各条
件が満たされなければならない。例えば、図3におい
て、ソースホストAからデスティネーションホストDへ
の、メールを表すパケットは、ルール20により廃棄さ
れる。以下は、本発明による例示的なルールセットカテ
ゴリのさらに詳細なリストである。最初の5個のカテゴ
リ名は、図3のカテゴリに対応する。
【0020】カテゴリ名:ルール番号
説明:ドメイン内のルールの番号。ルール番号は、一意
的である必要はないが、一般に、単一のサービス(例え
ばFTP)を表すべきである。
的である必要はないが、一般に、単一のサービス(例え
ばFTP)を表すべきである。
【0021】カテゴリ名:ソースホスト
説明:ソースホストグループの識別子またはIPアドレ
ス。
ス。
【0022】カテゴリ名:デスティネーションホスト
説明:デスティネーションホストグループの識別子また
はIPアドレス。
はIPアドレス。
【0023】カテゴリ名:サービス
説明:サービスのグループまたはプロトコル/デスティ
ネーションポート/ソースポート。
ネーションポート/ソースポート。
【0024】カテゴリ名:アクション
説明:ルールアクション、例えば、「通過」、「廃棄」
または「プロキシ」。
または「プロキシ」。
【0025】カテゴリ名:廃棄通知
説明:YESの場合、アクションが「廃棄」であれば、
インターネット制御メッセージプロトコル(ICMP)
メッセージが送出される。
インターネット制御メッセージプロトコル(ICMP)
メッセージが送出される。
【0026】カテゴリ名:キャッシュタイムアウト
説明:セッションエントリがキャッシュから除去される
までのアクティビティなしの秒数。
までのアクティビティなしの秒数。
【0027】カテゴリ名:リセットセッション
説明:YESの場合、TCPセッションに対して、キャ
ッシュタイムアウト時にコネクションの両端にTCPリ
セットを送る。
ッシュタイムアウト時にコネクションの両端にTCPリ
セットを送る。
【0028】カテゴリ名:ルールタイムアウト
説明:ルールがルールリストから除去されるまでのアク
ティビティなしの秒数。
ティビティなしの秒数。
【0029】カテゴリ名:開始期間
説明:ルールに対する開始アクティブ期間。
【0030】カテゴリ名:終了期間
説明:ルールに対する終了アクティブ期間。
【0031】カテゴリ名:期間終了時セッション消去
説明:YESの場合、このルールによって許可されたセ
ッションは期間終了時に消去(kill)される。
ッションは期間終了時に消去(kill)される。
【0032】カテゴリ名:依存関係マスク
説明:依存関係マスク名。
【0033】カテゴリ名:入力インタフェース
説明:受信時に一致すべきインタフェース名。
【0034】カテゴリ名:出力インタフェース
説明:パケットが送信されるインタフェース名。
【0035】カテゴリ名:監査セッション
説明:監査記録生成。YESの場合、セッションの開始
時および終了時に監査記録が生成される。
時および終了時に監査記録が生成される。
【0036】カテゴリ名:アラームコード
説明:ルールを特定のアラームに結び付けるために用い
られるアラームコード値。
られるアラームコード値。
【0037】カテゴリ名:ソースホストマップグループ
説明:IPアドレス、または、マップ先のホストIPア
ドレスを含むホストグループ。
ドレスを含むホストグループ。
【0038】カテゴリ名:ソースホストマップタイプ
説明:実行されるマッピングのタイプ(例えば、「プー
ル」あるいは「直接」)。
ル」あるいは「直接」)。
【0039】カテゴリ名:デスティネーションホストマ
ップグループ 説明:IPアドレス、または、マップ先のホストIPア
ドレスを含むホストグループ。
ップグループ 説明:IPアドレス、または、マップ先のホストIPア
ドレスを含むホストグループ。
【0040】カテゴリ名:デスティネーションホストマ
ップタイプ 説明:実行されるマッピングのタイプ(例えば、「プー
ル」あるいは「直接」)。
ップタイプ 説明:実行されるマッピングのタイプ(例えば、「プー
ル」あるいは「直接」)。
【0041】カテゴリ名:サービスマップグループ
説明:マップ先のデスティネーションポート番号または
デスティネーションポートを含むサービスグループ。参
照されるサービスグループ内のプロトコルおよびソース
ポートは無視される。
デスティネーションポートを含むサービスグループ。参
照されるサービスグループ内のプロトコルおよびソース
ポートは無視される。
【0042】カテゴリ名:サービスマップタイプ
説明:実行されるマッピングのタイプ(例えば、「プー
ル」あるいは「直接」)。
ル」あるいは「直接」)。
【0043】カテゴリ名:最大使用総数
説明:このルールが使用されることが可能な最大回数。
この限界に達するとルールは除去される。
この限界に達するとルールは除去される。
【0044】カテゴリ名:最大使用並行数
説明:与えられた時刻にアクティブであることが可能
な、このルールによって許可されるセッションの最大
数。この数が、指定された値を下回るまで、ルールはイ
ナクティブである。
な、このルールによって許可されるセッションの最大
数。この数が、指定された値を下回るまで、ルールはイ
ナクティブである。
【0045】カテゴリ名:コピー先アドレス
説明:パケットのコピーが送られるアプリケーションの
アドレス。セッションキャプチャに用いられる。
アドレス。セッションキャプチャに用いられる。
【0046】カテゴリ名:トンネルデスティネーション
説明:トンネルを設定し、それをこのデスティネーショ
ンアドレスおよびプロトコルに送る。新しいIPヘッダ
がパケットに追加される。
ンアドレスおよびプロトコルに送る。新しいIPヘッダ
がパケットに追加される。
【0047】カテゴリ名:トンネル条件
説明:トンネリングが必要となるときを示す。NULL
の場合、チェックは不要である。INの場合、入力セッ
ションはトンネリングされていなければならない。OU
Tの場合、パケットをトンネリングするアクションを開
始する。BOTHの場合、両方を行う。
の場合、チェックは不要である。INの場合、入力セッ
ションはトンネリングされていなければならない。OU
Tの場合、パケットをトンネリングするアクションを開
始する。BOTHの場合、両方を行う。
【0048】カテゴリ名:IPSEC条件
説明:IPセキュリティ(IPSEC(IP Security))
処理が必要となるときを示す。NULLの場合、チェッ
クは不要である。INの場合、入力セッションはIPS
ECを用いて保護されていなければならない。OUTの
場合、IPSEC保護を追加するアクションを開始す
る。BOTHの場合、両方を行う。
処理が必要となるときを示す。NULLの場合、チェッ
クは不要である。INの場合、入力セッションはIPS
ECを用いて保護されていなければならない。OUTの
場合、IPSEC保護を追加するアクションを開始す
る。BOTHの場合、両方を行う。
【0049】カテゴリ名:シーケンス番号ランダム化
説明:TCPシーケンス番号をランダム化するオプショ
ン。デフォルトはNOである。
ン。デフォルトはNOである。
【0050】カテゴリ名:Syn Storm保護
説明:Syn Storm攻撃からの保護を提供する。デフォル
トはNOである。
トはNOである。
【0051】カテゴリ名:復帰チャネル許可
説明:YESの場合、初期パケットは同じアクションで
キャッシュに順チャネルおよび逆チャネルを生成する。
デフォルトはYESである。
キャッシュに順チャネルおよび逆チャネルを生成する。
デフォルトはYESである。
【0052】2.状態付きパケットフィルタリング
本発明によるコンピュータネットワークファイアウォー
ルは、「状態付き」パケットフィルタリングを利用する
ように設定することができる。状態付きパケットフィル
タリングは、パケットに適用されたルール処理の結果を
キャッシュに記憶することによって性能を改善する。状
態付きパケットフィルタリングは、受信パケットに対す
るルール処理結果をキャッシュし、その後、キャッシュ
された結果を利用して、その受信パケットと同様の特性
を有する後続のパケットに対するルール処理を迂回する
ことにより実現される。例えば、与えられたネットワー
クセッションのパケットにルールセットを適用した結果
をキャッシュし、同じネットワークセッションからの後
続のパケットがファイアウォールに到着したときに、前
のパケットからのキャッシュされた結果をその後続パケ
ットに対して使用するようにする。これによって、入力
パケットのそれぞれにルールセットを適用する必要がな
くなることにより、従来のファイアウォールに比べて大
幅な性能向上が実現する。
ルは、「状態付き」パケットフィルタリングを利用する
ように設定することができる。状態付きパケットフィル
タリングは、パケットに適用されたルール処理の結果を
キャッシュに記憶することによって性能を改善する。状
態付きパケットフィルタリングは、受信パケットに対す
るルール処理結果をキャッシュし、その後、キャッシュ
された結果を利用して、その受信パケットと同様の特性
を有する後続のパケットに対するルール処理を迂回する
ことにより実現される。例えば、与えられたネットワー
クセッションのパケットにルールセットを適用した結果
をキャッシュし、同じネットワークセッションからの後
続のパケットがファイアウォールに到着したときに、前
のパケットからのキャッシュされた結果をその後続パケ
ットに対して使用するようにする。これによって、入力
パケットのそれぞれにルールセットを適用する必要がな
くなることにより、従来のファイアウォールに比べて大
幅な性能向上が実現する。
【0053】キャッシュエントリの数はルールの数の何
倍にもなり得るため、キャッシュの効率的使用は、(例
えばハッシュテーブルを用いた)索引付けを必要とする
ことがある。図4に示すように、キャッシュは「セッシ
ョンキー」、ハードウェアアドレス情報、インタフェー
ス情報、適用可能なルールの数、アラームコード、統計
情報、および適用可能なアクションを含むことが可能で
ある。セッションキーは、パケット内で送信されるデー
タに付加された少なくとも1つのヘッダ項目を含み、実
施例では、(i)インターネットプロトコル(IP)ソ
ースアドレス、(ii)IPデスティネーションアドレ
ス、(iii)次のレベルのプロトコル(例えば、伝送
制御プロトコル(TCP)またはユーザデータグラムプ
ロトコル(UDP))、(iv)プロトコルに関連づけ
られたソースポート、および(v)プロトコルに関連づ
けられたデスティネーションポート、を含む。図4で
は、セッションキーに対して、項目(i)および(i
i)は個別に示されている。項目(iii)〜(v)
は、略して「TELNET」および「MAIL」で表さ
れている。
倍にもなり得るため、キャッシュの効率的使用は、(例
えばハッシュテーブルを用いた)索引付けを必要とする
ことがある。図4に示すように、キャッシュは「セッシ
ョンキー」、ハードウェアアドレス情報、インタフェー
ス情報、適用可能なルールの数、アラームコード、統計
情報、および適用可能なアクションを含むことが可能で
ある。セッションキーは、パケット内で送信されるデー
タに付加された少なくとも1つのヘッダ項目を含み、実
施例では、(i)インターネットプロトコル(IP)ソ
ースアドレス、(ii)IPデスティネーションアドレ
ス、(iii)次のレベルのプロトコル(例えば、伝送
制御プロトコル(TCP)またはユーザデータグラムプ
ロトコル(UDP))、(iv)プロトコルに関連づけ
られたソースポート、および(v)プロトコルに関連づ
けられたデスティネーションポート、を含む。図4で
は、セッションキーに対して、項目(i)および(i
i)は個別に示されている。項目(iii)〜(v)
は、略して「TELNET」および「MAIL」で表さ
れている。
【0054】ファイアウォールでは、ここで「ドメイン
サポートエンジン(DSE(domainsupport engine))と
呼ぶ判断モジュール(エンジン)が、新しいネットワー
クセッションに対していずれのセキュリティポリシーを
使用すべきかを判断する。新しいセッションはそれぞ
れ、ソースドメインおよびデスティネーションドメイン
のセキュリティポリシーによって承認されなければなら
ない。インターネットへ向かうコネクションでは、単一
のドメインの検査のみが実行される可能性が高い。DS
Eは、入力または出力ネットワークインタフェースと、
各パケットのソースまたはデスティネーションネットワ
ークアドレスに基づいて、ドメイン選択を行う。ソース
またはデスティネーションのアドレスをパケットに含め
ることにより、複数のユーザが、単一のネットワークイ
ンタフェースによってサポートされることが可能とな
る。入力または出力ネットワークインタフェースは、ネ
ットワークインタフェースカード(NIC)(例えばイ
ンテル社(Intel Corporation)から市販されているIntel
EtherExpress Pro 100Bカード)の形態のものが可能で
ある。
サポートエンジン(DSE(domainsupport engine))と
呼ぶ判断モジュール(エンジン)が、新しいネットワー
クセッションに対していずれのセキュリティポリシーを
使用すべきかを判断する。新しいセッションはそれぞ
れ、ソースドメインおよびデスティネーションドメイン
のセキュリティポリシーによって承認されなければなら
ない。インターネットへ向かうコネクションでは、単一
のドメインの検査のみが実行される可能性が高い。DS
Eは、入力または出力ネットワークインタフェースと、
各パケットのソースまたはデスティネーションネットワ
ークアドレスに基づいて、ドメイン選択を行う。ソース
またはデスティネーションのアドレスをパケットに含め
ることにより、複数のユーザが、単一のネットワークイ
ンタフェースによってサポートされることが可能とな
る。入力または出力ネットワークインタフェースは、ネ
ットワークインタフェースカード(NIC)(例えばイ
ンテル社(Intel Corporation)から市販されているIntel
EtherExpress Pro 100Bカード)の形態のものが可能で
ある。
【0055】図5および図6は、複数のドメインをサポ
ートするファイアウォールによるパケット処理の全体流
れ図である。このような処理は、パケットが行くドメイ
ンを判断し、適用可能なルールを検査してパケットが通
ってもよいかどうかを確認し、特殊処理が必要かどうか
を判断することを含む。ファイアウォールでは、各ドメ
インには1つ以上のネットワークインタフェースが関係
づけられる。複数のドメインをサポートするインタフェ
ースは、IPアドレスレンジを用いて、パケットを区別
するように分離される。以下のステップが含まれる。
ートするファイアウォールによるパケット処理の全体流
れ図である。このような処理は、パケットが行くドメイ
ンを判断し、適用可能なルールを検査してパケットが通
ってもよいかどうかを確認し、特殊処理が必要かどうか
を判断することを含む。ファイアウォールでは、各ドメ
インには1つ以上のネットワークインタフェースが関係
づけられる。複数のドメインをサポートするインタフェ
ースは、IPアドレスレンジを用いて、パケットを区別
するように分離される。以下のステップが含まれる。
【0056】501:IPパケットがインタフェースで
ファイアウォールにより受信される。
ファイアウォールにより受信される。
【0057】502:パケットのIPヘッダからセッシ
ョンキーが取得される。
ョンキーが取得される。
【0058】503:いずれのインタフェースがパケッ
トを受信したか、および、受信パケットのソースIPア
ドレスに基づいて、ソースドメインが、図7および図8
に関して別に後述するように判定される。ドメインが見
つからない場合、プロセスはステップ505に飛ぶ。
トを受信したか、および、受信パケットのソースIPア
ドレスに基づいて、ソースドメインが、図7および図8
に関して別に後述するように判定される。ドメインが見
つからない場合、プロセスはステップ505に飛ぶ。
【0059】504:ステップ502からのセッション
キーを用いて、ソースドメインのキャッシュでの一致を
探索する。キャッシュ内に一致があり、アクションが
「廃棄」の場合、パケットは廃棄され、プロセスはステ
ップ501に戻る。キャッシュ内に一致がない場合、ソ
ースドメインのルールセットで一致を探索する。ルール
で一致があり、アクションが「廃棄」でない場合、プロ
セスはステップ505に進む。ルールで一致があり、ア
クションが「廃棄」の場合、対応するエントリがキャッ
シュに含められ、パケットは廃棄され、プロセスはステ
ップ501に戻る。ルールで一致がない場合、パケット
は廃棄され、プロセスはステップ501に戻る。
キーを用いて、ソースドメインのキャッシュでの一致を
探索する。キャッシュ内に一致があり、アクションが
「廃棄」の場合、パケットは廃棄され、プロセスはステ
ップ501に戻る。キャッシュ内に一致がない場合、ソ
ースドメインのルールセットで一致を探索する。ルール
で一致があり、アクションが「廃棄」でない場合、プロ
セスはステップ505に進む。ルールで一致があり、ア
クションが「廃棄」の場合、対応するエントリがキャッ
シュに含められ、パケットは廃棄され、プロセスはステ
ップ501に戻る。ルールで一致がない場合、パケット
は廃棄され、プロセスはステップ501に戻る。
【0060】505:デスティネーションインタフェー
スは、パケットのローカルエリアネットワーク(LA
N)アドレスを用いて、決定される。ソースドメインル
ールがデスティネーションインタフェースを指定してい
る場合には、ルーティングテーブルを用いて、デスティ
ネーションインタフェースが決定される。
スは、パケットのローカルエリアネットワーク(LA
N)アドレスを用いて、決定される。ソースドメインル
ールがデスティネーションインタフェースを指定してい
る場合には、ルーティングテーブルを用いて、デスティ
ネーションインタフェースが決定される。
【0061】506:デスティネーションインタフェー
スおよびパケットのデスティネーションアドレスを用い
て、デスティネーションドメインが決定される。デステ
ィネーションドメインが見つからない場合、または、デ
スティネーションドメインが直前に検査したドメインと
一致する場合、プロセスはステップ508に進む。
スおよびパケットのデスティネーションアドレスを用い
て、デスティネーションドメインが決定される。デステ
ィネーションドメインが見つからない場合、または、デ
スティネーションドメインが直前に検査したドメインと
一致する場合、プロセスはステップ508に進む。
【0062】507:ソースドメインに関してステップ
504で用いられるのと同様にして、デスティネーショ
ンドメインに関して、キャッシュルックアップと、必要
であればルールセットルックアップを行う。
504で用いられるのと同様にして、デスティネーショ
ンドメインに関して、キャッシュルックアップと、必要
であればルールセットルックアップを行う。
【0063】508:パケットに適用されるルールがア
ドレス変更(例えば、プロキシへの)を要求する場合、
あるいは、あるパケットを別のパケット内に挿入するこ
と(「トンネルオプション」)を要求する場合、プロセ
スは、変更されたデスティネーションに基づく処理のた
めにステップ505に戻る。
ドレス変更(例えば、プロキシへの)を要求する場合、
あるいは、あるパケットを別のパケット内に挿入するこ
と(「トンネルオプション」)を要求する場合、プロセ
スは、変更されたデスティネーションに基づく処理のた
めにステップ505に戻る。
【0064】509:パケットがいずれのドメインに関
しても処理されなかった場合、ファイアウォール所有者
はいずれのアクセスルールにも従わないインタフェース
間の通信をサポートすることには関心がないので、その
パケットは廃棄可能である。
しても処理されなかった場合、ファイアウォール所有者
はいずれのアクセスルールにも従わないインタフェース
間の通信をサポートすることには関心がないので、その
パケットは廃棄可能である。
【0065】510:すべてのアクションの結果が「通
過」であった場合、パケットは適当なネットワークイン
タフェースへ送出される。
過」であった場合、パケットは適当なネットワークイン
タフェースへ送出される。
【0066】各ネットワークインタフェースからドメイ
ンへの簡便なリンクのために、ドメインテーブルが用い
られる。インタフェースが複数のドメインによって共有
されている場合、アドレスレンジが含められる。これは
図7に例示されている。図7には、重複のないアドレス
レンジが示されている。
ンへの簡便なリンクのために、ドメインテーブルが用い
られる。インタフェースが複数のドメインによって共有
されている場合、アドレスレンジが含められる。これは
図7に例示されている。図7には、重複のないアドレス
レンジが示されている。
【0067】図8に、上記のステップ503および50
6で実行されるようなドメインテーブル処理を例示す
る。これには以下のステップが含まれる。
6で実行されるようなドメインテーブル処理を例示す
る。これには以下のステップが含まれる。
【0068】701:ドメインテーブルでインタフェー
ス名が一致するものを探索する。
ス名が一致するものを探索する。
【0069】702:一致するテーブルエントリが見つ
かった場合、しかも、IPアドレスレンジが一致するテ
ーブルエントリにある場合、パケットアドレスがそのレ
ンジ内にあるかどうかを検査する。レンジ内にある場
合、指定されたドメインが選択される。レンジ内にない
場合、次のテーブルから探索を継続する。
かった場合、しかも、IPアドレスレンジが一致するテ
ーブルエントリにある場合、パケットアドレスがそのレ
ンジ内にあるかどうかを検査する。レンジ内にある場
合、指定されたドメインが選択される。レンジ内にない
場合、次のテーブルから探索を継続する。
【0070】703:一致するものがないままテーブル
の終端に到達した場合、何のアクションもとらない。
の終端に到達した場合、何のアクションもとらない。
【0071】3.依存関係マスク
例えばRealAudioによって用いられるプロトコルのよう
な、外部からユーザに戻る別個の追加のネットワークセ
ッションを要求するタイプのプロトコルの場合、ルール
は、ユーザに戻るコネクションを許可する条件あるいは
マスクを含むことが可能である。ただしそれは、並行し
てアクティブである正当な順方向のコネクション(すな
わち、ソースとデスティネーションのアドレスを入れ替
えたコネクション)がある場合に限る。その結果、ファ
イアウォール上に別個のあるいはプロキシのアプリケー
ションが不要となる。
な、外部からユーザに戻る別個の追加のネットワークセ
ッションを要求するタイプのプロトコルの場合、ルール
は、ユーザに戻るコネクションを許可する条件あるいは
マスクを含むことが可能である。ただしそれは、並行し
てアクティブである正当な順方向のコネクション(すな
わち、ソースとデスティネーションのアドレスを入れ替
えたコネクション)がある場合に限る。その結果、ファ
イアウォール上に別個のあるいはプロキシのアプリケー
ションが不要となる。
【0072】本発明による依存関係マスクは、セッショ
ンキャッシュに向けられた問合せを定義することができ
る。マスクで定義されるすべてのフィールドを、キャッ
シュ内の対応するフィールドと比較することによって、
一致の有無が判定される。マスク内の空フィールドは比
較に用いられない。
ンキャッシュに向けられた問合せを定義することができ
る。マスクで定義されるすべてのフィールドを、キャッ
シュ内の対応するフィールドと比較することによって、
一致の有無が判定される。マスク内の空フィールドは比
較に用いられない。
【0073】依存関係マスクは、(a)パケット内の情
報、(b)そのパケットのソースインタフェース、およ
び(c)そのパケットが通過するために満たさなければ
ならない1つまたはいくつかの依存条件、を用いて、ネ
ットワークセッションの最初のパケットに対するルール
で定義することが可能である。このような最初のパケッ
トがファイアウォールによって処理されると、対応する
エントリがキャッシュに作られる。
報、(b)そのパケットのソースインタフェース、およ
び(c)そのパケットが通過するために満たさなければ
ならない1つまたはいくつかの依存条件、を用いて、ネ
ットワークセッションの最初のパケットに対するルール
で定義することが可能である。このような最初のパケッ
トがファイアウォールによって処理されると、対応する
エントリがキャッシュに作られる。
【0074】図9に、図3のものと同様のフォーマット
で、依存関係マスク(「ヒットカウント」)を有するル
ールを示す。以下のような特殊な記号が、いくつかのホ
スト名にある。(i)「ドット」記号(.)は、対応す
るカテゴリのパケットデータを含めることを要求し、
(ii)キャレット記号(^)は、代わりに異なるカテ
ゴリからのパケットデータを含めることを要求する。
「ヒットカウント」は、指定されたアクションがとられ
るためにキャッシュ内に見つからなければならない一致
の数を示す。例えば、「REALAUDIO」という名
前の依存関係マスクでは、1個の必須のTCPセッショ
ンがアクティブである限り、UDPパケットを通過させ
るためにはカウント1が用いられる。依存関係マスク
「TELNET」では、リソースの過負荷を防ぐために
パケットを廃棄するように、カウント10が用いられ
る。
で、依存関係マスク(「ヒットカウント」)を有するル
ールを示す。以下のような特殊な記号が、いくつかのホ
スト名にある。(i)「ドット」記号(.)は、対応す
るカテゴリのパケットデータを含めることを要求し、
(ii)キャレット記号(^)は、代わりに異なるカテ
ゴリからのパケットデータを含めることを要求する。
「ヒットカウント」は、指定されたアクションがとられ
るためにキャッシュ内に見つからなければならない一致
の数を示す。例えば、「REALAUDIO」という名
前の依存関係マスクでは、1個の必須のTCPセッショ
ンがアクティブである限り、UDPパケットを通過させ
るためにはカウント1が用いられる。依存関係マスク
「TELNET」では、リソースの過負荷を防ぐために
パケットを廃棄するように、カウント10が用いられ
る。
【0075】図10に依存関係マスク処理を例示する。
これは以下のステップを含む。
これは以下のステップを含む。
【0076】901:パケットを取得し、セッションキ
ーを抽出する。
ーを抽出する。
【0077】902:プロセスはルールセットエントリ
を順に処理する。与えられたルールで一致が見つからな
い場合、プロセスはセット内の次のルールに進む。ルー
ルセットの終端まで一致が見つからない場合、パケット
は廃棄される。一致が見つかり、依存関係マスクフィー
ルドが空の場合、プロセスはステップ905に飛ぶ。
を順に処理する。与えられたルールで一致が見つからな
い場合、プロセスはセット内の次のルールに進む。ルー
ルセットの終端まで一致が見つからない場合、パケット
は廃棄される。一致が見つかり、依存関係マスクフィー
ルドが空の場合、プロセスはステップ905に飛ぶ。
【0078】903:パケットおよびインタフェース情
報が、キャッシュ探索構造体(例えば、問合せ)の形成
に含められる。依存関係マスクにおいてユーザ認証フラ
グがセットされている場合、キャッシュ探索構造体にお
ける対応するフラグがセットされる。このステップは、
ルールの問合せ部分を定義している。
報が、キャッシュ探索構造体(例えば、問合せ)の形成
に含められる。依存関係マスクにおいてユーザ認証フラ
グがセットされている場合、キャッシュ探索構造体にお
ける対応するフラグがセットされる。このステップは、
ルールの問合せ部分を定義している。
【0079】904:キャッシュで、キャッシュ探索構
造体と一致するものを探索し、一致のカウントを積算す
る。このステップは、ルールの問合せ部分を処理してい
る。
造体と一致するものを探索し、一致のカウントを積算す
る。このステップは、ルールの問合せ部分を処理してい
る。
【0080】905:積算カウントがヒットカウント以
上である場合、ルールは選択され、そのルールに対応す
るアクションが実行される。このようなアクションは、
通過、廃棄あるいはプロキシを含むことが可能である。
また、対応するエントリがキャッシュに作られる。キャ
ッシュにおいて一致が見つからない場合、または、キャ
ッシュに見つかったエントリが「ヒットカウント」より
少ない場合、プロセスはステップ902に戻り、次のル
ールに進む。このステップは、問合せの結果に基づいて
ルールのアクション部分を処理している。
上である場合、ルールは選択され、そのルールに対応す
るアクションが実行される。このようなアクションは、
通過、廃棄あるいはプロキシを含むことが可能である。
また、対応するエントリがキャッシュに作られる。キャ
ッシュにおいて一致が見つからない場合、または、キャ
ッシュに見つかったエントリが「ヒットカウント」より
少ない場合、プロセスはステップ902に戻り、次のル
ールに進む。このステップは、問合せの結果に基づいて
ルールのアクション部分を処理している。
【0081】上記の依存関係マスク処理を含むルール処
理は、ネットワークセッションの最初のパケットに対し
てのみ実行される。他のすべてのパケットのアクション
は、最初のパケットの処理後にセッションキャッシュに
保存されているので、他のすべてのパケットは、このル
ール探索機能を迂回する。
理は、ネットワークセッションの最初のパケットに対し
てのみ実行される。他のすべてのパケットのアクション
は、最初のパケットの処理後にセッションキャッシュに
保存されているので、他のすべてのパケットは、このル
ール探索機能を迂回する。
【0082】4.動的ルール
動的ルールは、例えばルール処理エンジンによって、ア
クセスルールとともに処理するために、必要が生ずるの
に応じてアクセスルールとともに含められるルールであ
る。動的ルールは、例えば、特定のソースおよびデステ
ィネーションのポート番号のような、固有の現在の情報
を含むことが可能である。動的ルールは、信頼されたパ
ーティ、例えば、信頼されたアプリケーション、リモー
トプロキシあるいはファイアウォールアドミニストレー
タによって、特定のネットワークセッションに権限を与
えるためにいつでもロードされることが可能である。動
的ルールは、単一セッション用に設定されることも可能
であり、あるいは、その使用は期限付きとすることも可
能である。動的ルールによれば、ルールセット全体をリ
ロードすることを要求することなく、与えられたルール
セットを、ネットワークで起こるイベントに基づいて修
正することが可能となる。
クセスルールとともに処理するために、必要が生ずるの
に応じてアクセスルールとともに含められるルールであ
る。動的ルールは、例えば、特定のソースおよびデステ
ィネーションのポート番号のような、固有の現在の情報
を含むことが可能である。動的ルールは、信頼されたパ
ーティ、例えば、信頼されたアプリケーション、リモー
トプロキシあるいはファイアウォールアドミニストレー
タによって、特定のネットワークセッションに権限を与
えるためにいつでもロードされることが可能である。動
的ルールは、単一セッション用に設定されることも可能
であり、あるいは、その使用は期限付きとすることも可
能である。動的ルールによれば、ルールセット全体をリ
ロードすることを要求することなく、与えられたルール
セットを、ネットワークで起こるイベントに基づいて修
正することが可能となる。
【0083】動的ルールの例としては、単一のセッショ
ンに対してのみ用いられる「ワンタイム」ルール、指定
された期間に対してのみ用いられる時限ルール、およ
び、ある条件が満たされたときにのみ用いられるしきい
値ルールがある。他のタイプの動的ルールとしては、ホ
ストグループを定義するルールがある。この動的ルール
によれば、アクセスルールセットの他の事項を変更せず
に、ホストを追加あるいは削除するようにホストグルー
プを変更することができる。他の動的ルールとしては、
ある特定のタイプの処理アプリケーションにおけるルー
ルセットアップを容易にするために用いられるものがあ
る。例えば、FTPプロキシアプリケーションは、動的
ルールを用いて、データ要求に応じてFTPデータチャ
ネルの確立の権限を与えることが可能である。この例に
おける動的ルールは、一般に、FTP制御セッションを
通じてデータ要求がなされるまではロードされず、ま
た、1回の使用に限定され、制限された期間の間のみア
クティブとされる。従って、ルールセットは、すべての
要求とともに用いられる別個のデータチャネルルールを
含む必要がない。その結果、ルール仕様およびルール処
理が単純化されるとともに、セキュリティが改善され
る。
ンに対してのみ用いられる「ワンタイム」ルール、指定
された期間に対してのみ用いられる時限ルール、およ
び、ある条件が満たされたときにのみ用いられるしきい
値ルールがある。他のタイプの動的ルールとしては、ホ
ストグループを定義するルールがある。この動的ルール
によれば、アクセスルールセットの他の事項を変更せず
に、ホストを追加あるいは削除するようにホストグルー
プを変更することができる。他の動的ルールとしては、
ある特定のタイプの処理アプリケーションにおけるルー
ルセットアップを容易にするために用いられるものがあ
る。例えば、FTPプロキシアプリケーションは、動的
ルールを用いて、データ要求に応じてFTPデータチャ
ネルの確立の権限を与えることが可能である。この例に
おける動的ルールは、一般に、FTP制御セッションを
通じてデータ要求がなされるまではロードされず、ま
た、1回の使用に限定され、制限された期間の間のみア
クティブとされる。従って、ルールセットは、すべての
要求とともに用いられる別個のデータチャネルルールを
含む必要がない。その結果、ルール仕様およびルール処
理が単純化されるとともに、セキュリティが改善され
る。
【0084】5.プロキシ反射
本発明によるプロキシ反射とは、ネットワークセッショ
ンを、処理のために他の「リモート」プロキシサーバに
リダイレクトした後、ファイアウォールを通じて目的の
デスティネーションへ渡すものである。新しいセッショ
ンがファイアウォールに入ると、プロキシサーバによる
サービスが要求されているかどうかが判定される。プロ
キシサーバによるサービスが要求されている場合、ファ
イアウォールは、パケット内のデスティネーションアド
レスを、プロキシアプリケーションのホストアドレスで
置き換える。必要であれば、ファイアウォールは、サー
ビスポートも変更することが可能である。プロキシアプ
リケーションは、そのセッションを受け取ると、デステ
ィネーションへのコネクションの権限が与えられている
かどうかを判定するために、ファイアウォールに対し
て、そのセッションのもとのデスティネーションアドレ
スを要求する。その後、プロキシが、自己のIPアドレ
スを用いてそのデスティネーションへのコネクションを
形成する場合、ファイアウォールによって提供されるサ
ービスを「単一反射」あるいは「一方向反射」という。
ンを、処理のために他の「リモート」プロキシサーバに
リダイレクトした後、ファイアウォールを通じて目的の
デスティネーションへ渡すものである。新しいセッショ
ンがファイアウォールに入ると、プロキシサーバによる
サービスが要求されているかどうかが判定される。プロ
キシサーバによるサービスが要求されている場合、ファ
イアウォールは、パケット内のデスティネーションアド
レスを、プロキシアプリケーションのホストアドレスで
置き換える。必要であれば、ファイアウォールは、サー
ビスポートも変更することが可能である。プロキシアプ
リケーションは、そのセッションを受け取ると、デステ
ィネーションへのコネクションの権限が与えられている
かどうかを判定するために、ファイアウォールに対し
て、そのセッションのもとのデスティネーションアドレ
スを要求する。その後、プロキシが、自己のIPアドレ
スを用いてそのデスティネーションへのコネクションを
形成する場合、ファイアウォールによって提供されるサ
ービスを「単一反射」あるいは「一方向反射」という。
【0085】ユーザおよびプロキシアプリケーションに
よっては、デスティネーションにおいてコネクションが
リモートシステムではなくもとのソースから来ているよ
うに見えなければならない場合がある。これは、例え
ば、ソースIPアドレスを検査して、要求されたサービ
スに対してサインアップしたユーザに一致するかどうか
を確認するサービスの場合に当てはまる。この能力は、
「二重反射」(あるいは「双方向反射」)によって提供
される。この場合、出コネクションのソースアドレスは
リモートプロキシからもとのユーザのソースアドレスに
変更される(戻される)。この変更は、各パケットがプ
ロキシから受信されてデスティネーションへ送られると
きに、ファイアウォールで行われる。
よっては、デスティネーションにおいてコネクションが
リモートシステムではなくもとのソースから来ているよ
うに見えなければならない場合がある。これは、例え
ば、ソースIPアドレスを検査して、要求されたサービ
スに対してサインアップしたユーザに一致するかどうか
を確認するサービスの場合に当てはまる。この能力は、
「二重反射」(あるいは「双方向反射」)によって提供
される。この場合、出コネクションのソースアドレスは
リモートプロキシからもとのユーザのソースアドレスに
変更される(戻される)。この変更は、各パケットがプ
ロキシから受信されてデスティネーションへ送られると
きに、ファイアウォールで行われる。
【0086】二重反射能力を提供するため、プロキシア
プリケーションは、ファイアウォールに対して、もとの
入ネットワークセッションの詳細を要求する。ファイア
ウォールは、出コネクションで用いるポート番号を返
す。このポート番号は固有のものであり、これによりフ
ァイアウォールは、ソースアドレスを正しいユーザソー
スアドレスにマッピングすることができるように、正し
い出コネクションを識別することができる。その結果、
プロキシアプリケーションは両方のパーティには見えな
い。
プリケーションは、ファイアウォールに対して、もとの
入ネットワークセッションの詳細を要求する。ファイア
ウォールは、出コネクションで用いるポート番号を返
す。このポート番号は固有のものであり、これによりフ
ァイアウォールは、ソースアドレスを正しいユーザソー
スアドレスにマッピングすることができるように、正し
い出コネクションを識別することができる。その結果、
プロキシアプリケーションは両方のパーティには見えな
い。
【0087】プロキシ反射を実現する際に、図11およ
び図12を参照して以下で説明する実施例のように、動
的ルールを用いることが可能である。
び図12を参照して以下で説明する実施例のように、動
的ルールを用いることが可能である。
【0088】図11に、プロキシ反射処理を例示する。
これは、ファイアウォールにおける以下のステップを含
む。
これは、ファイアウォールにおける以下のステップを含
む。
【0089】1001:パケットがファイアウォールに
よって受信される。
よって受信される。
【0090】1002:適当なセッションキャッシュを
調べることによって、あるいは、キャッシュ内に見つか
らなければ、適当なルールセットを調べることによっ
て、パケットに関係づけられたアクションが判定され
る。アクションが「通過」または「プロキシ」である場
合、パケット処理は継続される。アクションが「廃棄」
である場合、パケットは廃棄される。
調べることによって、あるいは、キャッシュ内に見つか
らなければ、適当なルールセットを調べることによっ
て、パケットに関係づけられたアクションが判定され
る。アクションが「通過」または「プロキシ」である場
合、パケット処理は継続される。アクションが「廃棄」
である場合、パケットは廃棄される。
【0091】1003:アクションが、ファイアウォー
ル上でローカルにサポートされるプロキシアプリケーシ
ョンを示している場合、パケットは、プロトコルスタッ
クを通じて、待機中のプロキシアプリケーションへ送ら
れる。
ル上でローカルにサポートされるプロキシアプリケーシ
ョンを示している場合、パケットは、プロトコルスタッ
クを通じて、待機中のプロキシアプリケーションへ送ら
れる。
【0092】1004:アクションがリモートプロキシ
を示している場合、パケットのデスティネーションアド
レスがリモートプロキシのアドレスで置き換えられる。
設定により、デスティネーションポートを変更すること
も可能である。もとのパケットヘッダデータが、変更さ
れた値とともにセッションキャッシュに記録される。
を示している場合、パケットのデスティネーションアド
レスがリモートプロキシのアドレスで置き換えられる。
設定により、デスティネーションポートを変更すること
も可能である。もとのパケットヘッダデータが、変更さ
れた値とともにセッションキャッシュに記録される。
【0093】1005:パケットはリモートプロキシサ
ーバへ転送される。
ーバへ転送される。
【0094】図12に、リモートプロキシにおける、ス
テップ1005に続く処理を例示する。これは以下のス
テップを含む。
テップ1005に続く処理を例示する。これは以下のス
テップを含む。
【0095】1006:パケットはリモートプロキシサ
ーバアプリケーションで受信される。
ーバアプリケーションで受信される。
【0096】1007:リモートプロキシは、ファイア
ウォールに対して、パケットのもとのセッションキーを
要求する。
ウォールに対して、パケットのもとのセッションキーを
要求する。
【0097】1008:リモートプロキシアプリケーシ
ョンは、もとのセッションキーを用いて自己の機能(例
えば、自己のセキュリティモデルに基づいてコネクショ
ンを廃棄する、要求されたサービスを実行する、あるい
は、ユーザに代わってもとのデスティネーションアドレ
スと通信する)を実行する。リモートプロキシが単一反
射を用いている場合、プロセスはステップ1011に飛
ぶ。
ョンは、もとのセッションキーを用いて自己の機能(例
えば、自己のセキュリティモデルに基づいてコネクショ
ンを廃棄する、要求されたサービスを実行する、あるい
は、ユーザに代わってもとのデスティネーションアドレ
スと通信する)を実行する。リモートプロキシが単一反
射を用いている場合、プロセスはステップ1011に飛
ぶ。
【0098】1009:リモートプロキシアプリケーシ
ョンは、暗号化されたチャネルを通じて、ファイアウォ
ールに対して二重反射能力を要求する。
ョンは、暗号化されたチャネルを通じて、ファイアウォ
ールに対して二重反射能力を要求する。
【0099】1010:ファイアウォールは、サーバか
らのコネクションの固有性を保証する新しいデスティネ
ーションポート番号を決定する。ファイアウォールはこ
の新しいポート番号およびもとのセッションキーをプロ
キシアプリケーションに返す。
らのコネクションの固有性を保証する新しいデスティネ
ーションポート番号を決定する。ファイアウォールはこ
の新しいポート番号およびもとのセッションキーをプロ
キシアプリケーションに返す。
【0100】1011:リモートプロキシアプリケーシ
ョンは、ファイアウォールに対して、自己からもとのデ
スティネーションへのコネクションに対する許可を要求
する。
ョンは、ファイアウォールに対して、自己からもとのデ
スティネーションへのコネクションに対する許可を要求
する。
【0101】1012:ファイアウォールは、動的ルー
ルをロードしてこのアクションを実行する。
ルをロードしてこのアクションを実行する。
【0102】1013:リモートプロキシは、パケット
をファイアウォールに送る。ステップ1012でロード
された動的ルールに基づいて、ファイアウォールはパケ
ットをもとのデスティネーションへ転送する。二重反射
の場合、プロキシは、ステップ1010でファイアウォ
ールによって決定されたデスティネーションポートを使
用し、パケットがファイアウォール通過するときに、I
Pヘッダ値はもとの値に戻される。
をファイアウォールに送る。ステップ1012でロード
された動的ルールに基づいて、ファイアウォールはパケ
ットをもとのデスティネーションへ転送する。二重反射
の場合、プロキシは、ステップ1010でファイアウォ
ールによって決定されたデスティネーションポートを使
用し、パケットがファイアウォール通過するときに、I
Pヘッダ値はもとの値に戻される。
【0103】同じセッションに関係づけられた後続のす
べてのパケットは、ステップ1007および1009〜
1012を飛ばすことが可能であることを除いては、同
様に処理される。これは、セッションが生きている間、
同じ動的ルールが適用されるからである。
べてのパケットは、ステップ1007および1009〜
1012を飛ばすことが可能であることを除いては、同
様に処理される。これは、セッションが生きている間、
同じ動的ルールが適用されるからである。
【0104】本発明は、広範囲のアプリケーションで実
施することができる。例えば、本発明は、ダイヤルアッ
プアクセスゲートウェイにおけるファイアウォール性能
を改善するために使用可能である。本発明の別の実施例
では、ファイアウォールの第1部分がネットワークに存
在し、ファイアウォールの第2部分がセットトップボッ
クス、コンピュータあるいはその他の、家庭または会社
にあるユーザ端末にあるというように分散的にも実装可
能である。後者の実施例によれば、本発明のファイアウ
ォール技術は、例えば、家庭においてインターネットと
ビデオアクセスの親による制御を提供することが可能で
ある。
施することができる。例えば、本発明は、ダイヤルアッ
プアクセスゲートウェイにおけるファイアウォール性能
を改善するために使用可能である。本発明の別の実施例
では、ファイアウォールの第1部分がネットワークに存
在し、ファイアウォールの第2部分がセットトップボッ
クス、コンピュータあるいはその他の、家庭または会社
にあるユーザ端末にあるというように分散的にも実装可
能である。後者の実施例によれば、本発明のファイアウ
ォール技術は、例えば、家庭においてインターネットと
ビデオアクセスの親による制御を提供することが可能で
ある。
【0105】
【発明の効果】以上述べたごとく、本発明によれば、コ
ンピュータネットワークファイアウォールは、パケット
に適用されるルール処理の結果を記憶することによって
性能を改善する「状態付き」パケットフィルタリングを
利用するように構成される。状態付きパケットフィルタ
リングは、パケットに対するルール処理結果をキャッシ
ュし、キャッシュされた結果を利用して後続の同種のパ
ケットに対するルール処理を迂回することによって実現
される。例えば、あるネットワークセッションの特定の
パケットにルールセットを適用した結果をキャッシュ
し、同じネットワークセッションからの後続のパケット
がファイアウォールに到着したときに、キャッシュされ
ている前のパケットからの結果を、その後続パケットに
対して用いる。これにより、それぞれの入力パケットに
そのルールセットを適用する必要がなくなる。
ンピュータネットワークファイアウォールは、パケット
に適用されるルール処理の結果を記憶することによって
性能を改善する「状態付き」パケットフィルタリングを
利用するように構成される。状態付きパケットフィルタ
リングは、パケットに対するルール処理結果をキャッシ
ュし、キャッシュされた結果を利用して後続の同種のパ
ケットに対するルール処理を迂回することによって実現
される。例えば、あるネットワークセッションの特定の
パケットにルールセットを適用した結果をキャッシュ
し、同じネットワークセッションからの後続のパケット
がファイアウォールに到着したときに、キャッシュされ
ている前のパケットからの結果を、その後続パケットに
対して用いる。これにより、それぞれの入力パケットに
そのルールセットを適用する必要がなくなる。
【図1】ユーザサイトに対するファイアウォール保護を
提供するローカルエリアネットワークを通じてインター
ネットに接続されたいくつかのユーザサイトあるいはド
メインの図である。
提供するローカルエリアネットワークを通じてインター
ネットに接続されたいくつかのユーザサイトあるいはド
メインの図である。
【図2】インターネットに接続され内部ファイアウォー
ルを有するユーザサイトの図である。
ルを有するユーザサイトの図である。
【図3】ルールテーブルを例示する図である。
【図4】キャッシュを例示する図である。
【図5】複数のドメインに対するファイアウォール処理
の全体流れ図である。
の全体流れ図である。
【図6】複数のドメインに対するファイアウォール処理
の全体流れ図である。
の全体流れ図である。
【図7】ドメインテーブルを例示する図である。
【図8】複数のドメインに対するファイアウォール処理
の一部の流れ図である。
の一部の流れ図である。
【図9】依存関係マスクを例示する図である。
【図10】依存関係マスク処理の流れ図である。
【図11】ファイアウォールにおけるプロキシ反射処理
の流れ図である。
の流れ図である。
【図12】リモートプロキシにおけるプロキシ反射処理
の流れ図である。
の流れ図である。
101 ユーザサイト
102 ユーザサイト
103 ユーザサイト
104 ユーザサイト
105 インターネット
110 LAN
111 ファイアウォールプロセッサ
113 ファイアウォールプロセッサ
114 ファイアウォールプロセッサ
115 アドミニストレータプロセッサ
116 ルータ
117 ウェブサーバ
201 ユーザサイト
211 ファイアウォールプロセッサ
212 ファイアウォールプロセッサ
213 ファイアウォールプロセッサ
215 アドミニストレータプロセッサ
216 ルータ
221 サブサイト
222 サブサイト
223 サブサイト
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 デヴィッド エル.マジェット
アメリカ合衆国,07924 ニュージャー
ジー,バーナーズヴィル,マレンズ レ
イン 73
(72)発明者 ロナルド エル.シャープ
アメリカ合衆国,07830 ニュージャー
ジー,キャリフォン,ギャリー レイ
ン,レイルロード2 ボックス 245
(56)参考文献 特開 平6−261078(JP,A)
特開 平10−2185(JP,A)
エドワード・アモロソ他1名著「ファ
イアウォールを知る」(株)プレスティ
ホール刊 1966年12月 p57〜p62
Claims (15)
- 【請求項1】 コンピュータネットワークファイアウォ
ールにおけるパケット検証方法において、該方法は、 (A) (i)ネットワークセッションにおける与えら
れたパケットに、ルールセットの少なくとも一部を適用
した結果と、(ii)前記与えられたパケットに関連づ
けられた少なくとも1つのハードウェアアドレスとをキ
ャッシュに記憶するステップと、 (B) 記憶されている結果を利用して、前記与えられ
たパケットと同様の特性を有する少なくとも1つの後続
のパケットを処理するパケット処理ステップと、 (C)前記キャッシュに記憶された前記ハードウェアア
ドレスを用いて、前記後続のパケットの処理結果によ
り、前記後続パケットの宛先を決定するステップとから
なり、 前記後続のパケットに関連づけられたセッションキー
は、前記キャッシュから前記記憶されている結果を取り
出すのに用いられることを特徴とするパケット検証方
法。 - 【請求項2】 前記パケット処理ステップ(B)は、記
憶されている結果を利用して、前記後続のパケットに対
するルール処理を迂回するステップを含むことを特徴と
する請求項1に記載の方法。 - 【請求項3】 前記後続のパケットと前記与えられたパ
ケットとの間の前記同様の特性とは、該後続のパケット
と該与えられたパケットとの両方が同じネットワークセ
ッションからのものであるということであることを特徴
とする請求項1に記載の方法。 - 【請求項4】 コンピュータネットワークのファイアウ
ォールでパケットを検証する際に用いられる装置におい
て、該装置は、 (i)ネットワークセッションにおける与えられたパケ
ットにルールセットの少なくとも一部を適用した結果
と、(ii)前記与えられたパケットに関連づけられた
少なくとも1つのハードウェアアドレスとを含むキャッ
シュを記憶するメモリと、 前記メモリに接続され、記憶されている結果を利用し
て、前記与えられたパケットと同様の特性を有する少な
くとも1つの後続のパケットを処理するプロセッサとか
らなり、 前記後続のパケットに関連づけられたセッションキー
は、前記キャッシュから記憶されている結果を取り出す
のに用いられ、 前記プロセッサは、前記キャッシュに記憶された前記ハ
ードウェアアドレスを用いて、前記後続のパケットの処
理結果により、前記後続パケットの宛先を決定すること
を特徴とするパケットを検証する際に用いられる装置。 - 【請求項5】 前記プロセッサは、記憶されている結果
を利用して前記後続のパケットに対するルール処理を迂
回することを特徴とする請求項4に記載の装置。 - 【請求項6】 前記後続のパケットと前記与えられたパ
ケットの間の同様の特性は、同じネットワークセッショ
ンからのものであることを特徴とする請求項4に記載の
装置。 - 【請求項7】 コンピュータネットワークにおけるパケ
ット検証を行うコンピュータシステムにおいて、該コン
ピュータシステムは、 (i)ネットワークセッションにおける与えられたパケ
ットにルールセットの少なくとも一部を適用した結果
と、(ii)前記与えられたパケットに関連づけられた
少なくとも1つのハードウェアアドレスとをキャッシュ
に記憶する手段と、 記憶されている結果を利用して、前記与えられたパケッ
トと同様の特性を有する少なくとも1つの後続のパケッ
トを処理するパケット処理手段と前記キャッシュに記憶
されたハードウェアアドレスを用いて、前記後続のパケ
ットの処理結果により、前記後続パケットの宛先を決定
する手段とからなり、 前記後続のパケットに関連づけられたセッションキー
は、前記キャッシュから前記記憶されている結果を取り
出すのに用いられることを特徴とするコンピュータシス
テム。 - 【請求項8】 前記パケット処理手段は、記憶されてい
る結果を利用して前記後続のパケットに対するルール処
理を迂回することを特徴とする請求項7に記載のコンピ
ュータシステム。 - 【請求項9】 前記後続のパケットと前記与えられたパ
ケットの間の同様の特性は、同じネットワークセッショ
ンからのものであることを特徴とする請求項7に記載の
コンピュータシステム。 - 【請求項10】 コンピュータネットワークにおけるパ
ケット検証を行うコンピュータシステムにおいて、該コ
ンピュータシステムは、 (A) (i)ネットワークセッションにおける与えら
れたパケットにルールセットの少なくとも一部を適用し
た結果と、(ii)前記与えられたパケットに関連づけ
られた少なくとも1つのハードウェアアドレスとをキャ
ッシュに記憶する命令と、 (B) 記憶されている結果を利用して、前記与えられ
たパケットと同様の特性を有する少なくとも1つの後続
のパケットを処理する命令と (C) 前記キャッシュに記憶されたハードウェアアド
レスを用いて、前記後続のパケットの処理に関連づけら
れた結果により、前記後続パケットの宛先を決定する命
令とを実行するプロセッサを含み、 前記後続のパケットに関連づけられたセッションキー
は、前記キャッシュから前記記憶されている結果を取り
出すのに用いられることを特徴とするコンピュータシス
テム。 - 【請求項11】 前記プロセッサは、記憶されている結
果を利用して前記後続のパケットに対するルール処理を
迂回する命令も実行することを特徴とする請求項10に
記載のコンピュータシステム。 - 【請求項12】 前記後続のパケットと前記与えられた
パケットの間の同様の特性は、同じネットワークセッシ
ョンからのものであることを特徴とする請求項10に記
載のコンピュータシステム。 - 【請求項13】 前記少なくとも1つのハードウェアア
ドレスは、ローカル・エリア・ネットワーク・アドレス
であることを特徴とする請求項1に記載の方法。 - 【請求項14】 前記少なくとも1つのハードウェアア
ドレスは、ローカル・エリア・ネットワーク・アドレス
であることを特徴とする請求項4に記載の装置。 - 【請求項15】 前記少なくとも1つのハードウェアア
ドレスは、ローカル・エリア・ネットワーク・アドレス
であることを特徴とする請求項7または10に記載のコ
ンピュータシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/928794 | 1997-09-12 | ||
US08/928,794 US6141749A (en) | 1997-09-12 | 1997-09-12 | Methods and apparatus for a computer network firewall with stateful packet filtering |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002271571A Division JP2003198637A (ja) | 1997-09-12 | 2002-09-18 | パケット検証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11163940A JPH11163940A (ja) | 1999-06-18 |
JP3464610B2 true JP3464610B2 (ja) | 2003-11-10 |
Family
ID=25456770
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25283198A Expired - Fee Related JP3464610B2 (ja) | 1997-09-12 | 1998-09-07 | パケット検証方法 |
JP2002271571A Ceased JP2003198637A (ja) | 1997-09-12 | 2002-09-18 | パケット検証方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002271571A Ceased JP2003198637A (ja) | 1997-09-12 | 2002-09-18 | パケット検証方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6141749A (ja) |
EP (1) | EP0909072A3 (ja) |
JP (2) | JP3464610B2 (ja) |
Families Citing this family (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058822B2 (en) | 2000-03-30 | 2006-06-06 | Finjan Software, Ltd. | Malicious mobile code runtime monitoring system and methods |
US9219755B2 (en) | 1996-11-08 | 2015-12-22 | Finjan, Inc. | Malicious mobile code runtime monitoring system and methods |
US8079086B1 (en) | 1997-11-06 | 2011-12-13 | Finjan, Inc. | Malicious mobile code runtime monitoring system and methods |
US6791947B2 (en) | 1996-12-16 | 2004-09-14 | Juniper Networks | In-line packet processing |
JPH11338798A (ja) * | 1998-05-27 | 1999-12-10 | Ntt Communication Ware Kk | ネットワークシステムおよびプログラムを記録したコンピュータ読み取り可能な記録媒体 |
CA2287813C (en) * | 1998-10-22 | 2005-03-29 | At&T Corp. | System and method for network load balancing |
US6574666B1 (en) * | 1998-10-22 | 2003-06-03 | At&T Corp. | System and method for dynamic retrieval loading and deletion of packet rules in a network firewall |
US6701432B1 (en) * | 1999-04-01 | 2004-03-02 | Netscreen Technologies, Inc. | Firewall including local bus |
US6628654B1 (en) * | 1999-07-01 | 2003-09-30 | Cisco Technology, Inc. | Dispatching packets from a forwarding agent using tag switching |
JP4316737B2 (ja) * | 1999-08-23 | 2009-08-19 | マスプロ電工株式会社 | ケーブルモデムシステム |
FI109165B (fi) * | 1999-09-24 | 2002-05-31 | Elisa Comm Oyj | Menetelmä tietoverkkoliikenteen ohjaamiseksi |
CN1336053B (zh) * | 1999-11-01 | 2010-09-29 | 索尼公司 | 信息传输系统及方法、以及发送装置及接收装置 |
US6629163B1 (en) | 1999-12-29 | 2003-09-30 | Implicit Networks, Inc. | Method and system for demultiplexing a first sequence of packet components to identify specific components wherein subsequent components are processed without re-identifying components |
US7188176B1 (en) * | 2000-01-20 | 2007-03-06 | Priceline.Com Incorporated | Apparatus, system, and method for maintaining a persistent data state on a communications network |
US20070214262A1 (en) * | 2000-02-25 | 2007-09-13 | Anywheremobile, Inc. | Personal server technology with firewall detection and penetration |
US20020078198A1 (en) * | 2000-02-25 | 2002-06-20 | Buchbinder John E. | Personal server technology with firewall detection and penetration |
US6914905B1 (en) | 2000-06-16 | 2005-07-05 | Extreme Networks, Inc. | Method and system for VLAN aggregation |
US6950947B1 (en) | 2000-06-20 | 2005-09-27 | Networks Associates Technology, Inc. | System for sharing network state to enhance network throughput |
JP2002063084A (ja) | 2000-08-21 | 2002-02-28 | Toshiba Corp | パケット転送装置、パケット転送方法、及びそのプログラムが格納された記憶媒体 |
US6661799B1 (en) | 2000-09-13 | 2003-12-09 | Alcatel Usa Sourcing, L.P. | Method and apparatus for facilitating peer-to-peer application communication |
US7093288B1 (en) * | 2000-10-24 | 2006-08-15 | Microsoft Corporation | Using packet filters and network virtualization to restrict network communications |
US7606898B1 (en) | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
US6907395B1 (en) | 2000-10-24 | 2005-06-14 | Microsoft Corporation | System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model |
US7113900B1 (en) | 2000-10-24 | 2006-09-26 | Microsoft Corporation | System and method for logical modeling of distributed computer systems |
US6915338B1 (en) * | 2000-10-24 | 2005-07-05 | Microsoft Corporation | System and method providing automatic policy enforcement in a multi-computer service application |
US6886038B1 (en) * | 2000-10-24 | 2005-04-26 | Microsoft Corporation | System and method for restricting data transfers and managing software components of distributed computers |
US7970886B1 (en) | 2000-11-02 | 2011-06-28 | Arbor Networks, Inc. | Detecting and preventing undesirable network traffic from being sourced out of a network domain |
JP2002197051A (ja) * | 2000-12-11 | 2002-07-12 | Internatl Business Mach Corp <Ibm> | 通信先を決定するための通信アダプタの選択方法、通信アダプタの設定方法、コンピュータ装置、携帯情報機器、および記憶媒体 |
US6912592B2 (en) * | 2001-01-05 | 2005-06-28 | Extreme Networks, Inc. | Method and system of aggregate multiple VLANs in a metropolitan area network |
FI20010110A0 (fi) | 2001-01-18 | 2001-01-18 | Stonesoft Oy | Pakettien lajittelu gateway-verkkoelementissä |
US7383329B2 (en) | 2001-02-13 | 2008-06-03 | Aventail, Llc | Distributed cache for state transfer operations |
US7353380B2 (en) * | 2001-02-12 | 2008-04-01 | Aventail, Llc, A Subsidiary Of Sonicwall, Inc. | Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols |
US7360075B2 (en) * | 2001-02-12 | 2008-04-15 | Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. | Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols |
FI20010256A0 (fi) | 2001-02-12 | 2001-02-12 | Stonesoft Oy | Pakettidatayhteystietojen käsittely tietoturvagatewayelementissä |
US7095716B1 (en) | 2001-03-30 | 2006-08-22 | Juniper Networks, Inc. | Internet security device and method |
US7093280B2 (en) * | 2001-03-30 | 2006-08-15 | Juniper Networks, Inc. | Internet security system |
US7283494B2 (en) * | 2001-04-18 | 2007-10-16 | Skypilot Networks, Inc. | Network channel access protocol-interference and load adaptive |
US20020157020A1 (en) * | 2001-04-20 | 2002-10-24 | Coby Royer | Firewall for protecting electronic commerce databases from malicious hackers |
US20030051142A1 (en) | 2001-05-16 | 2003-03-13 | Hidalgo Lluis Mora | Firewalls for providing security in HTTP networks and applications |
JP2003008662A (ja) * | 2001-06-22 | 2003-01-10 | Furukawa Electric Co Ltd:The | ネットワークアクセス制御方法、その装置およびその装置を用いたネットワークアクセス制御システム |
JP2003018178A (ja) * | 2001-07-04 | 2003-01-17 | Allied Tereshisu Kk | インテリジェント中継機器における不正アクセス回避方法、インテリジェント中継機器用不正アクセス回避プログラム、インテリジェント中継機器用不正アクセス回避プログラムを記録した記録媒体、インテリジェント中継機器及びlanシステム |
US7243374B2 (en) | 2001-08-08 | 2007-07-10 | Microsoft Corporation | Rapid application security threat analysis |
US7302700B2 (en) | 2001-09-28 | 2007-11-27 | Juniper Networks, Inc. | Method and apparatus for implementing a layer 3/layer 7 firewall in an L2 device |
JP3590936B2 (ja) * | 2001-10-06 | 2004-11-17 | テラス テクノロジーズ,インコーポレイテッド | 動的ipフィルタリングモジュールを有する電子メールサービスシステム及び動的ipアドレスフィルタリング方法 |
US7370353B2 (en) * | 2001-11-05 | 2008-05-06 | Cisco Technology, Inc. | System and method for managing dynamic network sessions |
US7953087B1 (en) * | 2001-12-28 | 2011-05-31 | The Directv Group, Inc. | Content filtering using static source routes |
US9392002B2 (en) * | 2002-01-31 | 2016-07-12 | Nokia Technologies Oy | System and method of providing virus protection at a gateway |
US8370936B2 (en) | 2002-02-08 | 2013-02-05 | Juniper Networks, Inc. | Multi-method gateway-based network security systems and methods |
US7650634B2 (en) | 2002-02-08 | 2010-01-19 | Juniper Networks, Inc. | Intelligent integrated network security device |
US7734752B2 (en) | 2002-02-08 | 2010-06-08 | Juniper Networks, Inc. | Intelligent integrated network security device for high-availability applications |
WO2003101069A1 (es) * | 2002-05-28 | 2003-12-04 | Grupo S21Sec Gestión, S.A. | Cortafuegos para proveer seguridad en redes y aplicaciones http |
US6983323B2 (en) * | 2002-08-12 | 2006-01-03 | Tippingpoint Technologies, Inc. | Multi-level packet screening with dynamically selected filtering criteria |
FR2848046B1 (fr) * | 2002-12-02 | 2005-02-18 | Arkoon Network Security | Procede et dispositif d'acces pour securiser l'acces aux systemes d'information |
US7072807B2 (en) | 2003-03-06 | 2006-07-04 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
EP1463257B1 (en) * | 2003-03-27 | 2006-06-07 | Motorola Inc. | Communication between a private network and a roaming mobile terminal |
US7394809B2 (en) * | 2003-03-31 | 2008-07-01 | Intel Corporation | Method and apparatus for packet classification using a forest of hash tables data structure |
US7325002B2 (en) * | 2003-04-04 | 2008-01-29 | Juniper Networks, Inc. | Detection of network security breaches based on analysis of network record logs |
US7792963B2 (en) * | 2003-09-04 | 2010-09-07 | Time Warner Cable, Inc. | Method to block unauthorized network traffic in a cable data network |
US20050071493A1 (en) | 2003-09-30 | 2005-03-31 | Sheng Lee | SNMP packet filtering for printing devices |
US7876757B2 (en) * | 2003-11-06 | 2011-01-25 | International Business Machines Corporation | Router-assisted fast processing of packet termination in host |
JP2005310243A (ja) * | 2004-04-20 | 2005-11-04 | Seiko Epson Corp | メモリコントローラ、半導体集積回路装置、半導体装置、マイクロコンピュータ及び電子機器 |
JP2007538444A (ja) | 2004-05-20 | 2007-12-27 | キネティック リミテッド | ファイアウォール・システム |
US7669240B2 (en) * | 2004-07-22 | 2010-02-23 | International Business Machines Corporation | Apparatus, method and program to detect and control deleterious code (virus) in computer network |
JPWO2006049072A1 (ja) * | 2004-11-04 | 2008-05-29 | 日本電気株式会社 | ファイアウォール検査システムおよびファイアウォール情報抽出システム |
EP1659752A1 (en) * | 2004-11-23 | 2006-05-24 | Toshiba Corporation | System and method for snmp packet filtering for printing devices |
US20060185008A1 (en) * | 2005-02-11 | 2006-08-17 | Nokia Corporation | Method, apparatus and computer program product enabling negotiation of firewall features by endpoints |
US20060190998A1 (en) * | 2005-02-17 | 2006-08-24 | At&T Corp | Determining firewall rules for reverse firewalls |
US7746862B1 (en) | 2005-08-02 | 2010-06-29 | Juniper Networks, Inc. | Packet processing in a multiple processor system |
US7941309B2 (en) | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
US8347373B2 (en) | 2007-05-08 | 2013-01-01 | Fortinet, Inc. | Content filtering of remote file-system access protocols |
US8170020B2 (en) * | 2005-12-08 | 2012-05-01 | Microsoft Corporation | Leveraging active firewalls for network intrusion detection and retardation of attack |
JP4823728B2 (ja) * | 2006-03-20 | 2011-11-24 | 富士通株式会社 | フレーム中継装置及びフレーム検査装置 |
US7603333B2 (en) * | 2006-06-14 | 2009-10-13 | Microsoft Corporation | Delayed policy evaluation |
US7886351B2 (en) * | 2006-06-19 | 2011-02-08 | Microsoft Corporation | Network aware firewall |
US8332925B2 (en) | 2006-08-08 | 2012-12-11 | A10 Networks, Inc. | System and method for distributed multi-processing security gateway |
US8079077B2 (en) | 2006-08-08 | 2011-12-13 | A10 Networks, Inc. | System and method for distributed multi-processing security gateway |
US7953895B1 (en) | 2007-03-07 | 2011-05-31 | Juniper Networks, Inc. | Application identification |
JP2010034860A (ja) * | 2008-07-29 | 2010-02-12 | Fujitsu Ltd | セキュリティ機能を有するipネットワーク通信方法及び通信システム |
CN101697545B (zh) * | 2009-10-29 | 2012-08-08 | 成都市华为赛门铁克科技有限公司 | 安全事件关联方法、装置及网络服务器 |
CN101958842B (zh) * | 2010-10-28 | 2013-07-24 | 神州数码网络(北京)有限公司 | 一种基于用户的流量控制方法 |
US10140049B2 (en) | 2012-02-24 | 2018-11-27 | Missing Link Electronics, Inc. | Partitioning systems operating in multiple domains |
US9118618B2 (en) | 2012-03-29 | 2015-08-25 | A10 Networks, Inc. | Hardware-based packet editor |
US9596286B2 (en) | 2012-05-25 | 2017-03-14 | A10 Networks, Inc. | Method to process HTTP header with hardware assistance |
EP2693717B1 (en) * | 2012-07-29 | 2015-05-06 | Verint Systems Limited | System and method of high volume rule engine related applications |
US10021174B2 (en) | 2012-09-25 | 2018-07-10 | A10 Networks, Inc. | Distributing service sessions |
EP2901308B1 (en) | 2012-09-25 | 2021-11-03 | A10 Networks, Inc. | Load distribution in data networks |
US10027761B2 (en) | 2013-05-03 | 2018-07-17 | A10 Networks, Inc. | Facilitating a secure 3 party network session by a network device |
JP6217839B2 (ja) * | 2014-03-04 | 2017-10-25 | 日本電気株式会社 | パケット処理装置、パケット処理方法およびプログラム |
US10020979B1 (en) | 2014-03-25 | 2018-07-10 | A10 Networks, Inc. | Allocating resources in multi-core computing environments |
US9806943B2 (en) | 2014-04-24 | 2017-10-31 | A10 Networks, Inc. | Enabling planned upgrade/downgrade of network devices without impacting network sessions |
US9825913B2 (en) | 2014-06-04 | 2017-11-21 | Nicira, Inc. | Use of stateless marking to speed up stateful firewall rule processing |
US9729512B2 (en) | 2014-06-04 | 2017-08-08 | Nicira, Inc. | Use of stateless marking to speed up stateful firewall rule processing |
US11012416B2 (en) * | 2018-01-15 | 2021-05-18 | Akamai Technologies, Inc. | Symbolic execution for web application firewall performance |
US11875172B2 (en) | 2020-09-28 | 2024-01-16 | VMware LLC | Bare metal computer for booting copies of VM images on multiple computing devices using a smart NIC |
CN112351014B (zh) * | 2020-10-28 | 2022-06-07 | 武汉思普崚技术有限公司 | 一种安全域间防火墙安全策略合规基线管理方法及装置 |
US11995024B2 (en) | 2021-12-22 | 2024-05-28 | VMware LLC | State sharing between smart NICs |
US11899594B2 (en) | 2022-06-21 | 2024-02-13 | VMware LLC | Maintenance of data message classification cache on smart NIC |
US11928062B2 (en) | 2022-06-21 | 2024-03-12 | VMware LLC | Accelerating data message classification with smart NICs |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5349642A (en) * | 1992-11-03 | 1994-09-20 | Novell, Inc. | Method and apparatus for authentication of client server communication |
WO1997000471A2 (en) * | 1993-12-15 | 1997-01-03 | Check Point Software Technologies Ltd. | A system for securing the flow of and selectively modifying packets in a computer network |
US5699513A (en) * | 1995-03-31 | 1997-12-16 | Motorola, Inc. | Method for secure network access via message intercept |
US5802320A (en) * | 1995-05-18 | 1998-09-01 | Sun Microsystems, Inc. | System for packet filtering of data packets at a computer network interface |
US5751971A (en) * | 1995-07-12 | 1998-05-12 | Cabletron Systems, Inc. | Internet protocol (IP) work group routing |
JPH0981519A (ja) * | 1995-09-08 | 1997-03-28 | Kiyadeitsukusu:Kk | ネットワーク上の認証方法 |
US5826014A (en) * | 1996-02-06 | 1998-10-20 | Network Engineering Software | Firewall system for protecting network elements connected to a public network |
US5842040A (en) * | 1996-06-18 | 1998-11-24 | Storage Technology Corporation | Policy caching method and apparatus for use in a communication device based on contents of one data unit in a subset of related data units |
US5828833A (en) * | 1996-08-15 | 1998-10-27 | Electronic Data Systems Corporation | Method and system for allowing remote procedure calls through a network firewall |
US5848233A (en) * | 1996-12-09 | 1998-12-08 | Sun Microsystems, Inc. | Method and apparatus for dynamic packet filter assignment |
US6173364B1 (en) * | 1997-01-15 | 2001-01-09 | At&T Corp. | Session cache and rule caching method for a dynamic filter |
-
1997
- 1997-09-12 US US08/928,794 patent/US6141749A/en not_active Expired - Lifetime
-
1998
- 1998-09-01 EP EP98306984A patent/EP0909072A3/en not_active Withdrawn
- 1998-09-07 JP JP25283198A patent/JP3464610B2/ja not_active Expired - Fee Related
-
2002
- 2002-09-18 JP JP2002271571A patent/JP2003198637A/ja not_active Ceased
Non-Patent Citations (1)
Title |
---|
エドワード・アモロソ他1名著「ファイアウォールを知る」(株)プレスティホール刊 1966年12月 p57〜p62 |
Also Published As
Publication number | Publication date |
---|---|
JPH11163940A (ja) | 1999-06-18 |
EP0909072A2 (en) | 1999-04-14 |
EP0909072A3 (en) | 2003-07-23 |
JP2003198637A (ja) | 2003-07-11 |
US6141749A (en) | 2000-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3464610B2 (ja) | パケット検証方法 | |
JP3492920B2 (ja) | パケット検証方法 | |
JP3459183B2 (ja) | パケット検証方法 | |
JP3443529B2 (ja) | ファイアウォールサービスを提供する方法と、ファイアウォールサービスを提供するコンピュータシステム | |
JP4690480B2 (ja) | ファイアウォールサービス提供方法 | |
US7570663B2 (en) | System and method for processing packets according to concurrently reconfigurable rules | |
US7114008B2 (en) | Edge adapter architecture apparatus and method | |
US7428590B2 (en) | Systems and methods for reflecting messages associated with a target protocol within a network | |
US7441262B2 (en) | Integrated VPN/firewall system | |
US6070242A (en) | Method to activate unregistered systems in a distributed multiserver network environment | |
US7107609B2 (en) | Stateful packet forwarding in a firewall cluster | |
US7073196B1 (en) | Firewall for processing a connectionless network packet | |
US20040088423A1 (en) | Systems and methods for authentication of target protocol screen names | |
US20070124577A1 (en) | Systems and methods for implementing protocol enforcement rules | |
US7181612B1 (en) | Facilitating IPsec communications through devices that employ address translation in a telecommunications network | |
US6615358B1 (en) | Firewall for processing connection-oriented and connectionless datagrams over a connection-oriented network | |
Mohammed et al. | Honeypots and Routers: Collecting internet attacks | |
McGann | IPv6 packet filtering | |
Marchette et al. | TCP/IP Networking | |
Spencer | Sun Feb 10 11: 15: 06 2002 Page 2 pr-l66-w80 draft-richardson-ipsec-opportunistic-05. txt | |
JP2002223254A (ja) | 電子メール・セキュア配送システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |