(57)【特許請求の範囲】
【請求項１】
複数のネットワークインタフェースを持ち、クライアントと一台あるいは複数台のサーバ計算機との間に挿入されるサーバ計算機保護装置に於いて、
クライアントから送出されたデータ要求をサーバに代わり受信する要求受信手段と、
前記要求受信手段が受信したクライアントからサーバ計算機へのデータ要求について、前記サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測する計測手段と、
前記計測手段で計測されたデータ要求の回数を当該データ要求の形態に応じて定められた補正条件をもとに補正する補正手段と、
前記補正手段で補正されたデータ要求の回数を予め定められた閾値と比較する比較手段と、
前記比較手段による比較の結果、前記データ要求の回数が前記閾値を超えた場合に当該データ要求を破棄し、前記データ要求の回数が前記閾値を超えない場合に当該データ要求を要求先のサーバ計算機に転送する転送制御手段と
を具備したことを特徴とするサーバ計算機保護装置。
【請求項２】
複数のネットワークインタフェースを持ち、クライアントと一台あるいは複数台のサーバ計算機との間に挿入されるサーバ計算機保護装置に於いて、
クライアントから送出されたデータ要求をサーバに代わり受信する要求受信手段と、
前記要求受信手段が受信したクライアントからサーバ計算機へのデータ要求について、前記サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測する計測手段と、
前記計測手段で計測されたデータ要求の回数を当該データ要求の形態に応じて定められた補正条件をもとに補正する補正手段と、
前記補正手段で補正されたデータ要求の回数を予め定められた閾値と比較する比較手段と、
前記比較手段による比較の結果、前記データ要求の回数が前記閾値を超えた場合に当該データ要求を遅延して要求先のサーバ計算機に転送し、前記データ要求の回数が前記閾値を超えない場合に当該データ要求を要求先のサーバ計算機に転送する転送制御手段と
を具備したことを特徴とするサーバ計算機保護装置。
【請求項３】
前記要求受信手段が受信したクライアントからサーバ計算機へのデータ要求について、前記クライアントが過去の一定期間内に送出したデータ要求の回数を計測する手段を有して、当該手段により計測したデータ要求の回数を前記データ要求の形態に応じて定められた補正条件の一要素とすることを特徴とする請求項１または２記載のサーバ計算機保護装置。
【請求項４】
前記要求受信手段が受信したクライアントからサーバ計算機へのデータ要求について、前記クライアントが過去の一定期間内に送出した、同一のデータに対するデータ要求の回数を計測する手段を有して、当該手段により計測したデータ要求の回数を前記データ要求の形態に応じて定められた補正条件の一要素とすることを特徴とする請求項１または２記載のサーバ計算機保護装置。
【請求項５】
前記要求受信手段が受信したクライアントからサーバ計算機へのデータ要求について、前記データ要求が要求先のサーバ計算機から送出したデータに基づき行われたことを示す情報を含有しているか否かを検査する手段を有して、当該手段による検査結果の情報を前記データ要求の形態に応じて定められた補正条件の一要素とすることを特徴とする請求項１または２記載のサーバ計算機保護装置。
【請求項６】
前記要求受信手段が受信したクライアントからサーバ計算機へのデータ要求について、前記データ要求が、利用者の入力操作に伴いアプリケーションプログラムから送出されたことを示す情報を含有しているか否かを検査する手段を有して、当該手段による検査結果の情報を前記データ要求の形態に応じて定められた補正条件の一要素とすることを特徴とする請求項１または２記載のサーバ計算機保護装置。
【請求項７】
前記要求受信手段が受信したクライアントからサーバ計算機へのデータ要求について、前記データ要求が前記サーバ計算機に対し仮想ホスト名を指示する情報を含有しているか否かを検査する手段を有して、当該手段による検査結果の情報を前記データ要求の形態に応じて定められた補正条件の一要素とすることを特徴とする請求項１または２記載のサーバ計算機保護装置。
【請求項８】
前記要求受信手段が受信したクライアントからサーバ計算機へのデータ要求について、前記データ要求を破棄した回数を計測する手段を有して、当該手段により計測したデータ要求の破棄回数を前記データ要求の形態に応じて定められた補正条件の一要素とすることを特徴とする請求項１または２記載のサーバ計算機保護装置。
【請求項９】
クライアントとサーバ計算機との間に設けられて、クライアントから送出されたデータ要求をサーバに代わり受信し、当該受信したクライアントからサーバ計算機へのデータ要求について、当該サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測して、当該計測したデータ要求の回数を予め定められた閾値と比較し、当該比較の結果に応じて前記受信したデータ要求を破棄し、若しくは要求先のサーバ計算機に転送するサーバ計算機保護装置のデータ転送制御方法に於いて、
前記計測したデータ要求の回数を当該データ要求の形態に応じて定められた補正条件をもとに補正して、当該補正したデータ要求の回数を予め定められた閾値と比較し、当該比較の結果、前記データ要求の回数が前記閾値を超えた場合に当該データ要求を破棄し、前記データ要求の回数が前記閾値を超えない場合に当該データ要求を要求先のサーバ計算機に転送することを特徴としたサーバ計算機保護装置のデータ転送制御方法。
【請求項１０】
クライアントとサーバ計算機との間に設けられて、クライアントから送出されたデータ要求をサーバに代わり受信し、当該受信したクライアントからサーバ計算機へのデータ要求について、当該サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測して、当該計測したデータ要求の回数を予め定められた閾値と比較し、当該比較の結果に応じて前記受信したデータ要求の転送を遅延させ、若しくは要求先のサーバ計算機に転送するサーバ計算機保護装置のデータ転送制御方法に於いて、
前記計測したデータ要求の回数を当該データ要求の形態に応じて定められた補正条件をもとに補正して、当該補正したデータ要求の回数を予め定められた閾値と比較し、当該比較の結果、前記データ要求の回数が前記閾値を超えた場合に当該データ要求を遅延して要求先のサーバ計算機に転送し、前記データ要求の回数が前記閾値を超えない場合に当該データ要求を要求先のサーバ計算機に転送することを特徴としたサーバ計算機保護装置のデータ転送制御方法。
【請求項１１】
前記データ要求の形態に応じて定められた補正条件には、
前記受信したクライアントからサーバ計算機へのデータ要求について、前記クライアントが過去の一定期間内に送出したデータ要求の回数、
前記受信したクライアントからサーバ計算機へのデータ要求について、前記クライアントが過去の一定期間内に送出した、同一のデータに対するデータ要求の回数、
前記受信したクライアントからサーバ計算機へのデータ要求について、前記データ要求が要求先のサーバ計算機から送出したデータに基づき行われたことを示す情報を含有しているか否かの判定結果、
前記受信したクライアントからサーバ計算機へのデータ要求について、前記データ要求が、利用者の入力操作に伴いアプリケーションプログラムから送出されたことを示す情報を含有しているか否かの判定結果、
前記受信したクライアントからサーバ計算機へのデータ要求について、前記データ要求が前記サーバ計算機に対し仮想ホスト名を指示する情報を含有しているか否かの判定結果、
前記受信したクライアントからサーバ計算機へのデータ要求について、前記データ要求を破棄した回数、
のすべて若しくはそのいずれかを含む請求項９または１０記載のサーバ計算機保護装置のデータ転送制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不特定多数あるいは特定多数のクライアントをパケット交換ネットワーク経由で１台あるいは複数台のサーバ計算機に接続した、クライアント／サーバシステムに於いて、上記サーバ計算機への不正アクセスの防止あるいは不正アクセスの検知を行う機能を実現する際に用いて好適なサーバ計算機保護装置、およびサーバ計算機保護装置のデータ転送制御方法に関する。
【０００２】
【従来の技術】
不特定多数あるいは特定多数のクライアントをパケット交換ネットワーク経由で１台あるいは複数台のサーバ計算機に接続した、クライアント／サーバシステムに於いて、上記サーバ計算機への不正アクセスの防止あるいは検知を行う機能をもつ装置として、クライアントとサーバ計算機との間に介在され、クライアントからサーバ計算機に送出されるデータ要求について、そのデータ要求の転送先サーバが過去の一定期間内に受信したデータ要求の単位時間当たりの回数を監視して、その回数をもとに、サーバ計算機が過負荷となるか否かを判断する機構を備えたサーバ計算機保護装置が存在する。
【０００３】
この種、従来のサーバ計算機保護装置の構成例を図５に示す。図５に於いて、５０は従来の構成によるサーバ計算機保護装置であり、ネットワークインタフェース５１Ａ，５１Ｂと、接続転送手段５２とを備えて構成される。上記接続転送手段５２は、データ要求受信手段５３、データ要求送信手段５４、サーバデータ要求計測手段５５、閾値保持手段５６、閾値比較手段５７等により構成される。
【０００４】
ネットワークインタフェース５１Ａは、ネットワークセグメント（Ａ）を介してクライアントとの間でパケットを送受信する機能を持つ。
【０００５】
ネットワークインタフェース５１Ｂは、サーバ計算機との間でパケットを送受信する機能を持ち、データ要求受信手段５４から渡されたデータ要求をサーバ計算機へ送出し、サーバ計算機からデータ（パケット）を受信する機能を持つ。
【０００６】
接続転送手段５２に於いて、データ要求受信手段５３は、ネットワークインタフェース５１Ａとの間でパケットを交換し、クライアントから送出されたデータ要求をサーバに成り代って受取る機能を持つ。
【０００７】
データ要求送信手段５４は、閾値比較手段５７からの比較結果を受取り、その内容がサーバデータ要求計測手段５５により計測されたデータ要求の回数が閾値保持手段５６に保持された閾値を下回っていることを示す場合は、データ要求受信手段５３が受取ったデータ要求をクライアントが実際にデータを要求している本来のサーバ計算機へネットワークインタフェース５１（Ｂ）を介し転送する機能を持つ。
【０００８】
サーバデータ要求計測手段５５は、データ要求受信手段５３が受信したクライアントからサーバ計算機へのデータ要求について、そのデータ要求を転送する転送先のサーバ計算機が過去の一定期間内に受信したデータ要求の回数を計測する機能を持つ。
【０００９】
閾値保持手段５６は、予め設定されたデータ要求の回数を閾値として保持する機能を持つ。
【００１０】
閾値比較手段５７はサーバデータ要求計測手段５５により計測されたデータ要求の回数と、閾値保持手段５６に保持されたデータ要求の閾値とを比較して、その比較結果をデータ要求送信手段５４に伝える機能を持つ。
【００１１】
図６は上記サーバ計算機保護装置５０の閾値保持手段５６に格納される情報の一例を示す図あり、ここでは、保護の対象となる各サーバ計算機のネットワークアドレスと、その各サーバ計算機に於ける単位時間（この例では１分間）での処理可能なデータ要求の回数とが閾値として保持される。
【００１２】
上記構成のサーバ計算機保護装置に於いて、閾値保持手段５６には、図６のような保護の対象となる各サーバ計算機と、その各サーバ計算機で処理可能なデータ要求の回数を示す閾値とが保持されていたとする。即ち、この図６に示す例では、保護の対象となる各サーバ計算機として「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機と、「１９２．１６８．１．３２」のネットワークアドレスをもつサーバ計算機とが存在し、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機の閾値「１００」、「１９２．１６８．１．３２」のネットワークアドレスをもつサーバ計算機の閾値「１００」がそれぞれ単位時間（ここでは１分間）での現在までのデータ要求の回数として保持されている。
【００１３】
その状態で、あるクライアントが「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機に対してデータ要求を送出したとする。
【００１４】
ネットワークインタフェース５１（Ａ）で受信されたデータ要求のパケットは、データ要求受信手段５３が、サーバに成り代り受取る。データ要求受信手段５３はクライアントからの接続要求への応答などの処理も行う。この際、データ要求受信手段５３は、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機のネットワークアドレスをそのまま用いて、クライアントから送出されたデータ要求を受取る方法の他に、クライアントに明示的に別のネットワークアドレスを伝えておき、クライアントが当該別のネットワークアドレスに対して、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機へのデータ要求を送ることで、データ要求受信手段５３が当該データ要求をサーバに成り代り受取ることを可能にする方法等もある。
【００１５】
このようにしてデータ要求受信手段５３で受取ったデータ要求は、データ要求送信手段５４へ渡される。サーバデータ要求計測手段５５は、当該データ要求について、要求先のサーバ計算機が過去の一定期間内に受信したデータ要求の回数を計測している。
【００１６】
この際、データ要求受信手段５３で受け取ったデータ要求がデータ要求送信手段５４へ渡された時点で、サーバデータ要求計測手段５５が計測した、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機で過去の一分間に受取ったデータ要求の回数が、例えば「８５」であったとする。
【００１７】
この状態でデータ要求送信手段５４は閾値比較手段５７に問い合わせを行う。閾値比較手段５７は、閾値保持手段５６に保持された、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機の閾値が「１００」と、上記サーバデータ要求計測手段５５で計測したデータ要求の回数「８５」とを比較照合し、この際は上記サーバデータ要求計測手段５５で計測したデータ要求の回数「８５」が閾値保持手段５６に保持された、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機の閾値「１００」を超えていないので、計測したデータ要求回数が閾値内にあることを示す比較結果の値をデータ要求送信手段５４に渡す。
【００１８】
データ要求送信手段５４は、閾値比較手段５７から、計測したデータ要求回数が閾値内にあることを示す比較結果の値を受けると、ネットワークインタフェース５１Ｂを介して、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機へ、上記データ要求のパケットを送出（転送）する。この際、データ要求送信手段５４はサーバ計算機への接続要求などの処理も行う。
【００１９】
「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機は、サーバ計算機保護装置５０を経由してクライアントから受取ったデータ要求に応じたデータを送出する。このサーバ計算機より送出されたデータはネットワークセグメント（Ｂ）を経由してネットワークインタフェース５１Ｂに受取られ、ネットワークインタフェース５１Ａを介して要求元のクライアントに渡される。この際、クライアントに明示的にデータ要求受信手段５３が用いる別のアドレスを伝えていた場合は、ネットワークインタフェース５１Ａからクライアントへ送出されるデータが、上記別のアドレスからの応答の形でクライアントへ送られる。また、データ要求受信手段５３が「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機のネットワークアドレスをそのまま用いて、クライアントから送出されたデータ要求を受取る方法を用いた場合は、ネットワークインタフェース５１Ｂで受信された、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機からのデータが、当該データを運ぶパケットのヘッダのポート番号やシーケンス番号、チェックサムなどを書き換えられた後、ネットワークインタフェース５１Ａから要求元のクライアントへ送出される。
【００２０】
このようにして、クライアントから送出されたデータ要求がサーバ計算機に送られ、その要求に応じたデータが、サーバ計算機からクライアントに渡される。
【００２１】
次に、別のある時点で、データ要求受信手段５３で受け取ったデータ要求がデータ要求送信手段５４へ渡された際に、サーバデータ要求計測手段５５が計測した、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機で過去の一分間に受取ったデータ要求の回数が、例えば「１０３回」であったとする。この状態でデータ要求送信手段５４は閾値比較手段５７に問い合わせを行う。閾値比較手段５７は、閾値保持手段５６に保持された、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機の閾値が「１００」と、上記サーバデータ要求計測手段５５で計測したデータ要求の回数「１０３」とを比較照合し、この際は上記サーバデータ要求計測手段５５で計測したデータ要求の回数「１０３」が閾値保持手段５６に保持された、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機の閾値「１００」を超えているので、計測したデータ要求回数が閾値を超えたことを示す比較結果の値をデータ要求送信手段５４に渡す。
【００２２】
データ要求送信手段５４は、閾値比較手段５７から計測したデータ要求回数が閾値を超えたことを示す比較結果の値を受けると、上記データ要求受信手段５３より受けたデータ要求のパケットを破棄する。このデータ要求の破棄は、サーバデータ要求計測手段５５が定期的に行っている、サーバ計算機へ送られたデータの回数の測定に於いて、その測定結果が閾値を下回るまで、すべてのデータ要求に対して行われる。
【００２３】
しかしながら上記した従来のサーバ計算機保護装置に於いては以下のような問題があった。即ち、従来のサーバ計算機保護装置では、サーバが一定期間内に受信したデータ要求の回数が閾値を越えた場合、当該回数が当該閾値を再度下回るまで、すべてのデータ要求が破棄されてしまうことから、サーバが過負荷になりダウンすることは防止できるが、例えば悪意をもったユーザがサーバに対して非常に多数のデータ要求を送りつけ、サーバを過負荷に陥れようという試みを行った場合、その行為によって、他のすべてのユーザからのデータ要求も破棄される結果となり、当該悪意を持ったユーザの、サーバの機能を停止させようという目的が達せられてしまうという問題があった。
【００２４】
【発明が解決しようとする課題】
上述したように従来のサーバ計算機保護装置に於いては、サーバが一定期間内に受信したデータ要求の回数が閾値を越えた場合、当該回数が当該閾値を再度下回るまで、すべてのデータ要求が破棄されてしまうことから、サーバが過負荷になりダウンすることは防止できるが、例えば悪意をもったユーザがサーバに対して非常に多数のデータ要求を送りつけ、サーバを過負荷に陥れようという試みを行った場合、その行為によって、他のすべてのユーザからのデータ要求も破棄される結果となり、当該悪意を持ったユーザの、サーバの機能を停止させようという目的が達せられてしまうという問題があった。
【００２５】
本発明は上記実情に鑑みなされたもので、サーバ計算機の過負荷によるダウンを回避するとともに、故意にサーバを過負荷状態にするアクセス行為からサーバ計算機を保護して、常に安定したパケット交換動作を維持することのできるサーバ計算機保護装置およびサーバ計算機保護装置のデータ転送制御方法を提供することを目的とする。
【００２６】
【課題を解決するための手段】
本発明は、クライアントからサーバに送られるデータ要求の単位時間あたりの回数を計測し、その計測値と閾値との比較の結果に応じて、データ要求のサーバへの転送を制御する機構に於いて、データ要求の単位時間あたりの回数を計測する手段と、その計測値を閾値と比較する手段との間に、比較の対象となる計測値を、当該データ要求の形態（データ要求の内容、送出間隔、送出パターン等）に応じて定められた補正条件をもとに補正する補正手段を設けたことを特徴とする。
【００２７】
即ち、本発明は、複数のネットワークインタフェースを持ち、クライアントと一台あるいは複数台のサーバ計算機との間に挿入されるサーバ計算機保護装置に於いて、クライアントから送出されたデータ要求をサーバに代わり受信する要求受信手段と、前記要求受信手段が受信したクライアントからサーバ計算機へのデータ要求について、前記サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測する計測手段と、前記計測手段で計測されたデータ要求の回数を当該データ要求の形態に応じて定められた補正条件をもとに補正する補正手段と、前記補正手段で補正されたデータ要求の回数を予め定められた閾値と比較する比較手段と、前記比較手段による比較の結果、前記データ要求の回数が前記閾値を超えた場合に当該データ要求を破棄し、前記データ要求の回数が前記閾値を超えない場合に当該データ要求を要求先のサーバ計算機に転送する転送制御手段とを具備したことを特徴とする。
【００２８】
また、本発明は、複数のネットワークインタフェースを持ち、クライアントと一台あるいは複数台のサーバ計算機との間に挿入されるサーバ計算機保護装置に於いて、クライアントから送出されたデータ要求をサーバに代わり受信する要求受信手段と、前記要求受信手段が受信したクライアントからサーバ計算機へのデータ要求について、前記サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測する計測手段と、前記計測手段で計測されたデータ要求の回数を当該データ要求の形態に応じて定められた補正条件をもとに補正する補正手段と、前記補正手段で補正されたデータ要求の回数を予め定められた閾値と比較する比較手段と、前記比較手段による比較の結果、前記データ要求の回数が前記閾値を超えた場合に当該データ要求を遅延して要求先のサーバ計算機に転送し、前記データ要求の回数が前記閾値を超えない場合に当該データ要求を要求先のサーバ計算機に転送する転送制御手段とを具備したことを特徴とする。
【００２９】
また、本発明は、クライアントとサーバ計算機との間に設けられて、クライアントから送出されたデータ要求をサーバに代わり受信し、当該受信したクライアントからサーバ計算機へのデータ要求について、当該サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測して、当該計測したデータ要求の回数を閾値と比較し、当該比較の結果に応じて前記受信したデータ要求を破棄し、若しくは要求先のサーバ計算機に転送するサーバ計算機保護装置のデータ転送制御方法に於いて、前記計測したデータ要求の回数を当該データ要求の形態に応じて定められた補正条件をもとに補正して、当該補正したデータ要求の回数を予め定められた閾値と比較し、当該比較の結果、前記データ要求の回数が前記閾値を超えた場合に当該データ要求を破棄し、前記データ要求の回数が前記閾値を超えない場合に当該データ要求を要求先のサーバ計算機に転送することを特徴とする。
【００３０】
また、本発明は、クライアントとサーバ計算機との間に設けられて、クライアントから送出されたデータ要求をサーバに代わり受信し、当該受信したクライアントからサーバ計算機へのデータ要求について、当該サーバ計算機が過去の一定期間内に受信した前記データ要求の回数を計測して、当該計測したデータ要求の回数を予め定められた閾値と比較し、当該比較の結果に応じて前記受信したデータ要求の転送を遅延させ、若しくは要求先のサーバ計算機に転送するサーバ計算機保護装置のデータ転送制御方法に於いて、前記計測したデータ要求の回数を当該データ要求の形態に応じて定められた補正条件をもとに補正して、当該補正したデータ要求の回数を予め定められた閾値と比較し、当該比較の結果、前記データ要求の回数が前記閾値を超えた場合に当該データ要求を遅延して要求先のサーバ計算機に転送し、前記データ要求の回数が前記閾値を超えない場合に当該データ要求を要求先のサーバ計算機に転送することを特徴とする。
【００３１】
上記したようなデータ要求のパケット転送機能を備えることによって、サーバ計算機が一定期間内に受信したデータ要求の回数が閾値を超えた場合に、サーバ計算機が過負荷になりダウンする不都合を防止することができるとともに、悪意をもったユーザがサーバ計算機に対して多数のデータ要求を送りつけ、サーバを過負荷に陥れようという試みを行った場合でも、他のユーザからのデータ要求が全て破棄されてしまうという不都合を回避することのできるサーバ計算機保護装置が実現できる。
【００３２】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
【００３３】
図１は本発明の第１実施形態に於けるサーバ計算機保護装置の構成を示すブロック図である。
【００３４】
図１に示す本発明の第１実施形態によるサーバ計算機保護装置１０は、ネットワークインタフェース１１Ａ，１１Ｂと、接続転送手段１２とを具備して構成される。
【００３５】
ネットワークインタフェース１１Ａは、ネットワークセグメント（Ａ）を介してクライアントとの間でパケットを送受信する機能を持つ。ネットワークインタフェース１１Ｂは、ネットワークセグメント（Ｂ）を介してサーバ計算機との間でパケットを送受信する機能を持ち、接続転送手段１２に設けたデータ要求受信手段１３から渡されたデータ要求のパケットをサーバ計算機へ送出し、サーバ計算機からデータを受信する機能を持つ。
【００３６】
接続転送手段１２は、データ要求受信手段１３と、データ要求送信手段１４と、サーバデータ要求計測手段１５と、閾値保持手段１６と、閾値比較手段１７と、補正手段１８とを具備して構成される。
【００３７】
接続転送手段１２に於いて、データ要求受信手段１３は、ネットワークインタフェース１１Ａとの間でパケットを交換し、クライアントから送出されたデータ要求をサーバに代って受取る機能を持つ。
【００３８】
データ要求送信手段１４は、閾値比較手段１７からの比較結果を受取り、サーバデータ要求計測手段１５で計測されたデータ要求の回数が閾値保持手段１６に保持された閾値を下回っていた場合、データ要求受信手段１３が受取ったデータ要求のパケットを、クライアントが実際にデータを要求している本来のサーバ計算機へネットワークインタフェース１１Ｂを介して転送し、サーバデータ要求計測手段１５で計測されたデータ要求の回数が閾値保持手段１６に保持された閾値を上回っていた場合、データ要求受信手段１３が受取ったデータ要求のパケットを破棄する機能を持つ。
【００３９】
サーバデータ要求計測手段１５は、データ要求受信手段１３が受信したデータ要求について、要求先（転送先）のサーバが過去の一定期間内に受信したデータ要求の回数を計測する機能を持つ。
【００４０】
閾値保持手段１６は、上記サーバデータ要求計測手段１５で計測した単位時間当たりのデータ要求の回数がサーバ計算機の処理能力を超えているか否かを判定するための閾値を保持する機能を持つ。ここでは、保護の対象となる各サーバ計算機のネットワークアドレスと、その各サーバ計算機に於ける処理能力（単位時間当たりの処理可能なデータ要求の回数）に応じた閾値とをそれぞれサーバ計算機毎に対応付けて保持する。この具体例については図２を参照して後述する。
【００４１】
閾値比較手段１７はサーバデータ要求計測手段１５で計測され、補正手段１８で補正されたデータ要求の回数と、閾値保持手段１６に保持された閾値とを比較し、その比較結果をデータ要求送信手段１４に伝える機能を持つ。
【００４２】
補正手段１８は、サーバデータ要求計測手段１５で計測されたデータ要求の回数を、データ要求受信手段１３によって受信されたデータ要求の形態（データ要求の内容、送出間隔、送出パターン等）に応じて補正する機能を持つ。この際のデータ要求の形態ならびに当該データ要求の形態に応じて定められた補正条件の具体例については図３を参照して後述する。
【００４３】
図２は上記閾値保持手段１６に格納される内容の一例を示したもので、ここでは、保護の対象となり得るサーバ計算機のネットワークアドレス（１９２．１６８．１．３１等）と、当該サーバ計算機に於ける単位時間当たり、例えば１分間に於ける処理可能なデータ要求の回数とがそれぞれサーバ計算機毎に対応付けられて保持される。
【００４４】
図３は上記補正手段１８に格納される、データ要求の形態に応じて定められた補正条件とその補正内容の例を示したもので、ここでは、データ要求の回数を補正する補正条件として、「同一のクライアントから同一のサーバ計算機に送られた、過去１分間のデータ要求の回数」、「同一のクライアントから同一のサーバ計算機に送られた、過去１分間の同一データについてのデータ要求の回数」、「データ要求が当該データ要求先のサーバ計算機から送出したデータに基づき行われたことを示す情報を含有しているか否か」、「データ要求が利用者が手動で用いるアプリケーションから送出されたことを示す情報を含有しているか否か」、「データ要求に仮想ホスト名を指示する情報を含有しているか否か」、「過去の１分間に同一クライアントから届いたデータ要求が破棄された数」等をそれぞれ補正条件の一要素としている。
【００４５】
この例で、「データ要求が当該データ要求先のサーバ計算機から送出したデータに基づき行われたことを示す情報を含有しているか否か」、「データ要求が利用者が手動で用いるアプリケーションから送出されたことを示す情報を含有しているか否か」、「データ要求に仮想ホスト名を指示する情報を含有しているか否か」等は、データ要求が、ＨＴＴＰのプロトコルに従っている場合の一例をあげると、それぞれ、ある特定のヘッダ（例えばＣｏｏｋｉｅ）を含有しているか否か、あるヘッダ（例えばＵｓｅｒ−Ａｇｅｎｔ）に特定の文字列（例えば“Ｍｏｚｉｌｌａ”や“ＭＳＩＥ”などの文字列）が含まれているか否か、Ｈｏｓｔヘッダを含有しているか否か等によって判断することができる。また、他のプロトコルに従っている場合でも、同様の情報が得られるならば、それらの情報を利用可能である。
【００４６】
ここで、上記図１乃至図３を参照して本発明の第１実施形態に於けるサーバ計算機保護装置の動作を説明する。
【００４７】
サーバ計算機保護装置１０の接続転送手段１２に設けられた閾値保持手段１６には、図２に示すように、当該サーバ計算機保護装置１０が介在するクライアント／サーバシステムに於いて、保護の対象となるサーバ計算機それぞれについてのネットワークアドレスと、そのサーバ計算機の処理能力（単位時間当たりの処理可能なデータ要求の回数）に応じた閾値とが予め設定され保持される。また、補正手段１８には、図３に示すような、データ要求の形態に応じて定められた補正条件とその補正内容が予め設定され保持される。
【００４８】
その状態で、あるクライアントが、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機に対して、データ要求のパケットを送出すると、当該データ要求のパケットがネットワークセグメント（Ａ）を介してネットワークインタフェース１１Ａに受信される。
【００４９】
ネットワークインタフェース１１Ａに受信されたデータ要求のパケットは、データ要求受信手段１３が、サーバ計算機に成り代って受信する。データ要求受信手段１３はクライアントからの接続要求への応答などの処理も行う。データ要求受信手段１３で受取った上記データ要求は、データ要求送信手段１４へ渡される。
【００５０】
データ要求送信手段１４はデータ要求受信手段１３からデータ要求を受け取ると、閾値比較手段１７から比較結果の内容を取得し、その内容に従い、データ要求受信手段１３で受信したデータ要求のパケットを廃棄するか要求先のサーバ計算機に転送するかを決定する。
【００５１】
この際の閾値比較手段１７による処理に於いて、サーバデータ要求計測手段１５は、当該データ要求について、要求先のサーバが過去の一定期間内に受信した当該データ要求の回数を測定している。
【００５２】
データ要求受信手段１３からデータ要求送信手段１４へデータ要求が渡された時点で、サーバデータ要求計測手段１５が測定した、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機へ過去の一分間に送られたデータ要求の回数が、例えば「８５」であったとする。
【００５３】
データ要求送信手段１４が閾値比較手段１７に比較結果の内容を問い合わせると、閾値比較手段１７は、まず、閾値保持手段１６から、予め設定された、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機の閾値を取得する。ここでは、図２に示すように、閾値保持手段１６に格納された、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機が一分間に処理可能なデータ要求の回数は「１００」であることから閾値として「１００」を取得する。閾値比較手段１７は、次に、サーバデータ要求計測手段１５から、測定されたデータ要求の回数を取得するが、ここで、取得するデータ要求の回数は、補正手段１８によって補正されたものとなる。
【００５４】
ここで、例えば上記データ要求に、その要求先のサーバ計算機から送出したデータに基づき行われたことを示す情報と利用者が手動で用いるアプリケーションプログラムから送出されたことを示す情報を含有していたとする。この場合は、図３に示す補正内容に従い、サーバデータ要求計測手段１５で測定したデータ要求の回数が補正されても実数値の補正が行われないことから、閾値比較手段１７にはサーバデータ要求計測手段１５で計測したデータ要求の回数「８５」がそのまま渡される。
【００５５】
これにより、閾値比較手段１７は、補正手段１８から取得した「８５」と閾値保持手段１６から取得した「１００」とを比較し、計測したデータ要求の回数は閾値を下回っているという比較結果の内容をデータ要求送信手段１４に渡す。
【００５６】
データ要求送信手段１４は、この結果を受けて、ネットワークインタフェース１１Ｂを介し、「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機へ、当該データ要求を渡す。この際、データ要求送信手段１４は、サーバ計算機への接続要求の処理も行う。
【００５７】
「１９２．１６８．１．３１」のネットワークアドレスをもつサーバ計算機は、サーバ計算機保護装置１０を介してクライアントより受取ったデータ要求に応じたデータをネットワークセグメント（Ｂ）上に送出する。このデータをネットワークセグメント（Ｂ）上に送出されたデータはサーバ計算機保護装置１０のネットワークインタフェース１１Ｂに受取られ、ネットワークインタフェース１１Ａ、およびネットワークセグメント（Ａ）を介して要求元のクライアントに渡される。
【００５８】
また、上記データ要求に、その要求先のサーバ計算機から送出したデータに基づき行われたことを示す情報は含有されていたが、利用者が手動で用いるアプリケーションプログラムから送出されたことを示す情報が含有されていない場合は、図３に示す補正内容に従い、サーバデータ要求計測手段１５で測定したデータ要求の回数「８５」が補正手段１８によって２倍の「１７０」に補正され、その補正されたデータ要求の回数「１７０」が閾値比較手段１７に渡される。
【００５９】
閾値比較手段１７は、補正手段１８を介してサーバデータ要求計測手段１５より取得した「１７０」と閾値保持手段１６より取得した「１００」を比較し、その結果、計測したデータ要求の回数は閾値を上回っているという比較結果の内容をデータ要求送信手段１４に渡す。
【００６０】
データ要求送信手段１４は、この結果を受けると、データ要求受信手段１３で受信したデータ要求を破棄する。
【００６１】
このようにして、サーバデータ要求計測手段１５で計測したデータ要求の回数が、当該データ要求の形態に応じて補正手段１８により補正され、その補正されたデータ要求の回数によりす受信したデータ要求のサーバ計算機への転送／廃棄が行われることから、サーバ計算機が一定期間内に受信したデータ要求の回数が閾値を超えた場合に、サーバ計算機が過負荷になりダウンする不都合を防止することができるとともに、悪意をもったユーザがサーバ計算機に対して多数のデータ要求を送りつけ、サーバを過負荷に陥れようという試みを行った場合でも、他のユーザからのデータ要求が全て破棄されてしまうという不都合を回避することができる。
【００６２】
次に図４を参照して本発明の第２実施形態を説明する。上記した第１実施形態が、閾値比較手段の比較結果の内容に応じて、データ要求を破棄する機能構成であるのに対し、この第２実施形態では、閾値比較手段の比較結果の内容に応じて、データ要求のパケットを遅延させ、要求先のサーバ計算機に転送する機能構成としている。
【００６３】
図４は本発明の第２実施形態に於けるサーバ計算機保護装置の構成を示すブロック図である。
【００６４】
図４に示す本発明の第２実施形態によるサーバ計算機保護装置４０は、ネットワークインタフェース４１Ａ，４１Ｂと、接続転送手段４２とを具備して構成される。
【００６５】
ネットワークインタフェース４１Ａは、ネットワークセグメント（Ａ）を介してクライアントとの間でパケットを送受信する機能を持つ。ネットワークインタフェース４１Ｂは、ネットワークセグメント（Ｂ）を介してサーバ計算機との間でパケットを送受信する機能を持ち、接続転送手段４２に設けたデータ要求受信手段４３から渡されたデータ要求のパケットをサーバ計算機へ送出し、サーバ計算機からデータを受信する機能を持つ。
【００６６】
接続転送手段４２は、データ要求受信手段４３と、データ要求送信手段４４と、サーバデータ要求計測手段４５と、閾値保持手段４６と、閾値比較手段４７と、補正手段４８と、データ要求遅延手段４９とを具備して構成される。
【００６７】
接続転送手段４２に於いて、データ要求受信手段４３は、ネットワークインタフェース４１Ａとの間でパケットを交換し、クライアントから送出されたデータ要求をサーバに代って受取る機能を持つ。
【００６８】
データ要求送信手段４４は、データ要求受信手段４３が受取ったデータ要求を、クライアントが実際にデータを要求している本来のサーバ計算機へ、データ要求遅延手段４９を介して、ネットワークインタフェース４１Ｂから送出する機能を持つ。
【００６９】
サーバデータ要求計測手段４５は、データ要求受信手段４３が受信したデータ要求について、要求先（転送先）のサーバが過去の一定期間内に受信したデータ要求の回数を計測する機能を持つ。
【００７０】
閾値保持手段４６は、上記サーバデータ要求計測手段４５で計測した単位時間当たりのデータ要求の回数がサーバ計算機の処理能力を超えているか否かを判定するための閾値を保持する機能を持つ。ここでは、保護の対象となる各サーバ計算機のネットワークアドレスと、その各サーバ計算機に於ける処理能力（単位時間当たりの処理可能なデータ要求の回数）に応じた閾値とをそれぞれサーバ計算機毎に対応付けて保持する（図２参照）。
【００７１】
閾値比較手段４７はサーバデータ要求計測手段４５で計測され、補正手段４８で補正されたデータ要求の回数と、閾値保持手段４６に保持された閾値とを比較し、その比較結果の内容をデータ要求遅延手段４９に送出する機能を持つ。
【００７２】
補正手段４８は、データ要求送信手段４４からデータ要求を受け取った旨の通知を受けると、サーバデータ要求計測手段４５で計測されたデータ要求の回数を、当該通知を受けたデータ要求の形態（データ要求の内容、送出間隔、送出パターン等）に応じて補正する機能を持つ（図３参照）。
【００７３】
データ要求遅延手段４９は、閾値比較手段４７の比較結果の内容に応じて当該データ要求のサーバ計算機への伝達を遅延させる機能を持つ。
【００７４】
ここで、上記図４を参照して本発明の第２実施形態に於ける動作を説明する。尚、この第２実施形態では、接続転送手段４２に設けられた、データ要求受信手段４３、サーバデータ要求計測手段４５、閾値保持手段４６、閾値比較手段４７、補正手段４８等の基本的な構成ならびに動作は上記図１に示した第１実施形態に於ける、データ要求受信手段１３、サーバデータ要求計測手段１５、閾値保持手段１６、閾値比較手段１７、補正手段１８の各構成ならびに動作と同様であることから、ここではその説明を省略する。
【００７５】
接続転送手段４２に於いて、データ要求送信手段４４は、データ要求受信手段４３からデータ要求を受け取ると、その旨を補正手段４８に通知する。
【００７６】
補正手段４８は、データ要求送信手段４４からデータ要求を受け取った旨の通知を受けると、サーバデータ要求計測手段４５で計測されたデータ要求の回数を、当該通知を受けたデータ要求の形態に応じて補正する。この際の具体的な補正処理については上述した第１実施形態に於いて図３を参照して詳述されているので、ここではその説明を省略する。この補正手段４８で補正された、単位時間当たりのデータ要求の回数は、閾値保持手段４６に保持されている、データ要求を送出する先のサーバ計算機の処理能力に応じて定められた閾値とともに、閾値比較手段４７に渡される。
【００７７】
閾値比較手段４７はサーバデータ要求計測手段４５で計測され、補正手段４８で補正されたデータ要求の回数と、閾値保持手段４６に保持された閾値とを比較し、その比較結果の内容をデータ要求遅延手段４９に送出する。
【００７８】
データ要求遅延手段４９は、閾値比較手段４７から、計測したデータ要求の回数は閾値を下回っているという比較結果の内容を受けると、データ要求送信手段４４で受けた、該当するデータ要求のパケットを、遅延せずに、ネットワークインタフェース４１Ｂを介して、クライアントが実際にデータを要求している本来のサーバ計算機へ転送する。また、閾値比較手段４７から、計測したデータ要求の回数は閾値を上回っているという比較結果の内容を受けると、データ要求送信手段４４で受けた、該当するデータ要求のパケットを所定の時間、遅延させた後、上記サーバ計算機への転送を試みる。
【００７９】
このようにして、第２実施形態に於いては、上述した第１実施形態のように閾値比較手段での比較の結果に応じて、受信したデータ要求を破棄するのではなく、データ要求遅延手段４９により、ネットワークインタフェース４１Ｂからの送出を遅延させる。
【００８０】
この遅延されたデータ要求は、サーバ計算機に受け付けられるまで、予め設定した一定期間を経て、繰り返しサーバ計算機への伝達が試みられ、その時点で、過去の一定期間内にサーバ計算機が受信したデータ要求の回数が補正された閾値を下回っていれば、サーバ計算機へ伝達されることになる。
【００８１】
悪意を持ったユーザがサーバ計算機に対して、非常に多数のデータ要求を送りつけようとした場合、手動で用いるアプリケーションプログラムを使用するのではなく、自動的に多数のデータ要求を送出するようなツールを用いると考えられる。したがって、上記のような動作を行うことにより、サーバ計算機が一定期間内に受信したデータ要求の回数が閾値を超えた場合に、サーバ計算機が過負荷になりダウンする不都合を防止することができるとともに、悪意をもったユーザがサーバに対して非常に多数のデータ要求を送りつけ、サーバを過負荷に陥れようという試みを行った場合でも、他のユーザからのデータ要求が全て破棄されてしまう不都合を回避することができる。
【００８２】
尚、上記した各実施形態では、一つの補正条件と一つの補正内容が対に設定されているが、複数の補正条件の組合せによって補正内容を決定する方法もある。例えば、データ要求が、その要求先のサーバ計算機から送出したデータに基づき行われたことを示す情報を含有しているか否かと、当該データ要求が利用者が手動で用いるアプリケーションプログラムから送出されたことを示す情報を含有しているか否かの組合せにより４通りの場合が考えられるが、それぞれの組み合わせパターンについて、独自の補正内容を決定する方法も考えられる。また、データ要求を送出したクライアントが過去の一定期間内に送出したデータ要求の回数や、過去の一定期間内にデータ要求と同一のデータを要求した回数などに基づき補正内容を決定する方法も考えられる。この場合、補正内容は、前記回数の関数の形で与えることも考えられる。これらの補正内容の詳細については、本発明の範囲ではないが、この補正内容の工夫によって、より効果的なサーバ計算機保護装置が実現できる。
【００８３】
【発明の効果】
以上詳記したように本発明によれば、サーバ計算機の過負荷によるダウンを回避するとともに、故意にサーバを過負荷状態にするアクセス行為からサーバ計算機を保護して、常に安定したパケット交換動作を維持することのできるサーバ計算機保護装置およびサーバ計算機保護装置のデータ転送制御方法が提供できる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に於けるサーバ計算機保護装置の構成を示すブロック図。
【図２】上記実施形態に於いて閾値保持手段に格納された内容の一例を示す図。
【図３】上記実施形態に於いて補正手段に格納された補正条件とその補正内容の例を示す図。
【図４】本発明の第２実施形態に於けるサーバ計算機保護装置の構成を示すブロック図。
【図５】従来のサーバ計算機保護装置の構成を示すブロック図。
【図６】従来のサーバ計算機保護装置に於ける閾値保持手段に格納された内容の一例を示す図。
【符号の説明】
１０…サーバ計算機保護装置
１１Ａ，１１Ｂ…ネットワークインタフェース
１２…接続転送手段
１３…データ要求受信手段
１４…データ要求送信手段
１５…サーバデータ要求計測手段
１６…閾値保持手段
１７…閾値比較手段
１８…補正手段
４０…サーバ計算機保護装置
４１Ａ，４１Ｂ…ネットワークインタフェース
４２…接続転送手段
４３…データ要求受信手段
４４…データ要求送信手段
４５…サーバデータ要求計測手段
４６…閾値保持手段
４７…閾値比較手段
４８…補正手段
４９…データ要求遅延手段
【図１】
0003566700.tif 000002
【図２】
0003566700.tif 000003
【図３】
0003566700.tif 000004
【図４】
0003566700.tif 000005
【図５】
0003566700.tif 000006
【図６】
0003566700.tif 000007