(57)【要約】【課題】  認証エラーを原因とするイントラネット上の特定のクライアントからのアクセス要求がプロキシサーバ（HTTP Proxy Server）に集中した場合、負荷の増大（システムダウン）を未然に防ぐことを課題とする。【解決手段】  上記の課題を解決するために、本発明では、HTTP Proxy Server２００に対して、外部へのアクセス要求を送信する各クライアント２０１等それぞれのアクセス拒否の基準となる閾値およびアクセスを拒否する時間を算出する計算式を記憶しておき、前記各クライアント２０１等からのアクセス要求のうち認証エラーになる回数を計測し、当該計測の結果、前記閾値を超えるクライアントが存在する場合、対応する計算式を用いてアクセス拒否時間を算出し、当該クライアント２０１等からのアクセス要求について、算出されたアクセス拒否時間分のアクセスを拒否するものである。【選択図】図１
2012146104.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたクライアントからのアクセス要求に対するプロキシサーバにおけるアクセス制御方法において、
前記プロキシサーバに対して、外部へのアクセス要求を送信する各クライアントそれぞれのアクセス拒否の基準となる閾値およびアクセスを拒否する時間を算出する計算式を記憶しておき、
前記各クライアントからのアクセス要求のうち認証エラーになる回数を計測し、
当該計測の結果、前記閾値を超えるクライアントが存在する場合、対応する計算式を用いてアクセス拒否時間を算出し、
当該クライアントからのアクセス要求について、算出されたアクセス拒否時間分のアクセスを拒否することを特徴とするプロキシサーバにおけるアクセス制御方法。
【請求項２】
請求項１に記載のプロキシサーバにおけるアクセス制御方法において、
前記各クライアントについて、アクセス拒否時間が予め設定されている場合、前記計算式で算出されたアクセス拒否時間に、予め設定された前記アクセス拒否時間を足した時間分、アクセスを拒否することを特徴とするプロキシサーバにおけるアクセス制御方法。
【請求項３】
請求項１または２のいずれかに記載のプロキシサーバにおけるアクセス制御方法において、
前記各クライアントは、ＩＰアドレスで特定することを特徴とするプロキシサーバにおけるアクセス制御方法。
【請求項４】
ネットワークを介して接続されたクライアントからのアクセス要求を受信するプロキシサーバにおいて、
当該プロキシサーバに対して、外部へのアクセス要求を送信する各クライアントそれぞれのアクセス拒否の基準となる閾値およびアクセスを拒否する時間を算出する計算式を記憶しておく手段と、
前記各クライアントからのアクセス要求のうち認証エラーになる回数を計測する手段と、
当該計測の結果、前記閾値を超えるクライアントが存在する場合、対応する計算式を用いてアクセス拒否時間を算出する手段と、
当該クライアントからのアクセス要求について、算出されたアクセス拒否時間分のアクセスを拒否する手段を有することを特徴とするプロキシサーバ。
【請求項５】
請求項４に記載のプロキシサーバにおいて、
前記拒否する手段は、前記各クライアントについて、アクセス拒否時間が予め設定されている場合、前記計算式で算出されたアクセス拒否時間に、予め設定された前記アクセス拒否時間を足した時間分、アクセスを拒否することを特徴とするプロキシサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、いわゆるプロキシサーバに対するクライアントからのアクセスを制御するための技術に関する。その中でも特に、アクセスが集中した場合の制御に関する。
【背景技術】
【０００２】
現在、企業などの組織内のクライアントから外部(インターネット等)にアクセスする場合には、アクセス制御を行うためにその中間にプロキシサーバ（HTTP Proxy Server）を設けている。プロキシサーバでは、アクセス要求を受けた場合、当該組織で許可されたアクセスかを判断している。例えば、その組織の業務範囲内のページかなどの判断基準を設けて、アクセス制御をしている。
【０００３】
しかし、外部へのアクセス要求が集中した場合、プロキシサーバの負荷が増大し、最悪システムダウンすることが懸念される。
【０００４】
この問題を解決するための技術が、特許文献１に開示されている。特許文献１では、プロキシサーバを複数用意し、並列処理を行うことやアクセス要求を受けたプロキシサーバの状況に応じて他のプロキシサーバが対応することが記載されている。また、特許文献２には、ＡＳＰサービスを提供するためのサーバがクライアントからリクエストを受信した場合、このリクエストの受信間隔が閾値を超えない場合、エラーとしてビジネスロジックを実行しないことが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２７１４１５号公報
【特許文献２】特開２００９−１４６００５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、プロキシサーバへのアクセス要求の集中としては、あるクライアントからの利用者が意図しないエラーの如き要求(例えば、認証エラー)が集中的に実行されることが原因となることがある。
【０００７】
しかし、特許文献１および２では、プロキシサーバやＡＳＰサーバなど、サーバ側での受信集中しか考慮されておらず、ある特定（１ないし複数の）のクライアントからの要求が集中することは考慮されていない。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明では、プロキシサーバに対して、外部へのアクセス要求を送信する各クライアントそれぞれのアクセス拒否の基準となる閾値およびアクセスを拒否する時間を算出する計算式を記憶しておき、前記各クライアントからのアクセス要求のうち認証エラーになる回数を計測し、当該計測の結果、前記閾値を超えるクライアントが存在する場合、対応する計算式を用いてアクセス拒否時間を算出し、当該クライアントからのアクセス要求について、算出されたアクセス拒否時間分のアクセスを拒否するものである。
【０００９】
また、本発明には、各クライアントについて、アクセス拒否時間が予め設定されている場合、前記計算式で算出されたアクセス拒否時間に、予め設定された前記アクセス拒否時間を足した時間分、アクセスを拒否することも含まれる。
【発明の効果】
【００１０】
本発明によれば、プロキシサーバに対する認証エラー等を理由とするアクセス集中を抑止することが可能になる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態を適用したシステム構成図である。
【図２】本発明の一実施形態のフローチャート(その１)である。
【図３】本発明の一実施形態のフローチャート（その２）である。
【図４】本発明の一実施形態で用いるデータ(テーブル)を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態について、図面を用いて説明する。図１は、本実施形態を適用するシステム構成図である。本システムでは、いわゆるＰＣである各クライアント（クライアントＡ２０１、クライアントＢ２０２、クライアントＤ２０４、クライアントＥ２０５、クライアントＦ２０６）が、外部のインターネットとの接続を、HTTP Proxy Server ２００を介して実行する。特に、クライアントＤ２０４、クライアントＥ２０５、クライアントＦ２０６に関しては、別組織(例：グループ会社)のHTTP Proxy Serverであり、HTTP Proxy Server ２００を利用するに当たり、更にProxy C ２０３を介してインターネット等外部にアクセスする。本実施形態では、HTTP Proxy Server ２００が、これら各装置からのアクセス要求を受けたとき、特に認証エラーとなるアクセス要求が集中して届いた場合HTTP Proxy Serverが高負荷になることで生じるシステムダウンを防ぐため、認証エラーを大量に送信している特定クライアントからのアクセスを、所定の条件に従って一定時間拒否するものである。なお、これらのＩＰアドレスはそれぞれ図示するとおりである。
【００１３】
以下、HTTP Proxy Server ２００における処理フローを図２および３を用いて説明する。
ステップ１００において、HTTP Proxy Server管理者が、認証エラーリクエストを多量に送信してくる特定クライアントからのアクセスを拒否するアクセス拒否時間を決定する際の、アクセスを拒否するか否かを決定する認証エラーリクエスト数の閾値や、アクセスを拒否する場合のアクセス拒否時間を決定する計算式について、HTTP Proxy Server管理者が特定IPごとに重み付けをする必要があると判断した場合、そのHTTP Proxy Server管理者から処理の要求を受付ける。
【００１４】
ステップ１０１において、重み付けする処理の要求を受け付けた場合、閾値を個別に定義するのか、あらかじめ定義されているデフォルトの閾値を定義するのかをユーザが選択可能なように、選択画面を表示する。個別の定義となる任意の閾値について入力された場合は、入力された値(すなわち、個別の閾値ないしデフォルト値)をディスク上のテーブル（すなわち、図４のテーブル１「個別定義一覧」）中の閾値を示す欄に格納する。このことで、該当IPの閾値として定義されることになる。デフォルトの閾値が選択された場合、メモリに格納されているデフォルトの閾値をテーブル１「個別定義一覧」に格納することで、該当IPの閾値として定義される。
【００１５】
ステップ１０２において、アクセス拒否時間の計算式を、個別に定義するのか、あらかじめ定義されているデフォルト計算式で定義するのか、ユーザが選択可能なように、選択画面を表示する。個別に定義する方法として、複数の基本となる計算式から一つ選択された場合、重み付けのための係数の入力を受け付ける。入力された計算式をテーブル１「個別定義一覧」の該当の欄に格納し、該当IPのアクセス拒否時間の計算式として定義する。デフォルトの計算式が選択された場合、メモリに格納されているデフォルトの計算式をテーブル１「個別定義一覧」に格納し該当IPの計算式として定義する。なお、この計算式の内容は、利用者が適宜自由に設定変更可能である。
【００１６】
ステップ１０３において、閾値やアクセス拒否時間の計算式を個別に定義したいIPそれぞれについて定義できていない場合は、それぞれ定義が終わるまでステップ１０１およびステップ１０２を繰返す。
【００１７】
ステップ１０４では、予め定めた開始時間となる、ある時刻から直前R秒間の認証エラーリクエストを、ディスク上に格納されているアクセスログから参照する。参照したアクセスログをIPごとに分けて、IPごとに認証エラーリクエストの合計数を計測する。この計測した結果の一例を図４のテーブル２「IP別カウント一覧」に格納する。
【００１８】
ステップ１０５では、ステップ１０４でカウントされたIPについて、ステップ１０１にて個別に閾値を定義しているかテーブル１「個別定義一覧」から確認する。この結果、該当IPに個別の閾値が存在する場合はテーブルに格納されている閾値、存在しない場合はメモリに格納されているデフォルトの閾値で超えていないか確認する。
【００１９】
ステップ１０６では、ステップ１０５で閾値を超えていたと判断した場合は、該当IPについて、ステップ１０２にてアクセス拒否時間を計算する式を個別に定義しているか、テーブル１「個別定義一覧」から確認する。
【００２０】
ステップ１０７では、該当IPについて個別にアクセス拒否時間の計算式を定義している場合、図４のテーブル１「個別定義一覧」から該当する計算式を読み出し、計算式に従ってアクセス拒否時間を計算する。
【００２１】
ステップ１０８では、該当IPについて個別にアクセス拒否時間の計算式を定義していない場合、図４のテーブル１「個別定義一覧」に格納されているデフォルトの計算式に従ってアクセス拒否時間を計算する。
【００２２】
ステップ１０９では、該当IPに0より大きいアクセス拒否時間が存在しているか、図４のテーブル３「IP別アクセス拒否時間一覧」から確認する。
【００２３】
ステップ１１０では、テーブル３「IP別アクセス拒否時間一覧」を参照し、該当IPにアクセス拒否時間がすでに存在する場合は、ステップ１０７、またはステップ１０８で計算したアクセス拒否時間に加算し、テーブル３「IP別アクセス拒否時間一覧」に書き込む。
【００２４】
ステップ１１１では、テーブル３「IP別アクセス拒否時間一覧」を参照し、該当IPにアクセス拒否時間が存在しない場合、ステップ１０７、またはステップ１０８で計算したアクセス拒否時間を該当IPのアクセス拒否時間とし、テーブル３「IP別アクセス拒否時間一覧」に書き込む。
【００２５】
ステップ１１２では、ステップ１０４で計測した各IPについて、ステップ１１０で設定された閾値を超えているかのチェックを、図４のテーブル３’「IP別アクセス拒否時間一覧」に記録された内容を用いて行う。各IPが超えている場合はステップ１１３に進み、超えていない場合はステップ１０５に戻る。
【００２６】
ステップ１１３では、アクセス拒否時間が存在する各IPについて、該当するIPそれぞれからのアクセスを拒否する設定を、iptablesコマンドを使用してIPパケットフィルタルールのテーブルに追加する。
【００２７】
ステップ１１４では、時間R間隔でテーブル３「IP別アクセス拒否時間一覧」を更新するために時間R待つ。つまり、時間R後、更新処理を実行する。
【００２８】
ステップ１１５では、アクセスを拒否しているIPそれぞれのアクセス拒否時間を、ステップ１１４で待った時間Rだけアクセス拒否時間から減算する。この結果を図４のテーブル３”「IP別アクセス拒否時間一覧」に示す。なお、図４のテーブル３、３’、３”は、「IP別アクセス拒否時間一覧」であり、それぞれ同じもので、時間経過に従ってその内容が変化している様子を示している。
【００２９】
ステップ１１６では、ステップ１１５で減算した結果、テーブル３「IP別アクセス拒否時間一覧」を参照し、アクセス拒否時間が0以下になったIPが存在したら、該当IPからのアクセスを拒否する設定を、iptablesコマンドを使用してIPパケットフィルタルールのテーブルから削除してアクセス可能にする。
【００３０】
以上で、本実施形態の内容の説明を終わる。なお、上記の実施形態は、HTTP Proxy Server ２００が、各クライアントからのアクセス要求に対する制御を例に記載した。但し、Proxy C  ２０３が、クライアントD,E,Fに対して同様の処理を行ってもよいし、HTTP Proxy Server ２００がProxy C  ２０３からのアクセス要求に対して同様に制御してもよい。
【符号の説明】
【００３１】
２００…HTTP Proxy Server、２０１、２０２、２０４、２０５、２０６…クライアント、２０３…proxy Ｃ
【図１】
2012146104.tif 000003
【図２】
2012146104.tif 000004
【図３】
2012146104.tif 000005
【図４】
2012146104.tif 000006