JP2010026547A - ファイアウォール負荷分散方法及びファイアウォール負荷分散システム - Google Patents

ファイアウォール負荷分散方法及びファイアウォール負荷分散システム Download PDF

Info

Publication number
JP2010026547A
JP2010026547A JP2008183332A JP2008183332A JP2010026547A JP 2010026547 A JP2010026547 A JP 2010026547A JP 2008183332 A JP2008183332 A JP 2008183332A JP 2008183332 A JP2008183332 A JP 2008183332A JP 2010026547 A JP2010026547 A JP 2010026547A
Authority
JP
Japan
Prior art keywords
firewall
load
information
user
access
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.)
Pending
Application number
JP2008183332A
Other languages
English (en)
Inventor
Masaki Hiraga
正樹 平賀
Koichi Ebina
厚一 蝦名
Tomohiro Ozawa
知寛 小澤
Akira Murata
章 村田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008183332A priority Critical patent/JP2010026547A/ja
Publication of JP2010026547A publication Critical patent/JP2010026547A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】ユーザの要望に応じたサービスを提供する。
【解決手段】ファイアウォール群は、ユーザが選択可能なサービスレベルに応じて、高負荷ファイアウォール2、中負荷ファイアウォール3、低負荷ファイアウォール4の3段階の負荷レベルで構成される。また、ユーザが任意に選択したサービスレベルは管理情報1dとして記憶手段1aに格納されている。ユーザからのアクセスが取得されると、サービスレベル判定手段1fは、ユーザの識別情報を抽出し、管理情報1dを検索して、このユーザが選択したサービスレベルを判定する。そして、振り分け手段1gは、判定されたサービスレベルに対応する高負荷ファイアウォール2、中負荷ファイアウォール3、低負荷ファイアウォール4のいずれかに、アクセスを振り分ける。
【選択図】図1

Description

本発明はファイアウォール負荷分散方法及びファイアウォール負荷分散システムに関し、特にユーザからのアクセスデータを複数のファイアウォールに振り分けて、負荷を分散させるファイアウォール負荷分散方法及びファイアウォール負荷分散システムに関する。
近年、ウェブ(World Wide Webの略。以下、Webとする)上のアプリケーションに対する不正アクセスが増加しており、社会問題となっている。このような不正アクセスを防止するためファイアウォール(FireWall)が広く利用されている。従来の一般的なファイアウォールは、ネットワークレベルでの監視を行うパケットフィルタ型などであり、通信上の振る舞い、例えば宛先や送信元のIPアドレスやポート番号などによってアクセスを監視している。しかし、このような従来のファイアウォールでは、http/https通信の中身(内容)をチェックすることができない。そこで、Webサイトを狙う攻撃やデータベース(以下、DBとする)を狙う攻撃などの脅威に対処するためのファイアウォールとして、Webアプリケーション・ファイアウォール(Web Application Firewall;以下、WAFとする)の導入・利用が進められている。なお、以下の説明では、ネットワークレベルでの監視を行う従来の一般的なファイアウォールをF/Wと表記し、F/WやWAFを含めたファイアウォール全般と区別する。
WAFはアプリケーションレベルで管理を行い、例えば、プログラムに渡される入力内容を直接検査し、不正と見なされたアクセスを遮断する。WAFには、リバースプロキシとして動作するリバースプロキシ型と、透過デバイスとして使用できる透過型がある。また、セキュリティモデルとして、設定していないトラフィックを不通過とするポジティブセキュリティモデルと、設定したトラフィックのみを通過させるネガティブセキュリティモデルと、がある。また、WAFは、F/Wと組み合わせて利用されることが多い。
従来のファイアウォールによるアウトソーシングサービスでは、サービスを提供するIDC(Internet Data Center)内に負荷分散用のロードバランサを設置し、一定のルールに従って、クラスタを構成するF/WまたはWAFにデータを振り分けていた。振り分けルールには、ラウンドロビン方式や、CPU負荷やレスポンスタイムなどを指標とする方式などがある。
これらの指標ばかりでなく、複数のファイアウォールの接続状況・負荷を監視し、接続負荷の低いファイアウォールにデータを振り分けることによって、特定のファイアウォールへの負荷の集中を防止する負荷分散システムもある(例えば、特許文献1参照)。また、ネットワーク上のパケット検査で不正侵入を検知し、検知された不正アクセス情報に基づいてシグネチャ特定のためのポリシーを生成する装置もある(例えば、特許文献2参照)。さらに、遠隔サイトから保護された複数のアプリケーションへのアクセスに対し、対応するWebサーバとセンタ側のポリシーサーバがファイアウォールと連携してセキュリティ管理を行う装置もある(例えば、特許文献3)。
特開2000−330897号公報 特開2006−244141号公報 特開2001−236319号公報
しかし、従来のシステムで行われているファイアウォールの負荷分散では、アウトソーシングサービス上のユーザ契約に応じた差別化ができないという問題点があった。
上記のように、従来のファイアウォールの負荷分散では、処理対象の正常データも不正アクセスデータも全てF/WサーバやWAFサーバに均等に振り分けられていた。このため、負荷による能力・性能面の影響は、ロードバランサ配下のF/WサーバやWAFサーバに等しく発生していた。
ここで、アウトソーシングサービスに対するユーザの要望は、サービス価格が安ければ少々の負荷の高さは我慢するというものから、負荷が低ければサービス価格が高くてもよいというものまで、多種多様である。すなわち、アウトソーシングサービスの市場では、ユーザのニーズに合わせて、性能重視、価格重視、それらの中間に位置するものなど、さまざまなサービスメニューを提供することが求められている。しかし、従来のシステムでは、アクセスデータは複数のファイアウォールに均等に振り分けられており、ユーザの要望するサービスレベルに合わせて負荷を配分することはできなかった。例えば、同程度の性能のF/WサーバあるいはWAFサーバが複数台あった場合、それぞれのサーバに対し均等に負荷が配分されるため、負荷による各サーバへの性能面の影響は同程度となる。したがって、安価であるが負荷が高くなる価格重視のサービス、効果になるが負荷が低くできる性能重視のサービスなど、負荷配分に応じたサービスメニューを複数提示することができず、ユーザの多様な要望に応えることはできなかった。
本発明はこのような点に鑑みてなされたものであり、ユーザの要望に応じたサービスを提供することが可能なファイアウォール負荷分散方法及びファイアウォール負荷分散システムを提供することを目的とする。
上記課題を解決するために、ユーザからのアクセスデータを複数のファイアウォールに振り分けて、負荷を分散させるファイアウォール負荷分散方法が提供される。開示のファイアウォール負荷分散方法では、外部ネットワーク経由で送信元ユーザの識別情報を含むアクセスデータが受け付けられると、サービスレベル判定手段が、送信元ユーザの識別情報を取得する。そして、取得された送信元ユーザの識別情報に基づいて、記憶手段に格納される予めユーザが選択したサービスレベルとユーザの識別情報とを関連付けた管理情報を検索し、検索された管理情報に基づいて、アクセスデータの送信元ユーザのサービスレベルを判定する。振り分け手段は、サービスレベル判定手段によって判定された送信元ユーザのサービスレベルに基づいて、サービスレベルに応じた負荷レベルがそれぞれに設定されているファイアウォール群から送信元ユーザのサービスレベルに応じたファイアウォールを選択する。そして、選択されたファイアウォールにアクセスデータを振り分ける。
このようなファイアウォール負荷分散方法によれば、ファイアウォール群に含まれる各ファイアウォールは、ユーザが選択可能なサービスレベルに応じた負荷レベルが設定されている。また、ユーザが任意に選択したサービスレベルは管理情報として記憶手段に格納されている。ユーザからのアクセスデータが受け付けられると、ユーザの識別情報が取得され、このユーザの識別情報を用いて管理情報が検索される。そして、検索された管理情報から、このユーザが選択したサービスレベルが判定される。そして、判定されたサービスレベルに応じたファイアウォールが選択され、選択されたファイアウォールにアクセスデータが振り分けられる。
また、上記課題を解決するために、上記のファイアウォール負荷分散方法を実行するファイアウォール負荷分散システム、が提供される。
開示のファイアウォール負荷分散方法及びファイアウォール負荷分散システムによれば、ファイアウォールには、ユーザが選択可能なサービスレベルに応じた異なる負荷レベルが設定されている。そして、受け付けられたアクセスデータは、送信元のユーザが選択したサービスレベルに応じた負荷レベルのファイアウォールに振り分けられる。このように、ユーザの選択したサービスレベルに合わせて負荷レベルの異なるファイアウォールが選択されるので、ユーザは、利用目的や予算などの要望に合う性能のサービスレベルを任意に選択することができる。また、サービスの提供側は、要望に応じて選択可能な多くのサービスメニューをユーザに提供することができる。
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、実施の形態に適用される発明の概念図である。
実施の形態のファイアウォール負荷分散システムは、外部ネットワークに接続する負荷分散装置1と、異なる負荷レベルが設定される高負荷ファイアウォール2、中負荷ファイアウォール3、及び低負荷ファイアウォール4を備えたファイアウォール群と、を有する。図では、ファイアウォール群として、高負荷、中負荷、及び低負荷の3種類の負荷レベルのファイアウォールを備えるとしたが、配置するファイアウォールの数及び負荷レベルの設定状態はシステムに応じて適宜設定される。
負荷分散装置1は、各種情報を記憶する記憶手段1a、外部ネットワークを介して侵入する不正アクセスの検知と防御を行う不正侵入防御手段1e、アクセスデータの送信元ユーザのサービスレベルを判定するサービスレベル判定手段1f、アクセスデータを振り分ける振り分け手段1gを有する。各処理手段は、コンピュータがそれぞれの処理手順を記述したプログラムを実行することによりその処理機能が実現される。
記憶手段1aには、ブラックリスト情報1b、シグネチャ情報1c及び管理情報1dが格納される。ブラックリスト情報1bは、アクセスを許可しない遮断対象を定義したリストである。遮断対象とする送信元のIPアドレスなどが登録されている。シグネチャ情報1cには、過去に認識された攻撃パターンなど、アクセスを拒否または許可するアクセスデータの特徴を記述した定義情報である。ここでは、登録されたシグネチャに合致するアクセスパターンを遮断するネガティブセキュリティモデルとして利用する。管理情報1dは、ユーザが選択したサービスレベルが、ユーザの識別情報に関連付けられて定義される情報である。高負荷ファイアウォール2、中負荷ファイアウォール3、及び低負荷ファイアウォール4は、それぞれサービスレベルと対応付けられた負荷レベルが設定されている。ここでは、高負荷ファイアウォール2の負荷レベルが最大に設定され、中負荷ファイアウォール3、低負荷ファイアウォール4という順に負荷レベルが低く設定されている。そして、負荷が低く抑えられているため、高い性能が期待される低負荷ファイアウォール4には、高位のサービスレベルが設定される。逆に、負荷が高くなるため、性能が期待されない高負荷ファイアウォール2には、低位のサービスレベルが設定される。また、中間の中負荷ファイアウォール3には、中位のサービスレベルが設定される。サービスを提供する側では、サービスレベルに応じて利用料を設定し、高位のサービスレベルほど利用料が高くなるようにする。ユーザは、利用目的や予算などに応じてサービスレベルを選択する。
不正侵入防御手段1eは、記憶手段1aに格納されるブラックリスト情報1b及びシグネチャ情報1cを読み出し、登録に該当するアクセスデータを遮断する。これにより、不正アクセスが侵入することを防御する。通過を許可したアクセスデータは、サービスレベル判定手段1fへ出力する。
サービスレベル判定手段1fは、アクセスデータの送信元のIPアドレスを取得する。そして、記憶手段1aに格納される管理情報1dを検索し、取得された送信元のIPアドレスに対応するユーザのサービスレベルを検出する。
振り分け手段1gは、サービスレベル判定手段1fが検出したサービスレベルに基づいて、このアクセスデータの振り分け先を決定する。低位のサービスレベルが選択されていた場合は、高負荷ファイアウォール2を選択し、アクセスデータを振り分ける。中位のサービスレベルが選択されていた場合は、中負荷ファイアウォール3を選択し、アクセスデータを振り分ける。高位のサービスレベルが選択されていた場合は、低負荷ファイアウォール2を選択し、アクセスデータを振り分ける。
なお、図では負荷分散装置1が不正侵入防御手段1e、サービスレベル判定手段1f及び振り分け手段1gを有する構成としたが、各処理手段はそれぞれ別のコンピュータにより実現されるとしてもよい。
高負荷ファイアウォール2は、振り分けられるデータの負荷レベルが最も高いファイアウォール・サーバであり、ポリシー記憶手段2a、不正アクセス学習手段2b及びポリシー配布手段2cを有する。ポリシー記憶手段2aには、入力されたアクセスデータの拒否または許可を規定するポリシーが記憶されており、図示しないフィルタ処理手段がポリシーに基づいてアクセスデータの通過または遮断処理を行う。不正アクセス学習手段2bは、負荷分散装置1の不正侵入防御手段1eで検出することができなかった未知の不正アクセスを学習する。そして、不正アクセスを行ったユーザが新たに検出されたときは、検出されたユーザのホストIPアドレスをブラックリスト情報1bに追記する。また、不正アクセスパターンが新たに検出されたときは、この不正アクセスを識別するためのシグネチャパターンを新たに生成し、シグネチャ情報1cに追記する。さらに、シグネチャ情報1cと、ポリシー記憶手段2aに格納されるポリシー情報とを照合し、矛盾がないかどうかを調べる。矛盾がある場合には、セキュリティを強化する方向、すなわち、アクセスを拒否するように、シグネチャまたはポリシーを更新する。シグネチャのルールで拒否しているアクセスパターンがポリシーで許可されている場合は、このアクセスパターンを拒否するようにポリシーの設定を更新する。また、ポリシーで拒否しているアクセスパターンがシグネチャで許可されている場合は、このアクセスパターンを拒否するようにシグネチャを更新する。ポリシー配布手段2cは、不正アクセス学習手段2bによってポリシーが更新されたときは、更新された最新のポリシーを中負荷ファイアウォール3及び低負荷ファイアウォール4に転送する。
中負荷ファイアウォール3は、振り分けられるデータの負荷レベルが中程度のファイアウォール・サーバである。ポリシー記憶手段3aを有し、図示しないフィルタ処理手段がポリシー記憶手段3aに格納されるポリシーに基づいて、データのフィルタリング処理を行う。ポリシー記憶手段3aに格納されるポリシー情報は、高負荷ファイアウォール2のポリシー記憶手段2aに格納されるポリシー情報と同じである。
低負荷ファイアウォール4は、振り分けられるデータの負荷レベルが最も低いファイアウォール・サーバである。ポリシー記憶手段4aを有し、図示しないフィルタ処理手段がポリシー記憶手段4aに格納されるポリシーに基づいて、データのフィルタリング処理を行う。ポリシー記憶手段4aに格納されるポリシー情報は、高負荷ファイアウォール2のポリシー記憶手段2aに格納されるポリシー情報と同じである。
このような構成のファイアウォール負荷分散システムの動作及びファイアウォール負荷分散方法について説明する。
負荷分散装置1の記憶手段1aには、ブラックリスト情報1b、シグネチャ情報1c及び管理情報1dが格納されている。外部ネットワークを介してユーザからのアクセスデータが取得されると、不正侵入防御手段1eは、ブラックリスト情報1bとシグネチャ情報1cに基づいてアクセスデータを検査する。検査の結果、正常なアクセスと判断されたときは、アクセスデータをサービスレベル判定手段1fへ送る。また、不正アクセスと判断したときはアクセスデータを破棄し、通信を終了させる。サービスレベル判定手段1fは、アクセスデータの送信元ユーザの識別情報を取得し、この識別情報に基づいて管理情報1dを検索し、ユーザの管理情報を読み出してユーザが選択したサービスレベルを判定する。振り分け手段1gは、アクセスデータを、判定された送信元ユーザのサービスレベルに応じて高負荷ファイアウォール2、中負荷ファイアウォール3、または低負荷ファイアウォール4のいずれかに振り分ける。
以上のファイアウォール負荷分散システムによれば、アクセスデータは、その送信元ユーザが選択したサービスレベルに応じて、異なる負荷レベルが設定されるファイアウォールに振り分けられる。これにより、サービスの提供側は、一様に負荷を配分するのではなく、ユーザのサービスレベルに合わせて負荷を配分することができるので、性能面でのサービスの差別化を図ることができる。また、限られたリソースで、負荷が低いため性能が高いサービスや、負荷が高いため性能は低くなるが安価なサービスなど、より多くのサービスメニューを提供することが可能となる。ユーザ側にとっても、利用の目的や予算に応じて任意のサービスを選択することが可能となり、利便性が向上するという利点がある。
さらに、高負荷ファイアウォール2は、不正アクセス学習手段2bとポリシー配布手段2cとを有し、未知の不正アクセスを学習している。そして、新たな不正アクセスを検出した場合には、ブラックリスト情報1b、シグネチャ情報1cを更新する。このとき、シグネチャ情報1cとポリシー記憶手段2aに格納されるポリシーとを照合し、矛盾があるときはセキュリティが強化される方向にシグネチャ情報1cまたはポリシー情報を更新する。更新されたポリシー情報は、中負荷ファイアウォール3及び低負荷ファイアウォール4に配布される。このように、不正アクセス学習を高負荷ファイアウォール2に集約し、最新の学習結果を後から他の中負荷ファイアウォール3及び低負荷ファイアウォール4に転送することにより、最新の不正アクセス対策の効率化を図ることができる。また、サーバに負担のかかる不正アクセス学習機能を行わないため、中負荷ファイアウォール3及び低負荷ファイアウォール4には余分な負荷がかからず、サービス品質を維持することができるという効果も得られる。
なお、上記の例では、ファイアウォールの前段の負荷分散装置1に不正侵入防御手段1eを置く構成としたが、これを置かない構成とすることもできる。この場合、負荷分散装置1に入力されたアクセスデータは不正侵入検知が行われずに、サービスレベル判定手段1f及び振り分け手段1gによって、ユーザが選択したサービスレベルに応じて高負荷ファイアウォール2、中負荷ファイアウォール3、または低負荷ファイアウォールに振り分けられる。そして、アクセスデータの振り分け先のファイアウォールが、アクセスデータの拒否または許可の判断を行う。不正アクセス学習手段2bは、ログとポリシー情報を解析し、必要であれば不正アクセスを遮断するポリシーを新たに生成してポリシー情報を更新する。更新されたポリシー情報は、ポリシー配布手段2cによって、中負荷ファイアウォール3及び低負荷ファイアウォール4に配布される。
以下、実施の形態を、パケットフィルタ型のF/Wと、WAFと、が組み込まれたIDCに適用した場合を例に図面を参照して詳細に説明する。
図2は、実施の形態のファイアウォール負荷分散システムの一例を示した構成図である。
実施の形態のファイアウォール負荷分散システムは、IDC10におけるアウトソーシングサービス環境において、F/W用ロードバランサ11a,11b及びその配下のF/Wサーバ群を構成する高負荷F/W12a、中負荷F/W12b及び低負荷F/W12cと、WAF用ロードバランサ14a,14b及びその配下のWAFサーバ群を構成する高負荷WAF15a、中負荷WAF15b及び低負荷WAF15cと、リッチコンテンツサーバ17及びプレーンコンテンツサーバ18と、を有する。また、インターネット20を介して、ユーザ群40と、契約DB31、ブラックリストDB32、F/W用シグネチャDB33及びWAF用シグネチャDB34の各DBと、がIDC10に接続されている。
F/W側は、外部のインターネット20と内部ネットワークとの間に位置し、内向き(外部のインターネット20から内部ネットワークへ向かう)トラフィックを各F/Wに分散させるF/W用ロードバランサ11a、外向き(内部ネットワークから外部のインターネット20へ向かう)トラフィックを各F/Wに分散させるF/W用ロードバランサ11b、高負荷F/W12a、中負荷F/W12b及び低負荷F/W12cを有する。F/W用ロードバランサ11aは、既知の不正アクセスを防止し、F/Wにかかる負荷を軽減する不正侵入防御機能と、ユーザの契約に応じて負荷レベルの異なるF/Wを選択するユーザ振り分け機能を有する。高負荷F/W12aは、最も高い負荷レベルが設定されるF/Wサーバで、不正アクセス学習機能と、ポリシー配布機能とを有する。低負荷F/W12cは、最も低い負荷レベルが設定されるF/Wサーバであり、中負荷F/W12bは中位の負荷レベルが設定されるF/Wサーバである。ログ13には、少なくとも、高負荷F/W12aが検出した不正アクセスに関する情報がログ情報として格納されている。
WAF側は、F/W群とコンテンツサーバ群との間に位置し、内向きトラフィックを各WAFに分散させるWAF用ロードバランサ14a、外向きトラフィックを各WAFに分散させるWAF用ロードバランサ14b、高負荷WAF15a、中負荷WAF15b及び低負荷WAF15cを有する。WAF用ロードバランサ14aは、F/W用ロードバランサ11aと同様に、既知の不正アクセスを防止し、WAFにかかる負荷を軽減する不正侵入防御機能と、ユーザの契約に応じて負荷レベルの異なるWAFを選択するユーザ振り分け機能を有する。高負荷WAF15aは、最も高い負荷レベルが設定されるWAFサーバで、不正アクセス学習機能と、ポリシー配布機能とを有する。低負荷WAF15cは、最も低い負荷レベルが設定されるWAFサーバであり、中負荷WAF15bは中位の負荷レベルが設定されるWAFサーバである。ログ16には、少なくとも、高負荷WAF15aが検出した不正アクセスに関する情報がログ情報として格納されている。
リッチコンテンツサーバ17は、画像や音声などを含む情報の密度が高いコンテンツを提供するサーバである。プレーンコンテンツサーバ18は、テキストや静止画などで構成されるコンテンツを提供するサーバである。同様の内容のリッチコンテンツとプレーンコンテンツとを用意し、ユーザのコンピュータの性能などに応じていずれかを提供するサービスもある。
IDC10とインターネット20を介して接続するユーザ群40のホストは、ユーザが選択したサービスレベルに応じて、ファーストクラス41、ビジネスクラス42、エコノミークラス43に分類される。ユーザが提供を受けるサービスクラスは、ユーザとの間の契約によって決まる。
契約DB31は、ユーザとの間の契約情報が格納されるDBである。契約情報には、ユーザを識別するための識別情報と、そのユーザが契約したサービスレベルとが含まれている。ブラックリストDB32は、過去に不正アクセスに関わったホストのIPアドレスが、ブラックリスト情報として格納されるDBである。F/W用シグネチャDB33は、F/Wにおいて不正アクセスを検出するための不正アクセスパターンのルールが定義されるF/Wシグネチャ情報が格納されるDBである。WAF用シグネチャDB34は、WAFにおいて不正アクセスを検出するための不正アクセスパターンのルールが定義されるWAFシグネチャ情報が格納されるDBである。
ここで、不正アクセスパターンのルールが定義されるシグネチャ情報は、ネットワークレベルのアクセス監視を行うF/W用と、アプリケーションレベルのアクセス監視を行うWAF用の2つを用意する必要があるが、ブラックリスト情報は共通とすることができる。実施の形態では、ブラックリスト情報はF/W側とWAF側で共有するとし、ブラックリスト情報を用いたアクセス監視はF/W側のみで行う。なお、不正アクセス学習機能によるブラックリスト情報の更新は、F/W側とWAF側の双方で行う。このように、ブラックリスト情報を共有としてF/W側でのみアクセス監視を行うことにより、不正侵入防御処理の効率化を図ることができる。
ここで、ロードバランサのハードウェア構成について説明する。図3は、本実施の形態のロードバランサのハードウェア構成例を示すブロック図である。
F/W用ロードバランサ11は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、及び通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションのプログラムが格納される。グラフィック処理装置104には、モニタ108が接続されており、CPU101からの命令に従って画像をモニタ108の画面に表示させる。入力インタフェース105には、キーボード109aやマウス109bが接続されており、キーボード109aやマウス109bから送られてくる信号を、バス107を介してCPU101に送信する。通信インタフェース106は、ネットワーク21に接続されており、ネットワーク21を介して他装置との間でデータの送受信を行う。また、グラフィック処理装置104及び入力インタフェース105を介してモニタ108やキーボード109a、マウス109bが直接接続する構成ではなく、ネットワーク21を介して接続する端末装置を経由して端末装置のモニタ、キーボード、マウスなどと接続するとしてもよい。
このようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には、F/W用ロードバランサのハードウェア構成を示したが、WAF用ロードバランサ、F/Wサーバ、WAFサーバ、及びユーザのホストのハードウェア構成も同様である。
次に、契約DB31に格納される契約情報について説明する。実施の形態では、各ユーザがどのようなサービスの提供を受けるかの選択は、予め契約によって決めておく。ユーザとの間の契約内容を示した契約情報は、契約DB31で一元管理される。実施の形態の例では、サービスレベルとして、F/W、WAFそれぞれに、ファーストクラス、ビジネスクラス及びエコノミークラスの3段階のレベルが用意される。ファーストクラスは、最も高位のサービスレベルで、高価であるが低負荷のファイアウォールが選択されるので、高い性能を得ることができる。エコノミークラスは、最も低位のサービスレベルで、安価ではあるが高負荷のファイアウォールが選択されるので、ファーストクラスのような高い性能は得られない。ビジネスクラスは、ファーストクラスとエコノミークラスとの中間であり、中負荷のファイアウォールが選択され、価格及び性能は中位となる。
図4は、F/Wのサービス契約情報を示した図である。
F/Wサービス契約(ファーストクラス)3100は、振り分け時に低負荷F/W12cが選択されるファーストクラスのサービスを契約したユーザのリストであり、ユーザを表すユーザ名3101、ユーザのホストIPアドレス3102などの情報が登録されている。F/Wサービス契約(ビジネスクラス)3110は、振り分け時に中負荷F/W12bが選択されるビジネスクラスのサービスを契約したユーザのリストである。ファーストクラス3100と同様に、ユーザ名とホストIPアドレスなどが登録されている。F/Wサービス契約(エコノミークラス)3120は、振り分け時に高負荷F/W12aが選択されるエコノミークラスのサービスを契約したユーザのリストである。ファーストクラス3100と同様に、ユーザ名とホストIPアドレスなどが登録されている。
高負荷F/W12a、中負荷F/W12b及び低負荷F/W12cは、F/Wの性能そのものを変えてもよいが、F/Wの性能が同程度であれば、総契約数を調整することによって差別化することができる。図の例では、総契約数は、ファーストクラス3100が100、ビジネスクラス3110が400、そしてエコノミークラス3120は1000に制限されている。
図5は、WAFのサービス契約情報を示した図である。
WAFサービス契約(ファーストクラス)3130は、振り分け時に低負荷WAF15cが選択されるファーストクラスのサービスを契約したユーザのリストであり、ユーザ名3131、ユーザのホストIPアドレス3132などの情報が登録されている。同様に、WAFサービス契約(ビジネスクラス)3140は、振り分け時に中負荷WAF15bが選択されるビジネスクラスのサービスを契約したユーザ、WAFサービス契約(エコノミークラス)3150は、振り分け時に高負荷WAF15aが選択されるエコノミークラスのサービスを契約したユーザのリストである。
どのサービスレベルで契約するかは、ニーズ(セキュリティ対策の優先順位)と予算とに応じてユーザが任意に選択することができる。また、F/Wで選択するサービスレベルと、WAFで選択するサービスレベルとが異なっていてもよい。例えば、図4のF/Wサービス契約では、ファーストクラスで契約しているユーザ「A」は、図5のWAFサービスの契約では、ビジネスクラスで契約している。さらに、F/Wサービスだけ契約し、WAFサービスを契約しないという選択もできる。
次に、実施の形態のファイアウォール負荷分散システムの動作及びファイアウォール負荷分散方法について説明する。まず、F/W側の処理について説明し、続いてWAF側の処理について説明する。
(1)F/W側の処理
F/W側では、インターネット20を介して受け付けられたアクセスデータをF/W用ロードバランサ11aがチェックし、過去に検出された不正アクセスの送信元、あるいは不正アクセスパターンと一致しなかったものがF/W群に振り分けられる。そして、F/W群のうち、高負荷F/W12aが不正アクセス学習を行って新たな不正アクセスの送信元、あるいは不正アクセスパターンを検出する。以下の説明では、最初にF/W用ロードバランサ11aの処理について説明し、続いて高負荷F/W12aの処理について説明する。
図6は、F/W用ロードバランサの処理機能を説明する図である。図2と同じものには同じ番号を付し、説明は省略する。
F/W用ロードバランサ11aは、不正侵入防御部111、ユーザ振り分け部112、シグネチャ113及びソース114を有し、インターネット20を介して入力されたユーザのアクセスデータの監視を行って不正アクセスを遮断する。そして正常にアクセスされたアクセスデータのみを通過させ、高負荷F/W12a、中負荷F/W12b、または低負荷F/W12cに振り分ける。
シグネチャ113には、F/W用シグネチャDB33から抽出した、最新のF/W用シグネチャ(パケットを分析した不正アクセスパターンのルールの集合)が格納される。ソース114には、契約DB31から抽出した少なくともユーザの識別情報(ユーザのホストIPアドレス)と、ユーザの契約サービスレベルとを含む契約情報(管理情報)が格納される。
不正侵入防御部111は、不正侵入防御手段1eとして機能する。ブラックリストDB32に格納されるブラックリスト情報を読み出し、取得したパケットのホストIPアドレスと照合する。そして、このホストIPアドレスがブラックリスト情報に登録されていたときは、通信を強制終了し、アクセスを拒否する。これにより、過去に不正アクセスに関わったホストからのアクセスが遮断される。さらに、シグネチャ113に格納されるF/W用シグネチャ情報を取り込んで実行し、不正アクセスデータを検知する。検知されたときは、通信を強制終了し、そのアクセスを拒否する。これにより、過去に検出された不正アクセスパターンと合致するアクセスが遮断される。
ユーザ振り分け部112は、サービスレベル判定手段1f及び振り分け手段1gとして機能する。不正侵入防御部111によってアクセスが許可されたパケットの送信元IPアドレスと、ソース114に登録されるサービスレベルごとに分類されたユーザのホストのIPアドレスとを照合し、振り分け先を決定する。アクセスしてきたユーザのサービス契約がファーストクラスであれば低負荷F/W12c、ビジネスクラスであれば中負荷F/W12b、エコノミークラスであれば高負荷F/W12aに振り分ける。
このように、高負荷F/W12a、中負荷F/W12b及び低負荷F/W12cの前段においてブラックリスト情報とF/W用シグネチャに基づいて不正侵入防御処理が行われるので、過去に検出された不正アクセスデータが各F/Wに振り分けられることはない。したがって、F/Wの負荷を軽減し、不正アクセスの検知/防御効率を上げることができる。また、通過が認められたアクセスデータは、ユーザのサービスレベルに応じて高負荷F/W12a、中負荷F/W12b、低負荷F/W12cのいずれかに振り分けられるので、ユーザは、ニーズや利用料に応じたサービスを受けることができる。
次に、高負荷F/W12aで行われるF/W側の不正アクセス学習について説明する。
図7は、F/Wの不正アクセス学習機能を説明する図である。図2、図6と同じものには同じ番号を付し、説明は省略する。
高負荷F/W12aは、ポリシー121、不正アクセス検出部122、不正アクセス学習部123及びポリシー転送部124を有する。ポリシー121には、不正アクセスを検知するためのF/W用のポリシー情報が格納される。不正アクセス検出部122は、F/W用ロードバランサ11aを通過したアクセスデータが不正アクセスであるかどうかをポリシー情報に基づいて判定する。不正アクセスデータが検出されたときは、これを破棄するとともに、ログ情報を生成し、ログ13に格納する。不正アクセス学習部123は、ログ13からログ情報を読み出し、不正アクセスを行ったホストIPアドレスと、ブラックリストDB32のブラックリスト情報に登録されるホストIPアドレスと照合する。ブラックリスト情報に登録されていないホストIPアドレスが検出された場合は、新たに検出されたホストIPアドレスをブラックリスト情報に追記する。なお、ブラックリスト情報に追記するのは、このホストIPアドレスから所定の頻度を超えてアクセスが試みられたときなどの条件を満たした場合とする。また、ログ情報と、F/W用シグネチャDB33のF/W用シグネチャ情報を参照し、新たに検出されたシグネチャパターンをF/W用シグネチャ情報に追記する。F/W用シグネチャ情報に設定されるシグネチャのルールと、ポリシー121のポリシー情報とに矛盾がある場合には、セキュリティを強化する方向(このアクセスを拒否する方向)で新規のポリシーまたは新規のシグネチャを自動生成する。ポリシー転送部124は、ポリシー情報が更新されたときは、更新されたポリシー情報を中負荷F/W12b及び低負荷F/W12cに転送し、各F/Wが保有するポリシー情報を一致させる。
このように、高負荷F/W12aでは、ブラックリストDB32のブラックリスト情報や、F/W用シグネチャDB33のシグネチャ情報にまだ登録されていない未知の不正アクセスを検出するため、不正アクセス学習が行われる。そして、新たに不正アクセスを行ったホストのIPアドレスや、新たな不正アクセスパターンが検出されたときはブラックリスト情報やシグネチャ情報が更新されるので、最新の不正アクセス対策を自動的に行うことができる。また、高負荷F/W12aのみで不正アクセス学習を行い、得られたポリシーを中負荷F/W12b及び低負荷F/W12cに反映するので、不正アクセス対策の効率化を図ることができる。また、F/Wの前段で不正侵入の検知と防御を行うためのシグネチャのルールと、F/Wで用いるポリシーとの間に矛盾がある場合は、アクセスを拒否する方向でいずれかを更新することにより、セキュリティを強化するための効率化を図ることができる。
次に、F/W用ロードバランサ11aと、高負荷F/W12aで行われる処理手順を詳細に説明する。まず、F/W用ロードバランサ11aの不正侵入防御処理及びユーザ振り分け処理を、フローチャートを用いて説明する。
図8は、F/W用ロードバランサの不正侵入防御処理の処理手順を示したフローチャートである。
インターネット20を介して送信されたアクセスデータが受け付けられて、処理が開始される。
[ステップS11] 入力されたアクセスデータの送信元IPアドレスを取得する。そして、ブラックリストDB32に格納されるブラック情報を読み出して、取得されたアクセスデータの送信元IPアドレスと照合する。
[ステップS12] 照合の結果、この送信元のIPアドレスがブラックリスト情報に登録されていたかどうかを判定する。ブラックリスト情報に一致するアドレスがあったときは、処理をステップS16に進める。ブラックリスト情報に一致するアドレスがなかったときは、処理をステップS13へ進める。
[ステップS13] アクセスデータが、ブラックリスト情報に基づく不正侵入検知で不正アクセスと判定されなかったときは、シグネチャ照合のため、インターネット20を介して、F/W用シグネチャDB33に格納されるF/W用シグネチャ情報をシグネチャ113に転送する。
[ステップS14] ステップS13で取得したF/W用シグネチャ情報と、アクセスデータとを照合する。シグネチャ情報には、ネットワークレベルで検出可能な不正アクセス攻撃、例えば、DoS(Denial of Service)攻撃や、許可されていないポートスキャン、telenet、FTP(File Transfer Protocol)のパターンが定義されている。シグネチャ情報と照合することにより、アクセスデータが不正アクセスであるかどうかを判定することができる。
[ステップS15] ステップS14で照合を行ったパケットがシグネチャと一致する場合には、不正アクセスと判定し、処理をステップS16へ進める。一致しない場合は、このパケットは正常なアクセスであると判定し、次段(ユーザ振り分け処理)へ進むように、処理を正常終了させる。
[ステップS16] 不正アクセスと判定されたので、通信を強制終了させ、次段(ユーザ振り分け処理)以降の処理へは進まないように処理を終了させる。
以上の処理手順が実行されることにより、F/W用ロードバランサ11aにおける不正侵入の検知と、不正アクセスとして検知されたパケットを破棄し、通信を強制終了させる防御処理が行われる。続いて、正常なアクセスと判定されたアクセスデータに対し、次段のユーザ振り分け処理が行われる。
図9は、F/W用ロードバランサのユーザ振り分け処理の処理手順を示したフローチャートである。
[ステップS21] 契約DB31に格納される最新の契約情報をインターネット20経由でソース114に転送する。契約情報は、ユーザと契約が行われるごとに更新されるので、処理の前に最新の情報を取得しておく。ソース114には、図4に示したF/Wサービス契約に基づく、F/Wサービスレベルごとの登録ユーザのホストIPアドレスが転送される。
[ステップS22] アクセスデータの送信元IPアドレスを取得する。
[ステップS23] F/Wサービスにおいて最もサービスレベルの高いファーストクラスに登録されるユーザのホストIPアドレスに、この送信元IPアドレスが登録されているかどうかを判定する。ファーストクラスに登録されていたときは、処理をステップS24に進める。登録されていなかったときは、処理をステップS25に進める。
[ステップS24] アクセスしてきたユーザのホストIPアドレスがF/Wサービスのファーストクラスに登録されていた場合、このアクセスデータを低負荷F/W12cに振り分け、処理を正常終了する。
[ステップS25] アクセスしてきたユーザのホストIPアドレスがファーストクラスに登録されていなかった場合、次のビジネスクラスに登録されるユーザのホストIPアドレスに、この送信元IPアドレスが登録されているかどうかを判定する。F/Wサービスのビジネスクラスに登録されていたときは、処理をステップS26に進める。登録されていなかったときは、処理をステップS27に進める。
[ステップS26] アクセスしてきたユーザのホストIPアドレスがビジネスクラスに登録されていた場合、このアクセスデータを中負荷F/W12bに振り分け、処理を正常終了する。
[ステップS27] アクセスしてきたユーザのホストIPアドレスがビジネスクラスに登録されていなかった場合、次のエコノミークラスに登録されるユーザのホストIPアドレスに、この送信元IPアドレスが登録されているかどうかを判定する。F/Wサービスのエコノミークラスに登録されていたときは、処理をステップS28に進める。登録されていなかったときは、処理をステップS29に進める。
[ステップS28] アクセスしてきたユーザのホストIPアドレスがF/Wサービスのエコノミークラスに登録されていた場合、このアクセスデータを高負荷F/W12aに振り分け、処理を正常終了する。
[ステップS29] アクセスしてきたユーザのホストIPアドレスがF/Wサービスのエコノミークラスにも登録されていなかった場合、処理対象ではないので通信を強制終了させ、アクセスデータは破棄する。
以上の処理手順が実行されることにより、正常なアクセスデータが、予め契約されたアクセスデータの送信元のユーザのサービスレベルに応じて、高負荷F/W12a、中負荷F/W12b、低負荷F/W12cに振り分けられる。
高負荷F/W12a、中負荷F/W12b及び低負荷F/W12cは、それぞれ入力されたアクセスデータをポリシー設定に基づいてチェックする。各F/Wには同じポリシーが設定されており、同様の判定処理が行われるが、低負荷F/W12cは負荷が低く抑えられているので、必然的に処理されるアクセスデータ数は少なく、高速の処理が可能である。各F/Wによって正常アクセスと判定されたアクセスデータは、F/W用ロードバランサ11bを経由して、次段のWAF用ロードバランサ14aへ送られる。不正アクセスと判定されたアクセスデータは破棄され、通信は強制終了される。
さらに、高負荷F/W12aでは、不正アクセス学習処理を行う。図10は、高負荷F/Wにおける不正アクセス学習処理の処理手順を示したフローチャートである。
[ステップS31] ログ13に格納されるログ情報を読み出し、高負荷F/Wが通信を強制終了し、破棄したアクセスデータに関する情報を抽出する。
[ステップS32] 破棄されたアクセスデータの送信元のホストIPアドレスと、ソース114に格納される契約ユーザのホストIPアドレスとを照合する。
[ステップS33] 破棄された許可されていないサービス(パケット)の実行を高頻度で試みているユーザがあるかどうかを判定する。頻度はログ情報を解析し、一定期間に記録される同じユーザからのサービス要求の回数などより算出する。無許可のサービスを高頻度で実行するユーザが検出された場合には、処理をステップS34に進める。このようなユーザが検出されなかった場合は、処理をステップS35に進める。
[ステップS34] 無許可のサービスを高頻度で実行するユーザが検出された場合は、このユーザのホストIPアドレスをブラックリスト情報に追記し、ブラックリストDB32を更新する。
[ステップS35] シグネチャ113に格納されるシグネチャ情報を参照のため、読み出す。
[ステップS36] シグネチャ情報とログ情報とを照合し、許可されていないサービス(パケット)をシグネチャ情報のルールにない順番で実行しているかどうかを判定する。無許可のサービスをシグネチャのルールにないパターンで実行していたことが検出された場合は、処理をステップS37に進める。このようなパターンが検出されなかった場合は、処理をステップS38に進める。
[ステップS37] 無許可のサービスをシグネチャのルールにないパターンで実行していたことが検出された場合は、この実行パターンをチェックするためのシグネチャのルールを新規に生成する。生成したシグネチャのルールをシグネチャ情報に追記し、F/W用シグネチャDB33を更新する。
[ステップS38] 最新のF/W用のシグネチャ情報と、高負荷F/W12aのポリシー121に格納されるポリシーの設定とを照合し、矛盾がある場合にはいずれかを更新する高負荷F/Wポリシーとの照合処理を行う。詳細は後述する。
以上の処理手順が実行されることにより、高負荷F/W12aによって検出された不正アクセスのログ情報に基づいて未知の不正アクセスの学習が行われる。そして、無許可のサービスを高頻度で行ったユーザが検出された場合には、ブラックリスト情報が更新される。また、無許可のサービスをシグネチャにないパターンで行ったアクセス要求が検出された場合には、F/W用シグネチャ情報が更新される。このように、負荷が高く必然的に処理を行うアクセスデータの数の多い高負荷F/W12aで未知の不正アクセスを検知する不正アクセス学習が行われ、ブラックリスト情報とF/W用シグネチャ情報が更新されるので、最新の不正アクセス対策が可能となる。
次に、シグネチャとポリシーと照合処理について説明する。図11は、高負荷F/Wにおけるシグネチャとポリシーの照合処理の手順を示したフローチャートである。最新のシグネチャ情報が設定された後、処理が開始される。
[ステップS381] 高負荷F/W12aのポリシー121に格納されるポリシー情報を参照用に読み出す。
[ステップS382] 最新のF/W用のシグネチャ情報と、ステップS381で読み出したポリシー情報とを照合し、矛盾がないかどうかを判定する。まず、シグネチャによって拒否されているアクセスパターンが、ポリシーの設定では許可されているかどうかを判定する。シグネチャで拒否され、ポリシーで許可されている設定が検出されれば、処理をステップS383に進める。検出されない場合は、処理をステップS384に進める。
[ステップS383] F/W用のシグネチャで拒否され、F/W用のポリシーで許可されている設定が検出された場合は、ポリシーをシグネチャに合わせて更新する。具体的には、シグネチャが拒否しているサービスを拒否する新規ポリシーを生成し、ポリシー情報を更新する。このとき、更新したことがわかるように、ポリシーのバージョン番号などを更新しておく。また、更新日時を記憶しておいてもよい。
[ステップS384] 次に、F/W用のポリシーによって拒否されているアクセスパターンが、F/W用のシグネチャのルールに存在するかどうかを判定する。ポリシーで拒否され、シグネチャのルールにないアクセスパターンが検出されたときは、処理をステップS385に進める。検出されない場合は、処理を終了する。
[ステップS385] F/W用のポリシーで拒否され、F/W用のシグネチャのルールにないアクセスパターンが検出されたときは、このアクセスパターンを拒否する新規のシグネチャを生成し、F/W用シグネチャ情報に追記する。そしてF/W用シグネチャDB33を更新する。
以上の処理手順が実行されることにより、F/Wの前段で行われる不正侵入防御処理用のシグネチャのルールと、F/Wのポリシー設定とが矛盾する場合には、アクセス拒否を優先する(セキュリティを強化する)ように新規のポリシーやシグネチャのルールが自動生成される。これにより、セキュリティを強化するための効率化を図ることができる。
こうして高負荷F/W12aのポリシー情報が更新されると、更新された高負荷F/W12aのポリシー情報と、中負荷F/W12b及び低負荷F/W12cのポリシー情報とが一致しなくなる。そこで、これらを一致させるため、高負荷F/W12aでは、更新したポリシー情報を中負荷F/W12b及び低負荷F/W12cに転送する。
図12は、高負荷F/Wにおけるポリシー情報の転送処理の手順を示したフローチャートである。
[ステップS41] 高負荷F/W12aのポリシー情報の世代をチェックする。高負荷F/W12aのポリシー情報が更新されたときには、バージョンあるいは更新日時が変わっているので、これらに基づいて世代が変わった(更新された)ことを検出する。
[ステップS42] ステップS41のチェック結果に基づいて、高負荷F/W12aのポリシー情報が更新されたかどうかを判定する。更新されていれば、処理をステップS43に進める。更新されていなければ、処理を正常終了する。
[ステップS43] 高負荷F/W12aのポリシー情報と、中負荷F/W12bのポリシー情報とを比較し、その差分を抽出する。
[ステップS44] ステップS43で抽出された差分部分について、高負荷F/W12bの該当部分を中負荷F/W12bへ転送する。中負荷F/W12bでは、該当部分を転送された高負荷F/W12aの情報に更新する。
[ステップS45] 高負荷F/W12aのポリシー情報と、低負荷F/W12cのポリシー情報とを比較し、その差分を抽出する。
[ステップS46] ステップS45で抽出された差分部分について、高負荷F/W12bの該当部分を低負荷F/W12cへ転送する。低負荷F/W12cでは、該当部分を転送された高負荷F/W12aの情報に更新する。
以上の処理手順が実行されることにより、不正アクセス学習機能により更新された高負荷F/W12aのポリシー情報が、中負荷F/W12b及び低負荷F/W12cに転送され、それぞれのF/Wのポリシー情報が更新される。これにより、高負荷F/W12aによる最新の学習結果に基づくポリシー情報を他の中負荷F/W12b及び低負荷F/W12cに反映することができるので、最新の不正アクセス対策を効率よく行うことができる。
(2)WAF側の処理
WAF側では、上記のF/W側の処理によってアクセスが許可されたアクセスデータが入力される。WAF用ロードバランサ14aはこのアクセスデータをチェックし、過去に検出された不正アクセスパターンと一致しなかったものがWAF群に振り分けられる。そして、WAF群のうち、高負荷WAF15aが不正アクセス学習を行って新たな不正アクセスの送信元、あるいは不正アクセスパターンを検出する。以下の説明では、最初にWAF用ロードバランサ14aの処理について説明し、続いて高負荷WAF15aの処理について説明する。
図13は、WAF用ロードバランサの処理機能を説明する図である。図2と同じものには同じ番号を付し、説明は省略する。
WAF用ロードバランサ14aは、不正侵入防御部141、ユーザ振り分け部142、シグネチャ143及びソース144を有し、F/W用ロードバランサ11bを介して入力されたhttp/https通信の監視を行って不正アクセスを遮断する。そして、正常なアクセスのみを通過させ、高負荷WAF15a、中負荷WAF15b、低負荷WAF15cに振り分ける。また、WAFサービスの契約がないユーザからのアクセスであれば、WAF群に振り分けることなく、直接プレーンコンテンツサーバ18に振り分ける。
シグネチャ143には、WAF用シグネチャDB34から抽出した、最新のWAF用シグネチャ(パケットを分析した不正アクセスパターンのルールの集合)が格納される。なお、WAF用シグネチャ情報には、アプリケーションレベルのチェックを行うため、http/https通信プロトコルにおける不正アクセスパターンが記述されている。ソース144には、契約DB31から抽出した少なくともユーザの識別情報(ユーザのホストIPアドレス)と、ユーザの契約サービスレベルとを含む契約情報が格納される。
不正侵入防御部141は、シグネチャ143に格納されるWAF用シグネチャ情報を取り込んで実行し、不正アクセスデータを検知する。検知されたときは、通信を強制終了し、そのアクセスを拒否する。これにより、過去に検出された不正アクセスパターンと合致するアクセスが遮断される。なお、F/W用ロードバランサ11aの不正侵入防御部111との違いは、不正侵入防御部141ではブラックリストDB32に格納されるブラックリスト情報を用いたチェックを行わないことにある。ブラックリスト情報を用いたチェックは、アクセスデータの送信元のホストIPアドレスと、ブラックリスト情報に登録されるホストIPアドレスとを照合するものである。したがって、前段のF/W用ロードバランサ11aで既に実行されているので、ここではチェックを行わない。
ユーザ振り分け部142は、不正侵入防御部141によってアクセスが許可されたパケットの送信元IPアドレスと、ソース144に登録されるサービスレベルごとに分類されたユーザのホストのIPアドレスとを照合し、振り分け先を決定する。なお、サービスレベルは、F/Wサービスと、WAFサービスとでは別のレベルを設定することができるので、WAFサービス用の契約情報を参照する。アクセスするユーザのサービス契約がファーストクラスであれば低負荷WAF15c、ビジネスクラスであれば中負荷WAF15b、エコノミークラスであれば高負荷WAF15aに振り分ける。各WAFに振り分けられたアクセスデータは、WAFによる検査で正常アクセスと判定されれば、WAF用ロードバランサ14bを経由してリッチコンテンツサーバ17に転送される。また、WAFサービスでは、利用契約を行わないユーザが存在する可能性がある。このように利用契約を行わないユーザからのアクセスに対しては、直接プレーンコンテンツサーバ18にアクセスデータを転送する。
このように、高負荷WAF15a、中負荷WAF15b及び低負荷WAF15cの前段においてWAF用シグネチャに基づいて不正侵入防御処理が行われるので、過去に検出された不正アクセスデータが各WAFに振り分けられることはない。したがって、WAFの負荷を軽減し、不正アクセスの検知/防御効率を上げることができる。また、通過が認められたアクセスデータは、ユーザのサービスレベルに応じて高負荷WAF15a、中負荷WAF15b、低負荷WAF15cのいずれかに振り分けられるので、ユーザは、ニーズに応じたサービスを受けることができる。
次に、高負荷WAF15aで行われるWAF側の不正アクセス学習について説明する。
図14は、WAFの不正アクセス学習機能を説明する図である。図2と同じものには同じ番号を付し、説明は省略する。
高負荷WAF15aは、ポリシー151、不正アクセス検出部152、不正アクセス学習部153及びポリシー転送部154を有する。ポリシー151には、不正アクセスを検知するためのWAF用のポリシー情報が格納される。不正アクセス検出部152は、WAF用ロードバランサ14aを通過したアクセスデータが不正アクセスであるかどうかをポリシー情報に基づいて判定する。不正アクセスデータが検出されたときは、これを破棄するとともに、ログ情報を生成し、ログ16に格納する。不正アクセス学習部153は、ログ16からログ情報を読み出し、不正アクセスを行ったホストIPアドレスと、ブラックリストDB32のブラックリスト情報に登録されるホストIPアドレスと照合する。ブラックリスト情報に登録されていないホストIPアドレスが検出された場合は、新たに検出されたホストIPアドレスをブラックリスト情報に追記する。なお、ブラックリスト情報に追記するのは、このホストIPアドレスから所定の頻度を超えてアクセスが試みられたときなどの条件を満たした場合とする。また、ログ情報と、WAF用シグネチャDB34のWAF用シグネチャ情報を参照し、新たに検出されたシグネチャパターンをWAF用シグネチャ情報に追記する。WAF用シグネチャ情報に設定されるシグネチャのルールと、ポリシー151のポリシー情報との間に矛盾がある場合には、セキュリティを強化する方向で新規のポリシーまたは新規のシグネチャを自動生成する。ポリシー転送部154は、ポリシー情報が更新されたときは、更新されたポリシー情報を中負荷WAF15b及び低負荷WAF15cに転送し、各WAFが保有するポリシー情報を一致させる。
このように、高負荷WAF15aでは、ブラックリストDB32のブラックリスト情報や、WAF用シグネチャDB34のシグネチャ情報にまだ登録されていない未知の不正アクセスを検出するため、不正アクセス学習が行われる。そして、新たに不正アクセスを行ったホストのIPアドレスや、新たな不正アクセスパターンが検出されたときはブラックリスト情報やシグネチャ情報が更新されるので、最新の不正アクセス対策を自動的に行うことができる。また、高負荷WAF15aのみで不正アクセス学習を行い、得られたポリシーを中負荷WAF15b及び低負荷WAF15cに反映するので、不正アクセス対策の効率化を図ることができる。また、WAFの前段のWAF用ロードバランサ14aで不正侵入の検知と防御を行うためのシグネチャのルールと、WAFで用いるポリシーとの間に矛盾がある場合は、アクセスを拒否する方向でいずれかを更新することにより、セキュリティを強化するための効率化を図ることができる。
次に、WAF用ロードバランサ14aと、高負荷WAF15aで行われる処理手順を詳細に説明する。まず、WAF用ロードバランサ14aの不正侵入防御処理及びユーザ振り分け処理を、フローチャートを用いて説明する。
WAF用ロードバランサ14aでは、http/https通信に特化したチェックを行う。図15は、WAF用ロードバランサの不正侵入防御処理の手順を示したフローチャートである。
F/Wによるチェックを通過したアクセスデータが入力されて、処理が開始される。
[ステップS51] シグネチャ照合のため、インターネット20を介して、WAF用シグネチャDB34に格納されるWAF用シグネチャ情報をシグネチャ143に転送する。シグネチャ情報には、そのhttp/https通信が不正アクセス(攻撃)であるかどうかをチェックするための不正アクセスパターンが設定されている。これを用いて、例えば、パラメータ改ざん、クロスサイトスクリプティング、SQLインジェクション、コマンドインジェクション、Cookie改ざん、Web脆弱点攻撃などが検出できる。
[ステップS52] ステップS51で取得したWAF用シグネチャ情報と、アクセスデータとを照合する。シグネチャ情報と照合することにより、アクセスデータが不正アクセスであるかどうかを判定することができる。
[ステップS53] ステップS52で照合を行ったパケットがシグネチャと一致する場合には、不正アクセスと判定し、処理をステップS54に進める。一致しない場合は、このパケットは正常なアクセスであると判定し、次段(ユーザ振り分け処理)へ進むように、処理を正常終了させる。
[ステップS54] 不正アクセスと判定されたので、通信を強制終了させ、次段(ユーザ振り分け処理)以降の処理へは進まないように処理を終了させる。
以上の処理手順が実行されることにより、WAF用ロードバランサ14aにおける不正侵入の検知と、不正アクセスとして検知されたパケットを破棄し、通信を強制終了させる防御処理が行われる。続いて、正常なアクセスと判定されたアクセスデータに対し、次段のユーザ振り分け処理が行われる。
図16は、WAF用ロードバランサのユーザ振り分け処理の処理手順を示したフローチャートである。
[ステップS61] 契約DB31に格納される最新の契約情報をインターネット20経由でソース144に転送する。契約情報は、ユーザとの契約が行われるごとに更新されるので、処理の前に最新の情報を取得しておく。なお、ソース144に転送されるのは、図5に示したWAFサービス契約に基づく、WAFサービスレベルごとの登録ユーザのホストIPアドレスである。
[ステップS62] F/Wを通過してきたhttp/https通信の送信元のホストIPアドレスを取得する。
[ステップS63] 最もサービスレベルの高いファーストクラスに登録されるユーザのホストIPアドレスに、この送信元IPアドレスが登録されているかどうかを判定する。ファーストクラスに登録されていたときは、処理をステップS64に進める。登録されていなかったときは、処理をステップS65に進める。
[ステップS64] アクセスしてきたユーザのホストIPアドレスがWAFサービスのファーストクラスに登録されていた場合、このアクセスデータを低負荷WAF15cに振り分けた後、処理をステップS69に進める。
[ステップS65] WAFサービスのファーストクラスに登録されていなかった場合、次のビジネスクラスに登録されるユーザのホストIPアドレスに、この送信元IPアドレスが登録されているかどうかを判定する。WAFサービスのビジネスクラスに登録されていたときは、処理をステップS66に進める。登録されていなかったときは、処理をステップS67に進める。
[ステップS66] WAFサービスのビジネスクラスに登録されていた場合、このアクセスデータを中負荷WAF15bに振り分けた後、処理をステップS69に進める。
[ステップS67] WAFサービスのビジネスクラスに登録されていなかった場合、次のエコノミークラスに登録されるユーザのホストIPアドレスに、この送信元IPアドレスが登録されているかどうかを判定する。WAFサービスのエコノミークラスに登録されていたときは、処理をステップS68に進める。登録されていなかったときは、処理をステップS70に進める。
[ステップS68] WAFサービスのエコノミークラスに登録されていた場合、このアクセスデータを高負荷WAF15aに振り分けた後、処理をステップS69に進める。
[ステップS69] WAFサービスに登録があるユーザについて、WAFの振り分け先が決定したら、WAF終了後のコンテンツサーバの振り分け先をリッチコンテンツサーバ17とし、処理を正常終了する。
[ステップS70] WAFサービスのエコノミークラスにも登録がなかった場合、処理対象ではないので、アクセスデータは、WAFには振り分けない。直接プレーンコンテンツサーバ18に振り分け、処理を終了する。
以上の処理手順が実行されることにより、正常なアクセスデータが、予め契約されたアクセスデータの送信元のユーザのサービスレベルに応じて、高負荷WAF15a、中負荷WAF15b、低負荷WAF15c、またはプレーンコンテンツサーバ18に振り分けられる。
高負荷WAF15a、中負荷WAF15b及び低負荷WAF15cは、それぞれ入力されたhttp/https通信をポリシー設定に基づいてチェックする。各WAFには同じポリシーが設定されており、同様の判定処理が行われる。各WAFによって正常アクセスと判定されたhttp/https通信は、WAF用ロードバランサ14bを経由して、次段のリッチコンテンツサーバ17へ送られる。
一方、WAFサービスの登録がないと判定されたhttp/https通信は、WAFを経由させず、直接プレーンコンテンツサーバ18へ転送される。例えば、ハウジングと呼ばれるアウトソーシングサービスでは、サービス事業者がサーバの設置スペースやバックボーン回線を提供し、ユーザがサーバを用意してサービス事業者に預ける。このため、WAFサービスを契約していないユーザがリッチコンテンツを持つWebにアクセスすると、Webセキュリティの脅威にさらされるリスクが懸念される。その対策として、WAFサービスの契約がないユーザからのアクセスは、すべてプレーンコンテンツサーバに振り分ける。
さらに、高負荷WAF15aでは、不正アクセス学習処理を行う。図17は、高負荷WAFにおける不正アクセス学習処理の処理手順を示したフローチャートである。
[ステップS81] ログ16に格納されるログ情報を読み出し、高負荷WAFが通信を強制終了し、破棄したhttp/https通信に関する情報を抽出する。
[ステップS82] 破棄されたhttp/https通信の送信元のホストIPアドレスと、ソース144に格納される契約ユーザのホストIPアドレスとを照合する。
[ステップS83] 破棄された許可されていないサービス(パケット)の実行を高頻度で試みているユーザがあるかどうかを判定する。頻度はログ情報を解析し、一定期間に記録される同じユーザからのサービス要求の回数などより算出する。無許可のサービスを高頻度で実行するユーザが検出された場合には、処理をステップS84に進める。このようなユーザが検出されなかった場合は、処理をステップS85に進める。
[ステップS84] 無許可のサービスを高頻度で実行するユーザが検出された場合は、このユーザのホストIPアドレスをブラックリスト情報に追記し、ブラックリストDB32を更新する。
[ステップS85] シグネチャ143に格納されるWAF用のシグネチャ情報を参照のため、読み出す。
[ステップS86] WAF用のシグネチャ情報とログ情報とを照合し、許可されていないサービス(パケット)をシグネチャ情報のルールにない順番で実行しているかどうかを判定する。無許可のサービスをシグネチャのルールにないパターンで実行していたことが検出された場合は、処理をステップS87に進める。このようなパターンが検出されなかった場合は、処理をステップS88に進める。
[ステップS87] 無許可のサービスをシグネチャのルールにないパターンで実行していたことが検出された場合は、この実行パターンをチェックするためのシグネチャのルールを新規に生成する。生成したシグネチャのルールをシグネチャ情報に追記し、WAF用シグネチャDB34を更新する。
[ステップS88] 最新のWAF用のシグネチャ情報と、高負荷WAF15aのポリシー151に格納されるポリシーの設定とを照合し、矛盾がある場合にはいずれかを更新する高負荷WAFポリシーとの照合処理を行う。なお、WAF用のシグネチャとWAFポリシーの照合処理は、図11に示したシグネチャとF/Wポリシーとの照合処理において、F/W用のシグネチャをWAF用のシグネチャ、F/W用のポリシーをWAF用のポリシーと読み替えればよいので、説明は省略する。
以上の処理手順が実行されることにより、高負荷WAF15aによって検出された不正アクセスのログ情報に基づいて未知の不正アクセスの学習が行われる。そして、無許可のサービスを高頻度で行ったユーザが検出された場合には、ブラックリスト情報が更新される。また、無許可のサービスをシグネチャにないパターンで行ったアクセス要求が検出された場合には、WAF用シグネチャ情報が更新される。このように、負荷が高く必然的に処理を行うアクセスデータの数の多い高負荷WAF15aで未知の不正アクセスを検出する不正アクセス学習が行われ、ブラックリスト情報とWAF用シグネチャ情報が更新されるので、最新の不正アクセス対策が可能となる。
こうして高負荷WAF15aのポリシー情報が更新されると、更新された高負荷WAFaのポリシー情報と、中負荷WAF15b及び低負荷WAF15cのポリシー情報とが一致しなくなる。そこで、これらを一致させるため、高負荷WAF15aでは、更新したポリシー情報を中負荷WAF15b及び低負荷WAF15cに転送する。
図18は、高負荷WAFにおけるポリシー情報の転送処理の手順を示したフローチャートである。
[ステップS91] 高負荷WAF15aのポリシー情報の世代をチェックする。高負荷WAF15aのポリシー情報が更新されたときには、バージョンあるいは更新日時が変わっているので、これらに基づいて世代が変わった(更新された)ことを検出する。
[ステップS92] ステップS91のチェック結果に基づいて、高負荷WAF15aのポリシー情報が更新されたかどうかを判定する。更新されていれば、処理をステップS93に進める。更新されていなければ、処理を正常終了する。
[ステップS93] 高負荷WAF15aのポリシー情報と、中負荷WAF15bのポリシー情報とを比較し、その差分を抽出する。
[ステップS94] ステップS93で抽出された差分部分について、高負荷WAF15bの該当部分を中負荷WAF15bへ転送する。中負荷WAF15bでは、該当部分を転送された高負荷WAF15aの情報に更新する。
[ステップS95] 高負荷WAF15aのポリシー情報と、低負荷WAF15cのポリシー情報とを比較し、その差分を抽出する。
[ステップS96] ステップS93で抽出された差分部分について、高負荷WAF15bの該当部分を低負荷WAF15cへ転送する。低負荷WAF15cでは、該当部分を転送された高負荷WAF15aの情報に更新する。
以上の処理手順が実行されることにより、不正アクセス学習機能により更新された高負荷WAF15aのポリシー情報が、中負荷WAF15b及び低負荷WAF15cに転送され、それぞれのWAFのポリシー情報が更新される。これにより、高負荷WAF15aによる最新の学習結果に基づくポリシー情報を他の中負荷WAF15b及び低負荷WAF15cに反映することができるので、最新の不正アクセス対策を効率よく行うことができる。
なお、上記の実施の形態では、アクセス負荷に応じてサービスの差別化(ファーストクラス、ビジネスクラス、エコノミークラスを設けること)を優先している。このため、サーバに負荷のかかる不正侵入防御機能はF/WサーバやWAFサーバの前段のロードバランサに置いている。また、同様に、サーバに負荷がかかる不正アクセス学習機能は、エコノミークラス専用であり、必然的にアクセス数の多い高負荷サーバのみに設置している。このため、ファーストクラスやビジネスクラスのユーザ、もしくはそれらの成りすましユーザが不正侵入防御機能をすり抜け、低負荷または中負荷のF/WサーバもしくはWAFサーバに達する可能性のある未知の不正アクセスについては、考慮されていない。しかし、前段のロードバランサと低負荷サーバや中負荷サーバの間のネットワークを流れるパケットを監視するための不正侵入検知/防御機能を有する監視用サーバを設置する等の手段をとることにより、これらのリスクを軽減できる。
また、上記の処理機能は、コンピュータによって実現することができる。その場合、ファイアウォール負荷分散システムを構成する各装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)などの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
以上の実施の形態に関し、更に以下の付記を開示する。
(付記1) ユーザからのアクセスデータを複数のファイアウォールに振り分けて、負荷を分散させる負荷分散方法において、
外部ネットワーク経由で送信元ユーザの識別情報を含むアクセスデータが受け付けられると、
サービスレベル判定手段が、前記送信元ユーザの識別情報を取得し、取得された前記送信元ユーザの識別情報に基づいて、記憶手段に格納される予め前記ユーザが選択したサービスレベルと前記ユーザの識別情報とを関連付けた管理情報を検索し、検索された前記管理情報に基づいて前記送信元ユーザのサービスレベルを判定する手順と、
振り分け手段が、前記サービスレベル判定手段によって判定された前記送信元ユーザのサービスレベルに基づいて、前記サービスレベルに応じた負荷レベルがそれぞれに設定されているファイアウォール群から前記送信元ユーザのサービスレベルに応じたファイアウォールを選択し、選択された前記ファイアウォールに前記アクセスデータを振り分ける手順と、
を有することを特徴とするファイアウォール負荷分散方法。
(付記2) 前記ファイアウォール負荷分散方法は、さらに、
不正侵入防御手段が、前記記憶手段に格納される過去に不正アクセスを行ったことが検出された送信元が定義されているブラックリスト情報と、不正アクセス監視用のシグネチャ情報とに基づいて、前記ファイアウォール群に振り分ける前に前記アクセスを監視し、不正アクセスが検出されたときは前記不正アクセスを遮断する手順と、
前記ファイアウォールの不正アクセス学習手段が、ポリシー記憶手段に格納される不正アクセスを特定するポリシー情報に基づいて、前記不正侵入防御手段が通過させた前記アクセスを監視し、不正アクセスが検出されたときは前記不正アクセスを遮断するとともに、前記不正アクセスに基づいて前記ブラックリスト情報及び前記シグネチャ情報の項目を新たに生成し、前記ブラックリスト情報及び前記シグネチャ情報を更新する手順と、
を有することを特徴とする付記1記載のファイアウォール負荷分散方法。
(付記3) 前記ファイアウォール群は、ネットワークレベルのアクセス監視を行うファイアウォールを備えた第1のファイアウォール群と、アプリケーションレベルでのアクセス監視を行うウェブ・アプリケーション・ファイアウォールを備えた第2のファイアウォール群と、を有し、
前記不正アクセス学習手段は、前記第1のファイアウォール群及び前記第2のファイアウォール群ごとに設けられ、検出された前記不正アクセスに基づいて前記ブラックリスト情報及び前記シグネチャ情報の項目を新たに生成するとともに、新たに生成された前記ブラックリスト情報の項目は、前記第1のファイアウォール群及び前記第2のファイアウォール群に対し共通に設けられた前記ブラックリスト情報に登録し、新たに生成された前記シグネチャ情報の項目は、前記第1のファイアウォール群と前記第2のファイアウォール群それぞれに設けられた前記シグネチャ情報に登録する、ことを特徴とする付記2記載のファイアウォール負荷分散方法。
(付記4) 前記不正アクセス学習手段は、前記ファイアウォール群のうち、最も高い負荷レベルが設定される高負荷ファイアウォールに設けられ、
前記高負荷ファイアウォールの前記不正アクセス学習手段が、前記不正アクセスが検出されたときは、検出された前記不正アクセスに基づいて前記高負荷ファイアウォールの前記ポリシー記憶手段に格納される前記ポリシー情報を更新する手順と、
前記高負荷ファイアウォールのポリシー配布手段が、前記不正アクセス学習手段によって前記ポリシー情報が更新されたときは、更新された更新ポリシー情報を前記ファイアウォール群の前記高負荷ファイアウォールを除く他のファイアウォールに配布する手順と、
を有することを特徴とする付記2記載のファイアウォール負荷分散方法。
(付記5) 前記ポリシー配布手段が前記更新ポリシー情報を配布する手順は、配布先の前記ファイアウォールの前記記憶手段に格納される現時点の前記ポリシー情報と、前記更新ポリシー情報との差分を抽出し、抽出された差分部分の前記更新ポリシー情報を配布先の前記ファイアウォールに配布する、ことを特徴とする付記4記載のファイアウォール負荷分散方法。
(付記6) 前記不正アクセス学習手段は、最新の前記シグネチャ情報と前記ポリシー情報とを照合し、矛盾があるときはセキュリティが強化される方を選択し、前記シグネチャ情報が選択されたときは前記シグネチャ情報に合わせて前記ポリシー情報を更新し、前記ポリシー情報が選択されたときは前記ポリシー情報に合わせて前記シグネチャ情報を更新する、ことを特徴とする付記2記載のファイアウォール負荷分散方法。
(付記7) 前記不正アクセス学習手段は、前記シグネチャ情報においてアクセス拒否とされている対象パケットが、前記ポリシー情報においてアクセス許可となっていたときは、前記ポリシー情報の前記対象パケットに関する定義をアクセス拒否に更新し、前記ポリシー情報においてアクセス拒否とされている対象パケットが、前記シグネチャ情報においてアクセス許可となっていたときは、前記シグネチャ情報の前記対象パケットに関する定義をアクセス拒否に更新する、ことを特徴とする付記6記載のファイアウォール負荷分散方法。
(付記8) 前記ファイアウォール群が、アプリケーションレベルでのアクセス監視を行うウェブ・アプリケーション・ファイアウォールで構成され、前記アクセスの前記ファイアウォール群からの転送先にリッチコンテンツサーバとプレーンコンテンツサーバとが設けられているとき、
前記振り分け手段は、前記サービスレベル判定手段によって判定された前記送信元ユーザのサービスレベルに基づいて、前記送信元ユーザに前記サービスレベルが設定されているときは、前記アクセスを前記ファイアウォール群に振り分け、前記送信元ユーザに前記サービスレベルが設定されていないときは、前記アクセスを前記ファイアウォール群を介さず前記プレーンコンテンツサーバへ転送する、ことを特徴とする付記1記載のファイアウォール負荷分散方法。
(付記9) ユーザからのアクセスデータを複数のファイアウォールに振り分けて、負荷を分散させるファイアウォール負荷分散システムにおいて、
ユーザに提供されるサービスレベルに応じた負荷レベルがそれぞれに設定されているファイアウォール群と、
前記ユーザが選択した前記サービスレベルと、前記ユーザの識別情報とが関連付けられた管理情報を記憶する記憶手段と、外部ネットワーク経由で送信元ユーザの識別情報を含むアクセスデータが受け付けられると、前記アクセスデータから前記送信元ユーザの識別情報を取得し、取得された前記送信元ユーザの識別情報に基づいて前記管理情報を検索し、検索された前記管理情報に基づいて前記送信元ユーザのサービスレベルを判定するサービスレベル判定手段と、前記サービスレベル判定手段によって判定された前記送信元ユーザのサービスレベルに基づいて、前記ファイアウォール群から前記送信元ユーザのサービスレベルに応じたファイアウォールを選択し、選択された前記ファイアウォールに前記アクセスデータを振り分ける振り分け手段と、を備えた負荷分散装置と、
を有することを特徴とするファイアウォール負荷分散システム。
(付記10) 前記ファイアウォール負荷分散システムが、
ネットワークレベルのアクセス監視を行うファイアウォールを備えた第1のファイアウォール群と、
前記第1のファイアウォール群へのアクセス振り分けを管理する第1の負荷分散装置と、
アプリケーションレベルでのアクセス監視を行うウェブ・アプリケーション・ファイアウォールを備えた第2のファイアウォール群と、
前記第2のファイアウォール群へのアクセス振り分けを管理する第2の負荷分散装置と、
を有することを特徴とする付記9記載のファイアウォール負荷分散システム。
(付記11) ユーザからのアクセスデータを複数のファイアウォールに振り分けて、負荷を分散させる負荷分散装置において、
ユーザが選択した前記サービスレベルと、前記ユーザの識別情報とが関連付けられた管理情報を記憶する記憶手段と、
外部ネットワーク経由で送信元ユーザの識別情報を含むアクセスデータが受け付けられると、前記アクセスデータから前記送信元ユーザの識別情報を取得し、取得された前記送信元ユーザの識別情報に基づいて前記管理情報を検索し、検索された前記管理情報に基づいて前記送信元ユーザのサービスレベルを判定するサービスレベル判定手段と、
前記サービスレベル判定手段によって判定された前記送信元ユーザのサービスレベルに基づいて、前記ユーザに提供されるサービスレベルに応じた負荷レベルがそれぞれに設定されているファイアウォール群から前記送信元ユーザのサービスレベルに応じたファイアウォールを選択し、選択された前記ファイアウォールに前記アクセスデータを振り分ける振り分け手段と、
を有することを特徴とする負荷分散装置。
実施の形態に適用される発明の概念図である。 実施の形態のファイアウォール負荷分散システムの一例を示した構成図である。 本実施の形態のロードバランサのハードウェア構成例を示すブロック図である。 F/Wのサービス契約情報を示した図である。 WAFのサービス契約情報を示した図である。 F/W用ロードバランサの処理機能を説明する図である。 F/Wの不正アクセス学習機能を説明する図である。 F/W用ロードバランサの不正侵入防御処理の処理手順を示したフローチャートである。 F/W用ロードバランサのユーザ振り分け処理の処理手順を示したフローチャートである。 高負荷F/Wにおける不正アクセス学習処理の処理手順を示したフローチャートである。 高負荷F/Wにおけるシグネチャとポリシーの照合処理の手順を示したフローチャートである。 高負荷F/Wにおけるポリシー情報の転送処理の手順を示したフローチャートである。 WAF用ロードバランサの処理機能を説明する図である。 WAFの不正アクセス学習機能を説明する図である。 WAF用ロードバランサの不正侵入防御処理の手順を示したフローチャートである。 WAF用ロードバランサのユーザ振り分け処理の処理手順を示したフローチャートである。 高負荷WAFにおける不正アクセス学習処理の処理手順を示したフローチャートである。 高負荷WAFにおけるポリシー情報の転送処理の手順を示したフローチャートである。
符号の説明
1 負荷分散装置
1a 記憶手段
1b ブラックリスト情報
1c シグネチャ情報
1d 管理情報
1e 不正侵入防御手段
1f サービスレベル判定手段
1g 振り分け手段
2 高負荷ファイアウォール
2a ポリシー記憶手段
2b 不正アクセス学習手段
2c ポリシー配布手段
3 中負荷ファイアウォール
3a ポリシー記憶手段
4 低負荷ファイアウォール
4a ポリシー記憶手段

Claims (6)

  1. ユーザからのアクセスデータを複数のファイアウォールに振り分けて、負荷を分散させる負荷分散方法において、
    外部ネットワーク経由で送信元ユーザの識別情報を含むアクセスデータが受け付けられると、
    サービスレベル判定手段が、前記送信元ユーザの識別情報を取得し、取得された前記送信元ユーザの識別情報に基づいて、記憶手段に格納される予め前記ユーザが選択したサービスレベルと前記ユーザの識別情報とを関連付けた管理情報を検索し、検索された前記管理情報に基づいて前記送信元ユーザのサービスレベルを判定する手順と、
    振り分け手段が、前記サービスレベル判定手段によって判定された前記送信元ユーザのサービスレベルに基づいて、前記サービスレベルに応じた負荷レベルがそれぞれに設定されているファイアウォール群から前記送信元ユーザのサービスレベルに応じたファイアウォールを選択し、選択された前記ファイアウォールに前記アクセスデータを振り分ける手順と、
    を有することを特徴とするファイアウォール負荷分散方法。
  2. 前記ファイアウォール負荷分散方法は、さらに、
    不正侵入防御手段が、前記記憶手段に格納される過去に不正アクセスを行ったことが検出された送信元が定義されているブラックリスト情報と、不正アクセス監視用のシグネチャ情報とに基づいて、前記ファイアウォール群に振り分ける前に前記アクセスを監視し、不正アクセスが検出されたときは前記不正アクセスを遮断する手順と、
    前記ファイアウォールの不正アクセス学習手段が、ポリシー記憶手段に格納される不正アクセスを特定するポリシー情報に基づいて、前記不正侵入防御手段が通過させた前記アクセスを監視し、不正アクセスが検出されたときは前記不正アクセスを遮断するとともに、前記不正アクセスに基づいて前記ブラックリスト情報及び前記シグネチャ情報の項目を新たに生成し、前記ブラックリスト情報及び前記シグネチャ情報を更新する手順と、
    を有することを特徴とする請求項1記載のファイアウォール負荷分散方法。
  3. 前記ファイアウォール群は、ネットワークレベルのアクセス監視を行うファイアウォールを備えた第1のファイアウォール群と、アプリケーションレベルでのアクセス監視を行うウェブ・アプリケーション・ファイアウォールを備えた第2のファイアウォール群と、を有し、
    前記不正アクセス学習手段は、前記第1のファイアウォール群及び前記第2のファイアウォール群ごとに設けられ、検出された前記不正アクセスに基づいて前記ブラックリスト情報及び前記シグネチャ情報の項目を新たに生成するとともに、新たに生成された前記ブラックリスト情報の項目は、前記第1のファイアウォール群及び前記第2のファイアウォール群に対し共通に設けられた前記ブラックリスト情報に登録し、新たに生成された前記シグネチャ情報の項目は、前記第1のファイアウォール群と前記第2のファイアウォール群それぞれに設けられた前記シグネチャ情報に登録する、ことを特徴とする請求項2記載のファイアウォール負荷分散方法。
  4. 前記不正アクセス学習手段は、前記ファイアウォール群のうち、最も高い負荷レベルが設定される高負荷ファイアウォールに設けられ、
    前記高負荷ファイアウォールの前記不正アクセス学習手段が、前記不正アクセスが検出されたときは、検出された前記不正アクセスに基づいて前記高負荷ファイアウォールの前記ポリシー記憶手段に格納される前記ポリシー情報を更新する手順と、
    前記高負荷ファイアウォールのポリシー配布手段が、前記不正アクセス学習手段によって前記ポリシー情報が更新されたときは、更新された更新ポリシー情報を前記ファイアウォール群の前記高負荷ファイアウォールを除く他のファイアウォールに配布する手順と、
    を有することを特徴とする請求項2記載のファイアウォール負荷分散方法。
  5. 前記不正アクセス学習手段は、最新の前記シグネチャ情報と前記ポリシー情報とを照合し、矛盾があるときはセキュリティが強化される方を選択し、前記シグネチャ情報が選択されたときは前記シグネチャ情報に合わせて前記ポリシー情報を更新し、前記ポリシー情報が選択されたときは前記ポリシー情報に合わせて前記シグネチャ情報を更新する、ことを特徴とする請求項2記載のファイアウォール負荷分散方法。
  6. ユーザからのアクセスデータを複数のファイアウォールに振り分けて、負荷を分散させるファイアウォール負荷分散システムにおいて、
    ユーザに提供されるサービスレベルに応じた負荷レベルがそれぞれに設定されているファイアウォール群と、
    前記ユーザが選択した前記サービスレベルと、前記ユーザの識別情報とが関連付けられた管理情報を記憶する記憶手段と、外部ネットワーク経由で送信元ユーザの識別情報を含むアクセスデータが受け付けられると、前記アクセスデータから前記送信元ユーザの識別情報を取得し、取得された前記送信元ユーザの識別情報に基づいて前記管理情報を検索し、検索された前記管理情報に基づいて前記送信元ユーザのサービスレベルを判定するサービスレベル判定手段と、前記サービスレベル判定手段によって判定された前記送信元ユーザのサービスレベルに基づいて、前記ファイアウォール群から前記送信元ユーザのサービスレベルに応じたファイアウォールを選択し、選択された前記ファイアウォールに前記アクセスデータを振り分ける振り分け手段と、を備えた負荷分散装置と、
    を有することを特徴とするファイアウォール負荷分散システム。
JP2008183332A 2008-07-15 2008-07-15 ファイアウォール負荷分散方法及びファイアウォール負荷分散システム Pending JP2010026547A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008183332A JP2010026547A (ja) 2008-07-15 2008-07-15 ファイアウォール負荷分散方法及びファイアウォール負荷分散システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008183332A JP2010026547A (ja) 2008-07-15 2008-07-15 ファイアウォール負荷分散方法及びファイアウォール負荷分散システム

Publications (1)

Publication Number Publication Date
JP2010026547A true JP2010026547A (ja) 2010-02-04

Family

ID=41732360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008183332A Pending JP2010026547A (ja) 2008-07-15 2008-07-15 ファイアウォール負荷分散方法及びファイアウォール負荷分散システム

Country Status (1)

Country Link
JP (1) JP2010026547A (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221993A (ja) * 2010-04-12 2011-11-04 Wins Technet Co Ltd Nat網用ウェブサービスへの正常ユーザーの遮断を防止するためのシステム及びその制御方法
JP2013017077A (ja) * 2011-07-05 2013-01-24 Fujitsu Ltd 情報処理装置、情報処理プログラムおよび管理方法
JP2014044612A (ja) * 2012-08-28 2014-03-13 Nippon Telegr & Teleph Corp <Ntt> セキュリティポリシ競合解消システム、端末管理サーバ、ポリシデータ適用端末、ポリシサーバ、セキュリティポリシ競合解消方法、およびプログラム
JP2016158236A (ja) * 2014-12-19 2016-09-01 エーオー カスペルスキー ラボAO Kaspersky Lab ネットワーク伝送を傍受する手段を選択するシステムおよび方法
CN106982429A (zh) * 2016-01-18 2017-07-25 中兴通讯股份有限公司 一种接入无线网络的方法及装置
JP2017138728A (ja) * 2016-02-02 2017-08-10 エヌ・ティ・ティ・コミュニケーションズ株式会社 制御装置、緩和システム、制御方法及びコンピュータプログラム
WO2017150003A1 (ja) * 2016-02-29 2017-09-08 パナソニックIpマネジメント株式会社 検知システム、ウェブアプリケーション装置、ウェブアプリケーションファイアウォール装置、検知システムにおける検知方法、ウェブアプリケーション装置の検知方法及びウェブアプリケーションファイアウォール装置の検知方法
CN107426206A (zh) * 2017-07-17 2017-12-01 北京上元信安技术有限公司 一种对web服务器的防护装置和方法
JP6743319B1 (ja) * 2019-06-26 2020-08-19 楽天株式会社 不正推定システム、不正推定方法、及びプログラム
WO2020261425A1 (ja) * 2019-06-26 2020-12-30 楽天株式会社 不正推定システム、不正推定方法、及びプログラム
WO2021009925A1 (ja) * 2019-07-18 2021-01-21 三菱電機株式会社 ネットワークセキュリティ装置、ネットワークセキュリティシステムおよびネットワークセキュリティ方法
JP2021072632A (ja) * 2021-01-05 2021-05-06 Necプラットフォームズ株式会社 受信データ判定方法、通信装置、および、プログラム
CN114157441A (zh) * 2020-08-18 2022-03-08 京东科技控股股份有限公司 请求处理***、方法、电子设备及存储介质
WO2022113895A1 (ja) * 2020-11-30 2022-06-02 三菱電機株式会社 開発側セキュリティ分析支援装置、運用側セキュリティ分析支援装置、およびセキュリティ分析支援システム
CN114726650A (zh) * 2022-05-17 2022-07-08 北京航天驭星科技有限公司 任务请求处理方法、装置、电子设备及计算机可读介质
JP2022107585A (ja) * 2021-01-11 2022-07-22 ペンタ・セキュリティ・システムズ・インコーポレーテッド マシンラーニングセルフチェック機能を利用する非対面認証基盤ウェブファイアウォールメンテナンス方法および装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218837A (ja) * 1996-02-08 1997-08-19 Hitachi Ltd ネットワークセキュリティシステム
JP2004056793A (ja) * 2002-06-26 2004-02-19 Microsoft Corp コンテンツに対するアクセスを管理する方法及びシステム
JP2006005738A (ja) * 2004-06-18 2006-01-05 Oki Techno Creation:Kk アクセス制御システム、アクセス制御方法、およびアクセス制御プログラム
JP2006245841A (ja) * 2005-03-02 2006-09-14 Hitachi Communication Technologies Ltd パケット転送装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218837A (ja) * 1996-02-08 1997-08-19 Hitachi Ltd ネットワークセキュリティシステム
JP2004056793A (ja) * 2002-06-26 2004-02-19 Microsoft Corp コンテンツに対するアクセスを管理する方法及びシステム
JP2006005738A (ja) * 2004-06-18 2006-01-05 Oki Techno Creation:Kk アクセス制御システム、アクセス制御方法、およびアクセス制御プログラム
JP2006245841A (ja) * 2005-03-02 2006-09-14 Hitachi Communication Technologies Ltd パケット転送装置

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221993A (ja) * 2010-04-12 2011-11-04 Wins Technet Co Ltd Nat網用ウェブサービスへの正常ユーザーの遮断を防止するためのシステム及びその制御方法
JP2013017077A (ja) * 2011-07-05 2013-01-24 Fujitsu Ltd 情報処理装置、情報処理プログラムおよび管理方法
JP2014044612A (ja) * 2012-08-28 2014-03-13 Nippon Telegr & Teleph Corp <Ntt> セキュリティポリシ競合解消システム、端末管理サーバ、ポリシデータ適用端末、ポリシサーバ、セキュリティポリシ競合解消方法、およびプログラム
JP2016158236A (ja) * 2014-12-19 2016-09-01 エーオー カスペルスキー ラボAO Kaspersky Lab ネットワーク伝送を傍受する手段を選択するシステムおよび方法
US10172004B2 (en) 2014-12-19 2019-01-01 AO Kaspersky Lab System and method for rules-based selection of network transmission interception means
CN106982429A (zh) * 2016-01-18 2017-07-25 中兴通讯股份有限公司 一种接入无线网络的方法及装置
JP2017138728A (ja) * 2016-02-02 2017-08-10 エヌ・ティ・ティ・コミュニケーションズ株式会社 制御装置、緩和システム、制御方法及びコンピュータプログラム
WO2017135246A1 (ja) * 2016-02-02 2017-08-10 エヌ・ティ・ティ・コミュニケーションズ株式会社 制御装置、緩和システム、制御方法及びコンピュータプログラム
US10999315B2 (en) 2016-02-02 2021-05-04 Ntt Communications Corporation Control device, mitigation system, control method, and computer program
WO2017150003A1 (ja) * 2016-02-29 2017-09-08 パナソニックIpマネジメント株式会社 検知システム、ウェブアプリケーション装置、ウェブアプリケーションファイアウォール装置、検知システムにおける検知方法、ウェブアプリケーション装置の検知方法及びウェブアプリケーションファイアウォール装置の検知方法
CN107426206A (zh) * 2017-07-17 2017-12-01 北京上元信安技术有限公司 一种对web服务器的防护装置和方法
WO2020261426A1 (ja) * 2019-06-26 2020-12-30 楽天株式会社 不正推定システム、不正推定方法、及びプログラム
TWI743854B (zh) * 2019-06-26 2021-10-21 日商樂天集團股份有限公司 違規推定系統、違規推定方法及程式產品
JP6813711B1 (ja) * 2019-06-26 2021-01-13 楽天株式会社 不正推定システム、不正推定方法、及びプログラム
TWI751590B (zh) * 2019-06-26 2022-01-01 日商樂天集團股份有限公司 違規推定系統、違規推定方法及程式產品
JP6743319B1 (ja) * 2019-06-26 2020-08-19 楽天株式会社 不正推定システム、不正推定方法、及びプログラム
WO2020261425A1 (ja) * 2019-06-26 2020-12-30 楽天株式会社 不正推定システム、不正推定方法、及びプログラム
JPWO2021009925A1 (ja) * 2019-07-18 2021-10-21 三菱電機株式会社 ネットワークセキュリティ装置、ネットワークセキュリティシステムおよびネットワークセキュリティ方法
WO2021009925A1 (ja) * 2019-07-18 2021-01-21 三菱電機株式会社 ネットワークセキュリティ装置、ネットワークセキュリティシステムおよびネットワークセキュリティ方法
CN114157441A (zh) * 2020-08-18 2022-03-08 京东科技控股股份有限公司 请求处理***、方法、电子设备及存储介质
WO2022113895A1 (ja) * 2020-11-30 2022-06-02 三菱電機株式会社 開発側セキュリティ分析支援装置、運用側セキュリティ分析支援装置、およびセキュリティ分析支援システム
JP2021072632A (ja) * 2021-01-05 2021-05-06 Necプラットフォームズ株式会社 受信データ判定方法、通信装置、および、プログラム
JP7068514B2 (ja) 2021-01-05 2022-05-16 Necプラットフォームズ株式会社 受信データ判定方法、通信装置、および、プログラム
JP2022107585A (ja) * 2021-01-11 2022-07-22 ペンタ・セキュリティ・システムズ・インコーポレーテッド マシンラーニングセルフチェック機能を利用する非対面認証基盤ウェブファイアウォールメンテナンス方法および装置
JP7278561B2 (ja) 2021-01-11 2023-05-22 ペンタ・セキュリティ・システムズ・インコーポレーテッド マシンラーニングセルフチェック機能を利用する非対面認証基盤ウェブファイアウォールメンテナンス方法および装置
CN114726650A (zh) * 2022-05-17 2022-07-08 北京航天驭星科技有限公司 任务请求处理方法、装置、电子设备及计算机可读介质
CN114726650B (zh) * 2022-05-17 2022-08-23 北京航天驭星科技有限公司 任务请求处理方法、装置、电子设备及计算机可读介质

Similar Documents

Publication Publication Date Title
JP2010026547A (ja) ファイアウォール負荷分散方法及びファイアウォール負荷分散システム
JP6553524B2 (ja) 専用のコンピュータセキュリティサービスを利用するシステムおよび方法
US9848016B2 (en) Identifying malicious devices within a computer network
US10313368B2 (en) System and method for providing data and device security between external and host devices
US10691814B2 (en) Method and system for improving security and reliability in a networked application environment
CN102859934B (zh) 网络可接入计算机服务的接入管理和安全保护***和方法
US9582335B2 (en) System and method for distributing processing of computer security tasks
US8443452B2 (en) URL filtering based on user browser history
US7506056B2 (en) System analyzing configuration fingerprints of network nodes for granting network access and detecting security threat
US20190089730A1 (en) Structuring data and pre-compiled exception list engines and internet protocol threat prevention
EP3821580B1 (en) Methods and systems for efficient network protection
US10348681B2 (en) Centralized secure offload of security services for distributed security enforcement points
US20060236401A1 (en) System, method and program product to identify a distributed denial of service attack
EP2387746B1 (en) Methods and systems for securing and protecting repositories and directories
JP2008536244A (ja) P2pネットワーク・ソフトウェアを検出するシステム及び方法
CN106899561B (zh) 一种基于acl的tnc权限控制方法和***
WO2008011576A9 (en) System and method of securing web applications across an enterprise
RU2601162C1 (ru) Способ использования выделенного сервиса компьютерной безопасности
CA2596948A1 (en) Communication control device and communication control system
CN117938962B (zh) 用于cdn的网络请求调度方法、装置、设备及介质
KR102574384B1 (ko) 블록체인 기술을 이용한 분산 구조의 엔드포인트 보안 방법 및 그 장치
Musa et al. Survey of Cybersecurity Risks in Online Gambling Industry

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130402

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131126