JP6705590B2 - パケットフィルタリング装置、パケットフィルタリング方法およびパケットフィルタリングプログラム - Google Patents

パケットフィルタリング装置、パケットフィルタリング方法およびパケットフィルタリングプログラム Download PDF

Info

Publication number
JP6705590B2
JP6705590B2 JP2016002423A JP2016002423A JP6705590B2 JP 6705590 B2 JP6705590 B2 JP 6705590B2 JP 2016002423 A JP2016002423 A JP 2016002423A JP 2016002423 A JP2016002423 A JP 2016002423A JP 6705590 B2 JP6705590 B2 JP 6705590B2
Authority
JP
Japan
Prior art keywords
packet
client
server
client device
server device
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.)
Active
Application number
JP2016002423A
Other languages
English (en)
Other versions
JP2017123593A (ja
Inventor
大助 東
大助 東
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.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2016002423A priority Critical patent/JP6705590B2/ja
Publication of JP2017123593A publication Critical patent/JP2017123593A/ja
Application granted granted Critical
Publication of JP6705590B2 publication Critical patent/JP6705590B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、パケットフィルタリング装置、パケットフィルタリング方法およびパケットフィルタリングプログラムに関し、特に、通信シーケンスにおいて透過判定を行うパケットフィルタリング装置、パケットフィルタリング方法およびパケットフィルタリングプログラムに関する。
クライアント装置及びサーバ装置を含むネットワークシステムにおいて、クライアント装置とサーバ装置との間には、ルータやファイアウォール等が設けられている。ルータやファイアウォール等は、パケットフィルタリング機能を有している。パケットフィルタリング機能により、クライアント等の送信元から送信されたパケットを判定して、サーバ装置に透過している。パケットフィルタリング機能による判定は、例えば、パケットのヘッダに含まれた情報を基にして行われる。透過できないと判定されたパケットは、送信元に送り返されるか、破棄される。
特許文献1には、クライアント装置と、サーバ装置との間に設けられたパケットフィルタリング装置が開示されている。特許文献1のパケットフィルタリング装置は、パケットを透過させてもよいか判定するためのフィルタ情報を記憶し、フィルタ情報に基づいてパケットの透過を判定することが開示されている。
特開2005−311707号公報
図17に示すように、クライアント装置110と、サーバ装置130とを含むネットワークシステムにおいて、従来の外部機器120が行うパケットフィルタリング方法は、1パケット毎の検査しかサポートしていない。このため、複数のパケット140交換から成立する通信シーケンスの途中で、不正パケット141が存在した場合に、通信シーケンスの途中の不正パケット141を破棄してしまうと、通信シーケンスが途絶えてしまう。その結果、サーバ装置130のシステム側にタイムアウト等のエラーが発生してしまう場合がある。
本発明は、このような課題を解決するためになされたものであり、通信シーケンスの途中で不正なパケットが存在した場合でも、通信シーケンス中のパケット欠如によるシーケンスエラーの発生を防ぐことができるパケットフィルタリング装置、パケットフィルタリング方法およびパケットフィルタリングプログラムを提供する。
一実施の形態に係るパケットフィルタリング装置は、ネットワークシステムにおけるクライアント装置とサーバ装置との間に配置されたパケットフィルタリング装置であって、前記クライアント装置または前記サーバ装置から送信された複数のパケットの交換を含む通信シーケンスに対して、所定の検査条件に基づいて、前記クライアント装置と前記サーバ装置との間の前記パケットの透過判定を行い、前記パケットの送信元の前記クライアント装置または前記サーバ装置との間で、前記通信シーケンスの代理応答を行う。
また、一実施の形態に係るパケットフィルタリング方法は、ネットワークシステムにおけるクライアント装置とサーバ装置との間に配置されたパケットフィルタリング装置を用いたパケットフィルタリング方法であって、前記クライアント装置または前記サーバ装置から送信された複数のパケットの交換を含む通信シーケンスに対して、所定の検査条件に基づいて、前記クライアント装置と前記サーバ装置との間の前記パケットの透過判定を行い、前記パケットの送信元の前記クライアント装置または前記サーバ装置との間で、前記パケットの代理応答を行う。
さらに、一実施の形態に係るパケットフィルタリングプログラムは、ネットワークシステムにおけるクライアント装置とサーバ装置との間に配置されたコンピュータに実行させるパケットフィルタリングプログラムであって、前記クライアント装置または前記サーバ装置から送信された複数のパケットの交換を含む通信シーケンスに対して、所定の検査条件に基づいて、前記クライアント装置と前記サーバ装置との間の前記パケットの透過判定を行い、前記パケットの送信元の前記クライアント装置または前記サーバ装置との間で、前記パケットの代理応答を行うことをコンピュータに実行させる。
一実施の形態によれば、通信シーケンスの途中で不正なパケットが存在した場合でも、通信シーケンス中のパケット欠如によるシーケンスエラーの発生を防ぐことができるパケットフィルタリング装置、パケットフィルタリング方法およびパケットフィルタリングプログラムを提供する。
実施形態に係るパケットフィルタリング装置の代理応答を例示したシーケンス図である。 実施形態に係るパケットフィルタリング装置の代理応答を例示したシーケンス図である。 実施形態1に係るパケットフィルタリング装置を含むネットワークシステムを例示した図である。 実施形態に係るパケットフィルタ処理部において設定されたパケットの検査条件を例示した表である。 実施形態に係るTCPコネクションの接続シーケンスを例示した図である。 実施形態に係るパケットフィルタリング装置のクライアント側TCP/IP制御部におけるTCPコネクション接続を例示したフローチャートである。 実施形態に係るパケットフィルタリング装置のサーバ側TCP/IP制御部におけるTCPコネクション接続を例示したフローチャートである。 実施形態に係るパケットフィルタリング装置において、TCPコネクション確立後にクライアント装置側のTCPコネクションが切断された場合を例示したシーケンス図である。 実施形態に係るパケットフィルタリング装置において、TCPコネクション確立後にサーバ装置30側のTCPコネクションが切断された場合を例示したシーケンス図である。 実施形態に係るパケットフィルタリング装置において、クライアント装置からパケットを受信した場合を例示したシーケンス図である。 実施形態に係るパケットフィルタリング装置において、サーバ装置からパケットを受信した場合を例示したシーケンス図である。 実施形態に係るパケットフィルタリング装置において、クライアント側TCP/IP制御部のパケットフィルタリング処理を例示したフローチャート図である。 実施形態に係るパケットフィルタリング装置において、サーバ側TCP/IP制御部のパケットフィルタリング処理を例示したフローチャート図である。 実施形態に係るパケットフィルタリング装置において、パケット透過判定部のパケットフィルタリング処理を例示したフローチャート図である。 実施形態に係るパケットフィルタリング装置において、パケット格納部のパケットフィルタリング処理を例示したフローチャート図である。 実施形態に係るパケットフィルタリング装置において、代理応答部のパケットフィルタリング処理を例示したフローチャート図である。 比較例に係る外部機器のパケットフィルタリング処理を例示したシーケンス図である。
(実施形態1)
以下、図面を参照して本発明の実施形態1に係るパケットフィルタリング装置を説明する。
図1及び図2は、実施形態に係るパケットフィルタリング装置の代理応答を例示したシーケンス図である。図1に示すように、パケットフィルタリング装置20は、ネットワークシステムにおけるクライアント装置10とサーバ装置30との間に配置されている。クライアント装置10とサーバ装置30との間のTCPパケット(パケット40ともいう。)による通信は、パケットフィルタリング装置20を中継して行われる。送信元の装置(クライアント装置10またはサーバ装置30)から送信された複数のパケット40の交換を含む通信シーケンスに対しては、パケットフィルタリング装置20は、所定の検査条件に基づいて、送信元の装置との間のパケット40の透過判定を行う。それと共に、パケットフィルタリング装置20は、パケット40の送信元の装置との間で、通信シーケンスの代理応答を行う。このようにして、パケットフィルタリング装置20は、代理応答により、送信元の装置と疑似的に通信シーケンスを継続する。
パケットフィルタリング装置20は、送信元から送信された通信シーケンスの複数のパケット40を、妥当なパケットと判定した場合、すなわち、全てのパケットに問題がなく、通信シーケンスが正常であると判定した場合には、送信先の装置(サーバ装置30またはクライアント装置10)との間で、送信元と行った通信シーケンスと同じ通信シーケンスを改めてやり直す。これにより、パケットフィルタリング装置20は、送信元から送信された通信シーケンスの妥当なパケット40を送信先の装置に対して送信することができる。
一方、図2に示すように、パケットフィルタリング装置20が、代理応答を行い、送信元の装置と疑似的に通信シーケンスを継続していたときに、送信元の装置から透過を許可できない不正パケット41が送信されることがある。パケットフィルタリング装置20は、送信元から送信された通信シーケンスのパケットを、不正なパケット41と判定した場合、すなわち、所定の検査条件に基づいて、クライアント装置10及びサーバ装置30間を透過させることができないパケットであると判定した場合には、不正なパケット41を破棄する。そして、通信シーケンスを中止する。これにより、パケットフィルタリング装置20は、送信先の装置(サーバ装置30)に、不正なパケット41を含む通信シーケンスを一切到達させないようにすることができる。よって、送信先のサーバ装置30には、当該通信シーケンスのパケットが一つも届かないのでエラーとなることがない。
図3は、実施形態1に係るパケットフィルタリング装置を含むネットワークシステムを例示した図である。図3に示すように、ネットワークシステム1は、複数のクライアント装置10と、パケットフィルタリング装置20と、サーバ装置30と、を含んでいる。
クライアント装置10は、ネットワークシステム1上に複数存在する。例えば、クライアント装置10は、N個存在し、1〜Nで番号付けられている。各クライアント装置10は、パケットフィルタリング装置20を介してサーバ装置30とTCPコネクションを確立し、個別に通信を行う。
サーバ装置30は、ネットワークシステム1上のサーバとしての役割を有している。サーバ装置30は、パケットフィルタリング装置20を介して、各クライアント装置10からのTCPコネクションの確立を待ち受けている。サーバ装置30は、各クライアント装置10とのTCPコネクション確立後に各クライアント装置10と通信を行う。
TCPコネクションは、クライアント装置10とパケットフィルタリング装置20との間、及び、パケットフィルタリング装置20とサーバ装置30との間で確立する。
クライアント装置10とパケットフィルタリング装置20との間のTCPコネクションは、パケットフィルタリング装置20がTCPサーバ、クライアント装置10がTCPクライアントの役割となり、クライアント装置10のIPアドレス・ポート番号からパケットフィルタリング装置20のIPアドレス・ポート番号宛てにTCPコネクションを確立する。
パケットフィルタリング装置20とサーバ装置30との間のTCPコネクションは、サーバ装置30がTCPサーバ、パケットフィルタリング装置20がTCPクライアントの役割となり、パケットフィルタリング装置20のIPアドレス・ポート番号からサーバ装置30のIPアドレス・ポート番号宛てにTCPコネクションを確立する。
パケットフィルタリング装置20は、内部機能として、クライアント側TCP/IP制御部21、パケットフィルタ処理部22、サーバ側TCP/IP制御部23、とを有する。
クライアント側TCP/IP制御部21は、クライアント装置10と接続されている。クライアント側TCP/IP制御部21は、クライアント装置10のTCPコネクションを管理する機能を有する。クライアント側TCP/IP制御部21は、クライアント装置10からのTCPコネクション接続要求を待ち受けている。クライアント装置10からTCPコネクションの接続を要求された場合には、クライアント側TCP/IP制御部21は、要求元のIPアドレス・ポート番号を確認する。そして、所定の条件に基づいて許可可能な要求元であると判断された場合には、TCPコネクションの確立を許可する。TCPコネクションが確立できた場合は、クライアント側TCP/IP制御部21は、TCPコネクション管理用に管理番号を記憶する。クライアント側TCP/IP制御部21は、TCPコネクションが確立したクライアント装置10からパケットを受信した場合は、送信されたパケットをパケットフィルタ処理部22へ転送する。
サーバ側TCP/IP制御部23は、サーバ装置30と接続されている。サーバ側TCP/IP制御部23は、サーバ装置30とのTCPコネクションを管理する機能を有する。サーバ側TCP/IP制御部23は、クライアント側TCP/IP制御部21でクライアント装置10とのTCPコネクションが確立できた場合には、サーバ装置30に対してTCPコネクションの接続を要求する。サーバ装置30とパケットフィルタリング装置20のTCPコネクションが確立できた場合は、サーバ側TCP/IP制御部23は、クライアント側TCP/IP制御部21で管理しているTCPコネクション管理用の管理番号と紐付を行う。また、サーバ側TCP/IP制御部23は、TCPコネクションが確立したサーバ装置30からパケットを受信した場合は、送信されたパケットをパケットフィルタ処理部22へ転送する。
パケットフィルタ処理部22は、クライアント側TCP/IP制御部21から転送されたパケットを受信する。また、パケットフィルタ処理部22は、サーバ側TCP/IP制御部23から転送されたパケットを受信する。パケットフィルタ処理部22は、内部機能として、パケット透過判定部24、パケット格納部25、代理応答部26を有している。
パケット透過判定部24には、クライアント側TCP/IP制御部21、または、サーバ側TCP/IP制御部23からパケットが転送される。パケット透過判定部24は、転送されたパケットに対して、設定された所定の検査条件に基づいて、パケットの透過判定を行う。転送されたパケットが通信シーケンスのパケットの場合でも、パケット透過判定部24は、所定の検査条件に基づいて、クライアント装置10とサーバ装置30との間のパケットの透過判定を行う。パケット透過判定部24は、転送された通信シーケンスの複数のパケットを、妥当なパケットと判定した場合には、パケット格納部25に対して、複数のパケットの保存を要求する。例えば、パケット透過判定部24は、パケット格納部25に対して、複数のパケットをキューに格納するように要求する。また、パケット透過判定部24は、疑似通信シーケンスを行うため、代理応答部26に対して送信元の装置(クライアント装置10またはサーバ装置30)との代理応答を要求する。
パケット格納部25は、パケット透過判定部24からの要求により、複数のパケットを記憶領域(キュー)に格納する。また、パケット格納部25は、パケット透過判定部24が、通信シーケンスの複数のパケットは妥当なパケットであると判定した場合には、格納したパケットを送信先に送信する。一方、パケット透過判定部24が、通信シーケンスのパケットを1つでも、不正なパケットと判定した場合には、パケット格納部25は、格納したパケットを破棄する。
代理応答部26は、パケット透過判定部24からの代理応答の要求により、送信元の装置(クライアント装置10またはサーバ装置30)との疑似通信シーケンスを行うために、パケットの代理応答を行う。
図4は、実施形態に係るパケットフィルタ処理部において設定されたパケットの検査条件を例示した表である。図4に示すように、パケットの検査条件として設定する項目には、例えば、送信元IPアドレス、送信元ポート、送信先IPアドレス、送信先ポート、パケットサイズ、TCP制御フラグ(URG/ACK/PSH/RST/SYN/FIN)、システム固有のコマンド、通信シーケンスが挙げられる。
例えば、送信元IPアドレスにおける設定内容は、一致した送信元IPアドレスからのパケットの透過/破棄を指定することである。また、送信元ポートにおける設定内容は、一致した送信元ポート番号からのパケットの透過/破棄を指定することである。送信先IPアドレスにおける設定内容は、一致した送信先IPアドレスへのパケットの透過/破棄を指定することである。送信先ポートにおける設定内容は、一致した送信先ポート番号へのパケットの透過/破棄を指定することである。
さらに、パケットサイズにおける設定内容は、透過/破棄を判断するパケットサイズの閾値を指定することである。TCP制御フラグにおける設定内容は、TCPヘッダ部の制御フラグが一致したパケットの透過/破棄を指定することである。システム固有のコマンドにおける設定内容は、システム固有のコマンド(指定値)がTCPペイロード部に存在するパケットの透過/破棄を指定することである。
通信シーケンスにおける設定内容は、透過または破棄する通信シーケンスを指定することである。なお、通信シーケンスの指定には、パケットの受信順、送信元装置に代理応答するパケット内容及びシーケンス間のタイムアウト値を指定する。
次に、本実施形態に係るパケットフィルタリング装置20の動作を説明する。まず、クライアント装置10とサーバ装置30との間のTCPコネクションの確立方法を説明する。
図5は、実施形態に係るTCPコネクションの接続シーケンスを例示した図である。図5に示すように、まず、クライアント装置10からパケットフィルタリング装置20へ接続要求50を行う。パケットフィルタリング装置20におけるクライアント側TCP/IP制御部21は、クライアント装置10からの接続要求の妥当性を判定する。妥当性を判定した結果、許可された接続元であれば、クライアント側TCP/IP制御部21は接続を許可する。そして、TCPコネクション管理用の管理番号を登録する。
クライアント装置10とTCPコネクションを確立できた場合は、クライアント側TCP/IP制御部21は、サーバ側TCP/IP制御部23に対して、サーバ装置30との接続を要求する。サーバ側TCP/IP制御部21は、サーバ装置30に対してTCPコネクションの接続を要求する。サーバ装置30がサーバ側TCP/IP制御部21とのTCPコネクションの接続に応答することによって、パケットフィルタリング装置20とサーバ装置30とのTCPコネクションの接続が確立される。
サーバ装置30とTCPコネクションの確立に成功した場合には、クライアント側TCP/IP制御部21は、TCPコネクション管理用の管理番号にサーバ装置30側の接続情報を紐付する。TCPコネクションの確立に失敗した場合には、クライアント側TCP/IP制御部21は、TCPコネクション管理用の管理番号を削除し、クライアント装置10側のTCPコネクションも切断する。
一方、クライアント装置10からの接続要求50の妥当性を判定した結果、許可されていない接続元であった場合は、クライアントTCP/IP制御部21は接続を拒否し、TCPコネクションを切断する。
図6は、実施形態に係るパケットフィルタリング装置のクライアント側TCP/IP制御部におけるTCPコネクション接続を例示したフローチャートである。図6に示すように、クライアント側TCP/IP制御部21は、クライアント装置10からパケットフィルタリング装置20に対する接続要求待ちを行う(ステップS11)。そして、クライアント装置10から接続要求を受信すると(ステップS12)、クライアント側TCP/IP制御部21は、許可された接続元か判定する(ステップS13)。許可されない接続元である(Noの)場合には、接続要求を拒否する(ステップS14)。そして、クライアント装置10からの接続要求待ちを行う(ステップS11)。
一方、許可された接続元である(Yesの)場合には、接続を許可した上で、クライアント装置10とTCPコネクションを確立する。そして、TCPコネクション管理用の管理番号を登録する(ステップS15)。次に、クライアント側TCP/IP制御部21は、サーバ側TCP/IP制御部23にクライアント装置10との接続を通知する(ステップS16)。これにより、サーバ側TCP/IP制御部23は、サーバ装置30との接続を試みる。その後、クライアント側TCP/IP制御部21は、サーバ側TCP/IP制御部23からサーバ装置30との接続結果を受信する(ステップS17)。
受信した接続結果より、サーバ装置30と接続できたか判断する(ステップS18)。サーバ装置30と接続できない(Noの)場合には、クライアント装置10とのTCPコネクションを切断する(ステップS19)。そして、ステップS11に戻り、クライアント装置10からの接続要求を待つ。一方、サーバ装置30と接続できた(Yesの)場合には、クライアント装置10からのパケット受信等のパケット処理(ステップS20)を行う。このようにして、クライアント側TCP/IP制御部21におけるTCPコネクション接続が行われる。
図7は、実施形態に係るパケットフィルタリング装置のサーバ側TCP/IP制御部におけるTCPコネクション接続の流れを示したフローチャートである。図7に示すように、サーバ側TCP/IP制御部23は、クライアント側TCP/IP制御部21からのクライアント装置10との接続情報待ちを行う(ステップS21)。そして、クライアント側TCP/IP制御部21からクライアント装置10との接続情報を受信すると(ステップS22)、サーバ側TCP/IP制御部23は、サーバ装置30へ接続を要求する(ステップS23)。そして、サーバ装置30への接続要求が許可された接続先か判断する(ステップS24)。許可されない接続先である(Noの)場合には、接続要求を拒否する。そして、クライアント側TCP/IP制御部へサーバ装置30への接続結果(失敗)を通知する(ステップS25)。そして、ステップS21に戻り、クライアント側TCP/IP制御部からのクライアント装置10との接続情報待ちを行う。
一方、許可された接続先である(Yesの)場合には、接続を許可した上で、サーバ装置30とTCPコネクションを確立する。そして、クライアント装置10の接続情報と紐付けする(ステップS26)。次に、クライアント側TCP/IP制御部21へサーバ装置30との接続結果(成功)を通知する(ステップS27)。そして、サーバ装置30へのパケット送信等のパケット処理を行う(ステップS28)。
図8は、実施形態に係るパケットフィルタリング装置において、TCPコネクション確立後にクライアント装置側のTCPコネクションが切断された場合を例示したシーケンス図である。図8に示すように、TCPコネクション確立した後に、クライアント装置10側のTCPコネクションが切断された場合には、クライアント側TCP/IP制御部21は、対象のTCPコネクション管理用の管理番号を確認する。そして、その管理番号に紐付けされたサーバ装置30とのTCPコネクションを切断するようにサーバ側TCP/IP制御部23に要求する。クライアント側TCP/IP制御部21からの要求により、サーバ側TCP/IP制御部23は、サーバ装置30とのTCPコネクションを切断する。サーバ側TCP/IP制御部23からのサーバ装置30と切断した旨の応答により、クライアント側TCP/IP制御部21は、対象のTCPコネクション管理用の管理番号を削除する。
図9は、実施形態に係るパケットフィルタリング装置において、TCPコネクション確立後にサーバ装置30側のTCPコネクションが切断された場合を例示したシーケンス図である。図9に示すように、TCPコネクション確立した後に、サーバ装置30側のTCPコネクションが切断された場合には、サーバ側TCP/IP制御部23は、クライアント側TCP/IP制御部21に対してクライアント装置10との切断を要求する。クライアント装置10との切断を要求されたクライアント側TCP/IP制御部21は、対象のTCPコネクション管理用の管理番号を確認する。そして、クライアント側TCP/IP制御部21は、クライアント装置10とのTCPコネクションを切断する。クライアント側TCP/IP制御部21は、サーバ側TCP/IP制御部23に対して切断した旨の応答を行い、対象の管理番号を削除する。
図10は、実施形態に係るパケットフィルタリング装置において、クライアント装置からパケットを受信した場合を例示したシーケンス図である。図10において、まず、パケット単位のパケットフィルタリングの場合について説明し、その後で、通信シーケンス単位でのパケットフィルタリングの場合を説明する。
図10に示すように、クライアント装置10から送信されたパケット40が、パケット単位の場合には、クライアント側TCP/IP制御部21はパケット40を、パケット透過判定部24へ転送する。パケット透過判定部24は、転送されたパケット40が図4の検査条件に該当するかを判定する。判定した結果、転送されたパケット40が透過対象である妥当なパケット40の場合には、パケット透過判定部24は、そのまま、サーバ側TCP/IP制御部23へパケット40を転送する。そして、サーバ側TCP/IP制御部23は、サーバ装置30へパケット40を送信する。一方、転送されたパケットが破棄対象である不正なパケットの場合には、パケット透過判定部24はパケットを破棄する。
次に、クライアント装置10から送信されたパケット40が、通信シーケンスのパケット40であった場合には、クライアント側TCP/IP制御部21はパケット40を、パケット透過判定部24へ転送する。パケット透過判定部24は、転送されたパケット40が図4の検査条件に該当するか、パケットの内容や受信順に不正が無いか等を判定する。転送されたパケット40が通信シーケンスとして妥当なパケット40である場合は、パケット透過判定部24は、パケット格納部25に対してパケット40をキューに格納するように要求する。これを受けて、パケット格納部25は、パケット40をキューに格納する。
また、パケット透過判定部24は、代理応答部26に対して、転送されたパケット40に対する代理応答を送信元に対して行うように要求する。これを受けて、代理応答部26は、クライアント側TCP/IP制御部21に対して代理応答のためのパケット40を転送する。クライアント側TCP/IP制御部21は、代理応答部26からパケット40を転送された場合には、パケット40をクライアント装置10に送信する。
通信シーケンスにおいて、受信したパケット40が通信シーケンスの終了を示すパケット40である場合は、パケット格納部25は、格納したパケット40を順番にキューから取出す。そして、パケット格納部25は、取出したパケット40をサーバ側TCP/IP制御部23に転送する。サーバ側TCP/IP制御部23は、パケット格納部25から転送されたパケット40を送信先のサーバ装置30に対して送信する。
一方、パケット透過判定部24における転送されたパケット40の判定の結果、通信シーケンスとして不正なパケットが1つでもあった場合は、パケット透過判定部24は、転送されたパケットを破棄する。そして、パケット透過判定部24は、パケット格納部25に対して、キューに格納したパケット40を全て破棄するように要求する。これを受けて、パケット格納部25は、格納したパケット40をキューから全て削除する。
図11は、実施形態に係るパケットフィルタリング装置において、サーバ装置からパケットを受信した場合を例示したシーケンス図である。図11において、まず、パケット単位のパケットフィルタリングの場合について説明し、その後で、通信シーケンス単位でのパケットフィルタリングの場合を説明する。
図11に示すように、サーバ装置30から送信されたパケット40が、パケット単位の場合には、サーバ側TCP/IP制御部23は、パケット40をパケット透過判定部24へ転送する。パケット透過判定部24は、転送されたパケット40が図4の検査条件に該当するかを判定する。判定した結果、転送されたパケット40が透過対象である妥当なパケット40の場合には、パケット透過判定部24は、そのまま、クライアント側TCP/IP制御部21へパケット40を転送する。そして、クライアント側TCP/IP制御部21は、クライアント装置10へパケット40を送信する。一方、転送されたパケットが破棄対象である不正なパケットの場合には、パケット透過判定部24は、パケットを破棄する。
次に、サーバ装置30から送信されたパケット40が、通信シーケンスのパケット40であった場合には、サーバ側TCP/IP制御部23はパケット40を、パケット透過判定部24へ転送する。パケット透過判定部24は、転送されたパケット40が図4の検査条件に該当するか、パケットの内容や受信順に不正が無いか等を判定する。転送されたパケット40が通信シーケンスとして妥当なパケットである場合は、パケット透過判定部24は、パケット格納部25に対してパケットをキューに格納するように要求する。これを受けて、パケット格納部25は、パケット40をキューに保存する。
また、パケット透過判定部24は、代理応答部26に対して、転送されたパケット40に対する代理応答を送信元に対して行うように要求する。これを受けて、代理応答部26は、サーバ側TCP/IP制御部23に対して代理応答のためのパケット40を転送する。サーバ側TCP/IP制御部23は、代理応答部26からパケット40を転送された場合には、パケット40をサーバ装置30に送信する。
通信シーケンスにおいて、受信したパケット40が通信シーケンスの終了を示すパケット40である場合は、パケット格納部25は、格納したパケット情報を順番にキューから取出す。そして、パケット格納部25は、取出したパケット40をクライアント側TCP/IP制御部21に転送する。クライアント側TCP/IP制御部21は、パケット格納部25から転送されたパケット40を送信先のクライアント装置10に対して送信する。
一方、パケット透過判定部24において転送されたパケット40の判定の結果、通信シーケンスとして不正なパケットが1つでもあった場合は、パケット透過判定部24は、転送されたパケットを破棄する。そして、パケット透過判定部24は、パケット格納部25に対して、キューに格納した全てのパケット40を破棄するように要求する。これを受けて、パケット格納部25は、格納したパケット40をキューから全て削除する。
図12は、実施形態に係るパケットフィルタリング装置において、クライアント側TCP/IP制御部のパケットフィルタリング処理を例示したフローチャート図である。図12に示すように、クライアントTCP/IP制御部21は、クライアント装置10またはパケットフィルタ処理部22からのパケット待ちを行う(ステップS31)。そして、クライアント装置10またはパケットフィルタ処理部22からパケットを受信すると(ステップS32)、クライアント側TCP/IP制御部21は、送信元はどこか判断する(ステップS33)。
パケットフィルタ処理部22から受信したパケットであり、すなわち、送信元がパケットフィルタ処理部22である場合には、クライアント側TCP/IP制御部21は、クライアント装置10へパケットを送信する(ステップS34)。そして、ステップS31のパケット待ちを行う。
一方、クライアント装置10から受信したパケットであり、すなわち、送信元がクライアント装置10である場合には、クライアント側TCP/IP制御部21は、パケットフィルタ処理部22へパケットを転送する(ステップS35)。そして、ステップS31のパケット待ちを行う。
図13は、実施形態に係るパケットフィルタリング装置において、サーバ側TCP/IP制御部のパケットフィルタリング処理を例示したフローチャート図である。図13に示すように、サーバTCP/IP制御部23は、サーバ装置30またはパケットフィルタ処理部22からのパケット待ちを行う(ステップS36)。そして、サーバ装置30またはパケットフィルタ処理部22からパケットを受信すると(ステップS37)、サーバ側TCP/IP制御部23は、送信元はどこか判断する(ステップS38)。
パケットフィルタ処理部22から受信したパケットであり、すなわち、送信元がパケットフィルタリ処理部22である場合には、サーバ側TCP/IP制御部23は、サーバ装置30へパケットを送信する(ステップS39)。そして、ステップS36のパケット待ちを行う。
一方、サーバ装置30から受信したパケットであり、すなわち、送信元がサーバ装置30である場合には、サーバ側TCP/IP制御部23は、パケットフィルタ処理部22へパケットを転送する(ステップS40)。そして、ステップS36のパケット待ちを行う。
図14は、実施形態に係るパケットフィルタリング装置において、パケット透過判定部のパケットフィルタリング処理を例示したフローチャート図である。図14に示すように、パケット透過判定部24は、クライアント側TCP/IP制御部21またはサーバTCP/IP制御部23から転送されるパケット待ちを行う(ステップS41)。そして、クライアント側TCP/IP制御部21またはサーバTCP/IP制御部23からパケットが転送されると(ステップS42)、パケット透過判定部24は、パケットの判定を行う(ステップS43)。パケットが通信シーケンスのパケットの場合には、通信シーケンスのパケットとしての妥当性の判定を行う(ステップS44)。
判定したパケットが不正なパケットの場合には、パケット透過判定部24は、そのパケットを破棄するとともに、パケット格納部25に対して、格納したパケットを破棄するように要求する(ステップS45)。
判定したパケットが妥当なパケットの場合には、パケット透過判定部24は、パケット格納部25に対して、そのパケットを格納するように要求する(ステップS46)。そして、パケット透過判定部24は、代理応答部26に対して、代理応答するように要求する(ステップS47)。その後、ステップS41のパケット待ちを行う。
ステップS43において、パケットを判定した結果、通信シーケンスのパケットではなく、かつ、破棄対象のパケットである場合には、パケット透過判定部24は、そのパケットを破棄する(ステップS48)。そして、ステップS41のパケット待ちを行う。
一方、ステップS43において、パケットを判定した結果、通信シーケンスのパケットではなく、かつ、透過対象のパケットの場合には、ステップS49に進む。ステップS49において、パケット透過判定部24は、パケットの送信元はどこかを判定する(ステップS49)。
クライアント装置10から受信したパケットである場合には、パケット透過判定部24は、サーバ側TCP/IP制御部23へパケットを転送する(ステップS50)。そして、ステップS41のパケット待ちを行う。サーバ装置30から受信したパケットである場合には、パケット透過判定部24は、クライアント側TCP/IP制御部21へパケットを転送する(ステップS51)。そして、ステップS41のパケット待ちを行う。
図15は、実施形態に係るパケットフィルタリング装置において、パケット格納部のパケットフィルタリング処理を例示したフローチャート図である。図15に示すように、パケット格納部25は、パケット透過判定部24からの要求待ちを行う(ステップS61)。そして、パケット透過判定部24から要求を受信すると(ステップS62)、パケット格納部25は、要求内容を判断する(ステップS63)。要求内容がパケット破棄である場合には、パケット格納部25は、キュー内のパケットをすべて破棄する(ステップS64)。そして、ステップS61のパケット待ちを行う。
一方、要求内容がパケット格納である場合には、パケット格納部25は、パケットをキューに格納する(ステップS65)。そして、パケット格納部25は、格納したパケットが通信シーケンスの最後か判断する(ステップS66)。格納したパケットが通信シーケンスの最後でない(Noの)場合には、ステップS61のパケット待ちを行う。
一方、格納したパケットが通信シーケンスの最後である(Yesの)場合には、キューにパケットが存在するかを判断する(ステップS67)。キューにパケットが存在しない(Noの)場合には、ステップS61のパケット待ちを行う。一方、キューにパケットが存在する(Yesの)場合には、パケットをキューから取り出す(ステップS68)。
次に、パケットの送信元はどこかを判断する(ステップS69)。パケットがクライアント装置から受信したものである場合には、サーバ側TCP/IP制御部23へパケットを転送する(ステップS70)。そして、ステップS67に戻り、キューにパケットが存在するかを判断する。
一方、パケットがサーバ装置から受信したものである場合には、クライアントTCP/IP制御部21へパケットを転送する(ステップS71)。そして、ステップS67に戻り、キューにパケットが存在するかを判断する。
図16は、実施形態に係るパケットフィルタリング装置において、代理応答部のパケットフィルタリング処理を例示したフローチャート図である。図16に示すように、代理応答部26は、パケット透過判定部24からの要求待ちを行う(ステップS81)。そして、パケット透過判定部24から要求を受信すると(ステップS82)、代理応答部26は、代理応答の送信先はどこかを判断する(ステップS83)。代理応答がサーバ装置30宛ての場合には、サーバ側TCP/IP制御部23へパケットを転送する(ステップS84)。そして、ステップS81のパケット待ちを行う。
一方、代理応答がクライアント装置宛ての場合には、クライアント側TCP/IP制御部21へパケットを転送する(ステップS85)。そして、ステップS81のパケット待ちを行う。
このように、本実施形態に係るパケットフィルタリング装置20を用いたパケットフィルタリング方法は、クライアント装置10またはサーバ装置30から送信された複数のパケットの交換を含む通信シーケンスに対して、所定の検査条件に基づいて、クライアント装置10とサーバ装置30との間のパケットの透過判定を行い、パケットの送信元のクライアント装置10またはサーバ装置30との間で、パケットの代理応答を行うものである。
本実施形態によれば、パケットフィルタリング装置20は、クライアント装置10またはサーバ装置10から送信されたパケットを、所定の検査条件に基づいて透過判定を行い、妥当なパケットについては送信先へ透過し、不正なパケットは破棄している。また、パケットフィルタリング装置20は、受信したパケットが通信シーケンスのパケットであった場合には、通信シーケンスの代理応答を行い、疑似的に送信元装置と通信シーケンスを継続している。通信シーケンスの各パケットが妥当なパケットであれば、送信先と改めて通信シーケンスをやり直し、通信シーケンスの各パケットのいずれかに不正なパケットがあった場合は、通信シーケンスを破棄している。これにより、送信先に不正なパケットを含む通信シーケンスを一切到達させないようにすることができる。よって、通信シーケンスの途中で不正なパケットが存在した場合でも、通信シーケンス中のパケット欠如によるシーケンスエラーの発生を防ぐことができる。
また、送信先には妥当なパケットのみ送信され、不正なパケットが一切送信されないので、送信先の資源を有効に使用することができる。
さらに、パケットフィルタリング装置20は、判定に用いる検査条件を予め用意してパケットの判定を行っている。よって、判定の基準を明確にすることができる。また、検査条件と照らし合わせるだけで判定を行うことができる。よって、判定に要する時間を低減することができる。
パケット格納部はキューにパケットを格納するので、取り出しの際にパケットの順序が乱れることを抑制することができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、本実施形態のパケットフィルタリング方法を、ネットワークシステム1におけるクライアント装置10とサーバ装置30との間に配置されたコンピュータに実行させてもよい。そして、コンピュータに実行させるパケットフィルタリングプログラムは、クライアント装置10またはサーバ装置30から送信された複数のパケットの交換を含む通信シーケンスに対して、所定の検査条件に基づいて、クライアント装置10とサーバ装置30との間のパケットの透過判定を行い、パケットの送信元のクライアント装置10またはサーバ装置30との間で、パケットの代理応答を行うことをコンピュータに実行させるものである。
1 ネットワークシステム
10 クライアント装置
20 パケットフィルタリング装置
21 クライアント側TCP/IP制御部
22 パケットフィルタ処理部
23 サーバ側TCP/IP制御部
24 パケット透過判定部
25 パケット格納部
26 代理応答部
30 サーバ装置
40 パケット
41 不正パケット
50 接続要求
110 クライアント装置
120 外部機器
130 サーバ装置
140パケット
141 不正パケット

Claims (7)

  1. ネットワークシステムにおけるクライアント装置とサーバ装置との間に配置されたパケットフィルタリング装置であって、
    前記クライアント装置または前記サーバ装置とのコネクション確立後に、前記コネクションが確立した前記クライアント装置または前記サーバ装置から送信された複数のパケットの交換を含む通信シーケンスに対して、所定の検査条件に基づいて、前記クライアント装置と前記サーバ装置との間の前記パケットの透過判定を行い、
    前記パケットの送信元の前記クライアント装置または前記サーバ装置との間で、前記通信シーケンスの代理応答を行うパケットフィルタリング装置。
  2. 前記パケットフィルタリング装置は、
    前記送信元から送信された前記通信シーケンスの複数の前記パケットを、妥当な前記パケットと判定した場合には、送信先の前記サーバ装置または前記クライアント装置との間で、前記送信元と行った前記通信シーケンスと同じ前記通信シーケンスを行い、
    前記送信元から送信された前記通信シーケンスの前記パケットを、不正な前記パケットと判定した場合には、不正な前記パケットを破棄し、前記通信シーケンスを中止する請求項1に記載のパケットフィルタリング装置。
  3. 前記パケットフィルタリング装置は、パケット透過判定部と、代理応答部と、パケット格納部と、を有し、
    前記パケット透過判定部が、前記透過判定を行い、
    前記代理応答部が、前記パケット透過判定部からの要求により、前記代理応答を行い、
    前記パケット格納部は、前記パケット透過判定部からの要求により、複数の前記パケットをキューに格納し、
    前記パケット透過判定部が、前記通信シーケンスの複数の前記パケットを、妥当な前記パケットと判定した場合には、前記パケット格納部は、格納した前記パケットを前記送信先に送信し、
    前記パケット透過判定部が、前記通信シーケンスの前記パケットを、不正な前記パケットと判定した場合には、前記パケット格納部は、格納した前記パケットを破棄する請求項2に記載のパケットフィルタリング装置。
  4. 前記クライアント装置と接続されたクライアント側TCP/IP制御部をさらに有し、
    前記クライアント側TCP/IP制御部は、
    前記クライアント装置から前記パケットを受信した場合には、前記パケットを前記パケット透過判定部に転送し、
    前記代理応答部から前記パケットを転送された場合には、前記パケットを前記クライアント装置に送信する請求項3に記載のパケットフィルタリング装置。
  5. 前記サーバ装置と接続されたサーバ側TCP/IP制御部をさらに有し、
    前記サーバ側TCP/IP制御部は、
    前記サーバ装置から前記パケットを受信した場合には、前記パケットを前記パケット透過判定部に転送し、
    前記代理応答部から前記パケットを転送された場合には、前記パケットを前記サーバ装置に送信する請求項3または4に記載のパケットフィルタリング装置。
  6. ネットワークシステムにおけるクライアント装置とサーバ装置との間に配置されたパケットフィルタリング装置を用いたパケットフィルタリング方法であって、
    前記クライアント装置または前記サーバ装置とのコネクション確立後に、前記コネクションが確立した前記クライアント装置または前記サーバ装置から送信された複数のパケットの交換を含む通信シーケンスに対して、所定の検査条件に基づいて、前記クライアント装置と前記サーバ装置との間の前記パケットの透過判定を行い、
    前記パケットの送信元の前記クライアント装置または前記サーバ装置との間で、前記パケットの代理応答を行うパケットフィルタリング方法。
  7. ネットワークシステムにおけるクライアント装置とサーバ装置との間に配置されたコンピュータに実行させるパケットフィルタリングプログラムであって、
    前記クライアント装置または前記サーバ装置とのコネクション確立後に、前記コネクションが確立した前記クライアント装置または前記サーバ装置から送信された複数のパケットの交換を含む通信シーケンスに対して、所定の検査条件に基づいて、前記クライアント装置と前記サーバ装置との間の前記パケットの透過判定を行い、
    前記パケットの送信元の前記クライアント装置または前記サーバ装置との間で、前記パケットの代理応答を行うことをコンピュータに実行させるパケットフィルタリングプログラム。
JP2016002423A 2016-01-08 2016-01-08 パケットフィルタリング装置、パケットフィルタリング方法およびパケットフィルタリングプログラム Active JP6705590B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016002423A JP6705590B2 (ja) 2016-01-08 2016-01-08 パケットフィルタリング装置、パケットフィルタリング方法およびパケットフィルタリングプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016002423A JP6705590B2 (ja) 2016-01-08 2016-01-08 パケットフィルタリング装置、パケットフィルタリング方法およびパケットフィルタリングプログラム

Publications (2)

Publication Number Publication Date
JP2017123593A JP2017123593A (ja) 2017-07-13
JP6705590B2 true JP6705590B2 (ja) 2020-06-03

Family

ID=59305846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016002423A Active JP6705590B2 (ja) 2016-01-08 2016-01-08 パケットフィルタリング装置、パケットフィルタリング方法およびパケットフィルタリングプログラム

Country Status (1)

Country Link
JP (1) JP6705590B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007538444A (ja) * 2004-05-20 2007-12-27 キネティック リミテッド ファイアウォール・システム
JP4284248B2 (ja) * 2004-08-20 2009-06-24 日本電信電話株式会社 アプリケーションサービス拒絶攻撃防御方法及びシステム並びにプログラム
JP5655848B2 (ja) * 2009-01-28 2015-01-21 株式会社明電舎 Tcp通信方式
JP5764511B2 (ja) * 2012-03-13 2015-08-19 西日本電信電話株式会社 Urlフィルタリング装置

Also Published As

Publication number Publication date
JP2017123593A (ja) 2017-07-13

Similar Documents

Publication Publication Date Title
US11165879B2 (en) Proxy server failover protection in a content delivery network
US7533178B2 (en) Resuming a computing session when rebooting a computing device
US8020203B2 (en) Techniques for high availability of virtual private networks (VPN's)
CN108667730B (zh) 基于负载均衡的报文转发方法、装置、存储介质和设备
US7480707B2 (en) Network communications management system and method
US8935419B2 (en) Filtering device for detecting HTTP request and disconnecting TCP connection
US20060221946A1 (en) Connection establishment on a tcp offload engine
US10361921B2 (en) Method and apparatus for managing connections in a communication network
RU2641233C2 (ru) Способ, устройство и машиночитаемый носитель данных для зависящей от приложения фильтрации пакетов протокола передачи файлов
CN110266678B (zh) 安全攻击检测方法、装置、计算机设备及存储介质
WO2018099308A1 (zh) 支持地址变化的方法、装置及存储介质
JPWO2007039942A1 (ja) 端末装置及びサーバ装置及び指令装置
US7564848B2 (en) Method for the establishing of connections in a communication system
WO2019120160A1 (zh) 一种数据存储的方法、装置和分布式存储系统
JP2007180891A (ja) 通信装置及びそれに用いるパケット送信制御方法並びにそのプログラム
JP5219903B2 (ja) Urlフィルタリング装置およびurlフィルタリング方法
JP7398251B2 (ja) ビデオカメラを遠隔制御する方法およびビデオ監視システム
US20060212587A1 (en) System, method and program product to manage a communication session
JP5966488B2 (ja) ネットワークシステム、スイッチ、及び通信遅延短縮方法
US7565694B2 (en) Method and apparatus for preventing network reset attacks
JP2008052325A (ja) 端末装置セキュリティ判定プログラム
JP6705590B2 (ja) パケットフィルタリング装置、パケットフィルタリング方法およびパケットフィルタリングプログラム
US10581979B2 (en) Information transmission method and apparatus
US9537878B1 (en) Network adaptor configured for connection establishment offload
WO2019000597A1 (zh) 一种ip地址隐藏方法及装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170713

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191008

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191205

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: 20200414

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200507

R150 Certificate of patent or registration of utility model

Ref document number: 6705590

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150