(57)【特許請求の範囲】
【請求項１】
３つ以上のノードを有するファイアウォールクラスターの第１のノードにおいて、確立されたネットワーク接続のソースポート及び宛先ポートの情報を含む接続状態データを、前記ファイアウォールクラスター内の少なくとも別のノードと共有することと、
前記第１のノードにおいて、前記ネットワーク接続のパケットを監視し、前記監視されるパケット内のデータパターンを既知のアプリケーションと関連付けられたデータパターンと比較して、いずれのアプリケーションが接続を開始したのかを示すアプリケーション状態データを特定することと、
前記第１のノードにおいて、前記アプリケーション状態データを前記ファイアウォールクラスター内の少なくとも別のノードと共有することと、
を含む、ファイアウォールクラスターを動作させる方法。
【請求項２】
前記アプリケーション状態データを共有することは、前記アプリケーション状態データを、前記ファイアウォールクラスター内の別のノードにブロードキャストすることを含む、請求項１に記載のファイアウォールクラスターを動作させる方法。
【請求項３】
前記アプリケーション状態データを共有することは、前記アプリケーション状態データをマスターノードに送信することを含む、請求項１又は２に記載のファイアウォールクラスターを動作させる方法。
【請求項４】
前記マスターノードが前記アプリケーション状態データを前記ファイアウォールクラスター内の他のノードにブロードキャストすることを更に含む、請求項３に記載のファイアウォールクラスターを動作させる方法。
【請求項５】
前記第１のノードの故障時に、前記別のノードにおいて、前記共有されたアプリケーション状態データを用いて前記ネットワーク接続のデータストリームのフィルタリングを実行することを更に含む、請求項１〜４のいずれか１項に記載のファイアウォールクラスターを動作させる方法。
【請求項６】
前記別のノードにおいて、前記共有されたアプリケーション状態データを用いて前記ネットワーク接続のデータストリームのフィルタリングを実行して、前記ファイアウォールクラスターにおける負荷分散を提供することを更に含む、請求項１〜５のいずれか１項に記載のファイアウォールクラスターを動作させる方法。
【請求項７】
３つ以上のノードを有するファイアウォールクラスターの第１のノードであって、確立されたネットワーク接続のソースポート及び宛先ポートの情報を含む接続状態データを前記ファイアウォールクラスター内の少なくとも別のノードと共有し、前記ネットワーク接続のパケットを監視し、前記監視されるパケット内のデータパターンを既知のアプリケーションと関連付けられたデータパターンと比較して、いずれのアプリケーションが接続を開始したのかを示すアプリケーション状態データを特定し、前記アプリケーション状態データを前記ファイアウォールクラスター内の少なくとも別のノードと共有するように動作可能な第１のノードを備える、ファイアウォールクラスター。
【請求項８】
前記アプリケーション状態データを共有することは、前記アプリケーション状態データを、前記ファイアウォールクラスター内の別のノードにブロードキャストすることを含む、請求項７に記載のファイアウォールクラスター。
【請求項９】
マスターノードを更に備え、前記アプリケーション状態データを共有することは、前記アプリケーション状態データを前記マスターノードに送信することを含む、請求項７又は８に記載のファイアウォールクラスター。
【請求項１０】
前記マスターノードは、前記アプリケーション状態データを前記ファイアウォールクラスター内の他のノードにブロードキャストするように更に動作可能である、請求項９に記載のファイアウォールクラスター。
【請求項１１】
前記第１のノードの故障時に、前記共有されたアプリケーション状態データを用いて前記ネットワーク接続のデータストリームのフィルタリングを実行するように動作可能な第２のノードを更に備える、請求項７〜１０のいずれか１項に記載のファイアウォールクラスター。
【請求項１２】
前記共有されたアプリケーション状態データを用いて、前記ネットワーク接続のデータストリームのフィルタリングを実行して、前記ファイアウォールクラスターにおける負荷分散を提供するように動作可能な第２のノードを更に備える、請求項７〜１０のいずれか１項に記載のファイアウォールクラスター。
【請求項１３】
コンピュータに、
３つ以上のノードを有するファイアウォールクラスターの第１のノードによって、確立されたネットワーク接続のソースポート及び宛先ポートの情報を含む接続状態データを、前記ファイアウォールクラスター内の少なくとも１つのバックアップノードに提供することと、
前記第１のノードによって、前記ネットワーク接続のパケットを監視し、前記監視されるパケット内のデータパターンを既知のアプリケーションと関連付けられたデータパターンと比較して、いずれのアプリケーションが接続を開始したのかを示すアプリケーション状態データを特定することと、
前記第１のノードによって、前記アプリケーション状態データを前記ファイアウォールクラスター内の少なくとも１つのバックアップノードに提供することと
を実行させるためのプログラム。
【請求項１４】
前記コンピュータに、前記アプリケーション状態データを前記ファイアウォールクラスター内の別の複数のノードにブロードキャストすることをさらに実行させるための、請求項１３に記載のプログラム。
【請求項１５】
前記コンピュータに、前記アプリケーション状態データを前記ファイアウォールクラスター内のマスターノードに提供することをさらに実行させるための、請求項１３又は１４に記載のプログラム。
【請求項１６】
前記コンピュータに、別のノードにおいて前記ネットワーク接続のデータストリームのフィルタリングを実行し、前記ファイアウォールクラスターにおける負荷分散を提供することをさらに実行させるための、請求項１３〜１５のいずれか一項に記載のプログラム。
【請求項１７】
３つ以上のノードを有するファイアウォールクラスターの第１のノードによって、確立されたネットワーク接続のソースポート及び宛先ポートの情報を含む接続状態データを、前記ファイアウォールクラスター内の少なくとも１つのバックアップノードに提供することと、
前記第１のノードによって、前記ネットワーク接続のパケットを監視し、前記監視されるパケット内のデータパターンを既知のアプリケーションと関連付けられたデータパターンと比較して、いずれのアプリケーションが接続を開始したのかを示すアプリケーション状態データを特定することと、
前記第１のノードによって、前記アプリケーション状態データを前記ファイアウォールクラスター内の少なくとも１つのバックアップノードに提供することと
を含む、方法。
【請求項１８】
前記アプリケーション状態データを、前記ファイアウォールクラスター内の他の複数のノードにブロードキャストすることを更に含む、請求項１７に記載の方法。
【請求項１９】
前記アプリケーション状態データを前記ファイアウォールクラスター内のマスターノードに提供することを更に含む、請求項１７又は１８に記載の方法。
【請求項２０】
別のノードにおいて前記ネットワーク接続のデータストリームのフィルタリングを実行し、前記ファイアウォールクラスターにおける負荷分散を提供することを更に含む、請求項１７〜１９のいずれか一項に記載の方法。
【請求項２１】
３つ以上のノードを有するファイアウォールクラスターであって、
複数のプロセッサと、
前記複数のプロセッサのうちの１以上と通信可能に接続されたメモリと
を備え、
前記ファイアウォールクラスター内のそれぞれのノードは、前記複数のプロセッサのうちの１以上において動作するべく構成されており、
前記ファイアウォールクラスター内の第１のノードは、
確立されたネットワーク接続のソースポート及び宛先ポートの情報を含む接続状態データを前記ファイアウォールクラスター内の少なくとも１つのバックアップノードに提供し、前記ネットワーク接続のパケットを監視し、前記監視されるパケット内のデータパターンを既知のアプリケーションと関連付けられたデータパターンと比較して、いずれのアプリケーションが接続を開始したのかを示すアプリケーション状態データを特定し、前記アプリケーション状態データを前記ファイアウォールクラスター内の少なくとも１つのバックアップノードに提供するように動作可能である、ファイアウォールクラスター。
【請求項２２】
前記第１のノードは、前記アプリケーション状態データを、前記ファイアウォールクラスター内の他の複数のノードにブロードキャストするように更に動作可能である、請求項２１に記載のファイアウォールクラスター。
【請求項２３】
前記第１のノードは、前記アプリケーション状態データを前記ファイアウォールクラスター内のマスターノードに提供するように更に動作可能である、請求項２１又は２２に記載のファイアウォールクラスター。
【請求項２４】
前記マスターノードは、前記アプリケーション状態データを前記ファイアウォールクラスター内の他の複数のノードにブロードキャストするように動作可能である、請求項２３に記載のファイアウォールクラスター。
【請求項２５】
前記マスターノードは、別のノードにおいて前記ネットワーク接続のデータストリームのフィルタリングを実行して、前記ファイアウォールクラスターにおける負荷分散を提供するように更に動作可能である、請求項２３又は２４に記載のファイアウォールクラスター。
【請求項２６】
３つ以上のノードを有するファイアウォールクラスターのノードであって、
１以上のプロセッサと、
メモリと
を備え、
前記メモリには、実行された場合に、１以上のプロセッサに、
前記ファイアウォールクラスターの第１のノードによって、確立されたネットワーク接続のソースポート及び宛先ポートの情報を含む接続状態データを格納することと、
前記第１のノードによって、前記ネットワーク接続のパケットを監視し、前記監視されるパケット内のデータパターンを既知のアプリケーションと関連付けられたデータパターンと比較して、いずれのアプリケーションが接続を開始したのかを示すアプリケーション状態データを特定することと、
前記第１のノードの故障に応じて、前記接続状態データを前記第１のノードから前記ファイアウォールクラスターの第２のノードに転送することと、
前記アプリケーション状態データを前記第２のノードに提供することと
を実行させるための命令が格納されている、ノード。
【請求項２７】
前記命令は、実行された場合に、１以上のプロセッサに、前記アプリケーション状態データを前記ファイアウォールクラスターの他の複数のノードにブロードキャストすることを実行させる命令を更に含む、請求項２６に記載のノード。
【請求項２８】
前記命令は、実行された場合に、１以上のプロセッサに、前記アプリケーション状態データを前記ファイアウォールクラスター内のマスターノードに提供することを実行させる命令を更に含む、請求項２６又は２７に記載のノード。
【請求項２９】
前記命令は、実行された場合に、１以上のプロセッサに、別のノードにおいて前記ネットワーク接続のデータストリームのフィルタリングを実行して、前記ファイアウォールクラスターにおける負荷分散を提供することを実行させる命令を更に含む、請求項２６〜２８のいずれか一項に記載のノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的にはファイアウォール動作に関し、より詳細には、１つの実施形態において、本発明はファイアウォールクラスターにおけるアプリケーション状態共有に関する。
【０００２】
［関連出願の相互参照］
本出願は、２０１１年９月８日に出願された米国特許出願第ｌ３／２２７，８２５号の優先権を主張する。この米国特許出願は、引用することにより本明細書の一部をなす。
【０００３】
制限付き著作権放棄
本特許文書の開示の一部は、著作権保護の請求がなされた題材を含む。著作権所有者は、米国特許庁及び商標局のファイル又は記録に見られるように、いかなる者による特許文書又は特許開示のファクシミリ再生に対しても異議はないが、他のいかなる権利についてもそれらの権利の全てを留保する。
【背景技術】
【０００４】
コンピューターが有益なツールである所以は主に、コンピューターが他のコンピューターシステムと通信し、コンピューターネットワークを介して情報を取り出すことが可能なことにある。ネットワークは通常、コンピューター間で情報を転送する能力をコンピューターに与える、配線、光ファイバー、無線、又は他のデータ送信手段によってリンクされた、相互接続されたコンピューター群を含む。インターネットは、おそらく最もよく知られたコンピューターネットワークであり、数百万人の人々が、ウェブページを閲覧するか、電子メールを送信するか、又は他のコンピューター間通信を実行すること等によって、数百万個の他のコンピューターにアクセスすることを可能にする。
【０００５】
しかし、インターネットは規模が非常に大きく、インターネットユーザーの関心に非常に多様性があるので、悪意のあるユーザー又は迷惑ユーザー（prankster）が、他のユーザーに危険を課すように他のユーザーのコンピューターと通信することを試みることは珍しくない。例えば、ハッカーは企業のコンピューターにログインして、情報を盗むか、削除するか又は変更するように試みる場合がある。コンピューターウィルス又はトロイの木馬プログラムが他のコンピューターに配信されるか、又は多数のコンピューターユーザーによって知らずにダウンロード若しくは実行される場合がある。さらに、企業等の組織内のコンピューターユーザーは時折、ファイル共有プログラムを実行するか、又は企業のネットワーク内から企業秘密をインターネットに送信する等の認可されていないネットワーク通信を実行しようと試みる場合がある。
【０００６】
これらの理由及び他の理由により、多くの企業、団体、及び更にはホームユーザーが、自身のローカルネットワークとインターネットとの間でネットワークファイアウォール又は同様のデバイスを用いる。ファイアウォールは通常、通過するネットワークトラフィックを調査するコンピューター化されたネットワークデバイスであり、１組の規則に基づいて所望のネットワークトラフィックの通過を許可する。
【０００７】
ファイアウォールは、ＴＣＰ／ＩＰパケット又は他のネットワークプロトコルパケット等の通信パケットを観察し、ソースネットワークアドレス及び宛先ネットワークアドレス、いずれのポートが用いられているか、及び接続の状態又は履歴等の特性を検査することによってフィルタリング機能を実行する。ファイアウォールによっては、特定のアプリケーションに対し行き来するパケットも検査するものもあるし、保護されたユーザーと外部のネットワーク化されたコンピューターとの間の選択されたネットワーク要求を処理及び転送することによってプロキシデバイスとして働くものもある。
【０００８】
ファイアウォールは通常、ファイアウォール内のネットワークトラフィックを検査すること等によって、様々なポート、ソケット及びプロトコル間の接続を監視することにより、ネットワーク情報のフローを制御する。ソケット、ポート、アプリケーション及び他の情報に基づく規則を用いて、データを選択的にフィルタリングするか又は通過させ、ネットワークアクティビティのログをとる。ファイアウォール規則は通常、ネットワークトラフィックの或る特定のタイプを識別するように構成される。これらのタイプは、禁止されるか、又は或る特定の他の制限が適用されるべきである。他の制限とは、ファイル共有プログラムに用いられることがわかっているポート上のトラフィックをブロックし、一方で従来のＦＴＰポートを介して受信されるいかなるトラフィックもウィルススキャンすること、或る特定のアプリケーション又はユーザーがいくつかのタスクを実行することをブロックし、一方で他のユーザーがそのようなタスクを実行することを可能にすること、及び共通のＩＰアドレスからの異なるポートに対する反復クエリ等の既知の攻撃パターンに基づいてトラフィックをブロックすること等である。
【０００９】
しかし、ファイアウォールが、複数のコンピューターシステムにわたって分散されたときにそのような接続を管理する能力は、接続の知識が通常、接続をハンドリングするシステムにしか記憶されないという点で限られている。したがって、クラスターにおける改善されたファイアウォール分散が所望されている。
【発明の概要】
【００１０】
本発明の様々な例示的な実施形態が、３つ以上のノードを有するファイアウォールクラスターの第１のノードにおいて接続を受信し、第１のノードにおいて、受信した接続のパケットを監視するとともに、監視されているパケットから、接続に関連付けられたアプリケーション状態データを特定し、アプリケーション状態データをファイアウォールクラスター内の少なくとも別のノードと共有するように動作可能な第１のノードを含むファイアウォールクラスターシステムを含む。別のノードは、アプリケーション状態データを用いて、第１のノードが故障した場合等に接続の処理を継続するか、又は負荷分散を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明のいくつかの実施形態を実施するのに用いることができるような、ファイアウォールを含む例示的なネットワークを示す図である。
【００１２】
【図２】本発明のいくつかの実施形態を実施するのに用いることができるような、複数のファイアウォールノードを含むファイアウォールクラスターを含む例示的なネットワークを示す図である。
【００１３】
【図３】本発明の例示的な実施形態に従う、ファイアウォールクラスター内の共有アプリケーション状態データを用いる方法を示すフローチャートである。
【発明を実施するための形態】
【００１４】
本発明の例示的な実施形態の以下の詳細な説明において、図示及び説明のために特定の実施例が参照される。これらの実施例は、当業者が本発明を実施することを可能にするのに十分詳細に説明され、本発明を様々な目的又は実施形態にどのように適用することができるかを示す役割を果たす。本発明の他の実施形態が存在し、これらは本発明の範囲内にあり、本発明の主題又は範囲から逸脱することなく、論理的変更、機械的変更、電気的変更及び他の変更を行うことができる。しかしながら、本明細書において説明される本発明の様々な実施形態の特徴及び制限は、それらが組み込まれる例示的な実施形態に必須なものであり、発明を全体として制限するものではなく、本発明、本発明の要素、動作及び用途へのいかなる言及も、本発明を全体として制限するものではなく、これらの例示的な実施形態を定義する役割のみを果たす。したがって、以下の詳細な説明は本発明の範囲を制限せず、本発明の範囲は添付の特許請求の範囲によってのみ定義される。
【００１５】
図１は、１０１におけるインターネット等の公衆ネットワークと、プライベートネットワーク１０２と、１０３に示される、ファイアウォール及び侵入保護機能を提供するように動作可能なコンピューターネットワークデバイスとを備える通常のコンピューターネットワーク環境を示している。この特定の例において、コンピューターネットワークデバイス１０３は、インターネットとプライベートネットワークとの間に位置決めされ、プライベートネットワークと公衆ネットワークとの間のトラフィックフローを調整する。
【００１６】
ネットワークデバイス１０３は、様々な実施形態において、ファイアウォールデバイスであり、侵入保護デバイスであり、又はその双方として機能する。ネットワークデバイス内のファイアウォールデバイス又はモジュールは、ネットワークパケットの調査、及び１組のファイアウォールフィルタリング規則を満たすネットワークパケットのドロップ又は拒否等の様々なネットワークフロー制御機能を提供する。上記で説明したように、ファイアウォールは通常、ＴＣＰ／ＩＰパケット又は他のネットワークプロトコルパケット等の通信パケットを観察し、ソースネットワークアドレス及び宛先ネットワークアドレス、いずれのポートが用いられているか、及び接続の状態又は履歴等の特性を検査することによってフィルタリング機能を実行する。ファイアウォールによっては、いずれのアプリケーションが接続を確立したかを特定するためにパケットも検査するものもあるし、保護されたユーザーと外部のネットワーク化されたコンピューターとの間の選択されたネットワーク要求を処理及び転送することによってプロキシデバイスとして働くものもある。ファイアウォールは多くの場合に、望ましくないトラフィックの「シグネチャ」又は他の特性を用いて、有害であるとみなされるか又は他の形で望ましくないトラフィックを検出しブロックする。
【００１７】
ファイアウォールは通常、１組の規則を用いてトラフィックをフィルタリングし、ネットワークデータの任意の特定の要素に関して行われることが、その特定のデータにどのように規則の組が適用されるかに依拠するようにする。例えば、ポート６３４６への全てのトラフィックをブロックする規則は、保護されたネットワーク内のサーバー上のそのポートに向けられた着信トラフィックをブロックするが、同じサーバーの異なるポート番号に向かう他のデータはブロックしない。同様に、Ｓｈａｒｅａｚａ等のファイル共有プログラムから発信されたトラフィックをブロックする規則は、トラフィックにおけるパターンを用いて、ポート６３４６上のＳｈａｒｅａｚａトラフィックをブロックするが、ポート６３４６上の他のトラフィックは許可する。
【００１８】
しかし、大型のシステム又は複雑なシステム等の、ファイアウォールが複数のコンピューター又はノードにわたって分散されたシステムとして実施される環境では、複数のノードが接続を共有する能力は、接続に関するソケット情報、アプリケーション情報等のような、接続に関する管理ノードの情報に限定される。したがって、本発明のいくつかの実施形態は、クラスターファイアウォール内の他のシステムと、アプリケーションタイプ又は他のそのような接続データ等の状態情報を共有し、ファイアウォールクラスター内の複数のノードが同じ接続を処理することを可能にするメカニズムを提供する。これによって、システム間で接続の担当を移すことによって負荷分散を行い、クラスター内のノードの故障を、そのノードの接続を別のマシンに移すことによって管理し、他のそのような機能を実行する能力がクラスターに与えられる。
【００１９】
１つのそのような例において、ファイアウォール又は侵入保護システムは、ファイアウォールを通って流れる処理トラフィックを共有するノードのクラスター又は接続された群として実装される。図２は、本発明のいくつかの実施形態を実施するのに用いることができるような、分散ファイアウォールを有するネットワークを示している。ここで、インタネット２０１等のネットワークは、ファイアウォール２０３によって内部ネットワーク２０２に結合される。ファイアウォール２０３は、負荷分散及び他のファイアウォール管理機能等の機能を実行することができる着信トラフィックモジュール２０４及び発信トラフィックモジュール２０５を含む。ファイアウォール又は侵入保護規則はファイアウォールノード２０６において適用され、これらのファイアウォールノードは図示されるようにネットワーク接続によって互いに接続される。
【００２０】
ここで、示される５つのノードはそれぞれ、インターネット２０１と内部ネットワーク２０２との間を流れるトラフィックを選択的に許可又はブロックする規則をトラフィックに適用するように動作可能な、ファイアウォール又は関連するソフトウェアのインスタンスを実行する別個のコンピューターシステムを備える。代替の実施形態では、ノード１、ノード２及びノード３等のいくつかのノードがファイアウォールアプリケーションを実行する一方、４及び５等の他のノードは侵入保護システム（ＩＰＳ）アプリケーションを実行する。ノード２０４及び２０５は、ファイアウォールノード２０６にルーティングされるトラフィックの負荷分散等の機能の実行を担当し、これらのノードが、単一ノードの場合よりも高いスループット能力を提供するように効率的にともに機能することができることを確保する。
【００２１】
いくつかのファイアウォール実施形態は、ポート、ＩＰ及び他のそのような規則をデータストリームに単に適用することを超える、複雑な接続識別機能を実行する。例えば、いくつかのファイアウォールの例は、新たな接続の最初のいくつかのパケットを監視し、アプリケーション通信プロファイル情報に基づいて、接続を開始したアプリケーションを識別するように動作可能なアプリケーション識別モジュールを含む。アプリケーションが特定されると、アプリケーション固有の（application-specific）規則を接続に適用し、ファイアウォールを通って流れるデータを制御する向上した機能を提供することができる。
【００２２】
２０６におけるファイアウォールノードが故障した場合、単純に別のノードが接続をピックアップし、ポート、ＩＰアドレス及び他のそのような特性に基づいて、同じ従来のファイアウォール規則を適用することができる。しかし、図２の２０６における５つの異なるファイアウォールノードは、ポート及びＩＰアドレス等の識別可能な特性に基づいて接続に同じ規則を適用することができるものの、アプリケーションに基づく規則を接続に適用するように既に確立されたリンクの最初のいくつかのパケットを再検査することができない。
【００２３】
したがって、本発明のいくつかの実施形態は、ファイアウォールクラスター内のノードにわたるアプリケーション状態共有のメカニズムを提供し、負荷分散、又は故障したクラスターノードからの復元等のために、ファイアウォールが、アプリケーションに基づく規則が課された接続を別のノードに移すことを可能にする。１つの実施形態において、この状態共有は、図２に示すもの等のように、ファイアウォールクラスター内のノードを互いにリンクするネットワーク接続を介して処理される。アプリケーション情報を含む接続のセッション情報は複数のノードにわたって共有されるので、識別されたアプリケーションとの確立された接続を受信したノードは、ファイアウォール構成によって特定されるようにトラフィックを許可又は拒否するアプリケーション固有の規則を適用することができる。
【００２４】
いくつかの実施形態における状態共有は、状態情報をファイアウォールクラスター内の全ての他のノードにブロードキャストすることを含み、他のノードがそれぞれ、他のノードにおける接続のアプリケーション状態の知識を有するようにする。代替の実施形態では、マスターノードがアプリケーション状態データを受信し、このデータを記憶し、クラスター内の少なくとも２つのノードが、アプリケーション状態データが識別された接続のアプリケーション状態データを有するようにする。したがって、マスターノードは自身のアプリケーション状態データをバックアップマスターノード又は他の指定されたノードと共有し、マスターノードの故障により結果としてアプリケーション状態データが失われないようにすることができる。更に他の例では、マスターノードはアプリケーション状態情報を受信し、次にこの情報を他のノードにブロードキャストする。
【００２５】
図３は、本発明の例示的な実施形態に従って、ファイアウォール内の複数のノードにわたるアプリケーション状態共有を用いて、ノード故障（failed node）から復元する例を示している。３０１において、ローカルネットワーク２０２内のコンピューターとインターネット２０１との間でリンクが開始される。ノード間のリンクは、ノード１によって処理される。３０２において、ノード１は、ネットワーク接続が確立されるとすぐに、ソースポート及び宛先ポート並びにＩＰアドレス等の状態情報を共有する。データのいくつかのパケットがローカルコンピューターとインターネットサーバーとの間で交換された後、３０３において、ファイアウォールはパケット内のデータパターンを、既知のアプリケーションと関連付けられたデータパターンと比較し、多くの場合に、いずれのアプリケーションが接続を開始したのかを特定することができる。次に、３０４において、ファイアウォールノード１は、接続に関するこのアプリケーション状態データを他のノードと共有し、３０５において、このアプリケーション状態データを用いて、アプリケーション固有の規則をファイアウォールに適用する。
【００２６】
３０６において、ノード１が故障し、３０７において、接続がノード２にリダイレクトされる。ノード２は、ノード１から接続に関するアプリケーション状態データを以前に受信しているので、３０８において、ノード２は、アプリケーション固有の規則を接続に適用することを含む、データストリームのフィルタリングを再開することができる。
【００２７】
この例は、ノードが故障した後に、ノードが接続のフィルタリングをどのように再開することができるかを示しているが、負荷分散、又は様々なタスクへのノードの再割当て等の用途で、分散ファイアウォールクラスター内で接続をノード間で移すのに、同様の方法を用いることができる。
【００２８】
１つのそのような例では、ファイアウォールノード１が故障するのではなく、２つの侵入保護システムノード（図示せず）の一方である侵入保護システムノードが故障する。システムは、ファイアウォールサービスを提供するノード数と、侵入保護を提供するノード数との間で或る特定のバランスを維持することを所望し、この例では、侵入保護システムは、その２つのノードのうちの一方が故障したとき、機能の半分を失っている。したがって、システムは、故障した侵入保護ノードに置き換わるようにファイアウォールノード１を再割当てし、その結果、図２に示すように、以前にファイアウォールノード１によって処理されていた接続は、ファイアウォールノード２〜５にわたって再分散される。
【００２９】
これらの例は、ファイアウォールクラスター内でアプリケーション状態データを共有することによって、ファイアウォールクラスター内の負荷分散、フェイルオーバー及び他の機能をどのように容易にし、ファイアウォールクラスターにおけるネットワークトラフィックのアプリケーションに基づくフィルタリングをより扱いやすく信頼性の高いものにすることができるかを示している。
【００３０】
本明細書において、特定の実施形態が示され、説明されたが、当業者であれば、同じ目的を果たすように計算された任意の構成を、示された特定の実施形態に置き換えることができることを理解するであろう。本出願は、本明細書に説明した本発明の例示的な実施形態の任意の適応又は変形を包含するように意図される。本発明は特許請求の範囲及びその等価物の全範囲によってのみ限定されることが意図される。
【００３１】
１つの例示的な実施形態では、ファイアウォールクラスターを動作させる方法が、３つ以上のノードを有するファイアウォールクラスターの第１のノードにおいて接続を受信することと、第１のノードにおいて、受信した接続のパケットを監視するとともに、これらの監視されるパケットから、接続に関連付けられたアプリケーション状態データを特定することと、アプリケーション状態データをファイアウォールクラスター内の少なくとも別のノードと共有することとからなるプロセスを含む。この例は、接続を受信した後であるが、アプリケーション状態データを共有する前に、受信した接続に関する接続情報をファイアウォールクラスター内の少なくとも別のノードと更に共有することができる。オプションで、ファイアウォールクラスターは、接続に関連付けられたアプリケーションの識別情報を含むアプリケーション状態データを維持することができる。アプリケーション状態データを共有することは、アプリケーション状態データを、ファイアウォールクラスター内の他のノードにブロードキャストすること、又はアプリケーション状態データをマスターノードに送信することを含むことができる。マスターノードは、アプリケーション状態データをファイアウォールクラスター内の他のノードにブロードキャストするように構成することもできる。ファイアウォールクラスターはまた、接続に関連付けられた共有されたアプリケーション状態データを用いて、第１のノードの故障時に別のノードにおいて接続をフィルタリングすることもできるし、接続に関連付けられた共有されたアプリケーション状態データを用いて、別のノードにおいて接続をフィルタリングし、ファイアウォールクラスターにおける負荷分散を提供することもできる。
【００３２】
別の例では、ファイアウォールクラスターが第１のノードを備えることができ、この第１のノードは、３つ以上のノードを有するファイアウォールクラスターにおいて接続を受信し、この第１のノードにおいて、受信した接続のパケットを監視するとともに、これらの監視されるパケットから、接続に関連付けられたアプリケーション状態データを特定し、アプリケーション状態データをファイアウォールクラスター内の少なくとも別のノードと共有するように動作可能である。第１のノードは、接続を受信した後であるが、アプリケーション状態データを共有する前に、受信した接続に関する接続情報をファイアウォールクラスター内の少なくとも別のノードと共有するように更に動作可能とすることもできる。この例は当然ながら、上記の例において説明したいくつかの要素又は全ての要素を含むことができる。
［項目１］
３つ以上のノードを有するファイアウォールクラスターの第１のノードにおいて接続を受信することと、
前記第１のノードにおいて、前記受信した接続のパケットを監視し、前記監視されるパケットから、前記接続に関連付けられたアプリケーション状態データを特定することと、
アプリケーション状態データを前記ファイアウォールクラスター内の少なくとも別のノードと共有することと、
を含む、ファイアウォールクラスターを動作させる方法。
［項目２］
前記接続を受信した後であるが、アプリケーション状態データを共有する前に、前記受信した接続に関する接続情報を前記ファイアウォールクラスター内の少なくとも別のノードと共有することを更に含む、項目１に記載のファイアウォールクラスターを動作させる方法。
［項目３］
アプリケーション状態データは、前記接続に関連付けられたアプリケーションの識別情報を含む、項目１又は２に記載のファイアウォールクラスターを動作させる方法。
［項目４］
アプリケーション状態データを共有することは、前記アプリケーション状態データを、前記ファイアウォールクラスター内の他のノードにブロードキャストすることを含む、項目１〜３のいずれか１項に記載のファイアウォールクラスターを動作させる方法。
［項目５］
アプリケーション状態データを共有することは、前記アプリケーション状態データをマスターノードに送信することを含む、項目１〜４のいずれか１項に記載のファイアウォールクラスターを動作させる方法。
［項目６］
前記マスターノードが前記アプリケーション状態データを前記ファイアウォールクラスター内の他のノードにブロードキャストすることを更に含む、項目５に記載のファイアウォールクラスターを動作させる方法。
［項目７］
前記接続に関連付けられた前記共有されたアプリケーション状態データを用いて、前記第１のノードの故障時に別のノードにおいて前記接続をフィルタリングすることを更に含む、項目１〜６のいずれか１項に記載のファイアウォールクラスターを動作させる方法。
［項目８］
前記接続に関連付けられた前記共有されたアプリケーション状態データを用いて、別のノードにおいて前記接続をフィルタリングし、前記ファイアウォールクラスターにおける負荷分散を提供することを更に含む、項目１〜７のいずれか１項に記載のファイアウォールクラスターを動作させる方法。
［項目９］
第１のノードであって、３つ以上のノードを有するファイアウォールクラスターにおいて接続を受信し、前記第１のノードにおいて、前記受信した接続のパケットを監視するとともに、前記監視されるパケットから、前記接続に関連付けられたアプリケーション状態データを特定し、アプリケーション状態データを前記ファイアウォールクラスター内の少なくとも別のノードと共有するように動作可能な第１のノードを備える、ファイアウォールクラスター。
［項目１０］
前記第１のノードは、前記接続を受信した後であるが、アプリケーション状態データを共有する前に、前記受信した接続に関する接続情報を前記ファイアウォールクラスター内の少なくとも別のノードと共有するように更に動作可能である、項目９に記載のファイアウォールクラスター。
［項目１１］
アプリケーション状態データは、前記接続に関連付けられたアプリケーションの識別情報を含む、項目９又は１０に記載のファイアウォールクラスター。
［項目１２］
アプリケーション状態データを共有することは、前記アプリケーション状態データを、前記ファイアウォールクラスター内の他のノードにブロードキャストすることを含む、項目９〜１１のいずれか１項に記載のファイアウォールクラスター。
［項目１３］
マスターノードを更に備え、前記アプリケーション状態データを共有することは、前記アプリケーション状態データを前記マスターノードに送信することを含む、項目９〜１２のいずれか１項に記載のファイアウォールクラスター。
［項目１４］
前記マスターノードは、前記アプリケーション状態データを前記ファイアウォールクラスター内の他のノードにブロードキャストするように更に動作可能である、項目１３に記載のファイアウォールクラスター。
［項目１５］
前記接続に関連付けられた前記共有されたアプリケーション状態データを用いて、前記第１のノードの故障時に別のノードにおいて前記接続をフィルタリングするように動作可能な第２のノードを更に備える、項目９〜１４のいずれか１項に記載のファイアウォールクラスター。
［項目１６］
前記接続に関連付けられた前記共有されたアプリケーション状態データを用いて別のノードにおいて前記接続をフィルタリングし、前記ファイアウォールクラスターにおける負荷分散を提供するように動作可能な第２のノードを更に備える、項目９〜１５のいずれか１項に記載のファイアウォールクラスター。
［項目１７］
ファイアウォールクラスターを動作させる方法であって、
３つ以上のノードを有するファイアウォールクラスターの第１のノードにおいて接続を受信することと、
前記受信した接続に関する接続情報を前記ファイアウォールクラスター内の少なくとも別のノードと共有することと、
前記第１のノードにおいて、前記受信した接続のパケットを監視するとともに、前記監視されるパケットから、前記接続に関連付けられたアプリケーションを特定することと、
前記接続に関連付けられたアプリケーションを示すデータを、前記ファイアウォールクラスター内の２つ以上の他のノードと共有することと、
を含む、ファイアウォールクラスターを動作させる方法。
［項目１８］
前記接続に関連付けられた前記アプリケーションを示す前記データを用いて、前記第１のノードの故障時に別のノードにおいて前記接続をフィルタリングすることを更に含む、項目１７に記載のファイアウォールクラスターを動作させる方法。
［項目１９］
前記接続に関連付けられた前記アプリケーションを示す前記データを用いて、別のノードにおいて前記接続をフィルタリングし、前記ファイアウォールクラスターにおける負荷分散を提供することを更に含む、項目１７又は１８に記載のファイアウォールクラスターを動作させる方法。
［項目２０］
コンピュータに、
３つ以上のノードを有するファイアウォールクラスターの第１のノードによって、パケットに関連付けられた接続情報を処理することと、
接続を確立することと、
前記接続に関連付けられた状態データを前記ファイアウォールクラスター内の少なくとも１つのバックアップノードに提供することと、
前記第１のノードの故障に応じて、前記接続を前記クラスターの第２のノードに転送することと、
前記状態データを前記バックアップノードから前記第２のノードに提供することと
を実行させるためのプログラム。
［項目２１］
前記コンピュータに、前記状態データを前記ファイアウォールクラスター内の他の複数のノードにブロードキャストすることをさらに実行させるための、項目２０に記載のプログラム。
［項目２２］
前記コンピュータに、前記状態データを前記ファイアウォールクラスター内のマスターノードに提供することをさらに実行させるための、項目２０又は２１に記載のプログラム。
［項目２３］
前記コンピュータに、別のノードにおいて前記接続をフィルタリングし、前記ファイアウォールクラスターにおける負荷分散を提供することをさらに実行させるための、項目２０〜２２のいずれか一項に記載のプログラム。
［項目２４］
前記コンピュータに、
アプリケーション状態データを前記少なくとも１つのバックアップノードに提供することと、
前記第１のノードの故障に応じて、前記アプリケーション状態データを前記第２のノードに提供することと
を更に実行させるための、項目２０〜２３のいずれか一項に記載のプログラム。
［項目２５］
３つ以上のノードを有するファイアウォールクラスターの第１のノードによって、パケットに関連付けられた接続情報を処理することと、
接続を確立することと、
前記接続に関連付けられた状態データを前記ファイアウォールクラスター内の少なくとも１つのバックアップノードに提供することと、
前記第１のノードの故障に応じて、前記接続を前記クラスター内の第２のノードに転送することと、
前記状態データを前記バックアップノードから前記第２のノードに提供することと
を含む、方法。
［項目２６］
前記状態データを、前記ファイアウォールクラスター内の他の複数のノードにブロードキャストすることを更に含む、項目２５に記載の方法。
［項目２７］
前記状態データを前記ファイアウォールクラスター内のマスターノードに提供することを更に含む、項目２５又は２６に記載の方法。
［項目２８］
別のノードにおいて前記接続をフィルタリングし、前記ファイアウォールクラスターにおける負荷分散を提供することを更に含む、項目２５〜２７のいずれか一項に記載の方法。
［項目２９］
アプリケーション状態データを前記少なくとも１つのバックアップノードに提供することと、
前記第１のノードの故障に応じて、前記アプリケーション状態データを前記第２のノードに提供することと
を更に含む、項目２５〜２８のいずれか一項に記載の方法。
［項目３０］
３つ以上のノードを有するファイアウォールクラスターであって、
複数のプロセッサと、
前記複数のプロセッサのうちの１以上と通信可能に接続されたメモリと
を備え、
前記ファイアウォールクラスター内のそれぞれのノードは、前記複数のプロセッサのうちの１以上において動作するべく構成されており、
前記ファイアウォールクラスター内の第１のノードは、
パケットに関連付けられた接続情報を処理し、
接続を確立し、
前記接続に関連付けられた状態データを前記ファイアウォールクラスター内の少なくとも１つのバックアップノードに提供するように動作可能であり、
前記バックアップノードは、
前記第１のノードの故障に応じて、前記接続を、前記第１のノードから前記ファイアウォールクラスター内の第２のノードに転送し、
前記状態データを前記第２のノードに提供するように動作可能である、ファイアウォールクラスター。
［項目３１］
前記第１のノードは、前記状態データを、前記ファイアウォールクラスター内の他の複数のノードにブロードキャストするように更に動作可能である、項目３０に記載のファイアウォールクラスター。
［項目３２］
前記第１のノードは、前記状態データを前記ファイアウォールクラスター内のマスターノードに提供するように更に動作可能である、項目３０又は３１に記載のファイアウォールクラスター。
［項目３３］
前記マスターノードは、前記状態データを前記ファイアウォールクラスター内の他の複数のノードにブロードキャストするように動作可能である、項目３２に記載のファイアウォールクラスター。
［項目３４］
前記マスターノードは、別のノードにおいて前記接続をフィルタリングし、前記ファイアウォールクラスターにおける負荷分散を提供するように更に動作可能である、項目３２に記載のファイアウォールクラスター。
［項目３５］
前記第１のノードは、アプリケーション状態データを前記少なくとも１つのバックアップノードに提供するように更に動作可能であり、
前記バックアップノードは、前記第１のノードの前記故障に応じて、前記アプリケーション状態データを前記第２のノードに提供するように更に動作可能である、項目３０〜３４のいずれか一項に記載のファイアウォールクラスター。
［項目３６］
３つ以上のノードを有するファイアウォールクラスターのノードであって、
１以上のプロセッサと、
メモリと
を備え、
前記メモリには、実行された場合に、１以上のプロセッサに、
前記ファイアウォールクラスターの第１のノードによって確立された接続に関連付けられた状態データを受信することと、
前記状態データを格納することと、
前記第１のノードの故障に応じて、前記接続を前記第１のノードから前記ファイアウォールクラスターの第２のノードに転送することと、
前記状態データを前記第２のノードに提供することと
を実行させるための命令が格納されている、ノード。
［項目３７］
前記命令は、実行された場合に、１以上のプロセッサに、前記状態データを前記ファイアウォールクラスターの他の複数のノードにブロードキャストすることを実行させる命令を更に含む、項目３６に記載のノード。
［項目３８］
前記命令は、実行された場合に、１以上のプロセッサに、前記状態データを前記ファイアウォールクラスター内のマスターノードに提供することを実行させる命令を更に含む、項目３６又は３７に記載のノード。
［項目３９］
前記命令は、実行された場合に、１以上のプロセッサに、別のノードにおいて前記接続をフィルタリングし、前記ファイアウォールクラスターにおける負荷分散を提供することを実行させる命令を更に含む、項目３６〜３８のいずれか一項に記載のノード。
［項目４０］
前記命令は、実行された場合に、１以上のプロセッサに、
アプリケーション状態データを前記第１のノードから受信することと、
前記第１のノードの故障に応じて、前記アプリケーション状態データを前記第２のノードに提供することと
を実行させる命令を更に含む、項目３６〜３９のいずれか一項に記載のノード。
【図１】
0005816374.tif 000002
【図２】
0005816374.tif 000003
【図３】
0005816374.tif 000004