JP2010109731A - パケット通過制御方法 - Google Patents

パケット通過制御方法 Download PDF

Info

Publication number
JP2010109731A
JP2010109731A JP2008280121A JP2008280121A JP2010109731A JP 2010109731 A JP2010109731 A JP 2010109731A JP 2008280121 A JP2008280121 A JP 2008280121A JP 2008280121 A JP2008280121 A JP 2008280121A JP 2010109731 A JP2010109731 A JP 2010109731A
Authority
JP
Japan
Prior art keywords
packet
filtering
filtering information
communication network
storage unit
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.)
Granted
Application number
JP2008280121A
Other languages
English (en)
Other versions
JP5088830B2 (ja
Inventor
Masaru Miyamoto
優 宮本
Kozo Yamawaki
幸三 山脇
Hiroyoshi Ohata
博敬 大畑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Iwatsu Electric Co Ltd
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone West Corp
Nippon Telegraph and Telephone East Corp
Original Assignee
Iwatsu Electric Co Ltd
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone West Corp
Nippon Telegraph and Telephone East Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Iwatsu Electric Co Ltd, Nippon Telegraph and Telephone Corp, Nippon Telegraph and Telephone West Corp, Nippon Telegraph and Telephone East Corp filed Critical Iwatsu Electric Co Ltd
Priority to JP2008280121A priority Critical patent/JP5088830B2/ja
Publication of JP2010109731A publication Critical patent/JP2010109731A/ja
Application granted granted Critical
Publication of JP5088830B2 publication Critical patent/JP5088830B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】パケット通過制御装置における堅牢性の高いパケット通過制御方法を提供する。
【解決手段】パケット通過制御部2のフィルタリング記憶部14に、通信開始要求パケットおよび通信開始応答パケットに対応する第1および第2フィルタリング情報14a、14b、ならびに両方向のパケットの通過許可を示す第3フィルタリング情報14cを登録し、前記各パケットが前記対応する各フィルタリング情報と一致している場合に、中央演算処理部を介さずに通過処理を行う。前記第2および第3フィルタリング情報14b、14cは、前記第1フィルタリング情報14aより優先度の高い情報として優先的にフィルタリング記憶部14のSPIエントリに登録される。
【選択図】図7

Description

本発明は、ファイヤーウォールやルータなどの機能であるSPI(Stateful Packet Inspection)の技術を用いたパケット通過制御装置におけるパケット通過制御方法に関するものである。
ファイヤーウォールを通過するパケットのデータを読み取り、内容を判断して動的にポートを開放・閉鎖する技術としてSPIが存在する。この技術は、通常ソフトウエアを用いてCPUなどの中央演算装置で処理されている。さらに、中央演算装置におけるSPI処理を軽減する方法として、下記の特許文献1が公開されている。
特許第4137948号
前記特許文献1では、中央演算装置におけるSPI処理を軽減することのできる、パケット通過制御装置及びその方法を提供している。しかしながら、パケットのデータを読み取り、その内容を判断して動的にポート開放を行う手段において、伝送制御プロトコル(TCP)における通信開始判定のための状態監視が不十分であり、堅牢性が低いという問題がある。
本発明は、前記した従来技術に鑑みてなされたものであり、その目的は、パケット通過制御装置における堅牢性の高いパケット通過制御方法を提供することにある。
上記目的を達成するために、本発明は、パケット通過制御部と中央演算処理部とを備え、一方の通信ネットワーク経路から受信したパケットを他方の通信ネットワーク経路へ通過させるか否かを制御するパケット通過制御装置におけるパケット通過制御方法であって、
パケットのフィルタ規則適合判定条件を示す全ての通信種別のパケットについてパケットの通過許可、廃棄、中央演算処理転送のいずれかを示す第1フィルタリング情報を前記パケット通過制御部のフィルタリング記憶部に登録し、
受信した通信開始要求パケットが前記第1フィルタリング情報に一致する場合に、前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通信開始応答パケットについて、前記中央演算処理転送を示す第2フィルタリング情報を前記フィルタリング記憶部に登録し、
前記通信開始応答パケットが前記第2フィルタリング情報に一致する場合には、前記フィルタリング記憶部に登録された前記第2フィルタリング情報を削除し、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す第3フィルタリング情報を前記フィルタリング記憶部に登録し、
前記パケット通過制御部の通過処理手段が、前記受信したパケットに関連する一連のパケット処理について、前記フィルタリング記憶部に登録された前記第3フィルタリング情報に一致するか否かを判定し、一致している場合には前記中央演算処理部を介さずに通過処理を行なうようにした点に特徴がある。
また、本発明は、パケット通過制御部と中央演算処理部とを備え、一方の通信ネットワーク経路から受信したパケットを他方の通信ネットワーク経路へ通過させるか否かを制御するパケット通過制御装置におけるパケット通過制御方法であって、
最も優先度の低いフィルタリング情報として、パケットのフィルタ規則適合判定条件を示す全ての通信種別のパケットについてパケットの通過許可、廃棄、中央演算処理転送のいずれかを示す制御種別である第1フィルタリング情報を前記パケット通過制御部のフィルタリング記憶部に登録し、
前記パケット通過制御部の中央演算処理部転送手段が、通信開始要求パケットを受信した際に、当該パケットの通信種別と制御種別が、前記フィルタリング記憶部に登録されている前記第1フィルタリングに一致する場合に、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送し、
前記中央演算処理部の第2フィルタリング情報登録手段が、前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通信開始応答パケットについて、前記制御種別が中央演算処理部への転送を示す第2フィルタリング情報を、前記第1フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部に登録し、
前記中央演算処理部転送手段が、前記フィルタリング記憶部に登録された前記第2フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記第2フィルタリング情報の制御種別に従い、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送し、
前記中央演算処理部転送手段が、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通信開始完了パケットについて、前記フィルタリング記憶部に登録された前記第1フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記第1フィルタリング情報の制御種別に従い、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送し、
前記中央演算処理部の第3フィルタリング情報登録手段が、前記フィルタリング記憶部に登録された前記第2フィルタリング情報を削除し、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す第3フィルタリング情報を、前記第1フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部に登録し、
前記パケット通過制御部の通過処理手段が、前記受信したパケットに関連する一連のパケット処理について、前記フィルタリング記憶部に登録された前記第3フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記中央演算処理部を介さずに通過処理を行なうようにした点に他の特徴がある。
本発明によれば、通過処理手段、フィルタリング記憶部などを有するパケット通過制御部を、例えば1つのチップとしてまとめた回路構成とし、通過処理手段にパケットフィルタリングの処理を任せてCPUの処理軽減を行なう場合であっても、中央演算処理部が行う従来のパケットフィルタリングより堅牢性の高い通信を実現できる。
また、パケット通過制御部のフィルタリング記憶部に、第1、第2、第3フィルタリング情報を登録することに関して、通信開始要求パケットについては前記第1フィルタリング情報と一致するか否かを判断し、一致する場合には第2フィルタリング情報を登録し、通信開始応答パケットが前記第2フィルタリング情報に一致するか否かを判断し、一致する場合には一方の通信ネットワーク経路から他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す前記第3フィルタリング情報をフィルタリング記憶部に登録し、前記受信したパケットに関連する一連のパケット処理について、前記第3フィルタリング情報に一致するか否かを判定し、一致している場合には前記中央演算処理部を介さずに通過処理を行なうようにしたので、中央演算処理部が行う従来のパケットフィルタリングより堅牢性の高いパケット通過制御方法を提供することができる。
以下に、本発明を図面を参照して詳細に説明する。図1は、本発明のパケット通過制御方法の一実施形態が実施されるパケット通過制御装置の構成を示すブロック図である。
図示されているように、パケット通過制御装置1は、例えばファイアーウォールやルータなどに組み込まれるパケット通過制御部2および中央演算処理部3から構成されている。
前記パケット通過制御装置1は、WAN側のI/F(interface)11、LAN側のI/F(interface)12、フィルタリング処理部(中央演算処理部転送手段、通過処理手段)13、フィルタリング記憶部14および中央演算処理インタフェース(CPU/IF)15から構成されている。ここで、前記フィルタリング処理部13は、少なくともパケットの通過、廃棄、CPU転送の処理を行なう。また、前記フィルタリング記憶部14はフィルタリング情報が記録される記憶部である。また、前記中央演算処理インタフェース15は、CPU(中央演算処理部)16へ送信される情報を受付ける処理を行う。そしてこれらI/F(WAN)11、I/F(LAN)12、フィルタリング処理部13、フィルタリング記憶部14、中央演算処理インタフェース15は、転送処理の高速化を図るために半導体素子で構成したパケット通過制御部として、例えば1つのチップとしてまとめて回路構成されている。
前記フィルタリング情報とは、パケットの通信種別<通信サービス(TCP、UDP、HTTP、FTPなどのサービス)、フラグ種別(SYN、FINなど)、宛先IPアドレス、宛先ポート番号、送信元IPアドレス、送信元ポート番号などのフィルタ規則適合判定条件>を示す情報や、通過許可、廃棄、CPU転送の制御種別の情報であり、このフィルタイリング情報に基づいてフィルタリング処理部13がフィルタリングの処理を行う。
次に、前記中央演算処理部3は、CPU16およびテーブル記憶部17から構成されている。CPU16は、機能的には、第1フィルタリング登録手段、第2フィルタリング情報登録手段、第2フィルタリング削除手段、第3フィルタリング登録手段、第3フィルタリング削除手段等を有し、主にフィルタリング処理部13で行うフィルタリング処理から外れた(つまりCPU転送された)パケットをパケット通過制御部から受信し、受信したフレームに対する転送先を検出する等のSPI処理を、予め内部で動作するソフトウエアに基づいて行う。また、テーブル記憶部17は、フィルタリングテーブルを有し、ネットワーク管理者などのユーザによって登録されたフィルタリング情報を記憶している。そして、SPI処理を行う際には、CPU16は、中央演算処理インタフェース15を介してフィルタリング処理部13から受付けたパケットの情報のみのフィルタリング処理を、テーブル記憶部17に記録されているフィルタリング情報に基づいて行なう。
次に、前記フィルタリング記憶部14の構成について説明する。図2は、該フィルタリング記憶部14の構成を示す。
図2に示されているように、フィルタリング記憶部14には、CPU転送候補エントリ、SPIエントリおよびフィルタエントリからなる3種類のフィルタリング情報が記録される。前記CPU転送候補エントリは、CPU16へ転送すると予め決められた特定のパケットについてのフィルタリング情報であり、例えばARPのパケットなどの、他の装置へ転送せずに自装置で処理するパケットに関するフィルタリング情報である。また、前記SPIエントリは、CPU16が動的に生成したフィルタリング情報であり、例えば、内部ネットワークのA装置から外部ネットワークのB装置へのHTTP接続を許可している場合において、当該パケットを受信した際に、B装置からA装置に対する返答のパケットが通過できるように、動的に生成した、B装置→A装置の通信方向のHTTP接続の通過を示すフィルタリング情報などである。また、前記フィルタエントリは、ユーザ登録作業によって予めテーブル記憶部17に記録されたものであり、パケット通過制御装置1の起動時などにCPU16によって自動的に書込まれる。また、このフィルタエントリにより1つセッションの通信開始要求パケット(SYN)などを検出する。なお、図においてはCPU転送候補エントリ、SPIエントリ、フィルタエントリの順に優先度が与えられている。優先度とはSPI処理として受信したパケットに一致するか否かを判定するための優先順位である。
図3は、フィルタリング記憶部14の構成とその中に形成されるフィルタリング情報登録状況テーブルとを示す図である。該フィルタリング情報登録状況テーブルとは、CPU16がフィルタリング記憶部14に登録したフィルタリング情報を記憶するためのテーブルである。
次に、フィルタリング情報のフィルタリング記憶部14への第1の登録処理について説明する。
パケット通過制御装置1が起動する際やCPU16の保持するフィルタリング情報登録状況テーブルの初期化の指示があった場合には、まず、CPU16はテーブル記憶部17からフィルタリング情報(第1フィルタリング情報)を読み込む。このフィルタリング情報は、図2で示したCPU転送候補エントリ及びフィルタエントリの各フィルタリング情報である。前記起動や初期化の際に、CPU16は、テーブル記憶部17から読み込んだフィルタリング情報(CPU転送候補エントリ、フィルタエントリ)をフィルタリング記憶部14に登録する。この登録において、フィルタエントリの制御種別が「通過」となっている情報については、「CPU転送」と書き換えて登録する。
CPU16はSPIエントリとなるフィルタリング情報についても登録処理を行う。このSPIエントリは、上記したように、パケット通過制御装置1がフィルタリングの処理を開始して動作している際に、セッションの通信開始要求パケット(SYN)、通信開始応答パケット(SYN&ACK)と通信開始完了パケット(ACK)の受信に基づいてCPU16が動的に生成したフィルタリング情報であり、CPU16はこの生成を行なうと、CPU転送候補エントリとフィルタエントリとの間にSPIエントリを登録していく。つまり、フィルタリング情報の中でCPU転送候補エントリを最も優先度を高く登録し、またSPIエントリを次に優先度を高く登録し、また最も優先度の低いフィルタリング情報としてフィルタエントリを登録する。CPU16はフィルタリング記憶部14に登録したフィルタリング情報については、登録したか否かを示すフラグなどをフィルタリング情報登録状況テーブルに書込んで記憶する。また優先度の順番などについてもフィルタリング情報登録状況テーブルに書込んで記憶する。
さて、前記特許文献1に記載されているパケット通過制御方法では、例えば図8に示されるようになっていた。
CPU16は初期化の指示を受け付けた場合や起動時において、テーブル記憶部17からCPU転送候補エントリとフィルタエントリの各制御情報を読み取って、フィルタリング記憶部14にCPU/IF15を介して登録する。この最初のフィルタリング情報の登録が完了すると、SPIの処理を伴うパケットフィルタリングの処理を開始する。
図示されているように、LAN側のI/F12が通信開始要求パケット(パケットA)を受け付けると、パケット通過制御部(2)はフィルタリング記憶部14に記録されているフィルタリング情報を優先度の高い順に参照し、パケットAと一致するフィルタリング情報があるか否かを判定する。ここで、一致するフィルタリング情報があると判定されると、その制御情報はCPU転送(フィルタエントリの制御種別が通過である場合には、登録時に書き換えられて全てCPU転送となっている)であるので、パケットAをCPU16に転送する。CPU16は、パケットAを受信すると、該パケットAに関するSPIエントリを生成する処理を開始する。この時、CPU16はSPIエントリ(11)(12)を生成する。ここに、SPIエントリ(11)は、パケットAを初回(SYN)のセッションとする当該セッションにおける他のパケットのうちI/F11からI/F12へ通過するパケットのためのフィルタリング情報である。また、SPIエントリ(12)は、パケットAを初回(SYN)のセッションとした当該セッションのパケットのうちI/F12からI/F11へ通過するパケット(FIN,RST=0)のためのフィルタリング情報である。CPU16は、この生成したSPIエントリ(11)(12)をフィルタリング記憶部14に登録する。
次に、パケットAを初回(SYN)のセッションとした場合の当該セッションの他のパケットをI/F(WAN)11やI/F(LAN)12で受信する。フィルタリング処理部13はそれらの一連のパケットについてフィルタリング処理を行い、これらのパケットの通信種別が前記SPIエントリ(11)またはSPIエントリ(12)と一致すると、これらのSPIエントリ(11)(12)の制御種別が「通過」となっているので、前記パケットはCPU16に転送されずに、I/F(WAN)11で受信したパケットについては直接にI/F(LAN)12から出力し、逆にI/F(LAN)12で受信したパケットについては直接にI/F(WAN)11から出力する。
以上のように、特許文献1に記された方法では、通信開始要求パケットAが予め登録されていた最初のフィルタリング情報と一致すると、SPIエントリ(11)(12)が生成・登録され、パケットAを初回(SYN)のセッションとした場合の当該セッションの他のパケットはI/F(WAN)11とI/F(LAN)12の間を直接伝送されるようになっている。このため、特許文献1に記載の方法は、前記したように、伝送制御プロトコル(TCP)における通信開始判定のための状態監視が不十分であり、堅牢性が低いという問題があった。
本発明は、この問題を解消または軽減するものであり、本発明の一実施形態を以下に説明する。図4と図5はパケット通過制御装置1の処理フローの概要を示す図であり、図5は図4の続きの図である。また、図6はパケット通過制御装置1が受信するパケットと、そのパケットの受信に基づいて動的に生成したSPIエントリとを示すテーブルである。以下に、図4、5、6を用いてパケット通過制御装置1の動作(処理フロー)について説明する。
まず、CPU16は初期化の指示を受付けた場合や起動時において、パケット通過制御装置テーブル記憶部17からCPU転送候補エントリとフィルタエントリの各フィルタリング情報を読み取って、フィルタリング記憶部14にCPU/IF15を介して登録する。この時CPU転送候補エントリを優先度を高く、またフィルタエントリをCPU転送候補エントリよりもフィルタ規則適用の優先度を低く登録する。そしてCPU16はその優先度の順番をフィルタリング情報登録状況テーブルに記録する。
最初のフィルタリング情報の登録が完了すると、SPIの処理を伴うパケットフィルタリングの処理を開始する。いま、パケットAをLAN側のI/F12により受付けたとする(ステップS1)と、パケットAは図6に示すように、受信論理I/FがI/F(LAN)12、送信論理I/FがI/F(WAN)11、送信元IPアドレス(S−IP)がIP−x、宛先IPアドレス(D−IP)がIP−y、送信元ポート番号(S−Port)がPort−x、宛先ポート番号(D−Port)がPort−y、またTCPフラグがSYNのパケットである。
フィルタリング処理部13はこのパケットAを受付けると、次に、フィルタリング記憶部14に記録されているフィルタリング情報を優先度の高い順に順次参照し、該フィルタリング情報と受信したパケットAの通信種別(通信サービス、フラグ種別、宛先IPアドレス、宛先ポート番号、送信元IPアドレス、送信元ポート番号など)と比較して、パケットAと一致するフィルタリング情報があるか否かを判定する。ここで、フィルタリング記憶部14に記録されているフィルタエントリは全ての通信種別に一致し、制御種別はCPU転送(フィルタエントリの制御種別が通過である場合には、登録時に書き換えられて全てCPU転送となっている)であるので、パケットAをCPU16に転送する(ステップS2)。
CPU16はパケットAを受信すると、そのパケットAに関するSPIエントリを生成する処理を開始する。この時、CPU16は、図6に示すようなSPIエントリ(1)を生成する。このSPIエントリ(1)は、受信論理I/FがI/F(WAN)11、送信論理I/FがI/F(LAN)12、送信元IPアドレス(S−IP)がIP−y、宛先IPアドレス(D−IP)がIP−x、送信元ポート番号(S−Port)がPort−y、宛先ポート番号(D−Port)がPort−xであるパケットを通過させ、またTCPフラグがSYN&ACKであるパケットを通過させるフィルタリング情報(第2フィルタリング情報)である。
CPU16は監視状態を遷移して、上記のSPIエントリ(1)を生成すると、該SPIエントリ(1)をフィルタリング記憶部14に登録する(ステップS3)。この時、CPU16は、フィルタエントリより優先度が高く、またCPU転送候補エントリよりも優先度が低い位置(アドレス:番地)に登録する。また、CPU16は登録したSPIエントリ(1)の優先度の情報をフィルタリング情報登録状況テーブルにより記憶しておく。
CPU16はSPIエントリ(1)を登録すると、パケットAについて、フィルタリング情報登録状況テーブルで記憶しているフィルタリング情報に基づいてフィルタリング処理を行う。フィルタリング情報登録状況テーブルで記憶しているフィルタリング情報には、全ての通信種別と一致するフィルタエントリ(制御種別=通過)が記録されているので、CPU16はパケットAをCPU/IF15を介してI/F(WAN)11に転送し、WAN側の通信ネットワークに送信する(ステップS4)。
その後、フィルタリング処理部13は通信開始応答パケット(パケットB)を受付ける(ステップS5)と、フィルタリング記憶部14に記録されているフィルタリング情報を優先度の高い順に順次参照し、受信したパケットBの通信種別(通信サービス、フラグ種別、宛先IPアドレス、宛先ポート番号、送信元IPアドレス、送信元ポート番号など)と比較して、パケットBと一致するフィルタリング情報があるか否かを判定する。ここで、パケットBはSPIエントリ(1)と一致し、制御種別がCPU転送であるので、パケットBはCPU16に転送される(ステップS6)。
CPU16はパケットBを受信すると、そのパケットBに関するSPIエントリを生成する処理の状態を遷移させ、パケットBについて、フィルタリング情報登録状況テーブルで記憶しているフィルタリング情報に基づいてフィルタリング処理を行う。フィルタリング情報登録状況テーブルで記憶しているフィルタリング情報には、パケットBの通信種別と一致するフィルタエントリ(制御種別=通過)が記録されているので、CPU16はパケットAをCPU/IF15を介してI/F(LAN)12に転送し、LAN側の通信ネットワークに送信する(ステップS7)。
次に、フィルタリング処理部13は通信開始完了パケット(パケットC)を受付ける(ステップS8)と、フィルタリング記憶部14に記録されているフィルタリング情報を優先度の高い順に順次参照し、受信したパケットCの通信種別(通信サービス、フラグ種別、宛先IPアドレス、宛先ポート番号、送信元IPアドレス、送信元ポート番号など)と比較して、パケットCと一致するフィルタリング情報があるか否かを判定する。ここで、フィルタリング記憶部14に記録されているフィルタエントリは全ての通信種別に一致し、制御種別はCPU転送であるので、パケットCをCPU16に転送する(ステップS9)。
CPU16はパケットCを受信すると、そのパケットCに関するSPIエントリを生成する処理の状態をさらに遷移させる。つまり、監視状態を終了する。この時CPU16はSPIエントリ(1)を削除し、合わせてフィルタリング記憶部14に登録したSPIエントリ(1)も削除する。さらに、フィルタリング情報登録状況テーブルに記憶しているSPIエントリ(1)の優先度の情報も削除する(ステップS10)。つまり、前記第2フィルタリング情報を削除する。
その後、CPU16は、図6で示すようなSPIエントリ(2)とSPIエントリ(3)とSPIエントリ(4)、つまり第3フィルタリング情報を生成する。SPIエントリ(2)は、受信論理I/FがI/F(WAN)11、送信論理I/FがI/F(LAN)12、送信元IPアドレス(S−IP)がIP−y、宛先IPアドレス(D−IP)がIP−x、送信元ポート番号(S−Port)がPort−y、宛先ポート番号(D−Port)がPort−x、またプロトコルがTCPであり、TCPフラグがSYN/ACK/PSH/URGであるか、またはFIN、RST=0のパケットである。つまり、パケットAを初回のセッションとした当該セッションのパケットのうちI/F(WAN)11からI/F(LAN)12へ通過するパケット(FIN、RST=0)のためのフィルタリング情報である。
またSPIエントリ(3)は、受信論理I/FがI/F(LAN)12、送信論理I/FがI/F(WAN)11、送信元IPアドレス(S−IP)がIP−x、宛先IPアドレス(D−IP)がIP−y、送信元ポート番号(S−Port)がPort−x、宛先ポート番号(D−Port)がPort−y、またプロトコルがTCPであり、TCPフラグがSYN/ACK/PSH/URGであるか、またはFIN、RST=0のパケットである。つまり、パケットAを初回のセッションとした当該セッションのパケットのうちI/F(LAN)12からI/F(WAN)11へ通過するパケット(FIN、RST=0)のためのフィルタリング情報である。
さらにSPIエントリ(4)は、受信論理I/FがI/F(WAN)11、送信論理I/FがI/F(LAN)12、送信元IPアドレス(S−IP)がIP−y、宛先IPアドレス(D−IP)がIP−x、送信元ポート番号(S−Port)がPort−y、宛先ポート番号(D−Port)がPort−x、またプロトコルがTCPであり、TCPフラグがFIN=1、またはRST=1のパケットである。つまり、パケットAを初回のセッションとした当該セッションのパケットのうちI/F(WAN)11で受信したFIN=1、またはRST=1のパケットをCPU転送するためのフィルタリング情報である。
そして、CPU16は生成したSPIエントリ(2)と(3)と(4)とをフィルタリング記憶部14に登録する(ステップS11)。この時CPU16は、フィルタエントリより優先度が高く、またCPU転送候補エントリよりも優先度が低い位置(アドレス:番地)に登録する。またCPU16は登録したSPIエントリ(2)(3)(4)の優先度の情報をフィルタリング情報登録状況テーブルにより記憶しておく。
SPIエントリ(2)(3)(4)を登録すると、パケットCについて、フィルタリング情報登録状況テーブルで記憶しているフィルタリング情報に基づいてフィルタリング処理を行う。フィルタリング情報登録状況テーブルで記憶しているフィルタリング情報には、全ての通信種別と一致するフィルタエントリ(制御種別=通過)が記録されているので、CPU16はパケットCをCPU/IF15を介してI/F(WAN)11に転送し、WAN側の通信ネットワークに送信する(ステップS12)。
次にパケットAを初回(SYN)のセッションとした場合の当該セッションの他のパケットがI/F(WAN)11やI/F(LAN)12で受信する。フィルタリング処理部13はそれらの一連のパケットについてフィルタリング処理を行なう。このフィルタリング処理は上記同様にフィルタリング記憶部14に登録されているフィルタリング情報と比較して行う。ここで、パケットAを初回(SYN)のセッションとした場合の当該セッションの他のパケットはSPIエントリ(2)またはSPIエントリ(3)と一致する。またこのSPIエントリ(2)(3)は制御種別が“通過”となっている。従って、フィルタリング処理部13は、パケットAを初回(SYN)のセッションとした場合の当該セッションの他のパケットを受信した場合には、CPU16に転送せず、I/F(WAN)11で受信したパケットについてはダイレクトにI/F(LAN)12から出力し、またI/F(LAN)12で受信したパケットについてはダイレクトにI/F(WAN)11から出力する。つまりパケットAをセッションの初回に受信したパケットとして、それ以降の同一セッションのパケットについてはパケット通過制御部でSPIの処理(双方向のハードウェア転送の処理)を行なう(ステップS13)。
次に、図5に示されているように、パケットAを初回(SYN)のセッションとした場合の当該セッションの最後(FIN)のパケットDをI/F(LAN)12で受信したとする(ステップS14)。この場合、フィルタリング処理部13はフィルタリング記憶部14に登録されているフィルタリング情報と比較する。ここで、SPIエントリ(2)はFIN=1となっているパケットについてはフィルタの対象外であるので、フィルタリング処理部13は優先度に従って順次フィルタエントリまで確認する。そして、フィルタエントリにおいて通信種別の一致するエントリ(パケットAを処理したフィルタエントリと同一のエントリ)が存在し、その制御種別がCPU転送であるので、パケットDをCPU/IF15を介してCPU16へ転送する(ステップS15)。CPU16はSPIの状態を遷移させ、パケットDについての制御種別がフィルタリング情報登録状況テーブルにおいて“通過”となっているので、I/F(WAN)11へ出力する(ステップS16)。
さらに続けて、I/F(WAN)11へ出力したパケットAを初回(SYN)のセッションとした場合の当該セッションの最後(FIN)のパケットに応答するパケットEをI/F(WAN)11で受信したとする(ステップS17)。この場合、フィルタリング処理部13はフィルタリング記憶部14に登録されているフィルタリング情報と比較する。ここで、SPIエントリ(3)はFIN=1となっているパケットについてはフィルタの対象外であるので、パケットEはSPIエントリ(4)に一致し、その制御種別がCPU転送であるので、パケットEをCPU/IF15を介してCPU16へ転送する(ステップS18)。CPU16はSPIの状態を遷移させ、パケットEについての制御種別がフィルタリング情報登録状況テーブルにおいて“通過”となっているので、I/F(LAN)12へ出力する(ステップS19)。
また、CPU16は、I/F(LAN)12で受信したTCPフラグがFINであるパケットDをI/F(WAN)11へ出力した後にTCPフラグがFINであるパケットEをI/F(WAN)11で受信したため、そのパケットに関するセッションのSPIエントリ(2)、(3)及び(4)を、パケットEのI/F(LAN)12への送出後、所定の時間経過した際にフィルタリング記憶部14から削除する処理を行なう(ステップS20)。
以上の処理により、フィルタリング処理部13、フィルタリング記憶部14などを有するパケット通過制御部2を、例えば1つのチップとしてまとめて回路構成し、フィルタリング処理部13にSPIの処理を任せた場合であっても、CPUで状態監視を行うSPI処理と同等の堅牢性の高い通信を実現ができる。
図7は、本発明の要部の機能ブロック図である。図において、10は前記フィルタリング処理部13およびCPU/IF15からなる中央演算処理部転送手段を示し、他の図1と同符号は、図1と同一または同等物を示す。
本発明は、パケット通過制御部2と中央演算処理部3とを備え、一方の通信ネットワーク経路から受信したパケットを他方の通信ネットワーク経路へ通過させるか否かを制御するパケット通過制御装置におけるパケット通過制御方法であり、以下の方法が実施される。
(1)まず、テーブル記憶部17から読み出された、パケットのフィルタ規則適合判定条件を示す全ての通信種別のパケットについてパケットの通過許可、廃棄、中央演算処理転送のいずれかを示す制御種別である中央演算処理転送を示す第1フィルタリング情報14aを、最も優先度の低いフィルタリング情報として、前記パケット通過制御部のフィルタリング記憶部14に登録する。
(2)前記パケット通過制御部の中央演算処理部転送手段10は、一方の通信ネットワーク経路から他方の通信ネットワーク経路への通信開始要求パケット(パケットA)を受信すると、当該パケットの通信種別と制御種別が、前記フィルタリング記憶部14に登録されている前記第1フィルタリング情報14aに一致するか否かを判定し、一致する場合に、その受信したパケットの少なくとも通信種別10aを前記中央演算処理部3へ転送する。
(3)上記の転送があると、前記中央演算処理部3の第2フィルタリング情報生成・登録手段3aが、前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通信開始応答パケット(パケットB)についての、前記制御種別が中央演算処理転送を示す第2フィルタリング情報14bを生成し、前記第1フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部14に登録する。
(4)次に、前記中央演算処理部転送手段10は、受信した前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通信開始応答パケット(パケットB)が、前記フィルタリング記憶部14に登録された前記第2フィルタリング情報14bに一致するか否かを前記優先度順に判定し、一致している場合には前記第2フィルタリング情報の制御種別に従い、その受信したパケットの少なくとも通信種別10bを前記中央演算処理部3へ転送する。
(5)次に、前記中央演算処理部転送手段10は、受信した前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通信開始完了パケット(パケットC)が、前記フィルタリング記憶部14に登録された前記第1フィルタリング情報14aに一致するか否かを前記優先度順に判定し、一致している場合には前記第1フィルタリング情報の制御種別に従い、その受信したパケットの少なくとも通信種別10cを前記中央演算処理部3へ転送する。
(6)前記(4)と(5)の通信種別10bと10cの転送があると、前記中央演算処理部3の第3フィルタリング情報生成・登録手段3bが、前記フィルタリング記憶部14に登録された前記第2フィルタリング情報14bを削除し、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す第3フィルタリング情報14cを、前記第1フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部14に登録する。
(7)前記パケット通過制御部2の通過処理手段(図示せず)が、前記受信したパケットに関連する一連のパケット処理について、前記フィルタリング記憶部14に登録された前記第3フィルタリング情報14cに一致するか否かを前記優先度順に判定し、一致している場合には前記中央演算処理部3を介さずに通過処理を行なう。
なお、図7の第1、第2及び第3フィルタリング情報14a、14bおよび14cは、それぞれ、図4のフィルタエントリ、SPIエントリ(1)およびSPIエントリ(2)(3)(4)に対応する。
以上、本発明を実施形態により説明したが、本発明は前記した実施形態に限定されず、本発明の思想及び範囲から逸脱しない範囲内での変更は可能であり、この変更は本発明に含まれることは明らかである。例えば、図4のステップS8の後のパケットCについての「フィルタエントリに一致」の判定を省略してもよい。
パケット通過制御装置の構成を示すブロック図である。 フィルタリング記憶部の構成の説明図である。 フィルタリング情報登録状況テーブルとフィルタリング記憶部の構成の説明図である。 TCPセッション開始時のパケット通過制御装置の処理フローである。 TCPセッション停止時のパケット通過制御装置の処理フローである。 パケット通過制御装置が受信するパケットとそのパケットの受信に基づいて動的に生成されるSPIエントリを示す図である。 本発明の要部の機能ブロック図である。 従来のパケット通過制御装置の処理フローである。
符号の説明
1・・・パケット通過制御装置、2・・・パケット通過制御部、3・・・中央演算処理部、11・・・I/F(WAN)、12・・・I/F(LAN)、13・・・フィルタリング処理部、14・・・フィルタリング記憶部、15・・・CPU/IF、16・・・CPU、17・・・テーブル記憶部、10・・・中央演算処理部転送手段。

Claims (4)

  1. パケット通過制御部と中央演算処理部とを備え、一方の通信ネットワーク経路から受信したパケットを他方の通信ネットワーク経路へ通過させるか否かを制御するパケット通過制御装置におけるパケット通過制御方法であって、
    パケットのフィルタ規則適合判定条件を示す全ての通信種別のパケットについてパケットの通過許可、廃棄、中央演算処理転送のいずれかを示す第1フィルタリング情報を前記パケット通過制御部のフィルタリング記憶部に登録し、
    受信した通信開始要求パケットが前記第1フィルタリングに一致する場合に、前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通信開始応答パケットについて、前記中央演算処理転送を示す第2フィルタリング情報を前記フィルタリング記憶部に登録し、
    前記通信開始応答パケットが前記第2フィルタリング情報に一致する場合には、前記フィルタリング記憶部に登録された前記第2フィルタリング情報を削除し、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す第3フィルタリング情報を前記フィルタリング記憶部に登録し、
    前記パケット通過制御部の通過処理手段が、前記受信したパケットに関連する一連のパケット処理について、前記フィルタリング記憶部に登録された前記第3フィルタリング情報に一致するか否かを判定し、一致している場合には前記中央演算処理部を介さずに通過処理を行なうことを特徴とするパケット通過制御方法。
  2. 請求項1に記載のパケット通過制御方法において、
    前記第2および第3フィルタリング情報を、前記第1フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部に登録することを特徴とするパケット通過制御方法。
  3. 請求項1または2に記載のパケット通過制御方法において、
    前記第1、第2および第3フィルタリング情報を、前記フィルタリング記憶部のSPIエントリに登録することを特徴とするパケット通過制御方法。
  4. パケット通過制御部と中央演算処理部とを備え、一方の通信ネットワーク経路から受信したパケットを他方の通信ネットワーク経路へ通過させるか否かを制御するパケット通過制御装置におけるパケット通過制御方法であって、
    最も優先度の低いフィルタリング情報として、パケットのフィルタ規則適合判定条件を示す全ての通信種別のパケットについてパケットの通過許可、廃棄、中央演算処理転送のいずれかを示す制御種別である第1フィルタリング情報を前記パケット通過制御部のフィルタリング記憶部に登録し、
    前記パケット通過制御部の中央演算処理部転送手段が、通信開始要求パケットを受信した際に、当該パケットの通信種別と制御種別が、前記フィルタリング記憶部に登録されている前記第1フィルタリングに一致する場合に、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送し、
    前記中央演算処理部の第2フィルタリング情報登録手段が、前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通信開始応答パケットについて、前記制御種別が中央演算処理部への転送を示す第2フィルタリング情報を、前記第1フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部に登録し、
    前記中央演算処理部転送手段が、前記フィルタリング記憶部に登録された前記第2フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記第2フィルタリング情報の制御種別に従い、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送し、
    前記中央演算処理部転送手段が、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通信開始完了パケットについて、前記フィルタリング記憶部に登録された前記第1フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記第1フィルタリング情報の制御種別に従い、その受信したパケットの少なくとも通信種別を前記中央演算処理部へ転送し、
    前記中央演算処理部の第3フィルタリング情報登録手段が、前記フィルタリング記憶部に登録された前記第2フィルタリング情報を削除し、前記一方の通信ネットワーク経路から前記他方の通信ネットワーク経路への通過、および前記他方の通信ネットワーク経路から前記一方の通信ネットワーク経路への通過、の両方の通過許可を示す第3フィルタリング情報を、前記第1フィルタリング情報より優先度の高い情報として優先的に前記フィルタリング記憶部に登録し、
    前記パケット通過制御部の通過処理手段が、前記受信したパケットに関連する一連のパケット処理について、前記フィルタリング記憶部に登録された前記第3フィルタリング情報に一致するか否かを前記優先度順に判定し、一致している場合には前記中央演算処理部を介さずに通過処理を行なうことを特徴とするパケット通過制御方法。
JP2008280121A 2008-10-30 2008-10-30 パケット通過制御方法 Active JP5088830B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008280121A JP5088830B2 (ja) 2008-10-30 2008-10-30 パケット通過制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008280121A JP5088830B2 (ja) 2008-10-30 2008-10-30 パケット通過制御方法

Publications (2)

Publication Number Publication Date
JP2010109731A true JP2010109731A (ja) 2010-05-13
JP5088830B2 JP5088830B2 (ja) 2012-12-05

Family

ID=42298718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008280121A Active JP5088830B2 (ja) 2008-10-30 2008-10-30 パケット通過制御方法

Country Status (1)

Country Link
JP (1) JP5088830B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023508302A (ja) * 2019-12-31 2023-03-02 華為技術有限公司 ネットワークセキュリティ保護方法及び保護デバイス

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004515182A (ja) * 2000-11-28 2004-05-20 ワールドコム・インコーポレーテッド 分散されたネットワークアクセスシステムのためのメッセージ、制御および報告インターフェイス
JP2007221240A (ja) * 2006-02-14 2007-08-30 Nippon Telegr & Teleph Corp <Ntt> パケット通過制御装置及びパケット通過制御方法
JP2008131584A (ja) * 2006-11-24 2008-06-05 Hitachi Ltd 情報処理装置及び情報処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004515182A (ja) * 2000-11-28 2004-05-20 ワールドコム・インコーポレーテッド 分散されたネットワークアクセスシステムのためのメッセージ、制御および報告インターフェイス
JP2007221240A (ja) * 2006-02-14 2007-08-30 Nippon Telegr & Teleph Corp <Ntt> パケット通過制御装置及びパケット通過制御方法
JP2008131584A (ja) * 2006-11-24 2008-06-05 Hitachi Ltd 情報処理装置及び情報処理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023508302A (ja) * 2019-12-31 2023-03-02 華為技術有限公司 ネットワークセキュリティ保護方法及び保護デバイス
JP7462757B2 (ja) 2019-12-31 2024-04-05 華為技術有限公司 ネットワークセキュリティ保護方法及び保護デバイス

Also Published As

Publication number Publication date
JP5088830B2 (ja) 2012-12-05

Similar Documents

Publication Publication Date Title
US6701432B1 (en) Firewall including local bus
US7558266B2 (en) System and method for restricting network access using forwarding databases
EA004423B1 (ru) Система, устройство и способ быстрой фильтрации и обработки пакетов
US20030018914A1 (en) Stateful packet forwarding in a firewall cluster
JP6674007B1 (ja) 車載通信装置、通信制御方法および通信制御プログラム
JP4290198B2 (ja) 信頼できるプロセスを許可する柔軟なネットワークセキュリティシステム及びネットワークセキュリティの方法
JP2021111396A (ja) コンテナネットワークのためのセキュリティ
US11838318B2 (en) Data plane with connection validation circuits
CN105323259A (zh) 一种防止同步包攻击的方法和装置
JP2022500957A (ja) パケット処理
JP3581345B2 (ja) パケット転送装置およびパケット転送方法
JP5088830B2 (ja) パケット通過制御方法
JP2007259365A (ja) ルーティング処理装置および方法
CN110971701B (zh) 物联网通信方法及装置
KR100864889B1 (ko) Tcp 상태 기반 패킷 필터 장치 및 그 방법
JP2008060763A (ja) ネットワークノード
CN112929278B (zh) 一种网络通信设备多核并行快速转发数据包的方法及系统
JP4306498B2 (ja) リプライ・アタックエラー検出方法および装置
JP4542053B2 (ja) パケット中継装置、パケット中継方法及びパケット中継プログラム
JP2009060245A (ja) 通信制御方法、プログラム及び通信装置
JP2009049940A (ja) プロトコルヘッダ解析装置及びパケット通信装置
JP2006238039A (ja) パケット処理装置
JP3844302B2 (ja) プロトコル二重化装置及びプロトコル二重化方法
US20100205487A1 (en) Information processing apparatus, information processing method, program and information processing system
JP2004179999A (ja) 侵入検知装置およびその方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120807

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120905

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120906

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150921

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5088830

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150