(57)【要約】【課題】ユーザの要望に応じたサービスを提供する。【解決手段】ファイアウォール群は、ユーザが選択可能なサービスレベルに応じて、高負荷ファイアウォール２、中負荷ファイアウォール３、低負荷ファイアウォール４の３段階の負荷レベルで構成される。また、ユーザが任意に選択したサービスレベルは管理情報１ｄとして記憶手段１ａに格納されている。ユーザからのアクセスが取得されると、サービスレベル判定手段１ｆは、ユーザの識別情報を抽出し、管理情報１ｄを検索して、このユーザが選択したサービスレベルを判定する。そして、振り分け手段１ｇは、判定されたサービスレベルに対応する高負荷ファイアウォール２、中負荷ファイアウォール３、低負荷ファイアウォール４のいずれかに、アクセスを振り分ける。【選択図】図１
2010026547.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからのアクセスデータを複数のファイアウォールに振り分けて、負荷を分散させる負荷分散方法において、
外部ネットワーク経由で送信元ユーザの識別情報を含むアクセスデータが受け付けられると、
サービスレベル判定手段が、前記送信元ユーザの識別情報を取得し、取得された前記送信元ユーザの識別情報に基づいて、記憶手段に格納される予め前記ユーザが選択したサービスレベルと前記ユーザの識別情報とを関連付けた管理情報を検索し、検索された前記管理情報に基づいて前記送信元ユーザのサービスレベルを判定する手順と、
振り分け手段が、前記サービスレベル判定手段によって判定された前記送信元ユーザのサービスレベルに基づいて、前記サービスレベルに応じた負荷レベルがそれぞれに設定されているファイアウォール群から前記送信元ユーザのサービスレベルに応じたファイアウォールを選択し、選択された前記ファイアウォールに前記アクセスデータを振り分ける手順と、
を有することを特徴とするファイアウォール負荷分散方法。
【請求項２】
前記ファイアウォール負荷分散方法は、さらに、
不正侵入防御手段が、前記記憶手段に格納される過去に不正アクセスを行ったことが検出された送信元が定義されているブラックリスト情報と、不正アクセス監視用のシグネチャ情報とに基づいて、前記ファイアウォール群に振り分ける前に前記アクセスを監視し、不正アクセスが検出されたときは前記不正アクセスを遮断する手順と、
前記ファイアウォールの不正アクセス学習手段が、ポリシー記憶手段に格納される不正アクセスを特定するポリシー情報に基づいて、前記不正侵入防御手段が通過させた前記アクセスを監視し、不正アクセスが検出されたときは前記不正アクセスを遮断するとともに、前記不正アクセスに基づいて前記ブラックリスト情報及び前記シグネチャ情報の項目を新たに生成し、前記ブラックリスト情報及び前記シグネチャ情報を更新する手順と、
を有することを特徴とする請求項１記載のファイアウォール負荷分散方法。
【請求項３】
前記ファイアウォール群は、ネットワークレベルのアクセス監視を行うファイアウォールを備えた第１のファイアウォール群と、アプリケーションレベルでのアクセス監視を行うウェブ・アプリケーション・ファイアウォールを備えた第２のファイアウォール群と、を有し、
前記不正アクセス学習手段は、前記第１のファイアウォール群及び前記第２のファイアウォール群ごとに設けられ、検出された前記不正アクセスに基づいて前記ブラックリスト情報及び前記シグネチャ情報の項目を新たに生成するとともに、新たに生成された前記ブラックリスト情報の項目は、前記第１のファイアウォール群及び前記第２のファイアウォール群に対し共通に設けられた前記ブラックリスト情報に登録し、新たに生成された前記シグネチャ情報の項目は、前記第１のファイアウォール群と前記第２のファイアウォール群それぞれに設けられた前記シグネチャ情報に登録する、ことを特徴とする請求項２記載のファイアウォール負荷分散方法。
【請求項４】
前記不正アクセス学習手段は、前記ファイアウォール群のうち、最も高い負荷レベルが設定される高負荷ファイアウォールに設けられ、
前記高負荷ファイアウォールの前記不正アクセス学習手段が、前記不正アクセスが検出されたときは、検出された前記不正アクセスに基づいて前記高負荷ファイアウォールの前記ポリシー記憶手段に格納される前記ポリシー情報を更新する手順と、
前記高負荷ファイアウォールのポリシー配布手段が、前記不正アクセス学習手段によって前記ポリシー情報が更新されたときは、更新された更新ポリシー情報を前記ファイアウォール群の前記高負荷ファイアウォールを除く他のファイアウォールに配布する手順と、
を有することを特徴とする請求項２記載のファイアウォール負荷分散方法。
【請求項５】
前記不正アクセス学習手段は、最新の前記シグネチャ情報と前記ポリシー情報とを照合し、矛盾があるときはセキュリティが強化される方を選択し、前記シグネチャ情報が選択されたときは前記シグネチャ情報に合わせて前記ポリシー情報を更新し、前記ポリシー情報が選択されたときは前記ポリシー情報に合わせて前記シグネチャ情報を更新する、ことを特徴とする請求項２記載のファイアウォール負荷分散方法。
【請求項６】
ユーザからのアクセスデータを複数のファイアウォールに振り分けて、負荷を分散させるファイアウォール負荷分散システムにおいて、
ユーザに提供されるサービスレベルに応じた負荷レベルがそれぞれに設定されているファイアウォール群と、
前記ユーザが選択した前記サービスレベルと、前記ユーザの識別情報とが関連付けられた管理情報を記憶する記憶手段と、外部ネットワーク経由で送信元ユーザの識別情報を含むアクセスデータが受け付けられると、前記アクセスデータから前記送信元ユーザの識別情報を取得し、取得された前記送信元ユーザの識別情報に基づいて前記管理情報を検索し、検索された前記管理情報に基づいて前記送信元ユーザのサービスレベルを判定するサービスレベル判定手段と、前記サービスレベル判定手段によって判定された前記送信元ユーザのサービスレベルに基づいて、前記ファイアウォール群から前記送信元ユーザのサービスレベルに応じたファイアウォールを選択し、選択された前記ファイアウォールに前記アクセスデータを振り分ける振り分け手段と、を備えた負荷分散装置と、
を有することを特徴とするファイアウォール負荷分散システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はファイアウォール負荷分散方法及びファイアウォール負荷分散システムに関し、特にユーザからのアクセスデータを複数のファイアウォールに振り分けて、負荷を分散させるファイアウォール負荷分散方法及びファイアウォール負荷分散システムに関する。
【背景技術】
【０００２】
近年、ウェブ（World Wide Webの略。以下、Ｗｅｂとする）上のアプリケーションに対する不正アクセスが増加しており、社会問題となっている。このような不正アクセスを防止するためファイアウォール（FireWall）が広く利用されている。従来の一般的なファイアウォールは、ネットワークレベルでの監視を行うパケットフィルタ型などであり、通信上の振る舞い、例えば宛先や送信元のＩＰアドレスやポート番号などによってアクセスを監視している。しかし、このような従来のファイアウォールでは、ｈｔｔｐ／ｈｔｔｐｓ通信の中身（内容）をチェックすることができない。そこで、Ｗｅｂサイトを狙う攻撃やデータベース（以下、ＤＢとする）を狙う攻撃などの脅威に対処するためのファイアウォールとして、Ｗｅｂアプリケーション・ファイアウォール（Web Application Firewall；以下、ＷＡＦとする）の導入・利用が進められている。なお、以下の説明では、ネットワークレベルでの監視を行う従来の一般的なファイアウォールをＦ／Ｗと表記し、Ｆ／ＷやＷＡＦを含めたファイアウォール全般と区別する。
【０００３】
ＷＡＦはアプリケーションレベルで管理を行い、例えば、プログラムに渡される入力内容を直接検査し、不正と見なされたアクセスを遮断する。ＷＡＦには、リバースプロキシとして動作するリバースプロキシ型と、透過デバイスとして使用できる透過型がある。また、セキュリティモデルとして、設定していないトラフィックを不通過とするポジティブセキュリティモデルと、設定したトラフィックのみを通過させるネガティブセキュリティモデルと、がある。また、ＷＡＦは、Ｆ／Ｗと組み合わせて利用されることが多い。
【０００４】
従来のファイアウォールによるアウトソーシングサービスでは、サービスを提供するＩＤＣ（Internet Data Center）内に負荷分散用のロードバランサを設置し、一定のルールに従って、クラスタを構成するＦ／ＷまたはＷＡＦにデータを振り分けていた。振り分けルールには、ラウンドロビン方式や、ＣＰＵ負荷やレスポンスタイムなどを指標とする方式などがある。
【０００５】
これらの指標ばかりでなく、複数のファイアウォールの接続状況・負荷を監視し、接続負荷の低いファイアウォールにデータを振り分けることによって、特定のファイアウォールへの負荷の集中を防止する負荷分散システムもある（例えば、特許文献１参照）。また、ネットワーク上のパケット検査で不正侵入を検知し、検知された不正アクセス情報に基づいてシグネチャ特定のためのポリシーを生成する装置もある（例えば、特許文献２参照）。さらに、遠隔サイトから保護された複数のアプリケーションへのアクセスに対し、対応するＷｅｂサーバとセンタ側のポリシーサーバがファイアウォールと連携してセキュリティ管理を行う装置もある（例えば、特許文献３）。
【特許文献１】特開２０００−３３０８９７号公報
【特許文献２】特開２００６−２４４１４１号公報
【特許文献３】特開２００１−２３６３１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、従来のシステムで行われているファイアウォールの負荷分散では、アウトソーシングサービス上のユーザ契約に応じた差別化ができないという問題点があった。
上記のように、従来のファイアウォールの負荷分散では、処理対象の正常データも不正アクセスデータも全てＦ／ＷサーバやＷＡＦサーバに均等に振り分けられていた。このため、負荷による能力・性能面の影響は、ロードバランサ配下のＦ／ＷサーバやＷＡＦサーバに等しく発生していた。
【０００７】
ここで、アウトソーシングサービスに対するユーザの要望は、サービス価格が安ければ少々の負荷の高さは我慢するというものから、負荷が低ければサービス価格が高くてもよいというものまで、多種多様である。すなわち、アウトソーシングサービスの市場では、ユーザのニーズに合わせて、性能重視、価格重視、それらの中間に位置するものなど、さまざまなサービスメニューを提供することが求められている。しかし、従来のシステムでは、アクセスデータは複数のファイアウォールに均等に振り分けられており、ユーザの要望するサービスレベルに合わせて負荷を配分することはできなかった。例えば、同程度の性能のＦ／ＷサーバあるいはＷＡＦサーバが複数台あった場合、それぞれのサーバに対し均等に負荷が配分されるため、負荷による各サーバへの性能面の影響は同程度となる。したがって、安価であるが負荷が高くなる価格重視のサービス、効果になるが負荷が低くできる性能重視のサービスなど、負荷配分に応じたサービスメニューを複数提示することができず、ユーザの多様な要望に応えることはできなかった。
【０００８】
本発明はこのような点に鑑みてなされたものであり、ユーザの要望に応じたサービスを提供することが可能なファイアウォール負荷分散方法及びファイアウォール負荷分散システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、ユーザからのアクセスデータを複数のファイアウォールに振り分けて、負荷を分散させるファイアウォール負荷分散方法が提供される。開示のファイアウォール負荷分散方法では、外部ネットワーク経由で送信元ユーザの識別情報を含むアクセスデータが受け付けられると、サービスレベル判定手段が、送信元ユーザの識別情報を取得する。そして、取得された送信元ユーザの識別情報に基づいて、記憶手段に格納される予めユーザが選択したサービスレベルとユーザの識別情報とを関連付けた管理情報を検索し、検索された管理情報に基づいて、アクセスデータの送信元ユーザのサービスレベルを判定する。振り分け手段は、サービスレベル判定手段によって判定された送信元ユーザのサービスレベルに基づいて、サービスレベルに応じた負荷レベルがそれぞれに設定されているファイアウォール群から送信元ユーザのサービスレベルに応じたファイアウォールを選択する。そして、選択されたファイアウォールにアクセスデータを振り分ける。
【００１０】
このようなファイアウォール負荷分散方法によれば、ファイアウォール群に含まれる各ファイアウォールは、ユーザが選択可能なサービスレベルに応じた負荷レベルが設定されている。また、ユーザが任意に選択したサービスレベルは管理情報として記憶手段に格納されている。ユーザからのアクセスデータが受け付けられると、ユーザの識別情報が取得され、このユーザの識別情報を用いて管理情報が検索される。そして、検索された管理情報から、このユーザが選択したサービスレベルが判定される。そして、判定されたサービスレベルに応じたファイアウォールが選択され、選択されたファイアウォールにアクセスデータが振り分けられる。
【００１１】
また、上記課題を解決するために、上記のファイアウォール負荷分散方法を実行するファイアウォール負荷分散システム、が提供される。
【発明の効果】
【００１２】
開示のファイアウォール負荷分散方法及びファイアウォール負荷分散システムによれば、ファイアウォールには、ユーザが選択可能なサービスレベルに応じた異なる負荷レベルが設定されている。そして、受け付けられたアクセスデータは、送信元のユーザが選択したサービスレベルに応じた負荷レベルのファイアウォールに振り分けられる。このように、ユーザの選択したサービスレベルに合わせて負荷レベルの異なるファイアウォールが選択されるので、ユーザは、利用目的や予算などの要望に合う性能のサービスレベルを任意に選択することができる。また、サービスの提供側は、要望に応じて選択可能な多くのサービスメニューをユーザに提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、実施の形態に適用される発明の概念図である。
【００１４】
実施の形態のファイアウォール負荷分散システムは、外部ネットワークに接続する負荷分散装置１と、異なる負荷レベルが設定される高負荷ファイアウォール２、中負荷ファイアウォール３、及び低負荷ファイアウォール４を備えたファイアウォール群と、を有する。図では、ファイアウォール群として、高負荷、中負荷、及び低負荷の３種類の負荷レベルのファイアウォールを備えるとしたが、配置するファイアウォールの数及び負荷レベルの設定状態はシステムに応じて適宜設定される。
【００１５】
負荷分散装置１は、各種情報を記憶する記憶手段１ａ、外部ネットワークを介して侵入する不正アクセスの検知と防御を行う不正侵入防御手段１ｅ、アクセスデータの送信元ユーザのサービスレベルを判定するサービスレベル判定手段１ｆ、アクセスデータを振り分ける振り分け手段１ｇを有する。各処理手段は、コンピュータがそれぞれの処理手順を記述したプログラムを実行することによりその処理機能が実現される。
【００１６】
記憶手段１ａには、ブラックリスト情報１ｂ、シグネチャ情報１ｃ及び管理情報１ｄが格納される。ブラックリスト情報１ｂは、アクセスを許可しない遮断対象を定義したリストである。遮断対象とする送信元のＩＰアドレスなどが登録されている。シグネチャ情報１ｃには、過去に認識された攻撃パターンなど、アクセスを拒否または許可するアクセスデータの特徴を記述した定義情報である。ここでは、登録されたシグネチャに合致するアクセスパターンを遮断するネガティブセキュリティモデルとして利用する。管理情報１ｄは、ユーザが選択したサービスレベルが、ユーザの識別情報に関連付けられて定義される情報である。高負荷ファイアウォール２、中負荷ファイアウォール３、及び低負荷ファイアウォール４は、それぞれサービスレベルと対応付けられた負荷レベルが設定されている。ここでは、高負荷ファイアウォール２の負荷レベルが最大に設定され、中負荷ファイアウォール３、低負荷ファイアウォール４という順に負荷レベルが低く設定されている。そして、負荷が低く抑えられているため、高い性能が期待される低負荷ファイアウォール４には、高位のサービスレベルが設定される。逆に、負荷が高くなるため、性能が期待されない高負荷ファイアウォール２には、低位のサービスレベルが設定される。また、中間の中負荷ファイアウォール３には、中位のサービスレベルが設定される。サービスを提供する側では、サービスレベルに応じて利用料を設定し、高位のサービスレベルほど利用料が高くなるようにする。ユーザは、利用目的や予算などに応じてサービスレベルを選択する。
【００１７】
不正侵入防御手段１ｅは、記憶手段１ａに格納されるブラックリスト情報１ｂ及びシグネチャ情報１ｃを読み出し、登録に該当するアクセスデータを遮断する。これにより、不正アクセスが侵入することを防御する。通過を許可したアクセスデータは、サービスレベル判定手段１ｆへ出力する。
【００１８】
サービスレベル判定手段１ｆは、アクセスデータの送信元のＩＰアドレスを取得する。そして、記憶手段１ａに格納される管理情報１ｄを検索し、取得された送信元のＩＰアドレスに対応するユーザのサービスレベルを検出する。
【００１９】
振り分け手段１ｇは、サービスレベル判定手段１ｆが検出したサービスレベルに基づいて、このアクセスデータの振り分け先を決定する。低位のサービスレベルが選択されていた場合は、高負荷ファイアウォール２を選択し、アクセスデータを振り分ける。中位のサービスレベルが選択されていた場合は、中負荷ファイアウォール３を選択し、アクセスデータを振り分ける。高位のサービスレベルが選択されていた場合は、低負荷ファイアウォール２を選択し、アクセスデータを振り分ける。
【００２０】
なお、図では負荷分散装置１が不正侵入防御手段１ｅ、サービスレベル判定手段１ｆ及び振り分け手段１ｇを有する構成としたが、各処理手段はそれぞれ別のコンピュータにより実現されるとしてもよい。
【００２１】
高負荷ファイアウォール２は、振り分けられるデータの負荷レベルが最も高いファイアウォール・サーバであり、ポリシー記憶手段２ａ、不正アクセス学習手段２ｂ及びポリシー配布手段２ｃを有する。ポリシー記憶手段２ａには、入力されたアクセスデータの拒否または許可を規定するポリシーが記憶されており、図示しないフィルタ処理手段がポリシーに基づいてアクセスデータの通過または遮断処理を行う。不正アクセス学習手段２ｂは、負荷分散装置１の不正侵入防御手段１ｅで検出することができなかった未知の不正アクセスを学習する。そして、不正アクセスを行ったユーザが新たに検出されたときは、検出されたユーザのホストＩＰアドレスをブラックリスト情報１ｂに追記する。また、不正アクセスパターンが新たに検出されたときは、この不正アクセスを識別するためのシグネチャパターンを新たに生成し、シグネチャ情報１ｃに追記する。さらに、シグネチャ情報１ｃと、ポリシー記憶手段２ａに格納されるポリシー情報とを照合し、矛盾がないかどうかを調べる。矛盾がある場合には、セキュリティを強化する方向、すなわち、アクセスを拒否するように、シグネチャまたはポリシーを更新する。シグネチャのルールで拒否しているアクセスパターンがポリシーで許可されている場合は、このアクセスパターンを拒否するようにポリシーの設定を更新する。また、ポリシーで拒否しているアクセスパターンがシグネチャで許可されている場合は、このアクセスパターンを拒否するようにシグネチャを更新する。ポリシー配布手段２ｃは、不正アクセス学習手段２ｂによってポリシーが更新されたときは、更新された最新のポリシーを中負荷ファイアウォール３及び低負荷ファイアウォール４に転送する。
【００２２】
中負荷ファイアウォール３は、振り分けられるデータの負荷レベルが中程度のファイアウォール・サーバである。ポリシー記憶手段３ａを有し、図示しないフィルタ処理手段がポリシー記憶手段３ａに格納されるポリシーに基づいて、データのフィルタリング処理を行う。ポリシー記憶手段３ａに格納されるポリシー情報は、高負荷ファイアウォール２のポリシー記憶手段２ａに格納されるポリシー情報と同じである。
【００２３】
低負荷ファイアウォール４は、振り分けられるデータの負荷レベルが最も低いファイアウォール・サーバである。ポリシー記憶手段４ａを有し、図示しないフィルタ処理手段がポリシー記憶手段４ａに格納されるポリシーに基づいて、データのフィルタリング処理を行う。ポリシー記憶手段４ａに格納されるポリシー情報は、高負荷ファイアウォール２のポリシー記憶手段２ａに格納されるポリシー情報と同じである。
【００２４】
このような構成のファイアウォール負荷分散システムの動作及びファイアウォール負荷分散方法について説明する。
負荷分散装置１の記憶手段１ａには、ブラックリスト情報１ｂ、シグネチャ情報１ｃ及び管理情報１ｄが格納されている。外部ネットワークを介してユーザからのアクセスデータが取得されると、不正侵入防御手段１ｅは、ブラックリスト情報１ｂとシグネチャ情報１ｃに基づいてアクセスデータを検査する。検査の結果、正常なアクセスと判断されたときは、アクセスデータをサービスレベル判定手段１ｆへ送る。また、不正アクセスと判断したときはアクセスデータを破棄し、通信を終了させる。サービスレベル判定手段１ｆは、アクセスデータの送信元ユーザの識別情報を取得し、この識別情報に基づいて管理情報１ｄを検索し、ユーザの管理情報を読み出してユーザが選択したサービスレベルを判定する。振り分け手段１ｇは、アクセスデータを、判定された送信元ユーザのサービスレベルに応じて高負荷ファイアウォール２、中負荷ファイアウォール３、または低負荷ファイアウォール４のいずれかに振り分ける。
【００２５】
以上のファイアウォール負荷分散システムによれば、アクセスデータは、その送信元ユーザが選択したサービスレベルに応じて、異なる負荷レベルが設定されるファイアウォールに振り分けられる。これにより、サービスの提供側は、一様に負荷を配分するのではなく、ユーザのサービスレベルに合わせて負荷を配分することができるので、性能面でのサービスの差別化を図ることができる。また、限られたリソースで、負荷が低いため性能が高いサービスや、負荷が高いため性能は低くなるが安価なサービスなど、より多くのサービスメニューを提供することが可能となる。ユーザ側にとっても、利用の目的や予算に応じて任意のサービスを選択することが可能となり、利便性が向上するという利点がある。
【００２６】
さらに、高負荷ファイアウォール２は、不正アクセス学習手段２ｂとポリシー配布手段２ｃとを有し、未知の不正アクセスを学習している。そして、新たな不正アクセスを検出した場合には、ブラックリスト情報１ｂ、シグネチャ情報１ｃを更新する。このとき、シグネチャ情報１ｃとポリシー記憶手段２ａに格納されるポリシーとを照合し、矛盾があるときはセキュリティが強化される方向にシグネチャ情報１ｃまたはポリシー情報を更新する。更新されたポリシー情報は、中負荷ファイアウォール３及び低負荷ファイアウォール４に配布される。このように、不正アクセス学習を高負荷ファイアウォール２に集約し、最新の学習結果を後から他の中負荷ファイアウォール３及び低負荷ファイアウォール４に転送することにより、最新の不正アクセス対策の効率化を図ることができる。また、サーバに負担のかかる不正アクセス学習機能を行わないため、中負荷ファイアウォール３及び低負荷ファイアウォール４には余分な負荷がかからず、サービス品質を維持することができるという効果も得られる。
【００２７】
なお、上記の例では、ファイアウォールの前段の負荷分散装置１に不正侵入防御手段１ｅを置く構成としたが、これを置かない構成とすることもできる。この場合、負荷分散装置１に入力されたアクセスデータは不正侵入検知が行われずに、サービスレベル判定手段１ｆ及び振り分け手段１ｇによって、ユーザが選択したサービスレベルに応じて高負荷ファイアウォール２、中負荷ファイアウォール３、または低負荷ファイアウォールに振り分けられる。そして、アクセスデータの振り分け先のファイアウォールが、アクセスデータの拒否または許可の判断を行う。不正アクセス学習手段２ｂは、ログとポリシー情報を解析し、必要であれば不正アクセスを遮断するポリシーを新たに生成してポリシー情報を更新する。更新されたポリシー情報は、ポリシー配布手段２ｃによって、中負荷ファイアウォール３及び低負荷ファイアウォール４に配布される。
【００２８】
以下、実施の形態を、パケットフィルタ型のＦ／Ｗと、ＷＡＦと、が組み込まれたＩＤＣに適用した場合を例に図面を参照して詳細に説明する。
図２は、実施の形態のファイアウォール負荷分散システムの一例を示した構成図である。
【００２９】
実施の形態のファイアウォール負荷分散システムは、ＩＤＣ１０におけるアウトソーシングサービス環境において、Ｆ／Ｗ用ロードバランサ１１ａ，１１ｂ及びその配下のＦ／Ｗサーバ群を構成する高負荷Ｆ／Ｗ１２ａ、中負荷Ｆ／Ｗ１２ｂ及び低負荷Ｆ／Ｗ１２ｃと、ＷＡＦ用ロードバランサ１４ａ，１４ｂ及びその配下のＷＡＦサーバ群を構成する高負荷ＷＡＦ１５ａ、中負荷ＷＡＦ１５ｂ及び低負荷ＷＡＦ１５ｃと、リッチコンテンツサーバ１７及びプレーンコンテンツサーバ１８と、を有する。また、インターネット２０を介して、ユーザ群４０と、契約ＤＢ３１、ブラックリストＤＢ３２、Ｆ／Ｗ用シグネチャＤＢ３３及びＷＡＦ用シグネチャＤＢ３４の各ＤＢと、がＩＤＣ１０に接続されている。
【００３０】
Ｆ／Ｗ側は、外部のインターネット２０と内部ネットワークとの間に位置し、内向き（外部のインターネット２０から内部ネットワークへ向かう）トラフィックを各Ｆ／Ｗに分散させるＦ／Ｗ用ロードバランサ１１ａ、外向き（内部ネットワークから外部のインターネット２０へ向かう）トラフィックを各Ｆ／Ｗに分散させるＦ／Ｗ用ロードバランサ１１ｂ、高負荷Ｆ／Ｗ１２ａ、中負荷Ｆ／Ｗ１２ｂ及び低負荷Ｆ／Ｗ１２ｃを有する。Ｆ／Ｗ用ロードバランサ１１ａは、既知の不正アクセスを防止し、Ｆ／Ｗにかかる負荷を軽減する不正侵入防御機能と、ユーザの契約に応じて負荷レベルの異なるＦ／Ｗを選択するユーザ振り分け機能を有する。高負荷Ｆ／Ｗ１２ａは、最も高い負荷レベルが設定されるＦ／Ｗサーバで、不正アクセス学習機能と、ポリシー配布機能とを有する。低負荷Ｆ／Ｗ１２ｃは、最も低い負荷レベルが設定されるＦ／Ｗサーバであり、中負荷Ｆ／Ｗ１２ｂは中位の負荷レベルが設定されるＦ／Ｗサーバである。ログ１３には、少なくとも、高負荷Ｆ／Ｗ１２ａが検出した不正アクセスに関する情報がログ情報として格納されている。
【００３１】
ＷＡＦ側は、Ｆ／Ｗ群とコンテンツサーバ群との間に位置し、内向きトラフィックを各ＷＡＦに分散させるＷＡＦ用ロードバランサ１４ａ、外向きトラフィックを各ＷＡＦに分散させるＷＡＦ用ロードバランサ１４ｂ、高負荷ＷＡＦ１５ａ、中負荷ＷＡＦ１５ｂ及び低負荷ＷＡＦ１５ｃを有する。ＷＡＦ用ロードバランサ１４ａは、Ｆ／Ｗ用ロードバランサ１１ａと同様に、既知の不正アクセスを防止し、ＷＡＦにかかる負荷を軽減する不正侵入防御機能と、ユーザの契約に応じて負荷レベルの異なるＷＡＦを選択するユーザ振り分け機能を有する。高負荷ＷＡＦ１５ａは、最も高い負荷レベルが設定されるＷＡＦサーバで、不正アクセス学習機能と、ポリシー配布機能とを有する。低負荷ＷＡＦ１５ｃは、最も低い負荷レベルが設定されるＷＡＦサーバであり、中負荷ＷＡＦ１５ｂは中位の負荷レベルが設定されるＷＡＦサーバである。ログ１６には、少なくとも、高負荷ＷＡＦ１５ａが検出した不正アクセスに関する情報がログ情報として格納されている。
【００３２】
リッチコンテンツサーバ１７は、画像や音声などを含む情報の密度が高いコンテンツを提供するサーバである。プレーンコンテンツサーバ１８は、テキストや静止画などで構成されるコンテンツを提供するサーバである。同様の内容のリッチコンテンツとプレーンコンテンツとを用意し、ユーザのコンピュータの性能などに応じていずれかを提供するサービスもある。
【００３３】
ＩＤＣ１０とインターネット２０を介して接続するユーザ群４０のホストは、ユーザが選択したサービスレベルに応じて、ファーストクラス４１、ビジネスクラス４２、エコノミークラス４３に分類される。ユーザが提供を受けるサービスクラスは、ユーザとの間の契約によって決まる。
【００３４】
契約ＤＢ３１は、ユーザとの間の契約情報が格納されるＤＢである。契約情報には、ユーザを識別するための識別情報と、そのユーザが契約したサービスレベルとが含まれている。ブラックリストＤＢ３２は、過去に不正アクセスに関わったホストのＩＰアドレスが、ブラックリスト情報として格納されるＤＢである。Ｆ／Ｗ用シグネチャＤＢ３３は、Ｆ／Ｗにおいて不正アクセスを検出するための不正アクセスパターンのルールが定義されるＦ／Ｗシグネチャ情報が格納されるＤＢである。ＷＡＦ用シグネチャＤＢ３４は、ＷＡＦにおいて不正アクセスを検出するための不正アクセスパターンのルールが定義されるＷＡＦシグネチャ情報が格納されるＤＢである。
【００３５】
ここで、不正アクセスパターンのルールが定義されるシグネチャ情報は、ネットワークレベルのアクセス監視を行うＦ／Ｗ用と、アプリケーションレベルのアクセス監視を行うＷＡＦ用の２つを用意する必要があるが、ブラックリスト情報は共通とすることができる。実施の形態では、ブラックリスト情報はＦ／Ｗ側とＷＡＦ側で共有するとし、ブラックリスト情報を用いたアクセス監視はＦ／Ｗ側のみで行う。なお、不正アクセス学習機能によるブラックリスト情報の更新は、Ｆ／Ｗ側とＷＡＦ側の双方で行う。このように、ブラックリスト情報を共有としてＦ／Ｗ側でのみアクセス監視を行うことにより、不正侵入防御処理の効率化を図ることができる。
【００３６】
ここで、ロードバランサのハードウェア構成について説明する。図３は、本実施の形態のロードバランサのハードウェア構成例を示すブロック図である。
Ｆ／Ｗ用ロードバランサ１１は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、及び通信インタフェース１０６が接続されている。
【００３７】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションのプログラムが格納される。グラフィック処理装置１０４には、モニタ１０８が接続されており、ＣＰＵ１０１からの命令に従って画像をモニタ１０８の画面に表示させる。入力インタフェース１０５には、キーボード１０９ａやマウス１０９ｂが接続されており、キーボード１０９ａやマウス１０９ｂから送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。通信インタフェース１０６は、ネットワーク２１に接続されており、ネットワーク２１を介して他装置との間でデータの送受信を行う。また、グラフィック処理装置１０４及び入力インタフェース１０５を介してモニタ１０８やキーボード１０９ａ、マウス１０９ｂが直接接続する構成ではなく、ネットワーク２１を介して接続する端末装置を経由して端末装置のモニタ、キーボード、マウスなどと接続するとしてもよい。
【００３８】
このようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３には、Ｆ／Ｗ用ロードバランサのハードウェア構成を示したが、ＷＡＦ用ロードバランサ、Ｆ／Ｗサーバ、ＷＡＦサーバ、及びユーザのホストのハードウェア構成も同様である。
【００３９】
次に、契約ＤＢ３１に格納される契約情報について説明する。実施の形態では、各ユーザがどのようなサービスの提供を受けるかの選択は、予め契約によって決めておく。ユーザとの間の契約内容を示した契約情報は、契約ＤＢ３１で一元管理される。実施の形態の例では、サービスレベルとして、Ｆ／Ｗ、ＷＡＦそれぞれに、ファーストクラス、ビジネスクラス及びエコノミークラスの３段階のレベルが用意される。ファーストクラスは、最も高位のサービスレベルで、高価であるが低負荷のファイアウォールが選択されるので、高い性能を得ることができる。エコノミークラスは、最も低位のサービスレベルで、安価ではあるが高負荷のファイアウォールが選択されるので、ファーストクラスのような高い性能は得られない。ビジネスクラスは、ファーストクラスとエコノミークラスとの中間であり、中負荷のファイアウォールが選択され、価格及び性能は中位となる。
【００４０】
図４は、Ｆ／Ｗのサービス契約情報を示した図である。
Ｆ／Ｗサービス契約（ファーストクラス）３１００は、振り分け時に低負荷Ｆ／Ｗ１２ｃが選択されるファーストクラスのサービスを契約したユーザのリストであり、ユーザを表すユーザ名３１０１、ユーザのホストＩＰアドレス３１０２などの情報が登録されている。Ｆ／Ｗサービス契約（ビジネスクラス）３１１０は、振り分け時に中負荷Ｆ／Ｗ１２ｂが選択されるビジネスクラスのサービスを契約したユーザのリストである。ファーストクラス３１００と同様に、ユーザ名とホストＩＰアドレスなどが登録されている。Ｆ／Ｗサービス契約（エコノミークラス）３１２０は、振り分け時に高負荷Ｆ／Ｗ１２ａが選択されるエコノミークラスのサービスを契約したユーザのリストである。ファーストクラス３１００と同様に、ユーザ名とホストＩＰアドレスなどが登録されている。
【００４１】
高負荷Ｆ／Ｗ１２ａ、中負荷Ｆ／Ｗ１２ｂ及び低負荷Ｆ／Ｗ１２ｃは、Ｆ／Ｗの性能そのものを変えてもよいが、Ｆ／Ｗの性能が同程度であれば、総契約数を調整することによって差別化することができる。図の例では、総契約数は、ファーストクラス３１００が１００、ビジネスクラス３１１０が４００、そしてエコノミークラス３１２０は１０００に制限されている。
【００４２】
図５は、ＷＡＦのサービス契約情報を示した図である。
ＷＡＦサービス契約（ファーストクラス）３１３０は、振り分け時に低負荷ＷＡＦ１５ｃが選択されるファーストクラスのサービスを契約したユーザのリストであり、ユーザ名３１３１、ユーザのホストＩＰアドレス３１３２などの情報が登録されている。同様に、ＷＡＦサービス契約（ビジネスクラス）３１４０は、振り分け時に中負荷ＷＡＦ１５ｂが選択されるビジネスクラスのサービスを契約したユーザ、ＷＡＦサービス契約（エコノミークラス）３１５０は、振り分け時に高負荷ＷＡＦ１５ａが選択されるエコノミークラスのサービスを契約したユーザのリストである。
【００４３】
どのサービスレベルで契約するかは、ニーズ（セキュリティ対策の優先順位）と予算とに応じてユーザが任意に選択することができる。また、Ｆ／Ｗで選択するサービスレベルと、ＷＡＦで選択するサービスレベルとが異なっていてもよい。例えば、図４のＦ／Ｗサービス契約では、ファーストクラスで契約しているユーザ「Ａ」は、図５のＷＡＦサービスの契約では、ビジネスクラスで契約している。さらに、Ｆ／Ｗサービスだけ契約し、ＷＡＦサービスを契約しないという選択もできる。
【００４４】
次に、実施の形態のファイアウォール負荷分散システムの動作及びファイアウォール負荷分散方法について説明する。まず、Ｆ／Ｗ側の処理について説明し、続いてＷＡＦ側の処理について説明する。
【００４５】
（１）Ｆ／Ｗ側の処理
Ｆ／Ｗ側では、インターネット２０を介して受け付けられたアクセスデータをＦ／Ｗ用ロードバランサ１１ａがチェックし、過去に検出された不正アクセスの送信元、あるいは不正アクセスパターンと一致しなかったものがＦ／Ｗ群に振り分けられる。そして、Ｆ／Ｗ群のうち、高負荷Ｆ／Ｗ１２ａが不正アクセス学習を行って新たな不正アクセスの送信元、あるいは不正アクセスパターンを検出する。以下の説明では、最初にＦ／Ｗ用ロードバランサ１１ａの処理について説明し、続いて高負荷Ｆ／Ｗ１２ａの処理について説明する。
【００４６】
図６は、Ｆ／Ｗ用ロードバランサの処理機能を説明する図である。図２と同じものには同じ番号を付し、説明は省略する。
Ｆ／Ｗ用ロードバランサ１１ａは、不正侵入防御部１１１、ユーザ振り分け部１１２、シグネチャ１１３及びソース１１４を有し、インターネット２０を介して入力されたユーザのアクセスデータの監視を行って不正アクセスを遮断する。そして正常にアクセスされたアクセスデータのみを通過させ、高負荷Ｆ／Ｗ１２ａ、中負荷Ｆ／Ｗ１２ｂ、または低負荷Ｆ／Ｗ１２ｃに振り分ける。
【００４７】
シグネチャ１１３には、Ｆ／Ｗ用シグネチャＤＢ３３から抽出した、最新のＦ／Ｗ用シグネチャ（パケットを分析した不正アクセスパターンのルールの集合）が格納される。ソース１１４には、契約ＤＢ３１から抽出した少なくともユーザの識別情報（ユーザのホストＩＰアドレス）と、ユーザの契約サービスレベルとを含む契約情報（管理情報）が格納される。
【００４８】
不正侵入防御部１１１は、不正侵入防御手段１ｅとして機能する。ブラックリストＤＢ３２に格納されるブラックリスト情報を読み出し、取得したパケットのホストＩＰアドレスと照合する。そして、このホストＩＰアドレスがブラックリスト情報に登録されていたときは、通信を強制終了し、アクセスを拒否する。これにより、過去に不正アクセスに関わったホストからのアクセスが遮断される。さらに、シグネチャ１１３に格納されるＦ／Ｗ用シグネチャ情報を取り込んで実行し、不正アクセスデータを検知する。検知されたときは、通信を強制終了し、そのアクセスを拒否する。これにより、過去に検出された不正アクセスパターンと合致するアクセスが遮断される。
【００４９】
ユーザ振り分け部１１２は、サービスレベル判定手段１ｆ及び振り分け手段１ｇとして機能する。不正侵入防御部１１１によってアクセスが許可されたパケットの送信元ＩＰアドレスと、ソース１１４に登録されるサービスレベルごとに分類されたユーザのホストのＩＰアドレスとを照合し、振り分け先を決定する。アクセスしてきたユーザのサービス契約がファーストクラスであれば低負荷Ｆ／Ｗ１２ｃ、ビジネスクラスであれば中負荷Ｆ／Ｗ１２ｂ、エコノミークラスであれば高負荷Ｆ／Ｗ１２ａに振り分ける。
【００５０】
このように、高負荷Ｆ／Ｗ１２ａ、中負荷Ｆ／Ｗ１２ｂ及び低負荷Ｆ／Ｗ１２ｃの前段においてブラックリスト情報とＦ／Ｗ用シグネチャに基づいて不正侵入防御処理が行われるので、過去に検出された不正アクセスデータが各Ｆ／Ｗに振り分けられることはない。したがって、Ｆ／Ｗの負荷を軽減し、不正アクセスの検知／防御効率を上げることができる。また、通過が認められたアクセスデータは、ユーザのサービスレベルに応じて高負荷Ｆ／Ｗ１２ａ、中負荷Ｆ／Ｗ１２ｂ、低負荷Ｆ／Ｗ１２ｃのいずれかに振り分けられるので、ユーザは、ニーズや利用料に応じたサービスを受けることができる。
【００５１】
次に、高負荷Ｆ／Ｗ１２ａで行われるＦ／Ｗ側の不正アクセス学習について説明する。
図７は、Ｆ／Ｗの不正アクセス学習機能を説明する図である。図２、図６と同じものには同じ番号を付し、説明は省略する。
【００５２】
高負荷Ｆ／Ｗ１２ａは、ポリシー１２１、不正アクセス検出部１２２、不正アクセス学習部１２３及びポリシー転送部１２４を有する。ポリシー１２１には、不正アクセスを検知するためのＦ／Ｗ用のポリシー情報が格納される。不正アクセス検出部１２２は、Ｆ／Ｗ用ロードバランサ１１ａを通過したアクセスデータが不正アクセスであるかどうかをポリシー情報に基づいて判定する。不正アクセスデータが検出されたときは、これを破棄するとともに、ログ情報を生成し、ログ１３に格納する。不正アクセス学習部１２３は、ログ１３からログ情報を読み出し、不正アクセスを行ったホストＩＰアドレスと、ブラックリストＤＢ３２のブラックリスト情報に登録されるホストＩＰアドレスと照合する。ブラックリスト情報に登録されていないホストＩＰアドレスが検出された場合は、新たに検出されたホストＩＰアドレスをブラックリスト情報に追記する。なお、ブラックリスト情報に追記するのは、このホストＩＰアドレスから所定の頻度を超えてアクセスが試みられたときなどの条件を満たした場合とする。また、ログ情報と、Ｆ／Ｗ用シグネチャＤＢ３３のＦ／Ｗ用シグネチャ情報を参照し、新たに検出されたシグネチャパターンをＦ／Ｗ用シグネチャ情報に追記する。Ｆ／Ｗ用シグネチャ情報に設定されるシグネチャのルールと、ポリシー１２１のポリシー情報とに矛盾がある場合には、セキュリティを強化する方向（このアクセスを拒否する方向）で新規のポリシーまたは新規のシグネチャを自動生成する。ポリシー転送部１２４は、ポリシー情報が更新されたときは、更新されたポリシー情報を中負荷Ｆ／Ｗ１２ｂ及び低負荷Ｆ／Ｗ１２ｃに転送し、各Ｆ／Ｗが保有するポリシー情報を一致させる。
【００５３】
このように、高負荷Ｆ／Ｗ１２ａでは、ブラックリストＤＢ３２のブラックリスト情報や、Ｆ／Ｗ用シグネチャＤＢ３３のシグネチャ情報にまだ登録されていない未知の不正アクセスを検出するため、不正アクセス学習が行われる。そして、新たに不正アクセスを行ったホストのＩＰアドレスや、新たな不正アクセスパターンが検出されたときはブラックリスト情報やシグネチャ情報が更新されるので、最新の不正アクセス対策を自動的に行うことができる。また、高負荷Ｆ／Ｗ１２ａのみで不正アクセス学習を行い、得られたポリシーを中負荷Ｆ／Ｗ１２ｂ及び低負荷Ｆ／Ｗ１２ｃに反映するので、不正アクセス対策の効率化を図ることができる。また、Ｆ／Ｗの前段で不正侵入の検知と防御を行うためのシグネチャのルールと、Ｆ／Ｗで用いるポリシーとの間に矛盾がある場合は、アクセスを拒否する方向でいずれかを更新することにより、セキュリティを強化するための効率化を図ることができる。
【００５４】
次に、Ｆ／Ｗ用ロードバランサ１１ａと、高負荷Ｆ／Ｗ１２ａで行われる処理手順を詳細に説明する。まず、Ｆ／Ｗ用ロードバランサ１１ａの不正侵入防御処理及びユーザ振り分け処理を、フローチャートを用いて説明する。
【００５５】
図８は、Ｆ／Ｗ用ロードバランサの不正侵入防御処理の処理手順を示したフローチャートである。
インターネット２０を介して送信されたアクセスデータが受け付けられて、処理が開始される。
【００５６】
［ステップＳ１１］  入力されたアクセスデータの送信元ＩＰアドレスを取得する。そして、ブラックリストＤＢ３２に格納されるブラック情報を読み出して、取得されたアクセスデータの送信元ＩＰアドレスと照合する。
【００５７】
［ステップＳ１２］  照合の結果、この送信元のＩＰアドレスがブラックリスト情報に登録されていたかどうかを判定する。ブラックリスト情報に一致するアドレスがあったときは、処理をステップＳ１６に進める。ブラックリスト情報に一致するアドレスがなかったときは、処理をステップＳ１３へ進める。
【００５８】
［ステップＳ１３］  アクセスデータが、ブラックリスト情報に基づく不正侵入検知で不正アクセスと判定されなかったときは、シグネチャ照合のため、インターネット２０を介して、Ｆ／Ｗ用シグネチャＤＢ３３に格納されるＦ／Ｗ用シグネチャ情報をシグネチャ１１３に転送する。
【００５９】
［ステップＳ１４］  ステップＳ１３で取得したＦ／Ｗ用シグネチャ情報と、アクセスデータとを照合する。シグネチャ情報には、ネットワークレベルで検出可能な不正アクセス攻撃、例えば、ＤｏＳ（Denial of Service）攻撃や、許可されていないポートスキャン、ｔｅｌｅｎｅｔ、ＦＴＰ（File Transfer Protocol）のパターンが定義されている。シグネチャ情報と照合することにより、アクセスデータが不正アクセスであるかどうかを判定することができる。
【００６０】
［ステップＳ１５］  ステップＳ１４で照合を行ったパケットがシグネチャと一致する場合には、不正アクセスと判定し、処理をステップＳ１６へ進める。一致しない場合は、このパケットは正常なアクセスであると判定し、次段（ユーザ振り分け処理）へ進むように、処理を正常終了させる。
【００６１】
［ステップＳ１６］  不正アクセスと判定されたので、通信を強制終了させ、次段（ユーザ振り分け処理）以降の処理へは進まないように処理を終了させる。
以上の処理手順が実行されることにより、Ｆ／Ｗ用ロードバランサ１１ａにおける不正侵入の検知と、不正アクセスとして検知されたパケットを破棄し、通信を強制終了させる防御処理が行われる。続いて、正常なアクセスと判定されたアクセスデータに対し、次段のユーザ振り分け処理が行われる。
【００６２】
図９は、Ｆ／Ｗ用ロードバランサのユーザ振り分け処理の処理手順を示したフローチャートである。
［ステップＳ２１］  契約ＤＢ３１に格納される最新の契約情報をインターネット２０経由でソース１１４に転送する。契約情報は、ユーザと契約が行われるごとに更新されるので、処理の前に最新の情報を取得しておく。ソース１１４には、図４に示したＦ／Ｗサービス契約に基づく、Ｆ／Ｗサービスレベルごとの登録ユーザのホストＩＰアドレスが転送される。
【００６３】
［ステップＳ２２］  アクセスデータの送信元ＩＰアドレスを取得する。
［ステップＳ２３］  Ｆ／Ｗサービスにおいて最もサービスレベルの高いファーストクラスに登録されるユーザのホストＩＰアドレスに、この送信元ＩＰアドレスが登録されているかどうかを判定する。ファーストクラスに登録されていたときは、処理をステップＳ２４に進める。登録されていなかったときは、処理をステップＳ２５に進める。
【００６４】
［ステップＳ２４］  アクセスしてきたユーザのホストＩＰアドレスがＦ／Ｗサービスのファーストクラスに登録されていた場合、このアクセスデータを低負荷Ｆ／Ｗ１２ｃに振り分け、処理を正常終了する。
【００６５】
［ステップＳ２５］  アクセスしてきたユーザのホストＩＰアドレスがファーストクラスに登録されていなかった場合、次のビジネスクラスに登録されるユーザのホストＩＰアドレスに、この送信元ＩＰアドレスが登録されているかどうかを判定する。Ｆ／Ｗサービスのビジネスクラスに登録されていたときは、処理をステップＳ２６に進める。登録されていなかったときは、処理をステップＳ２７に進める。
【００６６】
［ステップＳ２６］  アクセスしてきたユーザのホストＩＰアドレスがビジネスクラスに登録されていた場合、このアクセスデータを中負荷Ｆ／Ｗ１２ｂに振り分け、処理を正常終了する。
【００６７】
［ステップＳ２７］  アクセスしてきたユーザのホストＩＰアドレスがビジネスクラスに登録されていなかった場合、次のエコノミークラスに登録されるユーザのホストＩＰアドレスに、この送信元ＩＰアドレスが登録されているかどうかを判定する。Ｆ／Ｗサービスのエコノミークラスに登録されていたときは、処理をステップＳ２８に進める。登録されていなかったときは、処理をステップＳ２９に進める。
【００６８】
［ステップＳ２８］  アクセスしてきたユーザのホストＩＰアドレスがＦ／Ｗサービスのエコノミークラスに登録されていた場合、このアクセスデータを高負荷Ｆ／Ｗ１２ａに振り分け、処理を正常終了する。
【００６９】
［ステップＳ２９］  アクセスしてきたユーザのホストＩＰアドレスがＦ／Ｗサービスのエコノミークラスにも登録されていなかった場合、処理対象ではないので通信を強制終了させ、アクセスデータは破棄する。
【００７０】
以上の処理手順が実行されることにより、正常なアクセスデータが、予め契約されたアクセスデータの送信元のユーザのサービスレベルに応じて、高負荷Ｆ／Ｗ１２ａ、中負荷Ｆ／Ｗ１２ｂ、低負荷Ｆ／Ｗ１２ｃに振り分けられる。
【００７１】
高負荷Ｆ／Ｗ１２ａ、中負荷Ｆ／Ｗ１２ｂ及び低負荷Ｆ／Ｗ１２ｃは、それぞれ入力されたアクセスデータをポリシー設定に基づいてチェックする。各Ｆ／Ｗには同じポリシーが設定されており、同様の判定処理が行われるが、低負荷Ｆ／Ｗ１２ｃは負荷が低く抑えられているので、必然的に処理されるアクセスデータ数は少なく、高速の処理が可能である。各Ｆ／Ｗによって正常アクセスと判定されたアクセスデータは、Ｆ／Ｗ用ロードバランサ１１ｂを経由して、次段のＷＡＦ用ロードバランサ１４ａへ送られる。不正アクセスと判定されたアクセスデータは破棄され、通信は強制終了される。
【００７２】
さらに、高負荷Ｆ／Ｗ１２ａでは、不正アクセス学習処理を行う。図１０は、高負荷Ｆ／Ｗにおける不正アクセス学習処理の処理手順を示したフローチャートである。
［ステップＳ３１］  ログ１３に格納されるログ情報を読み出し、高負荷Ｆ／Ｗが通信を強制終了し、破棄したアクセスデータに関する情報を抽出する。
【００７３】
［ステップＳ３２］  破棄されたアクセスデータの送信元のホストＩＰアドレスと、ソース１１４に格納される契約ユーザのホストＩＰアドレスとを照合する。
［ステップＳ３３］  破棄された許可されていないサービス（パケット）の実行を高頻度で試みているユーザがあるかどうかを判定する。頻度はログ情報を解析し、一定期間に記録される同じユーザからのサービス要求の回数などより算出する。無許可のサービスを高頻度で実行するユーザが検出された場合には、処理をステップＳ３４に進める。このようなユーザが検出されなかった場合は、処理をステップＳ３５に進める。
【００７４】
［ステップＳ３４］  無許可のサービスを高頻度で実行するユーザが検出された場合は、このユーザのホストＩＰアドレスをブラックリスト情報に追記し、ブラックリストＤＢ３２を更新する。
【００７５】
［ステップＳ３５］  シグネチャ１１３に格納されるシグネチャ情報を参照のため、読み出す。
［ステップＳ３６］  シグネチャ情報とログ情報とを照合し、許可されていないサービス（パケット）をシグネチャ情報のルールにない順番で実行しているかどうかを判定する。無許可のサービスをシグネチャのルールにないパターンで実行していたことが検出された場合は、処理をステップＳ３７に進める。このようなパターンが検出されなかった場合は、処理をステップＳ３８に進める。
【００７６】
［ステップＳ３７］  無許可のサービスをシグネチャのルールにないパターンで実行していたことが検出された場合は、この実行パターンをチェックするためのシグネチャのルールを新規に生成する。生成したシグネチャのルールをシグネチャ情報に追記し、Ｆ／Ｗ用シグネチャＤＢ３３を更新する。
【００７７】
［ステップＳ３８］  最新のＦ／Ｗ用のシグネチャ情報と、高負荷Ｆ／Ｗ１２ａのポリシー１２１に格納されるポリシーの設定とを照合し、矛盾がある場合にはいずれかを更新する高負荷Ｆ／Ｗポリシーとの照合処理を行う。詳細は後述する。
【００７８】
以上の処理手順が実行されることにより、高負荷Ｆ／Ｗ１２ａによって検出された不正アクセスのログ情報に基づいて未知の不正アクセスの学習が行われる。そして、無許可のサービスを高頻度で行ったユーザが検出された場合には、ブラックリスト情報が更新される。また、無許可のサービスをシグネチャにないパターンで行ったアクセス要求が検出された場合には、Ｆ／Ｗ用シグネチャ情報が更新される。このように、負荷が高く必然的に処理を行うアクセスデータの数の多い高負荷Ｆ／Ｗ１２ａで未知の不正アクセスを検知する不正アクセス学習が行われ、ブラックリスト情報とＦ／Ｗ用シグネチャ情報が更新されるので、最新の不正アクセス対策が可能となる。
【００７９】
次に、シグネチャとポリシーと照合処理について説明する。図１１は、高負荷Ｆ／Ｗにおけるシグネチャとポリシーの照合処理の手順を示したフローチャートである。最新のシグネチャ情報が設定された後、処理が開始される。
【００８０】
［ステップＳ３８１］  高負荷Ｆ／Ｗ１２ａのポリシー１２１に格納されるポリシー情報を参照用に読み出す。
［ステップＳ３８２］  最新のＦ／Ｗ用のシグネチャ情報と、ステップＳ３８１で読み出したポリシー情報とを照合し、矛盾がないかどうかを判定する。まず、シグネチャによって拒否されているアクセスパターンが、ポリシーの設定では許可されているかどうかを判定する。シグネチャで拒否され、ポリシーで許可されている設定が検出されれば、処理をステップＳ３８３に進める。検出されない場合は、処理をステップＳ３８４に進める。
【００８１】
［ステップＳ３８３］  Ｆ／Ｗ用のシグネチャで拒否され、Ｆ／Ｗ用のポリシーで許可されている設定が検出された場合は、ポリシーをシグネチャに合わせて更新する。具体的には、シグネチャが拒否しているサービスを拒否する新規ポリシーを生成し、ポリシー情報を更新する。このとき、更新したことがわかるように、ポリシーのバージョン番号などを更新しておく。また、更新日時を記憶しておいてもよい。
【００８２】
［ステップＳ３８４］  次に、Ｆ／Ｗ用のポリシーによって拒否されているアクセスパターンが、Ｆ／Ｗ用のシグネチャのルールに存在するかどうかを判定する。ポリシーで拒否され、シグネチャのルールにないアクセスパターンが検出されたときは、処理をステップＳ３８５に進める。検出されない場合は、処理を終了する。
【００８３】
［ステップＳ３８５］  Ｆ／Ｗ用のポリシーで拒否され、Ｆ／Ｗ用のシグネチャのルールにないアクセスパターンが検出されたときは、このアクセスパターンを拒否する新規のシグネチャを生成し、Ｆ／Ｗ用シグネチャ情報に追記する。そしてＦ／Ｗ用シグネチャＤＢ３３を更新する。
【００８４】
以上の処理手順が実行されることにより、Ｆ／Ｗの前段で行われる不正侵入防御処理用のシグネチャのルールと、Ｆ／Ｗのポリシー設定とが矛盾する場合には、アクセス拒否を優先する（セキュリティを強化する）ように新規のポリシーやシグネチャのルールが自動生成される。これにより、セキュリティを強化するための効率化を図ることができる。
【００８５】
こうして高負荷Ｆ／Ｗ１２ａのポリシー情報が更新されると、更新された高負荷Ｆ／Ｗ１２ａのポリシー情報と、中負荷Ｆ／Ｗ１２ｂ及び低負荷Ｆ／Ｗ１２ｃのポリシー情報とが一致しなくなる。そこで、これらを一致させるため、高負荷Ｆ／Ｗ１２ａでは、更新したポリシー情報を中負荷Ｆ／Ｗ１２ｂ及び低負荷Ｆ／Ｗ１２ｃに転送する。
【００８６】
図１２は、高負荷Ｆ／Ｗにおけるポリシー情報の転送処理の手順を示したフローチャートである。
［ステップＳ４１］  高負荷Ｆ／Ｗ１２ａのポリシー情報の世代をチェックする。高負荷Ｆ／Ｗ１２ａのポリシー情報が更新されたときには、バージョンあるいは更新日時が変わっているので、これらに基づいて世代が変わった（更新された）ことを検出する。
【００８７】
［ステップＳ４２］  ステップＳ４１のチェック結果に基づいて、高負荷Ｆ／Ｗ１２ａのポリシー情報が更新されたかどうかを判定する。更新されていれば、処理をステップＳ４３に進める。更新されていなければ、処理を正常終了する。
【００８８】
［ステップＳ４３］  高負荷Ｆ／Ｗ１２ａのポリシー情報と、中負荷Ｆ／Ｗ１２ｂのポリシー情報とを比較し、その差分を抽出する。
［ステップＳ４４］  ステップＳ４３で抽出された差分部分について、高負荷Ｆ／Ｗ１２ｂの該当部分を中負荷Ｆ／Ｗ１２ｂへ転送する。中負荷Ｆ／Ｗ１２ｂでは、該当部分を転送された高負荷Ｆ／Ｗ１２ａの情報に更新する。
【００８９】
［ステップＳ４５］  高負荷Ｆ／Ｗ１２ａのポリシー情報と、低負荷Ｆ／Ｗ１２ｃのポリシー情報とを比較し、その差分を抽出する。
［ステップＳ４６］  ステップＳ４５で抽出された差分部分について、高負荷Ｆ／Ｗ１２ｂの該当部分を低負荷Ｆ／Ｗ１２ｃへ転送する。低負荷Ｆ／Ｗ１２ｃでは、該当部分を転送された高負荷Ｆ／Ｗ１２ａの情報に更新する。
【００９０】
以上の処理手順が実行されることにより、不正アクセス学習機能により更新された高負荷Ｆ／Ｗ１２ａのポリシー情報が、中負荷Ｆ／Ｗ１２ｂ及び低負荷Ｆ／Ｗ１２ｃに転送され、それぞれのＦ／Ｗのポリシー情報が更新される。これにより、高負荷Ｆ／Ｗ１２ａによる最新の学習結果に基づくポリシー情報を他の中負荷Ｆ／Ｗ１２ｂ及び低負荷Ｆ／Ｗ１２ｃに反映することができるので、最新の不正アクセス対策を効率よく行うことができる。
【００９１】
（２）ＷＡＦ側の処理
ＷＡＦ側では、上記のＦ／Ｗ側の処理によってアクセスが許可されたアクセスデータが入力される。ＷＡＦ用ロードバランサ１４ａはこのアクセスデータをチェックし、過去に検出された不正アクセスパターンと一致しなかったものがＷＡＦ群に振り分けられる。そして、ＷＡＦ群のうち、高負荷ＷＡＦ１５ａが不正アクセス学習を行って新たな不正アクセスの送信元、あるいは不正アクセスパターンを検出する。以下の説明では、最初にＷＡＦ用ロードバランサ１４ａの処理について説明し、続いて高負荷ＷＡＦ１５ａの処理について説明する。
【００９２】
図１３は、ＷＡＦ用ロードバランサの処理機能を説明する図である。図２と同じものには同じ番号を付し、説明は省略する。
ＷＡＦ用ロードバランサ１４ａは、不正侵入防御部１４１、ユーザ振り分け部１４２、シグネチャ１４３及びソース１４４を有し、Ｆ／Ｗ用ロードバランサ１１ｂを介して入力されたｈｔｔｐ／ｈｔｔｐｓ通信の監視を行って不正アクセスを遮断する。そして、正常なアクセスのみを通過させ、高負荷ＷＡＦ１５ａ、中負荷ＷＡＦ１５ｂ、低負荷ＷＡＦ１５ｃに振り分ける。また、ＷＡＦサービスの契約がないユーザからのアクセスであれば、ＷＡＦ群に振り分けることなく、直接プレーンコンテンツサーバ１８に振り分ける。
【００９３】
シグネチャ１４３には、ＷＡＦ用シグネチャＤＢ３４から抽出した、最新のＷＡＦ用シグネチャ（パケットを分析した不正アクセスパターンのルールの集合）が格納される。なお、ＷＡＦ用シグネチャ情報には、アプリケーションレベルのチェックを行うため、ｈｔｔｐ／ｈｔｔｐｓ通信プロトコルにおける不正アクセスパターンが記述されている。ソース１４４には、契約ＤＢ３１から抽出した少なくともユーザの識別情報（ユーザのホストＩＰアドレス）と、ユーザの契約サービスレベルとを含む契約情報が格納される。
【００９４】
不正侵入防御部１４１は、シグネチャ１４３に格納されるＷＡＦ用シグネチャ情報を取り込んで実行し、不正アクセスデータを検知する。検知されたときは、通信を強制終了し、そのアクセスを拒否する。これにより、過去に検出された不正アクセスパターンと合致するアクセスが遮断される。なお、Ｆ／Ｗ用ロードバランサ１１ａの不正侵入防御部１１１との違いは、不正侵入防御部１４１ではブラックリストＤＢ３２に格納されるブラックリスト情報を用いたチェックを行わないことにある。ブラックリスト情報を用いたチェックは、アクセスデータの送信元のホストＩＰアドレスと、ブラックリスト情報に登録されるホストＩＰアドレスとを照合するものである。したがって、前段のＦ／Ｗ用ロードバランサ１１ａで既に実行されているので、ここではチェックを行わない。
【００９５】
ユーザ振り分け部１４２は、不正侵入防御部１４１によってアクセスが許可されたパケットの送信元ＩＰアドレスと、ソース１４４に登録されるサービスレベルごとに分類されたユーザのホストのＩＰアドレスとを照合し、振り分け先を決定する。なお、サービスレベルは、Ｆ／Ｗサービスと、ＷＡＦサービスとでは別のレベルを設定することができるので、ＷＡＦサービス用の契約情報を参照する。アクセスするユーザのサービス契約がファーストクラスであれば低負荷ＷＡＦ１５ｃ、ビジネスクラスであれば中負荷ＷＡＦ１５ｂ、エコノミークラスであれば高負荷ＷＡＦ１５ａに振り分ける。各ＷＡＦに振り分けられたアクセスデータは、ＷＡＦによる検査で正常アクセスと判定されれば、ＷＡＦ用ロードバランサ１４ｂを経由してリッチコンテンツサーバ１７に転送される。また、ＷＡＦサービスでは、利用契約を行わないユーザが存在する可能性がある。このように利用契約を行わないユーザからのアクセスに対しては、直接プレーンコンテンツサーバ１８にアクセスデータを転送する。
【００９６】
このように、高負荷ＷＡＦ１５ａ、中負荷ＷＡＦ１５ｂ及び低負荷ＷＡＦ１５ｃの前段においてＷＡＦ用シグネチャに基づいて不正侵入防御処理が行われるので、過去に検出された不正アクセスデータが各ＷＡＦに振り分けられることはない。したがって、ＷＡＦの負荷を軽減し、不正アクセスの検知／防御効率を上げることができる。また、通過が認められたアクセスデータは、ユーザのサービスレベルに応じて高負荷ＷＡＦ１５ａ、中負荷ＷＡＦ１５ｂ、低負荷ＷＡＦ１５ｃのいずれかに振り分けられるので、ユーザは、ニーズに応じたサービスを受けることができる。
【００９７】
次に、高負荷ＷＡＦ１５ａで行われるＷＡＦ側の不正アクセス学習について説明する。
図１４は、ＷＡＦの不正アクセス学習機能を説明する図である。図２と同じものには同じ番号を付し、説明は省略する。
【００９８】
高負荷ＷＡＦ１５ａは、ポリシー１５１、不正アクセス検出部１５２、不正アクセス学習部１５３及びポリシー転送部１５４を有する。ポリシー１５１には、不正アクセスを検知するためのＷＡＦ用のポリシー情報が格納される。不正アクセス検出部１５２は、ＷＡＦ用ロードバランサ１４ａを通過したアクセスデータが不正アクセスであるかどうかをポリシー情報に基づいて判定する。不正アクセスデータが検出されたときは、これを破棄するとともに、ログ情報を生成し、ログ１６に格納する。不正アクセス学習部１５３は、ログ１６からログ情報を読み出し、不正アクセスを行ったホストＩＰアドレスと、ブラックリストＤＢ３２のブラックリスト情報に登録されるホストＩＰアドレスと照合する。ブラックリスト情報に登録されていないホストＩＰアドレスが検出された場合は、新たに検出されたホストＩＰアドレスをブラックリスト情報に追記する。なお、ブラックリスト情報に追記するのは、このホストＩＰアドレスから所定の頻度を超えてアクセスが試みられたときなどの条件を満たした場合とする。また、ログ情報と、ＷＡＦ用シグネチャＤＢ３４のＷＡＦ用シグネチャ情報を参照し、新たに検出されたシグネチャパターンをＷＡＦ用シグネチャ情報に追記する。ＷＡＦ用シグネチャ情報に設定されるシグネチャのルールと、ポリシー１５１のポリシー情報との間に矛盾がある場合には、セキュリティを強化する方向で新規のポリシーまたは新規のシグネチャを自動生成する。ポリシー転送部１５４は、ポリシー情報が更新されたときは、更新されたポリシー情報を中負荷ＷＡＦ１５ｂ及び低負荷ＷＡＦ１５ｃに転送し、各ＷＡＦが保有するポリシー情報を一致させる。
【００９９】
このように、高負荷ＷＡＦ１５ａでは、ブラックリストＤＢ３２のブラックリスト情報や、ＷＡＦ用シグネチャＤＢ３４のシグネチャ情報にまだ登録されていない未知の不正アクセスを検出するため、不正アクセス学習が行われる。そして、新たに不正アクセスを行ったホストのＩＰアドレスや、新たな不正アクセスパターンが検出されたときはブラックリスト情報やシグネチャ情報が更新されるので、最新の不正アクセス対策を自動的に行うことができる。また、高負荷ＷＡＦ１５ａのみで不正アクセス学習を行い、得られたポリシーを中負荷ＷＡＦ１５ｂ及び低負荷ＷＡＦ１５ｃに反映するので、不正アクセス対策の効率化を図ることができる。また、ＷＡＦの前段のＷＡＦ用ロードバランサ１４ａで不正侵入の検知と防御を行うためのシグネチャのルールと、ＷＡＦで用いるポリシーとの間に矛盾がある場合は、アクセスを拒否する方向でいずれかを更新することにより、セキュリティを強化するための効率化を図ることができる。
【０１００】
次に、ＷＡＦ用ロードバランサ１４ａと、高負荷ＷＡＦ１５ａで行われる処理手順を詳細に説明する。まず、ＷＡＦ用ロードバランサ１４ａの不正侵入防御処理及びユーザ振り分け処理を、フローチャートを用いて説明する。
【０１０１】
ＷＡＦ用ロードバランサ１４ａでは、ｈｔｔｐ／ｈｔｔｐｓ通信に特化したチェックを行う。図１５は、ＷＡＦ用ロードバランサの不正侵入防御処理の手順を示したフローチャートである。
【０１０２】
Ｆ／Ｗによるチェックを通過したアクセスデータが入力されて、処理が開始される。
［ステップＳ５１］  シグネチャ照合のため、インターネット２０を介して、ＷＡＦ用シグネチャＤＢ３４に格納されるＷＡＦ用シグネチャ情報をシグネチャ１４３に転送する。シグネチャ情報には、そのｈｔｔｐ／ｈｔｔｐｓ通信が不正アクセス（攻撃）であるかどうかをチェックするための不正アクセスパターンが設定されている。これを用いて、例えば、パラメータ改ざん、クロスサイトスクリプティング、ＳＱＬインジェクション、コマンドインジェクション、Ｃｏｏｋｉｅ改ざん、Ｗｅｂ脆弱点攻撃などが検出できる。
【０１０３】
［ステップＳ５２］  ステップＳ５１で取得したＷＡＦ用シグネチャ情報と、アクセスデータとを照合する。シグネチャ情報と照合することにより、アクセスデータが不正アクセスであるかどうかを判定することができる。
【０１０４】
［ステップＳ５３］  ステップＳ５２で照合を行ったパケットがシグネチャと一致する場合には、不正アクセスと判定し、処理をステップＳ５４に進める。一致しない場合は、このパケットは正常なアクセスであると判定し、次段（ユーザ振り分け処理）へ進むように、処理を正常終了させる。
【０１０５】
［ステップＳ５４］  不正アクセスと判定されたので、通信を強制終了させ、次段（ユーザ振り分け処理）以降の処理へは進まないように処理を終了させる。
以上の処理手順が実行されることにより、ＷＡＦ用ロードバランサ１４ａにおける不正侵入の検知と、不正アクセスとして検知されたパケットを破棄し、通信を強制終了させる防御処理が行われる。続いて、正常なアクセスと判定されたアクセスデータに対し、次段のユーザ振り分け処理が行われる。
【０１０６】
図１６は、ＷＡＦ用ロードバランサのユーザ振り分け処理の処理手順を示したフローチャートである。
［ステップＳ６１］  契約ＤＢ３１に格納される最新の契約情報をインターネット２０経由でソース１４４に転送する。契約情報は、ユーザとの契約が行われるごとに更新されるので、処理の前に最新の情報を取得しておく。なお、ソース１４４に転送されるのは、図５に示したＷＡＦサービス契約に基づく、ＷＡＦサービスレベルごとの登録ユーザのホストＩＰアドレスである。
【０１０７】
［ステップＳ６２］  Ｆ／Ｗを通過してきたｈｔｔｐ／ｈｔｔｐｓ通信の送信元のホストＩＰアドレスを取得する。
［ステップＳ６３］  最もサービスレベルの高いファーストクラスに登録されるユーザのホストＩＰアドレスに、この送信元ＩＰアドレスが登録されているかどうかを判定する。ファーストクラスに登録されていたときは、処理をステップＳ６４に進める。登録されていなかったときは、処理をステップＳ６５に進める。
【０１０８】
［ステップＳ６４］  アクセスしてきたユーザのホストＩＰアドレスがＷＡＦサービスのファーストクラスに登録されていた場合、このアクセスデータを低負荷ＷＡＦ１５ｃに振り分けた後、処理をステップＳ６９に進める。
【０１０９】
［ステップＳ６５］  ＷＡＦサービスのファーストクラスに登録されていなかった場合、次のビジネスクラスに登録されるユーザのホストＩＰアドレスに、この送信元ＩＰアドレスが登録されているかどうかを判定する。ＷＡＦサービスのビジネスクラスに登録されていたときは、処理をステップＳ６６に進める。登録されていなかったときは、処理をステップＳ６７に進める。
【０１１０】
［ステップＳ６６］  ＷＡＦサービスのビジネスクラスに登録されていた場合、このアクセスデータを中負荷ＷＡＦ１５ｂに振り分けた後、処理をステップＳ６９に進める。
［ステップＳ６７］  ＷＡＦサービスのビジネスクラスに登録されていなかった場合、次のエコノミークラスに登録されるユーザのホストＩＰアドレスに、この送信元ＩＰアドレスが登録されているかどうかを判定する。ＷＡＦサービスのエコノミークラスに登録されていたときは、処理をステップＳ６８に進める。登録されていなかったときは、処理をステップＳ７０に進める。
【０１１１】
［ステップＳ６８］  ＷＡＦサービスのエコノミークラスに登録されていた場合、このアクセスデータを高負荷ＷＡＦ１５ａに振り分けた後、処理をステップＳ６９に進める。
［ステップＳ６９］  ＷＡＦサービスに登録があるユーザについて、ＷＡＦの振り分け先が決定したら、ＷＡＦ終了後のコンテンツサーバの振り分け先をリッチコンテンツサーバ１７とし、処理を正常終了する。
【０１１２】
［ステップＳ７０］  ＷＡＦサービスのエコノミークラスにも登録がなかった場合、処理対象ではないので、アクセスデータは、ＷＡＦには振り分けない。直接プレーンコンテンツサーバ１８に振り分け、処理を終了する。
【０１１３】
以上の処理手順が実行されることにより、正常なアクセスデータが、予め契約されたアクセスデータの送信元のユーザのサービスレベルに応じて、高負荷ＷＡＦ１５ａ、中負荷ＷＡＦ１５ｂ、低負荷ＷＡＦ１５ｃ、またはプレーンコンテンツサーバ１８に振り分けられる。
【０１１４】
高負荷ＷＡＦ１５ａ、中負荷ＷＡＦ１５ｂ及び低負荷ＷＡＦ１５ｃは、それぞれ入力されたｈｔｔｐ／ｈｔｔｐｓ通信をポリシー設定に基づいてチェックする。各ＷＡＦには同じポリシーが設定されており、同様の判定処理が行われる。各ＷＡＦによって正常アクセスと判定されたｈｔｔｐ／ｈｔｔｐｓ通信は、ＷＡＦ用ロードバランサ１４ｂを経由して、次段のリッチコンテンツサーバ１７へ送られる。
【０１１５】
一方、ＷＡＦサービスの登録がないと判定されたｈｔｔｐ／ｈｔｔｐｓ通信は、ＷＡＦを経由させず、直接プレーンコンテンツサーバ１８へ転送される。例えば、ハウジングと呼ばれるアウトソーシングサービスでは、サービス事業者がサーバの設置スペースやバックボーン回線を提供し、ユーザがサーバを用意してサービス事業者に預ける。このため、ＷＡＦサービスを契約していないユーザがリッチコンテンツを持つＷｅｂにアクセスすると、Ｗｅｂセキュリティの脅威にさらされるリスクが懸念される。その対策として、ＷＡＦサービスの契約がないユーザからのアクセスは、すべてプレーンコンテンツサーバに振り分ける。
【０１１６】
さらに、高負荷ＷＡＦ１５ａでは、不正アクセス学習処理を行う。図１７は、高負荷ＷＡＦにおける不正アクセス学習処理の処理手順を示したフローチャートである。
［ステップＳ８１］  ログ１６に格納されるログ情報を読み出し、高負荷ＷＡＦが通信を強制終了し、破棄したｈｔｔｐ／ｈｔｔｐｓ通信に関する情報を抽出する。
【０１１７】
［ステップＳ８２］  破棄されたｈｔｔｐ／ｈｔｔｐｓ通信の送信元のホストＩＰアドレスと、ソース１４４に格納される契約ユーザのホストＩＰアドレスとを照合する。
［ステップＳ８３］  破棄された許可されていないサービス（パケット）の実行を高頻度で試みているユーザがあるかどうかを判定する。頻度はログ情報を解析し、一定期間に記録される同じユーザからのサービス要求の回数などより算出する。無許可のサービスを高頻度で実行するユーザが検出された場合には、処理をステップＳ８４に進める。このようなユーザが検出されなかった場合は、処理をステップＳ８５に進める。
【０１１８】
［ステップＳ８４］  無許可のサービスを高頻度で実行するユーザが検出された場合は、このユーザのホストＩＰアドレスをブラックリスト情報に追記し、ブラックリストＤＢ３２を更新する。
【０１１９】
［ステップＳ８５］  シグネチャ１４３に格納されるＷＡＦ用のシグネチャ情報を参照のため、読み出す。
［ステップＳ８６］  ＷＡＦ用のシグネチャ情報とログ情報とを照合し、許可されていないサービス（パケット）をシグネチャ情報のルールにない順番で実行しているかどうかを判定する。無許可のサービスをシグネチャのルールにないパターンで実行していたことが検出された場合は、処理をステップＳ８７に進める。このようなパターンが検出されなかった場合は、処理をステップＳ８８に進める。
【０１２０】
［ステップＳ８７］  無許可のサービスをシグネチャのルールにないパターンで実行していたことが検出された場合は、この実行パターンをチェックするためのシグネチャのルールを新規に生成する。生成したシグネチャのルールをシグネチャ情報に追記し、ＷＡＦ用シグネチャＤＢ３４を更新する。
【０１２１】
［ステップＳ８８］  最新のＷＡＦ用のシグネチャ情報と、高負荷ＷＡＦ１５ａのポリシー１５１に格納されるポリシーの設定とを照合し、矛盾がある場合にはいずれかを更新する高負荷ＷＡＦポリシーとの照合処理を行う。なお、ＷＡＦ用のシグネチャとＷＡＦポリシーの照合処理は、図１１に示したシグネチャとＦ／Ｗポリシーとの照合処理において、Ｆ／Ｗ用のシグネチャをＷＡＦ用のシグネチャ、Ｆ／Ｗ用のポリシーをＷＡＦ用のポリシーと読み替えればよいので、説明は省略する。
【０１２２】
以上の処理手順が実行されることにより、高負荷ＷＡＦ１５ａによって検出された不正アクセスのログ情報に基づいて未知の不正アクセスの学習が行われる。そして、無許可のサービスを高頻度で行ったユーザが検出された場合には、ブラックリスト情報が更新される。また、無許可のサービスをシグネチャにないパターンで行ったアクセス要求が検出された場合には、ＷＡＦ用シグネチャ情報が更新される。このように、負荷が高く必然的に処理を行うアクセスデータの数の多い高負荷ＷＡＦ１５ａで未知の不正アクセスを検出する不正アクセス学習が行われ、ブラックリスト情報とＷＡＦ用シグネチャ情報が更新されるので、最新の不正アクセス対策が可能となる。
【０１２３】
こうして高負荷ＷＡＦ１５ａのポリシー情報が更新されると、更新された高負荷ＷＡＦａのポリシー情報と、中負荷ＷＡＦ１５ｂ及び低負荷ＷＡＦ１５ｃのポリシー情報とが一致しなくなる。そこで、これらを一致させるため、高負荷ＷＡＦ１５ａでは、更新したポリシー情報を中負荷ＷＡＦ１５ｂ及び低負荷ＷＡＦ１５ｃに転送する。
【０１２４】
図１８は、高負荷ＷＡＦにおけるポリシー情報の転送処理の手順を示したフローチャートである。
［ステップＳ９１］  高負荷ＷＡＦ１５ａのポリシー情報の世代をチェックする。高負荷ＷＡＦ１５ａのポリシー情報が更新されたときには、バージョンあるいは更新日時が変わっているので、これらに基づいて世代が変わった（更新された）ことを検出する。
【０１２５】
［ステップＳ９２］  ステップＳ９１のチェック結果に基づいて、高負荷ＷＡＦ１５ａのポリシー情報が更新されたかどうかを判定する。更新されていれば、処理をステップＳ９３に進める。更新されていなければ、処理を正常終了する。
【０１２６】
［ステップＳ９３］  高負荷ＷＡＦ１５ａのポリシー情報と、中負荷ＷＡＦ１５ｂのポリシー情報とを比較し、その差分を抽出する。
［ステップＳ９４］  ステップＳ９３で抽出された差分部分について、高負荷ＷＡＦ１５ｂの該当部分を中負荷ＷＡＦ１５ｂへ転送する。中負荷ＷＡＦ１５ｂでは、該当部分を転送された高負荷ＷＡＦ１５ａの情報に更新する。
【０１２７】
［ステップＳ９５］  高負荷ＷＡＦ１５ａのポリシー情報と、低負荷ＷＡＦ１５ｃのポリシー情報とを比較し、その差分を抽出する。
［ステップＳ９６］  ステップＳ９３で抽出された差分部分について、高負荷ＷＡＦ１５ｂの該当部分を低負荷ＷＡＦ１５ｃへ転送する。低負荷ＷＡＦ１５ｃでは、該当部分を転送された高負荷ＷＡＦ１５ａの情報に更新する。
【０１２８】
以上の処理手順が実行されることにより、不正アクセス学習機能により更新された高負荷ＷＡＦ１５ａのポリシー情報が、中負荷ＷＡＦ１５ｂ及び低負荷ＷＡＦ１５ｃに転送され、それぞれのＷＡＦのポリシー情報が更新される。これにより、高負荷ＷＡＦ１５ａによる最新の学習結果に基づくポリシー情報を他の中負荷ＷＡＦ１５ｂ及び低負荷ＷＡＦ１５ｃに反映することができるので、最新の不正アクセス対策を効率よく行うことができる。
【０１２９】
なお、上記の実施の形態では、アクセス負荷に応じてサービスの差別化（ファーストクラス、ビジネスクラス、エコノミークラスを設けること）を優先している。このため、サーバに負荷のかかる不正侵入防御機能はＦ／ＷサーバやＷＡＦサーバの前段のロードバランサに置いている。また、同様に、サーバに負荷がかかる不正アクセス学習機能は、エコノミークラス専用であり、必然的にアクセス数の多い高負荷サーバのみに設置している。このため、ファーストクラスやビジネスクラスのユーザ、もしくはそれらの成りすましユーザが不正侵入防御機能をすり抜け、低負荷または中負荷のＦ／ＷサーバもしくはＷＡＦサーバに達する可能性のある未知の不正アクセスについては、考慮されていない。しかし、前段のロードバランサと低負荷サーバや中負荷サーバの間のネットワークを流れるパケットを監視するための不正侵入検知／防御機能を有する監視用サーバを設置する等の手段をとることにより、これらのリスクを軽減できる。
【０１３０】
また、上記の処理機能は、コンピュータによって実現することができる。その場合、ファイアウォール負荷分散システムを構成する各装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【０１３１】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１３２】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１３３】
以上の実施の形態に関し、更に以下の付記を開示する。
（付記１）  ユーザからのアクセスデータを複数のファイアウォールに振り分けて、負荷を分散させる負荷分散方法において、
外部ネットワーク経由で送信元ユーザの識別情報を含むアクセスデータが受け付けられると、
サービスレベル判定手段が、前記送信元ユーザの識別情報を取得し、取得された前記送信元ユーザの識別情報に基づいて、記憶手段に格納される予め前記ユーザが選択したサービスレベルと前記ユーザの識別情報とを関連付けた管理情報を検索し、検索された前記管理情報に基づいて前記送信元ユーザのサービスレベルを判定する手順と、
振り分け手段が、前記サービスレベル判定手段によって判定された前記送信元ユーザのサービスレベルに基づいて、前記サービスレベルに応じた負荷レベルがそれぞれに設定されているファイアウォール群から前記送信元ユーザのサービスレベルに応じたファイアウォールを選択し、選択された前記ファイアウォールに前記アクセスデータを振り分ける手順と、
を有することを特徴とするファイアウォール負荷分散方法。
【０１３４】
（付記２）  前記ファイアウォール負荷分散方法は、さらに、
不正侵入防御手段が、前記記憶手段に格納される過去に不正アクセスを行ったことが検出された送信元が定義されているブラックリスト情報と、不正アクセス監視用のシグネチャ情報とに基づいて、前記ファイアウォール群に振り分ける前に前記アクセスを監視し、不正アクセスが検出されたときは前記不正アクセスを遮断する手順と、
前記ファイアウォールの不正アクセス学習手段が、ポリシー記憶手段に格納される不正アクセスを特定するポリシー情報に基づいて、前記不正侵入防御手段が通過させた前記アクセスを監視し、不正アクセスが検出されたときは前記不正アクセスを遮断するとともに、前記不正アクセスに基づいて前記ブラックリスト情報及び前記シグネチャ情報の項目を新たに生成し、前記ブラックリスト情報及び前記シグネチャ情報を更新する手順と、
を有することを特徴とする付記１記載のファイアウォール負荷分散方法。
【０１３５】
（付記３）  前記ファイアウォール群は、ネットワークレベルのアクセス監視を行うファイアウォールを備えた第１のファイアウォール群と、アプリケーションレベルでのアクセス監視を行うウェブ・アプリケーション・ファイアウォールを備えた第２のファイアウォール群と、を有し、
前記不正アクセス学習手段は、前記第１のファイアウォール群及び前記第２のファイアウォール群ごとに設けられ、検出された前記不正アクセスに基づいて前記ブラックリスト情報及び前記シグネチャ情報の項目を新たに生成するとともに、新たに生成された前記ブラックリスト情報の項目は、前記第１のファイアウォール群及び前記第２のファイアウォール群に対し共通に設けられた前記ブラックリスト情報に登録し、新たに生成された前記シグネチャ情報の項目は、前記第１のファイアウォール群と前記第２のファイアウォール群それぞれに設けられた前記シグネチャ情報に登録する、ことを特徴とする付記２記載のファイアウォール負荷分散方法。
【０１３６】
（付記４）  前記不正アクセス学習手段は、前記ファイアウォール群のうち、最も高い負荷レベルが設定される高負荷ファイアウォールに設けられ、
前記高負荷ファイアウォールの前記不正アクセス学習手段が、前記不正アクセスが検出されたときは、検出された前記不正アクセスに基づいて前記高負荷ファイアウォールの前記ポリシー記憶手段に格納される前記ポリシー情報を更新する手順と、
前記高負荷ファイアウォールのポリシー配布手段が、前記不正アクセス学習手段によって前記ポリシー情報が更新されたときは、更新された更新ポリシー情報を前記ファイアウォール群の前記高負荷ファイアウォールを除く他のファイアウォールに配布する手順と、
を有することを特徴とする付記２記載のファイアウォール負荷分散方法。
【０１３７】
（付記５）  前記ポリシー配布手段が前記更新ポリシー情報を配布する手順は、配布先の前記ファイアウォールの前記記憶手段に格納される現時点の前記ポリシー情報と、前記更新ポリシー情報との差分を抽出し、抽出された差分部分の前記更新ポリシー情報を配布先の前記ファイアウォールに配布する、ことを特徴とする付記４記載のファイアウォール負荷分散方法。
【０１３８】
（付記６）  前記不正アクセス学習手段は、最新の前記シグネチャ情報と前記ポリシー情報とを照合し、矛盾があるときはセキュリティが強化される方を選択し、前記シグネチャ情報が選択されたときは前記シグネチャ情報に合わせて前記ポリシー情報を更新し、前記ポリシー情報が選択されたときは前記ポリシー情報に合わせて前記シグネチャ情報を更新する、ことを特徴とする付記２記載のファイアウォール負荷分散方法。
【０１３９】
（付記７）  前記不正アクセス学習手段は、前記シグネチャ情報においてアクセス拒否とされている対象パケットが、前記ポリシー情報においてアクセス許可となっていたときは、前記ポリシー情報の前記対象パケットに関する定義をアクセス拒否に更新し、前記ポリシー情報においてアクセス拒否とされている対象パケットが、前記シグネチャ情報においてアクセス許可となっていたときは、前記シグネチャ情報の前記対象パケットに関する定義をアクセス拒否に更新する、ことを特徴とする付記６記載のファイアウォール負荷分散方法。
【０１４０】
（付記８）  前記ファイアウォール群が、アプリケーションレベルでのアクセス監視を行うウェブ・アプリケーション・ファイアウォールで構成され、前記アクセスの前記ファイアウォール群からの転送先にリッチコンテンツサーバとプレーンコンテンツサーバとが設けられているとき、
前記振り分け手段は、前記サービスレベル判定手段によって判定された前記送信元ユーザのサービスレベルに基づいて、前記送信元ユーザに前記サービスレベルが設定されているときは、前記アクセスを前記ファイアウォール群に振り分け、前記送信元ユーザに前記サービスレベルが設定されていないときは、前記アクセスを前記ファイアウォール群を介さず前記プレーンコンテンツサーバへ転送する、ことを特徴とする付記１記載のファイアウォール負荷分散方法。
【０１４１】
（付記９）  ユーザからのアクセスデータを複数のファイアウォールに振り分けて、負荷を分散させるファイアウォール負荷分散システムにおいて、
ユーザに提供されるサービスレベルに応じた負荷レベルがそれぞれに設定されているファイアウォール群と、
前記ユーザが選択した前記サービスレベルと、前記ユーザの識別情報とが関連付けられた管理情報を記憶する記憶手段と、外部ネットワーク経由で送信元ユーザの識別情報を含むアクセスデータが受け付けられると、前記アクセスデータから前記送信元ユーザの識別情報を取得し、取得された前記送信元ユーザの識別情報に基づいて前記管理情報を検索し、検索された前記管理情報に基づいて前記送信元ユーザのサービスレベルを判定するサービスレベル判定手段と、前記サービスレベル判定手段によって判定された前記送信元ユーザのサービスレベルに基づいて、前記ファイアウォール群から前記送信元ユーザのサービスレベルに応じたファイアウォールを選択し、選択された前記ファイアウォールに前記アクセスデータを振り分ける振り分け手段と、を備えた負荷分散装置と、
を有することを特徴とするファイアウォール負荷分散システム。
【０１４２】
（付記１０）  前記ファイアウォール負荷分散システムが、
ネットワークレベルのアクセス監視を行うファイアウォールを備えた第１のファイアウォール群と、
前記第１のファイアウォール群へのアクセス振り分けを管理する第１の負荷分散装置と、
アプリケーションレベルでのアクセス監視を行うウェブ・アプリケーション・ファイアウォールを備えた第２のファイアウォール群と、
前記第２のファイアウォール群へのアクセス振り分けを管理する第２の負荷分散装置と、
を有することを特徴とする付記９記載のファイアウォール負荷分散システム。
【０１４３】
（付記１１）  ユーザからのアクセスデータを複数のファイアウォールに振り分けて、負荷を分散させる負荷分散装置において、
ユーザが選択した前記サービスレベルと、前記ユーザの識別情報とが関連付けられた管理情報を記憶する記憶手段と、
外部ネットワーク経由で送信元ユーザの識別情報を含むアクセスデータが受け付けられると、前記アクセスデータから前記送信元ユーザの識別情報を取得し、取得された前記送信元ユーザの識別情報に基づいて前記管理情報を検索し、検索された前記管理情報に基づいて前記送信元ユーザのサービスレベルを判定するサービスレベル判定手段と、
前記サービスレベル判定手段によって判定された前記送信元ユーザのサービスレベルに基づいて、前記ユーザに提供されるサービスレベルに応じた負荷レベルがそれぞれに設定されているファイアウォール群から前記送信元ユーザのサービスレベルに応じたファイアウォールを選択し、選択された前記ファイアウォールに前記アクセスデータを振り分ける振り分け手段と、
を有することを特徴とする負荷分散装置。
【図面の簡単な説明】
【０１４４】
【図１】実施の形態に適用される発明の概念図である。
【図２】実施の形態のファイアウォール負荷分散システムの一例を示した構成図である。
【図３】本実施の形態のロードバランサのハードウェア構成例を示すブロック図である。
【図４】Ｆ／Ｗのサービス契約情報を示した図である。
【図５】ＷＡＦのサービス契約情報を示した図である。
【図６】Ｆ／Ｗ用ロードバランサの処理機能を説明する図である。
【図７】Ｆ／Ｗの不正アクセス学習機能を説明する図である。
【図８】Ｆ／Ｗ用ロードバランサの不正侵入防御処理の処理手順を示したフローチャートである。
【図９】Ｆ／Ｗ用ロードバランサのユーザ振り分け処理の処理手順を示したフローチャートである。
【図１０】高負荷Ｆ／Ｗにおける不正アクセス学習処理の処理手順を示したフローチャートである。
【図１１】高負荷Ｆ／Ｗにおけるシグネチャとポリシーの照合処理の手順を示したフローチャートである。
【図１２】高負荷Ｆ／Ｗにおけるポリシー情報の転送処理の手順を示したフローチャートである。
【図１３】ＷＡＦ用ロードバランサの処理機能を説明する図である。
【図１４】ＷＡＦの不正アクセス学習機能を説明する図である。
【図１５】ＷＡＦ用ロードバランサの不正侵入防御処理の手順を示したフローチャートである。
【図１６】ＷＡＦ用ロードバランサのユーザ振り分け処理の処理手順を示したフローチャートである。
【図１７】高負荷ＷＡＦにおける不正アクセス学習処理の処理手順を示したフローチャートである。
【図１８】高負荷ＷＡＦにおけるポリシー情報の転送処理の手順を示したフローチャートである。
【符号の説明】
【０１４５】
１  負荷分散装置
１ａ  記憶手段
１ｂ  ブラックリスト情報
１ｃ  シグネチャ情報
１ｄ  管理情報
１ｅ  不正侵入防御手段
１ｆ  サービスレベル判定手段
１ｇ  振り分け手段
２  高負荷ファイアウォール
２ａ  ポリシー記憶手段
２ｂ  不正アクセス学習手段
２ｃ  ポリシー配布手段
３  中負荷ファイアウォール
３ａ  ポリシー記憶手段
４  低負荷ファイアウォール
４ａ  ポリシー記憶手段
【図１】
2010026547.tif 000003
【図２】
2010026547.tif 000004
【図３】
2010026547.tif 000005
【図４】
2010026547.tif 000006
【図５】
2010026547.tif 000007
【図６】
2010026547.tif 000008
【図７】
2010026547.tif 000009
【図８】
2010026547.tif 000010
【図９】
2010026547.tif 000011
【図１０】
2010026547.tif 000012
【図１１】
2010026547.tif 000013
【図１２】
2010026547.tif 000014
【図１３】
2010026547.tif 000015
【図１４】
2010026547.tif 000016
【図１５】
2010026547.tif 000017
【図１６】
2010026547.tif 000018
【図１７】
2010026547.tif 000019
【図１８】
2010026547.tif 000020