(57)【特許請求の範囲】
【請求項１】
複数のセキュリティ装置各々の余剰リソース情報に基づき、トラヒックに適用すべき一連のセキュリティ機能を分散配置するセキュリティ装置を選択すると共に、前記選択した各セキュリティ装置が各セキュリティ機能に係る処理の実行に用いるルール集合のサイズを決定する管理モジュールと、
前記選択された各セキュリティ装置に対して、各セキュリティ機能に係る処理の実行に必要なリソースを確保するよう指示すると共に、前記選択された各セキュリティ装置に対して、前記決定された各サイズ分のルール集合を通知する割当モジュールと、
前記選択されたセキュリティ装置同士間のトラフィック転送を制御する制御モジュールと、を備え、
前記トラフィック転送が、ルータを介して行われ、
前記制御モジュールが、前記選択されたセキュリティ装置の内で、複数のトラヒックからのストリームの構築が不要なセキュリティ機能を配置する第１のセキュリティ装置と、前記第１のセキュリティ装置からのトラヒックの転送先となる第２のセキュリティ装置との間に存在するルータに、ポリシールーティングを行わせる経路制御モジュールを含む、
セキュリティ管理装置。
【請求項２】
請求項１において、
前記制御モジュールが、前記選択されたセキュリティ装置の内で、前記ストリームの構築が必要なセキュリティ機能を配置する第３のセキュリティ装置から他のセキュリティ装置へのトラヒック転送に際して、前記第３のセキュリティ装置に、トラヒックの宛先を前記他のセキュリティ装置へ変更させる宛先変更モジュールをさらに含むことを特徴としたセキュリティ管理装置。
【請求項３】
請求項２において、
前記宛先変更モジュールが、前記第１のセキュリティ装置に、前記第２のセキュリティ装置へのトラフィック転送に際して、前記ポリシールーティングの実行が必要である旨を通知し、前記第３のセキュリティ装置に、前記他のセキュリティ装置へのトラフィック転送に際して、前記宛先の変更が必要である旨を指示することを特徴としたセキュリティ管理装置。
【請求項４】
請求項１〜３のいずれか一項において、
前記管理モジュールが、前記選択した各セキュリティ装置に、各セキュリティ機能の性能要件を満たしているか否かを監視させ、いずれかのセキュリティ装置から前記性能要件を満たせない旨の警告を受けた場合に、前記一連のセキュリティ機能を分散配置するセキュリティ装置を再選択すると共に、前記ルール集合のサイズを再決定することを特徴としたセキュリティ管理装置。
【請求項５】
複数のセキュリティ装置と、
各セキュリティ装置を管理するセキュリティ管理装置と、を備え、
前記セキュリティ管理装置が、
各セキュリティ装置の余剰リソース情報に基づき、トラヒックに適用すべき一連のセキュリティ機能を分散配置するセキュリティ装置を選択すると共に、前記選択した各セキュリティ装置が各セキュリティ機能に係る処理の実行に用いるルール集合のサイズを決定し、
前記選択した各セキュリティ装置に対して、各セキュリティ機能に係る処理の実行に必要なリソースを確保するよう指示すると共に、前記選択した各セキュリティ装置に対して、前記決定した各サイズ分のルール集合を通知し、
前記選択したセキュリティ装置同士間のトラフィック転送を制御し、
前記選択した各セキュリティ装置が、
複数のトラヒックからのストリームの構築が不要なセキュリティ機能が配置された場合、トラヒック転送に際し、前記セキュリティ管理装置に対して、自装置と前記セキュリティ管理装置から指示された転送先のセキュリティ装置との間に存在するルータによるポリシールーティングの実行を要求し、
前記ストリームの構築が必要なセキュリティ機能が配置された場合、トラヒック転送に際して、トラヒックの宛先を、前記セキュリティ管理装置から指示された転送先のセキュリティ装置に変更する、
セキュリティ分散システム。
【請求項６】
請求項５において、
前記選択した各セキュリティ装置が、前記セキュリティ管理装置から指示された各セキュリティ機能の性能要件を満たしているか否かを監視し、前記性能要件を満たしていない場合に、その旨を前記セキュリティ管理装置へ警告し、
前記セキュリティ管理装置が、前記警告に応じて、前記一連のセキュリティ機能を分散配置するセキュリティ装置を再選択すると共に、前記ルール集合のサイズを再決定することを特徴としたセキュリティ分散システム。
【請求項７】
複数のセキュリティ装置を管理する装置におけるセキュリティ管理方法であって、
各セキュリティ装置の余剰リソース情報に基づき、トラヒックに適用すべき一連のセキュリティ機能を分散配置するセキュリティ装置を選択すると共に、前記選択した各セキュリティ装置が各セキュリティ機能に係る処理の実行に用いるルール集合のサイズを決定し、
前記選択した各セキュリティ装置に対して、各セキュリティ機能に係る処理の実行に必要なリソースを確保するよう指示すると共に、前記選択した各セキュリティ装置に対して、前記決定した各サイズ分のルール集合を通知し、
前記選択したセキュリティ装置同士間のトラフィック転送を制御する、ことを含み、
前記トラフィック転送がルータを介して行われる場合、前記選択したセキュリティ装置の内で、複数のトラヒックからのストリームの構築が不要なセキュリティ機能を配置する第１のセキュリティ装置と、前記第１のセキュリティ装置からのトラヒックの転送先となる第２のセキュリティ装置との間に存在するルータに、ポリシールーティングを行わせる、
セキュリティ管理方法。
【請求項８】
請求項７において、
前記選択したセキュリティ装置の内で、前記ストリームの構築が必要なセキュリティ機能を配置する第３のセキュリティ装置から他のセキュリティ装置へのトラヒック転送に際して、トラヒックの宛先を、前記第３のセキュリティ装置によって、前記他のセキュリティ装置へ変更することを特徴としたセキュリティ管理方法。
【請求項９】
請求項８において、
前記第１のセキュリティ装置に、前記第２のセキュリティ装置へのトラフィック転送に際して、前記ポリシールーティングの実行が必要である旨を通知し、前記第３のセキュリティ装置に、前記他のセキュリティ装置へのトラフィック転送に際して、前記宛先の変更が必要である旨を指示することを特徴としたセキュリティ管理方法。
【請求項１０】
請求項７〜９のいずれか一項において、
前記選択した各セキュリティ装置に、各セキュリティ機能の性能要件を満たしているか否かを監視させ、いずれかのセキュリティ装置から前記性能要件を満たせない旨の警告を受けた場合に、前記一連のセキュリティ機能を分散配置するセキュリティ装置を再選択すると共に、前記ルール集合のサイズを再決定することを特徴としたセキュリティ管理方法。
【請求項１１】
複数のセキュリティ装置を管理する装置に、
各セキュリティ装置の余剰リソース情報に基づき、トラヒックに適用すべき一連のセキュリティ機能を分散配置するセキュリティ装置を選択すると共に、前記選択した各セキュリティ装置が各セキュリティ機能に係る処理の実行に用いるルール集合のサイズを決定する処理と、
前記選択した各セキュリティ装置に、各セキュリティ機能に係る処理の実行に必要なリソースを確保するよう指示すると共に、前記決定された各サイズ分のルール集合を通知する処理と、
前記選択したセキュリティ装置同士間のトラフィック転送を制御する処理と、
前記トラフィック転送がルータを介して行われる場合、前記選択したセキュリティ装置の内で、複数のトラヒックからのストリームの構築が不要なセキュリティ機能を配置する第１のセキュリティ装置と、前記第１のセキュリティ装置からのトラヒックの転送先となる第２のセキュリティ装置との間に存在するルータに、ポリシールーティングを行わせる処理と、
を実行させるためのセキュリティ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティ管理装置、方法、及びプログラム、並びにセキュリティ分散システムに関し、特にトラヒックに適用すべき一連のセキュリティ機能に係る処理を、複数のセキュリティ装置に分散実行させる技術に関する。
【背景技術】
【０００２】
ネットワーク技術の進歩に伴って、企業やデータセンター内の通信ネットワーク（以下、単にネットワークと呼称する）は高速化を続けている。【０００３】
このようなネットワークにおいては、利便性が高まる一方で、安全性に対する脅威が年々増加しており、セキュリティに対する関心もさらに高まっている。近年、脅威の巧妙化に伴い、ネットワークの安全性向上に向けた対策は、単一のセキュリティ機能だけでは無く、複数のセキュリティ機能を組み合わせて実現されるようになって来た。【０００４】
例えばＵＴＭ(Ｕｎｉｆｉｅｄ Ｔｈｒｅａｔ Ｍａｎａｇｅｍｅｎｔ)は、ファイアウォール、侵入検知システム(ＩＤＳ： Ｉｎｔｒｕｓｉｏｎ Ｄｅｔｅｃｔｉｏｎ Ｓｙｓｔｅｍ)、侵入防止システム(ＩＰＳ： Ｉｎｔｒｕｓｉｏｎ Ｐｒｅｖｅｎｔｉｏｎ Ｓｙｓｔｅｍ)、アンチウィルス、アンチスパム、アンチスパイウェア、コンテンツフィルタリング、及びＷＡＦ(Ｗｅｂ Ａｐｐｌｉｃａｔｉｏｎ Ｆｉｒｅｗａｌｌ)等の各種セキュリティ機能を統合したセキュリティゲートウェイとして利用されている。【０００５】
複数のセキュリティ機能を１つのセキュリティ装置に搭載した場合、セキュリティ装置の処理負荷が問題となる。これは、複数のセキュリティ機能に係る処理の実行に因って他の処理性能が低下してしまい、当該セキュリティ装置自体がネットワーク性能のボトルネックとなってしまうためである。【０００６】
この問題に対処する技術として、例えば特許文献１には、ネットワークのプロトコル処理を実行するプロセッサと、負荷の高いセキュリティ処理を実行するセキュリティエンジンの両者を搭載したハードウェアを用い、以てネットワーク性能を向上させる方式が記載されている。すなわち、管理者によって投入されたセキュリティポリシーを、分散配置されたネットワーク装置に搭載した各ハードウェア内のセキュリティエンジンに配備し、以てセキュリティ処理を分散実行させている。【０００７】
上記の方式によれば、従来、ネットワークの入口等の一箇所に集中配置されていたセキュリティ処理が、複数の端点（クライアントやサーバ等）に分散配置されるため、ネットワーク性能の向上が期待できる。【０００８】
しかしながら、今後も巧妙化していく脅威に対して、セキュリティ機能は、さらに複雑な解析処理を要求されることになる。従って、上記の方式では、やがて端点におけるセキュリティ処理の負荷が課題になる。【０００９】
また、一部のセキュリティ処理をハードウェアにて処理する場合であっても、セキュリティ処理の量が多くなるにつれ、ソフトウェアに頼らざるを得ない処理が増加してしまう。その結果、ハードウェア利用の効果は相対的に小さくなってしまう。【００１０】
以上の通り、ハードウェア技術の進化に頼ってネットワーク性能を維持し続けるのは困難である。従って、セキュリティ処理の負荷増大という問題を根本的に解決するには、別の対策を講じる必要がある。【００１１】
このような対策の一例として、特許文献２には、大略、複数のセキュリティ装置を用いて、複数のセキュリティ処理を分散実行するセキュリティ分散システムが記載されている。【００１２】
より具体的には、まず、一のセキュリティ装置(或いは宛先ネットワーク装置)がトラヒックに適用すべき一連のセキュリティ機能を判別する。そして、当該一のセキュリティ装置は、宛先ネットワーク装置にトラヒックが到達するまでの経路上に在る他のセキュリティ装置に対して、各セキュリティ機能を適用可能か否か問い合わせるクエリを発行し、その応答に応じて、どのセキュリティ装置にどのセキュリティ機能を適用させるか決定する。各セキュリティ装置は、トラヒックに対して、宛先ネットワーク装置に到達する迄の間に全てのセキュリティ機能が適用されるようマーク付けする。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特表２００８−５０３７９９号公報
【特許文献２】特表２００８−５２７９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
ところで、企業やデータセンター内のネットワークにおいては、サーバ等の物理的な演算リソース(以下、単にリソースと呼称する)が定常的に余っていることが多い。これらの余剰リソースは、実際には使用されていないにも関わらず、待機電力を消費している。従って、ネットワーク性能及び電力利用効率の観点から見れば、余剰リソースの活用により、セキュリティ処理の分散実行を実現するのが望ましい。【００１５】
また、リソースの空き状況や性能要求に応じて、セキュリティ処理の粒度(すなわち、処理単位の大きさ)を柔軟に調整するのが望ましい。これは、余剰リソースのサイズが必ずしも大きく無く、小さな余剰リソースも使用した方が効率的なためである。【００１６】
しかしながら、上記の特許文献２には、下記に示す第１及び第２の課題がある。【００１７】
まず、第１の課題は、セキュリティ処理の粒度を何ら調整できないことである。その理由は、複数のセキュリティ機能を単に複数のセキュリティ装置に分散実行させるためである。【００１８】
従って、余剰リソースのサイズを超えるセキュリティ処理の実行には、新たなサーバの立ち上げ等による必要リソースの確保が必要となり、電力利用効率を何ら向上させることができない。【００１９】
また、第２の課題は、処理遅延が増大し、ネットワーク性能が低下してしまうことである。その理由は、セキュリティ機能の適用に際して、セキュリティ装置同士間でクエリ及びその応答の送受信が必要なためである。すなわち、小さな余剰リソースが多く存在し、これらの余剰リソースを組み合わせて利用する場合には、セキュリティ装置同士間でのクエリ発行回数が増大し、その結果、セキュリティ処理自体の実行が遅延してしまう。【００２０】
従って、本発明は、余剰リソースを効率的に活用し、且つセキュリティ処理の遅延を低減することが可能なセキュリティ管理装置、方法、及びプログラム、並びにセキュリティ分散システムを提供することを目的とする。
【課題を解決するための手段】
【００２１】
上記の目的を達成するため、本発明の一態様に係るセキュリティ管理装置は、複数のセキュリティ装置各々の余剰リソース情報に基づき、トラヒックに適用すべき一連のセキュリティ機能を分散配置するセキュリティ装置を選択すると共に、前記選択した各セキュリティ装置が各セキュリティ機能に係る処理の実行に用いるルール集合のサイズを決定する管理モジュールと、前記選択された各セキュリティ装置に、各セキュリティ機能に係る処理の実行に必要なリソースを確保するよう指示すると共に、前記決定された各サイズ分のルール集合を通知する割当モジュールと、前記選択されたセキュリティ装置同士間のトラフィック転送を制御する制御モジュールとを備える。【００２２】
また、本発明の一態様に係るセキュリティ分散システムは、複数のセキュリティ装置と、各セキュリティ装置を管理するセキュリティ管理装置とを備える。前記セキュリティ管理装置は、各セキュリティ装置の余剰リソース情報に基づき、トラヒックに適用すべき一連のセキュリティ機能を分散配置するセキュリティ装置を選択すると共に、前記選択した各セキュリティ装置が各セキュリティ機能に係る処理の実行に用いるルール集合のサイズを決定し、前記選択した各セキュリティ装置に、各セキュリティ機能に係る処理の実行に必要なリソースを確保するよう指示すると共に、前記決定した各サイズ分のルール集合を通知し、前記選択したセキュリティ装置同士間のトラフィック転送を制御する。【００２３】
また、本発明の一態様に係るセキュリティ管理方法は、複数のセキュリティ装置を管理する装置におけるセキュリティ管理方法を提供する。このセキュリティ管理方法は、各セキュリティ装置の余剰リソース情報に基づき、トラヒックに適用すべき一連のセキュリティ機能を分散配置するセキュリティ装置を選択すると共に、前記選択した各セキュリティ装置が各セキュリティ機能に係る処理の実行に用いるルール集合のサイズを決定し、前記選択した各セキュリティ装置に、各セキュリティ機能に係る処理の実行に必要なリソースを確保するよう指示すると共に、前記決定された各サイズ分のルール集合を通知し、前記選択したセキュリティ装置同士間のトラフィック転送を制御する。【００２４】
さらに、本発明の一態様に係るセキュリティ管理プログラムは、複数のセキュリティ装置を管理する装置に、各セキュリティ装置の余剰リソース情報に基づき、トラヒックに適用すべき一連のセキュリティ機能を分散配置するセキュリティ装置を選択すると共に、前記選択した各セキュリティ装置が各セキュリティ機能に係る処理の実行に用いるルール集合のサイズを決定する処理と、前記選択した各セキュリティ装置に、各セキュリティ機能に係る処理の実行に必要なリソースを確保するよう指示すると共に、前記決定された各サイズ分のルール集合を通知する処理と、前記選択したセキュリティ装置同士間のトラフィック転送を制御する処理とを実行させる。
【発明の効果】
【００２５】
本発明によれば、下記に示す第１及び第２の効果を達成することができる。【００２６】
まず、第１の効果は、余剰リソースを効率的に活用できることにある。その理由は、セキュリティ機能に係る基本的な処理がルールとのマッチング処理であることに着目し、ルール集合のサイズ調整によってセキュリティ処理の粒度を柔軟に変更するためである。【００２７】
また、第２の効果は、セキュリティ処理の遅延を低減できることにある。その理由は、セキュリティ装置同士間でのクエリ発行が不要であることに加えて、トラヒックの冗長なセキュリティ装置への転送を回避するためである。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施の形態１に係るセキュリティ管理装置及びこれを適用するセキュリティ分散システムの概略的な構成例を示したブロック図である。
【図２】本発明の実施の形態１に係るセキュリティ管理装置の具体的な構成例を示したブロック図である。
【図３】本発明の実施の形態１に係るセキュリティ管理装置の他の構成例を示したブロック図である。
【図４】本発明の実施の形態１に係るセキュリティ装置の具体的な構成例を示したブロック図である。
【図５Ａ】本発明の実施の形態１に係るセキュリティ装置に用いるアクションテーブルの構成例を示した図である。
【図５Ｂ】本発明の実施の形態１に係るセキュリティ装置に用いる転送テーブルの構成例を示した図である。
【図６】本発明の実施の形態１に係るセキュリティ装置の他の構成例を示したブロック図である。
【図７】本発明の実施の形態１に係るセキュリティ管理装置におけるセキュリティ機能の配置処理例を示したフローチャート図である。
【図８】本発明の実施の形態１に係るセキュリティ装置におけるトラヒックの転送処理例を示したフローチャート図である。
【図９】本発明の実施の形態１に係るセキュリティ装置における具体的なトラヒックの転送処理例を示したブロック図である。
【図１０Ａ】本発明の実施の形態１に係るセキュリティ装置に用いるアクションテーブルの一の設定例を示した図である。
【図１０Ｂ】本発明の実施の形態１に係るセキュリティ装置に用いる転送テーブルの一の設定例を示した図である。
【図１１Ａ】本発明の実施の形態１に係るセキュリティ装置に用いるアクションテーブル他の設定例を示した図である。
【図１１Ｂ】本発明の実施の形態１に係るセキュリティ装置に用いる転送テーブルの他の設定例を示した図である。
【図１２】本発明の実施の形態２に係るセキュリティ管理装置の構成例を示したブロック図である。
【図１３】本発明の実施の形態２に係るセキュリティ管理装置におけるセキュリティ機能の配置処理例を示したフローチャート図である。
【発明を実施するための形態】
【００２９】
以下、本発明に係るセキュリティ管理装置及びこれを適用するセキュリティ分散システムの実施の形態１及び２を、図１〜図４、図５Ａ及び図５Ｂ、図６〜図９、図１０Ａ及び図１０Ｂ、図１１Ａ及び図１１Ｂ、図１２、並びに図１３を参照して説明する。なお、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００３０】
[実施の形態１]
図１に示す本実施の形態に係るセキュリティ分散システム１は、ネットワーク外部からのネットワーク内部のクライアントやサーバ(共に図示せず)宛てのトラヒック２を転送するルータ１０＿１〜１０＿４(以下、符号１０で総称することがある)と、これらのルータ１０＿１〜１０＿４にそれぞれ接続された複数(図示の例では４つ)のセキュリティ装置２０＿１〜２０＿４(以下、符号２０で総称することがある)と、これらのセキュリティ装置２０＿１〜２０＿４を管理するセキュリティ管理装置３０とで構成される。ここで、セキュリティ管理装置３０とセキュリティ装置２０は、通信路１０１により接続されている。また、セキュリティ管理装置３０とルータ１０は、通信路１０２により接続されている。さらに、セキュリティ装置２０＿１〜２０＿４は、物理マシンの余剰リソースを活用して構成された仮想マシン、又は当該余剰リソースを活用して構築された、ＦｒｅｅＢＳＤにおけるｊａｉｌ、ＬｉｎｕｘにおけるＶＳｅｒｖｅｒ、Ｓｏｌａｒｉｓにおけるコンテナ等の仮想ＯＳ(Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ)である。すなわち、セキュリティ管理装置３０は、制御可能な物理マシンの余剰リソースを、セキュリティ装置２０として利用することができる。
【００３１】
また、セキュリティ管理装置３０は、管理モジュール３１と、割当モジュール３２と、制御モジュール３３とを備えている。
【００３２】
この内、管理モジュール３１は、各セキュリティ装置２０＿１〜２０＿４の余剰リソース情報に基づき、トラヒック２に適用すべき一連のセキュリティ機能３＿Ａ〜３＿Ｃ(以下、符号３で総称することがある)を分散配置するセキュリティ装置を選択する。図示の例では、管理モジュール３１は、セキュリティ装置２０＿１及び２０＿２を、セキュリティ機能３＿Ａを配置するセキュリティ装置として選択し、セキュリティ装置２０＿２〜２０＿４を、セキュリティ機能３＿Ｂを配置するセキュリティ装置として選択し、セキュリティ装置２０＿４を、セキュリティ機能３＿Ｃを配置するセキュリティ装置として選択する。なお、管理モジュール３１は、セキュリティ分散システム１内の一部のセキュリティ装置のみを、セキュリティ機能の分散配置対象とすることもある。
【００３３】
ここで、セキュリティ機能３＿Ａ〜３＿Ｃは、例えば、ファイアウォール、ＩＤＳ、ＩＰＳ、ＷＡＦ、コンテンツフィルタ、アンチウィルス、アンチスパム、アンチスパイウェアのいずれかのセキュリティ機能に相当する。
【００３４】
そして、管理モジュール３１は、各セキュリティ装置２０＿１〜２０＿４が各セキュリティ機能３＿Ａ〜３＿Ｃに係る処理の実行に用いるルール集合(１個以上のルールから成る集合)４のサイズを決定する。図示の例では、管理モジュール３１は、セキュリティ機能３＿Ａに係る処理の実行に用いるルール集合４＿Ａを２つのルール集合４＿Ａ１及び４＿Ａ２に分割し、セキュリティ機能３＿Ｂに係る処理の実行に用いるルール集合４＿Ｂを３つのルール集合４＿Ｂ１〜４＿Ｂ３に分割し、セキュリティ機能３＿Ｃに係る処理の実行に用いるルール集合４＿Ｃを分割しないことを決定する。例えば、ルール集合４＿Ａとして１０００個のルールが用いられる場合、管理モジュール３１は、ルール集合４＿Ａ１を３００個のルールから成る集合とし、ルール集合４＿Ａ２を残りの７００個のルールから成る集合とする。
【００３５】
ここで、ルールは、トラヒック２とのマッチング処理に用いるマッチング条件と、このマッチング条件に合致するトラヒックに対して適用するアクション(トラヒック通過を意味するＡｌｌｏｗ、トラヒック拒否(廃棄)を意味するＤｅｎｙ、次に適用すべきセキュリティ機能を示すＪｕｍｐ、及びセキュリティ分散システム１での処理完了を意味するＦｉｎｉｓｈ等）とから成る。また、マッチング処理とは、トラヒック２と、ルール集合４から取り出したルール要素とを比較する処理を指す。このマッチング処理は、ルール集合４全体に適用することもあれば、ルール集合４の部分集合に対して適用することもある。
【００３６】
また、割当モジュール３２は、管理モジュール３１により選択された各セキュリティ装置２０＿１〜２０＿４に、各セキュリティ機能３＿Ａ〜３＿Ｃに係る処理の実行に必要なリソースを確保するよう指示すると共に、管理モジュール３１により決定された各サイズ分のルール集合４＿Ａ１、４＿Ａ２、４＿Ｂ１〜４＿Ｂ３、及び４＿Ｃを通知する。すなわち、割当モジュール３２は、セキュリティ装置２０＿１にセキュリティ機能３＿Ａの必要リソースの確保を指示し、セキュリティ装置２０＿２にセキュリティ機能３＿Ａ及び３＿Ｂの必要リソースの確保を指示し、セキュリティ装置２０＿３にセキュリティ機能３＿Ｂの必要リソースの確保を指示し、セキュリティ装置２０＿４にセキュリティ機能３＿Ｂ及び３＿Ｃの必要リソースの確保を指示する。また、割当モジュール３２は、セキュリティ装置２０＿１にルール集合４＿Ａ１を通知し、セキュリティ装置２０＿２にルール集合４＿Ａ２及び４＿Ｂ1を通知し、セキュリティ装置２０＿３にルール集合４＿Ｂ２を通知し、セキュリティ装置２０＿４にルール集合４＿Ｂ３及び４＿Ｃを通知する。
【００３７】
さらに、制御モジュール３３は、管理モジュール３１により選択されたセキュリティ装置２０＿１〜２０＿４同士間におけるトラフィック２の転送を制御する。より具体的には、制御モジュール３３は、後述する如く、セキュリティ装置２０＿１〜２０＿４に対してトラフィック２の転送先を指示すると共に、ルータ１０＿１〜１０＿４に対してポリシールーティングの実行を指示する。ここで、ポリシールーティングとは、各種のルーティングプロトコルによって動的に登録された経路情報に関係無く、ユーザのポリシー設定によって経路選択を行うルーティングのことである。
【００３８】
このように、セキュリティ分散システム１においては、セキュリティ管理装置３０が、ルール数の調整により、セキュリティ装置２０に実行させるセキュリティ処理の粒度を変更する。このため、余剰リソースを効率的に活用することができる。
【００３９】
また、セキュリティ管理装置３０が、セキュリティ装置同士間におけるトラフィック２の転送を制御する。このため、上述したセキュリティ装置同士間でのクエリ発行は不要であり、トラヒック２の冗長なセキュリティ装置への転送を回避できる。従って、セキュリティ処理の遅延を低減できる。
【００４０】
以下、本実施の形態の具体的な構成及び動作を、図２〜図４、図５Ａ及び図５Ｂ、図６〜図９、図１０Ａ及び図１０Ｂ、並びに図１１Ａ及び図１１Ｂを参照して説明する。
【００４１】
まず、セキュリティ管理装置３０は、図２に示す如く構成すると好適である。より具体的には、管理モジュール３１は、セキュリティ装置２０の余剰リソース情報に加えて、ユーザ(図示せず)から指定された条件(トラヒック２に適用すべき一連のセキュリティ機能、及び各セキュリティ機能が満たすべき、スループットや同時コネクション数等の性能要件)に基づき、セキュリティ機能配置方針５と、ルール分割方針６とを決定する。ここで、セキュリティ機能配置方針５には、一連のセキュリティ機能を分散配置するセキュリティ装置(台数)と、各セキュリティ装置に配置するセキュリティ機能とが設定される。また、ルール分割方針６には、各セキュリティ機能に用いるルール集合のサイズが設定される。
【００４２】
また、割当モジュール３２は、機能配置モジュール３２１と、ルール配置モジュール３２２とを有する。この内、機能配置モジュール３２１は、管理モジュール３１により決定されたセキュリティ機能配置方針５に従って、各セキュリティ装置に一連のセキュリティ機能を分散配置する。より具体的には、機能配置モジュール３２１は、セキュリティ装置２０に対してリソース確保指示７を与え、以てセキュリティ機能の必要リソースを確保させる。
【００４３】
一方、ルール配置管理モジュール３２２は、管理モジュール３１により決定されたルール分割方針６に従って分割したルール集合４を、セキュリティ装置２０へ通知する。
【００４４】
以上のようにセキュリティ機能が分散配置されたセキュリティ装置は、次の２種類のタイプ１及び２に分類される。
【００４５】
タイプ１は、ＴＣＰ(Ｔｒａｎｓｍｉｓｓｉｏｎ Ｃｏｎｔｒｏｌ Ｐｒｏｔｏｃｏｌ)の終端が不要なセキュリティ機能のみが配置されたセキュリティ装置である。一方、タイプ２は、ＴＣＰの終端が必要なセキュリティ機能が少なくとも１つ配置されたセキュリティ装置である。ここで、ＴＣＰの終端とは、受信した複数のトラヒック(パケット列)からストリームを構築することである。
【００４６】
タイプ１のセキュリティ装置から他のセキュリティ装置へのトラヒック２の転送に際しては、両セキュリティ装置間に存在するルータにポリシールーティングを行わせる必要がある。このため、制御モジュール３３は、ルータ１０に対するポリシールーティング設定８を行う経路制御モジュール３３１を含む。
【００４７】
一方、タイプ２のセキュリティ装置から他のセキュリティ装置へのトラヒック２の転送に際しては、トラヒック２の宛先(より具体的には、ＩＰアドレス及びポート番号)を変更する必要がある。このため、制御モジュール３３は、セキュリティ装置２０に対してトラヒック転送先を指示する宛先変更モジュール３３２をさらに含む。
【００４８】
より具体的には、宛先変更モジュール３３２は、セキュリティ装置２０が有するアクションテーブル２１に、トラヒック転送先として、セキュリティ機能毎に付与したＳＩＤ(Ｓｅｃｕｒｉｔｙ Ｉｄｅｎｔｉｆｉｅｒ)９を登録する。ここで、同一のセキュリティ機能を異なるセキュリティ装置に配置した場合、ＳＩＤ９には互いに異なる値が設定されるものとする。
【００４９】
また、宛先変更モジュール３３２は、セキュリティ装置２０が有する転送テーブル２２に、ＳＩＤ９に対するトラヒックの転送方法１５を登録する。
【００５０】
より具体的には、宛先変更モジュール３３２は、トラヒック転送方法１５を、セキュリティ装置２０とトラヒック２の転送先装置の間に存在する、タイプ１のセキュリティ装置の個数ｍとタイプ２のセキュリティ装置の個数ｎとに基づき、下記(Ａ)〜(Ｄ)に示す如く決定する。ここで、転送先装置とは、次に適用すべきセキュリティ機能を配置したセキュリティ装置、アドレス変換ルータ、又は最終的にトラヒック２を届けるべきクライアントやサーバ等の装置のことである。なお、アドレス変換ルータは、ＮＡＴ(Ｎｅｔｗｏｒｋ Ａｄｄｒｅｓｓ Ｔｒａｎｓｌａｔｉｏｎ)機能やＩＰ(Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ)マスカレード機能を有するルータである。セキュリティ分散システム１にＴＣＰを終端するセキュリティ機能を配置しない場合は、アドレス変換ルータは不要である。
【００５１】
(Ａ)ｍ＝"０"且つｎ＝"０"が成立する場合(すなわち、同一セキュリティ装置内へのトラフィック転送の場合)、トラヒック転送方法１５には何も設定しない。
(Ｂ)ｍ＞"０"且つｎ＝"０"が成立する場合、トラヒック転送方法１５に"経路変更"を設定する。ここで、"経路変更"は、ルータ１０に対するポリシールーティング設定８が必要であることを示す。
(Ｃ)ｍ＝"０"且つｎ＞"０"が成立する場合、トラヒック転送方法１５に"宛先変更"を設定する。ここで、"宛先変更"は、トラヒック２の宛先変更が必要であることを示す。
(Ｄ)ｍ＞"０"且つｎ＞"０" が成立する場合、トラヒック転送方法１５に"経路変更＆宛先変更"を設定する。
【００５２】
なお、宛先変更モジュール３３２は、セキュリティ装置２０に対して、ＳＩＤ９に対応する宛先情報(ＩＰアドレス及びポート番号)を通知する。
【００５３】
また、上記の管理モジュール３１、割当モジュール３２、及び制御モジュール３３は、ハードウェアにより実現しても良いし、ソフトウェア(プログラム)により実現しても良い。
【００５４】
後者の場合、図３に示すように、セキュリティ管理装置３０内のＣＰＵ(Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ)３４が、図１に示した通信路１０１及び１０２に接続されたネットワークインタフェース３５を制御すると共に、メモリ(又は二次記憶装置、すなわち記憶媒体)３６に格納された、管理モジュール３１と同等の処理を記述した管理プログラム３７と、割当モジュール３２と同等の処理を記述した割当プログラム３８と、制御モジュール３３と同等の処理を記述した制御プラグラム３９とをそれぞれ実行する。この場合、管理モジュール３１は、セキュリティ管理装置３０の１プロセスとして動作し、割当モジュール３２及び制御モジュール３３は、それぞれ管理モジュール３１の子プロセスとして動作する。各プロセスは、ソケット等を利用したプロセス間通信によって通信する。
【００５５】
一方、セキュリティ装置２０は、図４に示す如く構成すると好適である。より具体的には、セキュリティ装置２０は、配置されたセキュリティ機能毎のアクションテーブル２１と、転送テーブル２２と、セキュリティ機能実行モジュール２３と、宛先管理モジュール２４とを備えている。
【００５６】
この内、アクションテーブル２１には、図５Ａに示す如く、アクション１１とＳＩＤ９の組からなるエントリが登録されている。
【００５７】
Ｄｅｆａｕｌｔエントリは、セキュリティ機能実行モジュール２３によるマッチング処理の結果、いずれのマッチング条件にも合致しなかったトラヒックに適用されるアクションである。Ａｌｌｏｗエントリは、マッチング処理の結果、Ａｌｌｏｗが得られたトラヒックに適用されるアクションである。Ｊｕｍｐエントリは、マッチング処理の結果、Ｊｕｍｐが得られたトラヒックに適用されるアクションである。Ｆｉｎｉｓｈエントリは、後段のセキュリティ機能(マッチング処理を実行したセキュリティ機能よりも後に適用されるセキュリティ機能)を適用せずに、セキュリティ処理を完了させるアクションある。Ｆｉｎｉｓｈエントリに対応するＳＩＤ９は、アドレス変換ルータとなる。
【００５８】
ここで、ＳＩＤ９は、セキュリティ機能の識別子"Ｘ"と同一セキュリティ機能内の識別子"Ｙ"の組で表される。例えば、図１に示したセキュリティ装置２０＿１に配置されたセキュリティ機能３＿ＡのＳＩＤは"１−０"、セキュリティ装置２０＿２に配置されたセキュリティ機能３＿ＡのＳＩＤは"１−１"となる。同様にして、セキュリティ装置２０＿２に配置されたセキュリティ機能３＿ＢのＳＩＤは"２―０"、セキュリティ装置２０＿３に配置されたセキュリティ機能３＿ＢのＳＩＤは"２―１"、セキュリティ装置２０３＿４に配置されたセキュリティ機能３＿ＢのＳＩＤは"２―２"、セキュリティ装置２０＿４に配置されたセキュリティ機能３＿ＣのＳＩＤは"３−０"となる。
【００５９】
また、転送テーブル２２には、図５Ｂに示す如く、ＳＩＤ９毎に上述したトラヒック転送方法１５が登録されている。
【００６０】
図４に戻って、セキュリティ機能実行モジュール２３は、セキュリティ管理装置３０からのリソース確保指示７に従ってセキュリティ機能の必要リソースを確保すると共に、確保したリソースにより、セキュリティ管理装置３０から通知されたルール集合４を用いてルータ１０から入力されたトラヒック２のマッチング処理を実行する。
【００６１】
さらに、宛先管理モジュール２４は、アクションテーブル２１から、セキュリティ機能実行モジュール２３によるマッチング処理の結果として得られたアクション１１に対応するＳＩＤ９を読み出すと共に、転送テーブル２２を参照して、ＳＩＤ９に対応するトラヒック転送方法１５に応じてトラヒック２を転送する。
【００６２】
より具体的には、宛先管理モジュール２４は、トラヒック転送方法１５に応じて、下記(Ｅ)〜(Ｈ)のいずれかに示す処理を実行する。
【００６３】
(Ｅ)トラヒック転送方法１５に何も設定されていない場合、トラヒック２をそのままルータ１０へ転送する。
(Ｆ)トラヒック転送方法１５に"経路変更"が設定されている場合、セキュリティ管理装置３０に対してポリシールーティング設定要求１２を送信する。セキュリティ管理装置３０によるポリシールーティング設定８(図２参照)が完了したらトラヒック２をルータ１０へ転送する。
(Ｇ)トラヒック転送方法１５に"宛先変更"が設定されている場合、トラヒック２の宛先を変更した後、ルータ１０へ転送する。
(Ｈ)トラヒック転送方法１５に"経路変更＆宛先変更"が設定されている場合、ポリシールーティング設定要求１２の送信とトラヒック２の宛先変更を行い、両者が完了したらトラヒック２をルータ１０へ転送する。
【００６４】
なお、上記のセキュリティ機能実行モジュール２３及び宛先管理モジュール２４は、ハードウェアにより実現しても良いし、プログラムにより実現しても良い。
【００６５】
後者の場合、図６に示すように、セキュリティ装置２０内のＣＰＵ２５が、図１に示した通信路１０１及びルータ１０とのネットワークインタフェース２６を制御すると共に、メモリ(又は二次記憶装置、すなわち記憶媒体)２７に格納された、セキュリティ機能実行モジュール２３と同等の処理を記述したセキュリティ機能実行プログラム２８と、宛先管理モジュール２４と同等の処理を記述した宛先管理プログラム２９とをそれぞれ実行する。また、ルール集合４、並びにアクションテーブル２１及び転送テーブル２２は、ＣＰＵ２５から参照可能なようメモリ(又は二次記憶装置)２７に形成する。この場合、セキュリティ機能３は、セキュリティ装置２０に搭載されたＯＳ(図示せず)のカーネル空間プログラムやユーザ空間プロセスとして動作する。
【００６６】
次に、本実施の形態の動作を、図７〜図９、図１０Ａ及び図１０Ｂ、並びに図１１Ａ及び図１１Ｂを参照して詳細に説明する。
【００６７】
図７は、セキュリティ管理装置３０におけるセキュリティ機能の配置処理例を示している。
【００６８】
図７に示すように、まず、セキュリティ管理装置３０内の管理モジュール３１が、セキュリティ装置２０＿１〜２０＿４の余剰リソース情報に加えて、ユーザから指定された条件(トラヒック２に適用すべき一連のセキュリティ機能、及び各セキュリティ機能が満たすべき、スループットや同時コネクション数等の性能要件)に基づき、セキュリティ機能配置方針５と、ルール分割方針６とを決定する(ステップＳ１)。
【００６９】
この決定処理を、下記の条件がユーザから指定された場合を例に取って具体的に説明する。
【００７０】
[ユーザ指定条件]
・トラヒック２に適用すべきセキュリティ機能：セキュリティ機能３＿Ａ〜３＿Ｃ。
・性能要件：スループット１Ｇｂｐｓ、同時コネクション数：指定無し。
【００７１】
管理モジュール３１は、上記の条件に基づき、各セキュリティ機能３＿Ａ〜３＿Ｃの必要リソース量を算出する。この結果、下記の必要リソース量が得られたとする。
【００７２】
[必要リソース量]
・セキュリティ機能３＿Ａ：１ＧＨｚ以上のＣＰＵリソース２個、メモリ量１２８ＭＢ、ネットワーク性能1Ｇｂｐｓ以上。
・セキュリティ機能３＿Ｂ：２ＧＨｚ以上のＣＰＵリソース３個、メモリ量１９２ＭＢ、ネットワーク性能1Ｇｂｐｓ以上。
・セキュリティ機能３＿Ｃ：２ＧＨｚ以上のＣＰＵリソース１個、メモリ量１２８ＭＢ、ネットワーク性能1Ｇｂｐｓ以上。
【００７３】
また、管理モジュール３１が、セキュリティ装置２０＿１〜２０＿４の余剰リソース情報から、下記のリソースを活用可能と判断したとする。
【００７４】
[活用可能リソース]
・セキュリティ装置２０＿１：１ＣＰＵ（１．６Ｇｈｚ）、メモリ量６４ＭＢ、ネットワーク性能１Ｇｂｐｓ以上。
・セキュリティ装置２０＿２：２ＣＰＵ（２．４Ｇｈｚ）、メモリ量１２８ＭＢ、ネットワーク性能１Ｇｂｐｓ以上。
・セキュリティ装置２０＿３：１ＣＰＵ（２．０Ｇｈｚ）、メモリ量６４ＭＢ、ネットワーク性能１Ｇｂｐｓ以上。
・セキュリティ装置２０＿４：２ＣＰＵ（２．４Ｇｈｚ）、メモリ量１９２ＭＢ、ネットワーク性能３Ｇｂｐｓ以上。
【００７５】
この場合、管理モジュール３１は、上記の必要リソース量と活用可能リソースに基づき、例えば下記の通りにセキュリティ機能配置方針５及びルール分割方針６を決定し、割当モジュール３２内の機能配置モジュール３２１及びルール配置モジュール３２２にそれぞれ与える。
【００７６】
[セキュリティ機能配置方針５]
・セキュリティ装置２０＿１にセキュリティ機能３＿Ａ(ＳＩＤ＝"１−０"）を配置。
・セキュリティ装置２０＿２にセキュリティ機能３＿Ａ(ＳＩＤ＝"１−１"）及び３＿Ｂ(ＳＩＤ＝"２−０"）を配置。
・セキュリティ装置２０＿３にセキュリティ機能３＿Ｂ(ＳＩＤ＝"２−１"）を配置。
・セキュリティ装置２０＿４にセキュリティ機能３＿Ｂ（ＳＩＤ＝"２−２"）及び３＿Ｃ（ＳＩＤ＝"３−０"）を配置。
【００７７】
[ルール分割方針６]
・セキュリティ装置２０＿１にルール集合４＿Ａ１を配置。
・セキュリティ装置２０＿２にルール集合４＿Ａ２及び４＿Ｂ１を配置。
・セキュリティ装置２０＿３にルール集合４＿Ｂ２を配置。
・セキュリティ装置２０＿４にルール集合４＿Ｂ３及び４＿Ｃを配置。
【００７８】
そして、機能配置モジュール３２１は、上記のステップＳ１で決定されたセキュリティ機能配置方針５に従って、セキュリティ装置２０＿１〜２０＿４にリソース確保指示７をそれぞれ与える(ステップＳ２)。
【００７９】
また、ルール配置モジュール３２２は、上記のステップＳ１で決定されたルール分割方針６に従って分割したルール集合４＿Ａ１、４＿Ａ２及び４＿Ｂ１、４＿Ｂ２、並びに４＿Ｂ３及び４＿Ｃを、セキュリティ装置２０＿１〜２０＿４へそれぞれ通知する(ステップＳ３)。
【００８０】
次に、制御モジュール３３が経路及び宛先の設定を行う。
【００８１】
まず、経路制御モジュール３３１は、タイプ１のセキュリティ装置に対するＤｅｆａｕｌｔの経路設定を行う。すなわち、経路制御モジュール３３１は、タイプ１のセキュリティ装置に接続されたルータ１０に対して、ポリシールーティングの初期設定を行う(ステップＳ４)。
【００８２】
これと並行して、宛先変更モジュール３３２は、タイプ１のセキュリティ装置が有するアクションテーブル２１中の各エントリに、次に適用するセキュリティ機能のＳＩＤを登録する（ステップＳ５）。
【００８３】
そして、宛先変更モジュール３３２は、タイプ２のセキュリティ装置が有するアクションテーブル２１中の各エントリに、次に適用するセキュリティ機能のＳＩＤを登録する（ステップＳ６）。
【００８４】
より具体的には、まず宛先変更モジュール３３２は、Ｄｅｆａｕｌｔの宛先設定を行う。すなわち、宛先変更モジュール３３２は、アクションテーブル２１中のＤｅｆａｕｌｔエントリに、次に適用するセキュリティ機能のＳＩＤを登録する。次いで、宛先変更モジュール３３２は、アクションテーブル２１中のＡｌｌｏｗエントリに対して次のセキュリティ機能のＳＩＤを登録する。次いで、宛先変更モジュール３３２は、Ｊｕｍｐ可能なセキュリティ機能毎に、アクションテーブル２１中にＪｕｍｐエントリを追加する。最後に、宛先変更モジュール３３２は、アクションテーブル２１中のＦｉｎｉｓｈエントリに、アドレス変換ルータを登録する。
【００８５】
そして、宛先変更モジュール３３２は、上記(Ａ)〜(Ｄ)に示した通り、各セキュリティ装置２０＿１〜２０＿４と転送先装置の間に存在する、タイプ１のセキュリティ装置の個数ｍとタイプ２のセキュリティ装置の個数ｎとに基づき、各セキュリティ装置２０＿１〜２０＿４におけるトラヒック転送方法１５を決定し、転送テーブル２２に登録する(ステップＳ７）。
【００８６】
なお、或るセキュリティ装置から転送先装置への経路が複数存在する場合、１つの経路を選択して上記の個数ｍ及びｎを求めても良い。また、候補となる幾つかの経路を選択して個数ｍ及びｎをそれぞれ求め、個数ｍ又はｎが最小となる１つの経路を選択しても良い。
【００８７】
上記のステップＳ７と並行して、宛先変更モジュール３３２は、各セキュリティ装置２０＿１〜２０＿４に対して、転送テーブル２２に登録したＳＩＤに対応する宛先情報(ＩＰアドレス及びポート番号)を通知する(ステップＳ８)。この宛先情報は、各セキュリティ装置２０＿１〜２０＿４内の宛先管理モジュール２４にて管理される。
【００８８】
次に、セキュリティ管理装置３０及びセキュリティ装置２０の協調動作によるトラヒックの転送処理例を、図８、図９、図１０Ａ及び図１０Ｂ、並びに図１１Ａ及び図１１Ｂを参照して説明する。
【００８９】
図８に示すように、まずセキュリティ装置２０内のセキュリティ機能実行モジュール２３が、ルータ１０から入力されたトラヒック２に対するマッチング処理を実行してアクション１１を取得し、宛先管理モジュール２４に与える(ステップＳ１１)。
【００９０】
宛先管理モジュール２４は、アクション１１をキーとして、アクションテーブル２１からＳＩＤ９を読み出す(ステップＳ１２)。
【００９１】
そして、宛先管理モジュール２４は、ＳＩＤ９をキーとして、転送テーブル２２からトラフィック転送方法１５を読み出す(ステップＳ１３）。
【００９２】
トラフィック転送方法１５に何も設定されていない場合(ステップＳ１４)、宛先管理モジュール２４は、トラヒック２をルータ１０へ転送する(ステップＳ１５)。ここで、上記のステップＳ４でルータ１０に対するポリシールーティングの初期設定が行われているため、トラヒック２は、次に適用すべきセキュリティ機能が配置された適切なセキュリティ装置へ転送されることとなる。なお、ＳＩＤ９が同一セキュリティ装置内に在る場合、セキュリティ装置２０は、ＳＩＤ９に対応するセキュリティ機能に係る処理を続けて実行する。
【００９３】
トラフィック転送方法１５に"経路変更"が設定されている場合(ステップＳ１６）、宛先管理モジュール２４は、セキュリティ管理装置３０内の経路制御モジュール３３１に対して、ポリシールーティング設定要求１２を送信する(ステップＳ１７)。
【００９４】
この要求１２を受けた経路制御モジュール３３１は、転送先装置迄の間に存在するルータ１０におけるポリシールーティング設定を変更する(ステップＳ１８）。これにより、トラヒック２は、次に適用すべきセキュリティ機能が配置された適切なセキュリティ装置へ転送されることとなる。この後、宛先管理モジュール２４は、上記のステップＳ１５に進んで、トラヒック２をルータ１０へ転送する。
【００９５】
トラフィック転送方法１５に"宛先変更"が設定されている場合(ステップＳ１９)、宛先管理モジュール２４は、トラヒック２の宛先を変更する(ステップＳ２０)。これにより、トラヒック２は、次に適用すべきセキュリティ機能が配置された適切なセキュリティ装置へ転送されることとなる。この後、宛先管理モジュール２４は、上記のステップＳ１５に進んで、トラヒック２をルータ１０へ転送する。
【００９６】
トラフィック転送方法１５に"経路変更＆宛先変更"が設定されている場合(ステップＳ２１)、宛先管理モジュール２４は、上記のステップＳ１７及びＳ１８と同様にポリシールーティング設定を変更し(ステップＳ２２及びＳ２３）、上記のステップＳ２０と同様にトラヒック２の宛先を変更する(ステップＳ２４）。この後、宛先管理モジュール２４は、上記のステップＳ１５に進んで、トラヒック２をルータ１０へ転送する。
【００９７】
以下、上記のトラヒック転送処理を、図９、図１０Ａ及び図１０Ｂ、並びに図１１Ａ及び図１１Ｂを参照してより詳細に説明する。
【００９８】
まず前提として、図９は、８台のセキュリティ装置２０＿１〜２０＿８に、ファイアウォール機能３＿１、ＩＰＳ機能３＿２、ＷＡＦ機能３＿３、及びアンチウィルス機能３＿４を分散配置した場合のトラヒック転送処理例を扱っている。より具体的には、セキュリティ装置２０＿１及び２０＿２に、ファイアウォール機能３＿１(ＳＩＤ＝"１−０"及び"１−１")をそれぞれ配置している。また、セキュリティ装置２０＿３及び２０＿４に、ＩＰＳ機能３＿２(ＳＩＤ＝"２−０"及び"２−１")をそれぞれ配置している。また、セキュリティ装置２０＿５及び２０＿６に、ＷＡＦ機能３＿３(ＳＩＤ＝"３−０"及び"３−１")をそれぞれ配置している。さらに、セキュリティ装置２０＿７及び２０＿８に、アンチウィルス機能３＿４(ＳＩＤ＝"４−０"及び"４−１")をそれぞれ配置している。
【００９９】
また、ＴＣＰを最初に終端するのはセキュリティ装置２０＿５におけるＷＡＦ機能３＿３とする。この場合、セキュリティ装置２０＿１にルータ１０＿１を介して入力されるトラヒック２の宛先には、セキュリティ装置２０＿５のＩＰアドレスとＷＡＦ機能３＿３が待ち受けるポート番号とが設定される。すなわち、セキュリティ装置２０＿５〜２０＿８は、タイプ２のセキュリティ装置であり、ＩＰアドレス及びポート番号の指定により、ルータ１０＿５〜１０＿８からのトラフィック２がそれぞれ入力される。
【０１００】
一方、セキュリティ装置２０＿１〜２０＿４は、タイプ１のセキュリティ装置であり、ルータ１０＿１〜１０＿４のポリシールーティングによりトラヒック２がそれぞれ入力される。
【０１０１】
また、トラヒック２は、セキュリティ装置２０＿１〜２０＿８による検査後、アドレス変換ルータ１０＿９にてアドレス変換され、最終的にサーバ２００に到達する。
【０１０２】
まず、タイプ１のセキュリティ装置におけるトラヒック（ここではパケットが対象）の転送処理は、次のように行われる。
【０１０３】
セキュリティ装置２０＿１を例に取ると、まず、セキュリティ装置２０＿１に配置されたファイアウォール機能３＿１(ＳＩＤ＝"１−０")は、ルータ１０＿１から入力されたトラヒック２に対するマッチング処理を実行する。
【０１０４】
この結果、トラヒック２がいずれのマッチング条件にも合致しなかった場合、ファイアウォール機能３＿１は、Ｄｅｆａｕｌｔアクションを実行する。すなわち、セキュリティ装置２０＿１は、図１０Ａに示す自身のアクションテーブル２１＿１を参照し、Ｄｅｆａｕｌｔエントリに対応するＳＩＤ９（この例では"１−１"）を取得する。
【０１０５】
そして、セキュリティ装置２０＿１は、ＳＩＤ９＝"１−１"をキーとして、図１０Ｂに示す転送テーブル２２＿１からトラヒック転送方法１５を取得する。今、ＳＩＤ９＝"１−１"に対応するトラヒック転送方法１５は空欄であるため、セキュリティ装置２０＿１は通常の経路３０１を使用して、トラヒック２を転送する。
【０１０６】
一方、トラヒック２がいずれかのマッチング条件に合致した場合、ファイアウォール機能３＿１は、対応するアクションを実行する。
【０１０７】
アクションがＡｌｌｏｗである場合、セキュリティ装置２０＿１は、アクションテーブル２１＿１を参照し、Ａｌｌｏｗエントリに対応する宛先ＳＩＤ９(この例では"２−０")を取得する。
【０１０８】
そして、セキュリティ装置２０＿１は、ＳＩＤ９＝"２−０"をキーとして、転送テーブル２２＿１からトラヒック転送方法１５を取得する。今、ＳＩＤ９＝"２−０"に対応するトラヒック転送方法１５は"経路変更"に設定されているため、セキュリティ装置２０＿１は、セキュリティ管理装置３０に対してポリシールーティング設定の変更を依頼する。この時、セキュリティ装置２０＿１は、セキュリティ管理装置３０に、トラヒック情報(例えば、パケットヘッダ)とＳＩＤ９とを渡す。
【０１０９】
セキュリティ管理装置３０内の経路制御モジュール３３１は、ＳＩＤ９がどのセキュリティ装置に対応するのかを機能配置モジュール３２１に問い合わせる。そして、経路制御モジュール３３１は、ＳＩＤ９＝"２−０"に対応するセキュリティ装置２０＿３迄の間に存在するルータ１０＿１〜１０＿３に対して、トラヒック２をセキュリティ装置２０＿２に転送させるためのポリシールーティング設定(設定変更)を行う。ポリシールーティング設定が完了した後、セキュリティ装置２０＿１は、トラヒック２をルータ１０＿１へ転送する。
【０１１０】
これにより、トラフィック２は、ルータ１０＿１〜１０＿３を順に経由する経路３０２を通ってセキュリティ装置２０＿３に到達し、以てＩＰＳ機能３＿２が適用されることとなる。
【０１１１】
なお、アクションがＪｕｍｐ又はＦｉｎｉｓｈである場合も、トラヒック転送方法１５が"経路変更"であれば同様の処理が行われる。
【０１１２】
次に、タイプ２のセキュリティ装置におけるトラヒック(ここでは同一コネクションに流れる複数のパケットが対象)の転送処理例を説明する。
【０１１３】
セキュリティ装置２０＿５を例に取ると、まず、ＷＡＦ機能３＿３(ＳＩＤ＝"３−０")は、ルータ１０＿５から入力されたトラヒック２に対するマッチング処理を実行する。
【０１１４】
この結果、トラヒック２がいずれのマッチング条件にも合致しなかった場合、ＷＡＦ機能３＿３は、Ｄｅｆａｕｌｔアクションを実行する。すなわち、セキュリティ装置２０＿５は、図１１Ａに示す自身のアクションテーブル２１＿５を参照し、Ｄｅｆａｕｌｔエントリに対応するＳＩＤ９（この例では"３−１"）を取得する。
【０１１５】
そして、セキュリティ装置２０＿５は、ＳＩＤ９＝"３−１"をキーとして、図１１Ｂに示す転送テーブル２２＿５からトラヒック転送方法１５を取得する。今、ＳＩＤ９＝"３−１"に対応するトラヒック転送方法１５は空欄であるため、セキュリティ装置２０＿５は、通常の宛先を使用してトラヒック２を転送する。この場合、トラフィック２は、ルータ１０＿５及び１０＿６を順に経由する経路３０３を通ってセキュリティ装置２０＿６に到達し、以てＷＡＦ機能３＿３が、異なるルール集合を用いて継続実行されることとなる。
【０１１６】
一方、トラヒック２がいずれかのマッチング条件に合致した場合、ＷＡＦ機能３＿３は、対応するアクションを実行する。
【０１１７】
アクションがＡｌｌｏｗである場合、セキュリティ装置２０＿５は、アクションテーブル２１＿５を参照し、Ａｌｌｏｗエントリに対応する宛先ＳＩＤ９(この例では"４−０")を取得する。
【０１１８】
そして、セキュリティ装置２０＿５は、ＳＩＤ９＝"４−０"をキーとして、転送テーブル２２＿５からトラヒック転送方法１５を取得する。今、ＳＩＤ９＝"４−０"に対応するトラヒック転送方法１５は"宛先変更"に設定されているため、セキュリティ装置２０＿５は、ＳＩＤ９＝"４−０"に対応するセキュリティ装置２０＿７のＩＰアドレスと、アンチウィルス機能３＿４が待ち受けるポート番号とを、トラヒック２の新たな宛先として設定する。宛先設定が完了した後、セキュリティ装置２０＿５は、トラヒック２をルータ１０＿５へ転送する。
【０１１９】
これにより、トラフィック２は、ルータ１０＿５〜１０＿７を順に経由する経路３０４を通ってセキュリティ装置２０＿７に到達し、以てアンチウィルス機能３＿４が適用されることとなる。
【０１２０】
なお、アクションがＪｕｍｐ又はＦｉｎｉｓｈである場合も、トラヒック転送方法１５が"経路変更"であれば同様の処理が行われる。また、トラヒック転送方法１５が"経路変更＆宛先変更"である場合、セキュリティ装置２０＿５は、上記のポリシールーティング設定の変更依頼及び宛先変更の両処理を実行する。今、アクションテーブル２１＿５中のＦｉｎｉｓｈエントリに対応するＳＩＤ９が"アドレス変更ルータ"であるため、トラフィック２は、ルータ１０＿５〜１０＿７を順に経由する経路３０５を通ってアドレス変換ルータ１０＿９に到達し、以てサーバ２００へ転送されることとなる。
【０１２１】
以上説明した実施の形態１によれば、管理モジュール３１が、余剰リソースのサイズに合わせて、各セキュリティ装置に配置するセキュリティ機能と、それらのセキュリティ機能毎のルール集合のサイズを決定した後、機能配置モジュール３２１が、セキュリティ機能配置方針に従って、セキュリティ機能を各セキュリティ装置に配置し、ルール配置モジュール３２２が、ルール分割方針に従って、ルール集合を各セキュリティ装置に通知する、という構成になっているため、余剰リソースを効率的に活用することができる。
【０１２２】
また、各セキュリティ機能でのルール集合とのマッチング結果によって、経路制御モジュール３３１がトラヒックに対するポリシールーティングの変更を行い、或いは宛先変更モジュール３３２が宛先の変更を行う、という構成になっているため、不要なセキュリティ装置又は不要なセキュリティ機能へのトラヒックの転送を避けることができ、以てセキュリティ処理の遅延を低減できる。
【０１２３】
[実施の形態２]
図１２に示す本実施の形態に係るセキュリティ装置３０ａは、管理モジュール３１が、上述した機能に加えて、セキュリティ装置２０にセキュリティ機能の性能要件１３を満たしているか否か監視させる機能を有する点が上記の実施の形態１と異なる。また、セキュリティ装置２０は、性能要件１３を満たしていない場合に、その旨を示す警告１４を管理モジュール３１へ通知する性能監視モジュール４００をさらに有する。
【０１２４】
動作においては、図１３に示すように、性能監視モジュール４００は、セキュリティ装置２０が、図７と同様のステップＳ１〜Ｓ８の後に管理モジュール３１から送信された性能要件(スループットや同時コネクション数等)１３を満たしているか否かを定期的に判定する(ステップＳ９)。
【０１２５】
この結果、性能要件１３を満たせなくなった場合、性能監視モジュール４００は、管理モジュール３１に対する警告１４を発行し、以てセキュリティ機能の再配置を要求する。
【０１２６】
警告１４を受けた管理モジュール３１は、上記のステップＳ１に戻って、セキュリティ機能の配置処理を再実行する。
【０１２７】
また、管理モジュール３１は、性能監視モジュール４００により警告１４が発行されない場合であっても、定期的に余剰リソース情報を監視し、より良い条件のセキュリティ機能配置方針５及びルール分割方針６が導出可能であるかを判定する。この結果、定常的に良いセキュリティ機能配置方針５及びルール分割方針６が存在する場合(ステップＳ１０)、管理モジュール３１は、上記のステップＳ１に戻って、セキュリティ機能の配置処理を再実行する。
【０１２８】
これにより、いずれかのセキュリティ装置にリソース不足等が発生した場合であっても、各セキュリティ機能を再配置することができ、以てセキュリティ機能の動的な分散配置(負荷分散)を実現できる。
【０１２９】
以上説明した実施の形態２によれば、上記の実施の形態１と同様の効果に加えて、各セキュリティ装置が性能要件１３を満たしているか否かを監視し、満たしていない場合に、管理モジュール３１に対して警告１４を通知する性能監視モジュール４００を備える構成となっており、警告１４を通知された管理モジュール３１がセキュリティ機能の再配置を行うため、余剰リソースのサイズが動的に変化する場合であっても、効率的に余剰リソースを活用することができる。
【０１３０】
また、上記の実施の形態１と同様の効果に加えて、性能監視モジュール４００が、性能要件１３を満たせなくなった場合に警告１４を管理モジュール３１に通知することによって、セキュリティ機能の再配置が行われる、という構成になっているため、セキュリティ装置同士間でのクエリ発行等が不要であり、セキュリティ処理の適用に際して余計な遅延が生じない。
【０１３１】
なお、上記の実施の形態によって本発明は限定されるものではなく、請求の範囲の記載に基づき、当業者によって種々の変更が可能なことは明らかである。
【０１３２】
この出願は、２００９年３月５日に出願された日本出願特願２００９−０５２３２１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１３３】
本発明は、セキュリティ管理装置、方法、及びプログラム、並びにセキュリティ分散システムに適用され、特に企業やデータセンター内の通信ネットワークにおいて、トラヒックに適用すべき一連のセキュリティ機能に係る処理を複数のセキュリティ装置に分散実行させる用途に適用される。
【符号の説明】
【０１３４】
１  セキュリティ分散システム
２  トラヒック
３, ３＿Ａ〜３＿Ｃ  セキュリティ機能
３＿１  ファイアウォール機能
３＿２  ＩＰＳ機能
３＿３  ＷＡＦ機能
３＿４  アンチウィルス機能
４, ４＿Ａ１, ４＿Ａ２, ４＿Ｂ１〜４＿Ｂ３, ４＿Ｃ  ルール集合
５  セキュリティ機能配置方針
６  ルール分割方針
７  リソース確保指示
８  ポリシールーティング設定
９  ＳＩＤ
１０, １０＿１〜１０＿８  ルータ
１０＿９  アドレス変更ルータ
１１  アクション
１２  ポリシールーティング設定要求
１３  性能要件
１４  警告
１５  トラヒック転送方法
２０, ２０＿１〜２０＿８  セキュリティ装置
２１  アクションテーブル
２２  転送テーブル
２３  セキュリティ機能実行モジュール
２４  宛先管理モジュール
２５, ３４  ＣＰＵ
２６, ３６  メモリ(又は二次記憶装置)
２７  セキュリティ機能実行プログラム
２８  宛先管理プログラム
３０, ３０ａ  セキュリティ管理装置
３１  管理モジュール
３２  割当モジュール
３３  制御モジュール
３５  ネットワークインタフェース
３７  管理プログラム
３８  割当プログラム
３９  制御プログラム
１０１, １０２  通信路
２００  サーバ
３０１〜３０５  経路
３２１  機能配置モジュール
３２２  ルール配置モジュール
３３１  経路制御モジュール
３３２  宛先変更モジュール
４００  性能監視モジュール
【図１】
0005482783.tif 000002
【図２】
0005482783.tif 000003
【図３】
0005482783.tif 000004
【図４】
0005482783.tif 000005
【図５Ａ】
0005482783.tif 000006
【図５Ｂ】
0005482783.tif 000007
【図６】
0005482783.tif 000008
【図７】
0005482783.tif 000009
【図８】
0005482783.tif 000010
【図９】
0005482783.tif 000011
【図１０Ａ】
0005482783.tif 000012
【図１０Ｂ】
0005482783.tif 000013
【図１１Ａ】
0005482783.tif 000014
【図１１Ｂ】
0005482783.tif 000015
【図１２】
0005482783.tif 000016
【図１３】
0005482783.tif 000017