説明

フィルタリングシステムおよびフィルタリング方法

【課題】
クライアントとWebサーバ間におけるHTTP通信のフィルタリングを行う際に、フィルタリング装置で、通常時はTCP終端処理を行わず、受信パケットからHTTPアクセスの要求ラインにおけるURLを抽出し、URLの通過/アクセス拒否判定を実施し、アクセス拒否の判定結果であった場合にTCP終端処理を実施する方式において、
遮断ケースとなるHTTPアクセスが頻繁に行われた場合、Webサーバ側でDoS攻撃と誤認識される危険性がある。
【解決手段】
ネットワークシステムは、同一クライアントから同一Webサーバにおけるアクセス規制対象データへの頻繁なアクセスの検知手段と、当該手段での検知後に当該WebサーバへのTCP接続の遮断手段とを備え、アクセス規制対象データを提供するWebサーバへの頻繁なTCP接続を遮断する。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書で開示される主題は、クライアントとサービス提供サーバ間におけるHTTP通信のフィルタリングを行う、フィルタリングシステム及びフィルタリング方法に関する。
【背景技術】
【0002】
従来のHTTP通信のフィルタリング方式には、HTTPプロキシ方式や透過型プロキシ方式がある(特許文献1、段落0002〜0005)。
【0003】
しかし、これらの方式には以下の課題が指摘されている。
【0004】
前者のHTTPプロキシ方式では、HTTPクライアントがHTTPプロキシを使用する設定を行っていない場合はフィルタリングを行うことができない(特許文献1、段落0006)。
【0005】
また、後者の透過型プロキシ方式では、TCPセッションの終端処理が複雑でありソフトウェアによる処理が必要であるため、スループットの低下が発生する(特許文献1、段落0007、0008)。
【0006】
これらの課題を解決するため、通常時はTCP終端処理を行わず、受信パケットからHTTPアクセスの要求ラインにおけるURLを抽出し、URLの通過/アクセス拒否判定を実施し、判定結果がアクセス拒否であった場合にTCP終端処理を実施する方式が提案されている(特許文献1、段落0013、0014)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2010−244134号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1が開示する技術は、クライアントからのアクセスを遮断(規制)するケースにおいて、一度クライアントからWebサーバへのTCP 3way-handshakeを透過転送しTCP接続を確立した後に、アクセス拒否と判定して、サーバ側TCP終端処理を行っている(特許文献1、段落0030〜0034および図3)。
【0009】
この方法では、Webサーバにとっては、TCP接続が行なわれた後、HTTP要求を受信せずに、クライアント側からTCP切断が行われるように見える。
【0010】
このような処理が頻繁に行われた場合、Webサーバ側は、DoS(Denial of Service)攻撃と誤認識し、Webサーバ管理者が、当該クライアント側ネットワークからの接続に対し、IPアドレスベースでのアクセス遮断といったセキュリティ対策を取る可能性がある。
【0011】
アクセス遮断されると、それ以降、当該クライアント側ネットワークに接続しているクライアントは、Webサーバに接続できなくなってしまうという問題がある。
【0012】
この問題を回避するためには、アクセスを遮断するケースにおいても、フィルタリング装置からWebサーバにTCP接続後、Webサーバに対してHTTP要求を送信せずにTCP切断、というシーケンスが頻繁に行われないようにしなければならない。
【課題を解決するための手段】
【0013】
上記課題を解決するために、開示されるフィルタリングシステムは、
Webサーバ装置などのサービスサーバ装置(以下、Webサーバ装置と総称する)が提供するサービスが、アクセスするユーザにとって、アクセス規制の対象である場合に、当該サービスへの頻繁なTCP接続を遮断可能な構成を備えることを特徴とする。
【0014】
具体的には、同一クライアントから同一Webサーバにおけるアクセス規制対象データへの頻繁なアクセスの検知手段と、当該手段での検知後に当該WebサーバへのTCP接続の遮断手段と、を備えることを第一の特徴とする。
【0015】
さらに、ある同一のアクセス規制対象データを提供するWebサーバが複数存在しており、あるホスト名に対するDNS名前解決時の応答データ中に異なる複数のIPアドレスが記載されていた場合、それらの異なる複数のIPアドレスを有する当該Webサーバ群のアクセス規制対象データへのアクセスを同一のものとして扱い、前記検知手段による検知後、当該Webサーバ群へのTCP接続の遮断手段と、を備えることを第二の特徴とする。
【0016】
さらに、クライアントからの、Webサーバのホスト名の名前解決時において、前記検知手段による検知後、アクセス規制対象データを提供するWebサーバの名前解決要求でのアクセス遮断手段と、を備えることを第三の特徴とする。
【0017】
より具体的な態様の一つは、クライアント装置とサービスサーバ装置との間で確立されたTCP接続、並びに、TCP接続を利用して送受信される、HTTP要求及びHTTP応答、を中継する機能と、クライアント装置からサービスサーバ装置が提供するアクセス規制対象サービスへのアクセスを遮断する機能とを備えるフィルタリング装置を備えるネットワークシステムであって、
フィルタリング装置は、検知処理と遮断処理を行うフィルタリング処理部を備え、
検知処理は、同一のクライアント装置から、サービスサーバ装置が提供する同一のアクセス規制対象サービスへの頻繁なHTTPアクセスを、HTTPアクセスが利用するTCP接続の確立要求により検知する処理であり、
遮断処理は、検知処理によって頻繁なHTTPアクセスが利用するTCP接続の確立要求が検知されると、TCP接続の確立要求をサービスサーバ装置へ転送せずに、当該フィルタリング装置を終端とするTCP接続の、確立と遮断とを行う処理であることを特徴とする。
【0018】
上記フィルタリング処理部は、遮断処理において、確立したTCP接続を利用したクライアント装置からのHTTP要求を受信したら、アクセス規制メッセージをクライアント装置へ送信し、TCP接続を遮断するように構成してもよい。
【0019】
また、フィルタリング処理部は、検知処理において、TCP接続の確立要求が、アクセス規制対象サービスへの頻繁なHTTPアクセスが利用するTCP接続の確立要求ではない、と判断された場合、TCP接続の確立要求をサービスサーバ装置へ転送し、要求されたTCP接続の確立を可能にし、確立したTCP接続を利用するHTTP要求が、アクセス規制対象サービスへのHTTP要求であれば、頻繁なアクセスとなるか否かを判断するために、HTTP要求数をカウントアップするように構成してもよい。
【0020】
また、フィルタリング処理部は、
クライアント装置の接続元IPアドレスと、サービスサーバ装置が提供するサービスへの接続先IPアドレスと、接続先IPアドレスへのアクセスにより提供されるサービスが、クライアント装置のユーザによるアクセスの規制対象か否かを示す情報と、を対応付けて管理する
ように構成してもよい。
【0021】
さらに、フィルタリング処理部は、
検知処理において、クライアント装置から受信した名前解決要求を名前解決サーバに転送し、名前解決サーバから名前解決応答を受信し、受信する名前解決応答に含まれる接続先IPアドレスを、上記で管理する接続先IPアドレスとし、名前解決要求に含まれるURLと対応付けて、管理するように構成してもよい。
【0022】
さらに、フィルタリング処理部は、
検知処理において、上記で管理する一つのURLと、名前解決サーバから受信する名前解決応答に含まれる複数の接続先IPアドレスとを対応付けて管理するように構成してもよい。
【0023】
また、フィルタリング処理部は、
検知処理において、クライアント装置およびサービスサーバ装置を識別し、クライアント装置の接続元IPアドレスからアクセス規制対象データへの、一定時間内のHTTP要求数をカウンタ値として保持し、カウンタ値がある閾値を超過すると、頻繁なアクセスが発生したとみなすように構成してもよい。
【0024】
また、他の態様は、クライアント装置とサービスサーバ装置との間でHTTP要求及びHTTP応答、を中継する機能と、クライアント装置からサービスサーバ装置が提供するアクセス規制対象サービスへのアクセスを遮断する機能とを備えるフィルタリング装置を備えるネットワークシステムであって、
フィルタリング装置は、検知処理と遮断処理を行うフィルタリング処理部を備え、
クライアント装置の接続元IPアドレスと、クライアント装置から受信する名前解決要求に含まれるURLと、名前解決サーバから受信する名前解決応答に含まれる接続先IPアドレスと、接続先IPアドレスへのアクセスにより提供されるサービスが、クライアント装置のユーザによるアクセスの規制対象か否かを示す情報と、を対応付けて管理し、
検知処理において、クライアント装置からの、サービスサーバ装置の名前解決要求を検知すると、遮断処理において、名前解決要求に対する応答として、サービスサーバ装置とは異なる他のサーバ装置のIPアドレスを応答することにより、アクセス規制対象サービスへのアクセスを遮断することを特徴とする。
【0025】
上記システムは、さらに、アクセス規制メッセージを応答するSorryサーバ装置を備え、
フィルタリング処理部は、遮断処理において、名前解決要求に対する応答として、Sorryサーバ装置のIPアドレスを、クライアント装置に応答し、クライアント装置に、Sorryサーバ装置との間で、TCP接続の確立要求と、HTTP要求とを、行わせるように構成してもよい。
【発明の効果】
【0026】
開示によれば、フィルタリング装置が、クライアントからのアクセスを遮断する場合であっても、その後の処理において、Webサーバ管理者にDoS攻撃と誤認識される可能性を低減することができる。
【図面の簡単な説明】
【0027】
【図1】実施の形態1の、フィルタリングシステムの構成例を示す図である。
【図2】実施の形態1の、フィルタリング装置20の通信管理テーブルの構成例を示す図である。
【図3】実施の形態1の、名前解決要求受信時の処理を例示するシーケンス図である。
【図4】実施の形態1の、TCP接続要求受信時の処理を例示するシーケンス図である。
【図5】実施の形態1の、フィルタリング装置20の中継処理を例示するフローチャートである。
【図6】実施の形態1の、フィルタリング装置20の透過転送処理(TCP接続確立)を例示するシーケンス図である。
【図7】実施の形態1の、フィルタリング装置20のHTTPフィルタ処理を例示するシーケンス図である。
【図8】実施の形態1の、フィルタリング装置20の代理応答処理(みなしフィルタリング)を例示するシーケンス図である。
【図9】実施の形態2の、フィルタリングシステムの構成例を示す図である。
【図10】実施の形態2の、フィルタリング装置20の通信管理テーブルの構成例を示す図である。
【図11】実施の形態2の、フィルタリング装置20のアクセス制御管理テーブルの構成例を示す図である
【図12】実施の形態2の、名前解決要求受信時の処理を例示するシーケンス図である。
【図13】実施の形態2の、フィルタリング装置20のHTTPフィルタ処理を例示するシーケンス図である。
【図14】実施の形態3の、名前解決要求受信時の処理を例示するシーケンス図である。
【図15】各装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0028】
以下、本発明の実施の形態について、図面を用いて説明する。
【0029】
なお、同じ番号が付与される要素、ステップがある場合は、それぞれ、同じ機能を備え、同じ処理内容を実施するものとする。
【0030】
(実施の形態1)
図1は、本明細書で開示するフィルタリングシステム1の構成例を示すブロック図である。
【0031】
フィルタリングシステム1は、フィルタリング装置20、アクセス制御サーバ装置30、認証サーバ装置40を備える。
【0032】
フィルタリングシステム1は、一つ以上のクライアント装置10、Webサーバ装置50、DNSサーバ装置60と、それぞれLAN(Local Area Network)や無線ネットワークなどのネットワークを経由して通信が可能な状態にある。
【0033】
クライアント装置10は、HTTP(HyperText Transfer Protocol)などのTCP/IP上のプロトコルを用いてWebサーバ装置50に接続し、サービス要求を行う装置である。クライアント装置10は、Webサーバ装置50にアクセスする前に、DNSサーバ装置60に対して、DNSプロトコルを用いて、Webサーバ装置50の代表ドメイン名の名前解決要求を送信する。そして、その応答としてWebサーバ装置50のIPアドレスを受信する。
【0034】
Webサーバ装置50は、クライアント装置10に対し、Webサービスを提供するサーバプロセスが稼働する装置である。
【0035】
DNSサーバ装置60は、名前解決サービスを提供するサーバ装置である。
【0036】
アクセス制御サーバ装置30は、あるURLに対するアクセス制御情報要求を受信すると、URLデータベースを検索し、そのURLがアクセス規制の対象かどうかを示すアクセス制御情報を応答するサーバ装置である。
【0037】
認証サーバ装置40は、ユーザを識別するための情報とともにユーザ認証要求を受信し、そのユーザがフィルタリングの対象ユーザかどうかを示すユーザ種別情報を応答するサーバ装置である。
【0038】
ここで、ユーザを識別するための情報の例としては、IPアドレスやユーザID情報などがある。
【0039】
フィルタリング装置20は、クライアント装置10とWebサーバ装置50間におけるHTTP通信のフィルタリングを行う装置である。
【0040】
クライアント装置10、フィルタリング装置20、アクセス制御サーバ装置30、認証サーバ装置40、Webサーバ装置50、DNSサーバ装置60などの各サーバ装置のハードウェア構成の例を図15に示す。
【0041】
これらのサーバ装置は、CPU1001、主記憶装置1002、HDD等の外部記憶装置1005、CD-ROMやDVD-ROM等の可搬性を有する記憶媒体1008から情報を読み出す読取装置1003、ディスプレイ、キーボードやマウスなどの入出力装置1006、ネットワーク1010に接続するためのNIC(Network Interface Card)等の通信装置1004、及びそれらの装置間を接続するバスなどの内部通信線1007を備えた一般的なコンピュータ1000により実現できる。例えば、後述の通信管理テーブル221は、主記憶装置1002の一部の領域を用いて実現する。
【0042】
また、各装置は、それぞれの外部記憶装置1005に記憶されている各種プログラムを主記憶装置1002にロードしてCPU1001で実行し、通信装置1004を用いてネットワーク1010に接続してクライアント装置10や他サーバ装置とのネットワーク通信を行うことで、本実施例における各種処理部と、それらによる各種処理を実現する。
【0043】
フィルタリング装置20は、フィルタリング処理部21と通信管理情報記憶部22とを備える。通信管理情報記憶部22は、通信管理テーブル221を備える。
【0044】
フィルタリング処理部21は、フィルタリング装置20が行う全ての通信処理を制御する。
【0045】
ここで図2を用いて、通信管理テーブル221の詳細について説明する。
【0046】
実施の形態1における通信管理テーブル221(221Aという)は、接続元IPアドレスフィールド2211と、ユーザ種別フィールド2212と、接続先IPアドレスフィールド2213と、アクセス制御情報フィールド2214と、規制カウンタ2215と、有効期限フィールド2216と、を備える。
【0047】
接続元IPアドレスフィールド2211は、接続元であるクライアント装置10のIPアドレスを記憶する領域である。クライアント装置10のIPアドレスは、クライアント装置10からWebサーバ装置50へのTCP接続開始時のSYNパケットの送信元IPアドレスヘッダより得る。
【0048】
ユーザ種別フィールド2212は、クライアント装置10がフィルタリング対象か非対象かを示すユーザ種別情報を記憶する領域である。ユーザ種別情報は、認証サーバ40に問い合わせた結果より得る。
【0049】
接続先IPアドレスフィールド2213は、クライアント装置10からWebサーバ装置50への通信における、接続先であるWebサーバ装置50側のIPアドレスを記憶する領域である。接続先IPアドレスは、クライアント装置10からWebサーバ装置50へのTCP接続開始時のSYNパケットの送信先IPアドレスヘッダより得る。
【0050】
アクセス制御情報フィールド2214は、接続先IPアドレス2213の値が示すWebサーバ装置50がアクセス規制対象かどうかを示す値(アクセス制御情報)を記憶する領域である。アクセス制御情報は、アクセス制御サーバ装置30にアクセス制御情報要求を送信して、受信した応答結果より得る。
【0051】
規制カウンタ2215は、接続先IPアドレス2213の示すWebサーバ装置50に対して送信したHTTP要求のうち、所定時間内に宛先URLが、アクセス制御サーバ装置30から応答されたアクセス制御情報でアクセス規制対象となってアクセス規制を行った数を示すカウンタ領域である。フィルタリング処理部21は、アクセス規制対象URLへのHTTP要求を受信する毎に規制カウンタ2215の値をカウントアップする。
【0052】
有効期限フィールド2216は、通信管理テーブル221の各エントリの有効期限日時を記憶する領域である。接続元IPアドレス及び/もしくは接続先IPアドレスを検索キーワードとして検索して得たエントリの有効期限2216の値が現在日時より過去であれば、当該エントリは無効とし、規制カウンタ2215を0クリアする。そして、再度新しくエントリを作成するか、上書き登録する。
【0053】
以下、図3ないし図8を用いて、実施の形態1でのフィルタリング装置20におけるフィルタリング処理部21でのフィルタリング方法について説明する。
【0054】
図3は、名前解決要求受信時の処理を例示するシーケンス図である。
【0055】
フィルタリング装置20は、クライアント装置10から名前解決要求を受信すると、通信プロトコルの判定処理を行う(ステップS101)。
【0056】
例えば、パケットの宛先ポート番号をチェックし、53番ポートであればDNSプロトコルとして判定する。もしくは、80番ポート以外であればHTTP以外のプロトコルとして判定する。
【0057】
以降は送信元IPアドレス、送信元ポート番号、送信先IPアドレス、送信先ポート番号の4つ組で通信を管理および識別する。一度プロトコルチェックを行った通信については、通信が完了するまでプロトコルチェックをスキップする。
【0058】
そして、HTTP以外のプロトコルであれば、透過転送処理を行う(ステップS102)。
【0059】
図4は、TCP接続要求受信時の処理を例示するシーケンス図である。
【0060】
フィルタリング装置20は、クライアント装置10からSYNパケットを受信すると、プロトコルチェック処理を行う(ステップS101)。
【0061】
HTTPであると判定すると、SYNパケットの接続元IPアドレスヘッダより得た接続元IPアドレスを検索キーワードとして通信管理テーブル221Aを検索する(ステップS202)。
【0062】
エントリが存在し、かつ有効期限内であれば、中継処理(S206)に進み、そうでなければ、通信管理テーブル221Aにエントリを作成し、ステップS202で得た接続元IPアドレスを接続元IPアドレスフィールド2211に、フィルタリング非対象を示すユーザ種別情報をユーザ種別フィールド2212に、SYNパケットの送信先IPアドレスヘッダより得た接続先IPアドレスを接続先IPアドレスフィールド2213に、アクセス規制非対象を示すアクセス制御情報をアクセス制御情報フィールド2214に、0という値を規制カウンタ2215に、あらかじめフィルタリング装置20に設定ファイルなどで設定した有効期間を現在日時に足した値を有効期限日時として有効期限フィールド2216に、それぞれ格納し、ステップS204に進む(ステップS203)。
【0063】
ここで、エントリはあるが有効期限フィールド2216に記憶した値が有効期限切れであった場合は、有効期間を現在日時に足した値を有効期限日時として有効期限フィールド2216に更新したうえで、他のフィールド2211〜2215に上書きしても良い。そして、認証サーバ装置40に、接続元IPアドレス情報を付与してユーザ認証要求を送信する(ステップS204)。
【0064】
認証サーバ装置40から受信したユーザ認証応答よりユーザ種別情報を取得し、ステップS204で作成した通信管理テーブル221Aのエントリのユーザ種別フィールド2212に記憶する(ステップS205)。
【0065】
その後、中継処理(S206)に進む。
【0066】
次に、図5を用いて、中継処理(ステップS206)の詳細について説明する。
【0067】
まず、通信管理テーブル221Aの該当エントリについて、ユーザ種別2212より、ユーザ種別情報を取得し(ステップS301)、ユーザ種別がフィルタリング対象かどうかをチェックする(ステップS302)。
【0068】
フィルタリング対象でなければ、当該通信における通信データを透過転送する(ステップS310)。ここで、透過転送期間は、有効期限2216が示す日時までとしてよい。
【0069】
また、フィルタリング対象であれば、接続先IPアドレス2213の情報が、該当エントリに登録されているかチェックし(ステップS303)、なければ登録する(ステップS304)。
【0070】
そして、アクセス制御情報2214が規制対象であるかをチェックする(ステップS305)。
【0071】
規制対象以外であれば、または、規制対象か否かが記録されていなければ、透過転送処理(TCP接続確立)(S309)に進む。
【0072】
規制対象であれば、規制カウンタ2215の値を取得し(ステップS306)、あらかじめ登録済みの閾値超過チェックを行う(ステップS307)。ここで、閾値をフィルタリング装置20の設定ファイルに記載しておき、フィルタリング装置20起動時に設定ファイルから読み取り、メモリ1002領域に記憶しておいても良い。
【0073】
規制カウンタ2215の値が閾値を超過していれば、代理応答処理(みなしフィルタリング)(S308)に進む。
【0074】
超過していなければ、透過転送処理(TCP接続確立)(S309)に進む。
【0075】
次に、図6を用いて、透過転送処理(TCP接続確立)(ステップS309)の詳細について説明する。
【0076】
まず、当該通信におけるクライアント装置10とWebサーバ装置50間でのTCP接続シーケンス(TCP 3way-handshake)については透過転送する(ステップS401)。
【0077】
次にHTTPフィルタ処理(S402)を行い、最後にサーバ側TCP接続を強制終了させるため、RSTパケットを送信する(ステップS403)。
【0078】
次に、上記HTTPフィルタ処理(S402)について、図7を用いて、実施の形態1におけるステップS402A)の詳細を説明する。
【0079】
HTTP要求を受信すると、リクエスト行に記載されているURLに関するアクセス制御情報を、アクセス制御サーバ装置30に送信して問い合わせ、アクセス規制情報を取得する(ステップS501)。
【0080】
そして、取得した情報を用いて、通信管理テーブル221Aのアクセス制御情報フィールド2214を更新する(空欄の場合は、新規に登録する)(ステップS502)。
【0081】
次に、アクセス規制情報を参照して、アクセス制御情報フィールド2214の値を、チェックし、アクセス規制対象かどうかを比較する(ステップS503)。
【0082】
アクセス規制対象でなければ、当該HTTP要求をWebサーバ装置50に送信し、Webサーバ装置50からのHTTP応答をクライアント装置10に送信する(透過転送処理(HTTP通信))(ステップS504)。そして、次のHTTP要求を受信すると、S501に戻って処理を継続する。
【0083】
そして、クライアント装置10もしくはWebサーバ装置50からTCP切断要求を受信した場合、または、クライアント装置10及びWebサーバ装置50と無通信状態のまま一定時間が経過(タイムアウト)した場合は、TCP切断ケースとみなし、クライアント装置10及びWebサーバ装置の両方に対してTCP切断シーケンスを行う。そうでなければ、S501に戻って処理を継続する(ステップS505)。
【0084】
アクセス規制対象であれば、通信管理テーブル221Aの規制カウンタ2215の値をカウントアップし、当該URLへのアクセスを規制した旨を表すアクセス規制メッセージを、HTTP応答としてクライアント装置10に応答し、クライアント装置10とのTCP切断を行う(代理応答処理(HTTPエラー応答))(ステップS506)。
【0085】
次に、図8を用いて、代理応答処理(みなしフィルタリング)(ステップS308)の詳細について説明する。
【0086】
クライアント装置10から受信したTCP接続のためのSYNパケットに対して、自フィルタリング装置20を終端とするTCP接続受付シーケンス(TCP 3way-handshake)を行い(ステップS601)、次に代理応答処理(HTTPエラー応答)(S506)を行う。
【0087】
以上のように、本実施の形態では、
通常時はTCP終端処理を行わず、受信パケットからHTTPアクセスの要求ラインにおけるURLを抽出し、URLの通過/アクセス拒否判定を実施し、アクセス拒否の判定結果であった場合にTCP終端処理を実施する方式において、
アクセス規制対象データを提供するWebサーバへの頻繁なTCP接続を遮断できるようにしたため、
Webサーバ管理者にDoS攻撃と誤認識される危険性を回避することができる、という効果を有する。
【0088】
(実施の形態2)
図9を用いて、本発明に関わるフィルタリングシステム1の実施の形態2について説明する。
【0089】
本実施の形態では、フィルタリングシステム1は、実施の形態1の構成に加えて、更にアクセス制御情報記憶部23を備える。
【0090】
また、通信管理情報記憶部22の備える通信管理テーブル221の構成に変更がある。
【0091】
以下、図10を用いて、実施の形態2における通信管理テーブル221(221Bという)の構成について説明する。
【0092】
通信管理テーブル221Bは、接続元IPアドレスフィールド2211と、ユーザ種別2212と、接続先情報2217と、規制カウンタ2215と、有効期限2216とを備える。接続元IPアドレスフィールド2211と、ユーザ種別2212と、規制カウンタ2215と、有効期限2216については、実施の形態1と同じである。
【0093】
接続先情報2217は、アクセス制御情報記憶部23の備えるアクセス制御管理テーブル231のエントリ番号を記憶する領域である。
【0094】
図11を用いて、アクセス制御管理テーブル231について説明する。
【0095】
アクセス制御管理テーブル231は、接続先Webサーバ装置50に関する詳細な情報を管理する。
【0096】
アクセス制御管理テーブル231は、宛先ホスト名フィールド2311と、複数のIPアドレスフィールド2312と、アクセス制御情報フィールド2313と、有効期限フィールド2314とを備える。
【0097】
アクセス制御情報2313は、実施の形態1におけるアクセス制御情報2214と同じ情報を記憶する領域である。
【0098】
次に、図12を用いて、名前解決要求受信時の処理の詳細を説明する。
【0099】
フィルタリング装置20は、クライアント装置10から名前解決要求を受信すると、通信プロトコルの判定処理を行う(S101)。
【0100】
ここで、パケットの宛先ポート番号をチェックし、53番ポートであればDNSプロトコルとして判定する。
【0101】
DNSプロトコルであれば、名前解決要求をDNSサーバ装置60に転送し、名前解決応答を受信する(ステップS701)。
【0102】
そして、受信した名前解決応答のデータを解析し、名前解決対象のホスト名を宛先ホスト名フィールド2311に、IPアドレス情報をIPアドレスフィールド2312に登録し、有効期限2314の日時を更新する(ステップS702)。名前解決応答で未登録のIPアドレスがDNSサーバ装置60から応答された場合は、新たなIPアドレスフィールド2312を追加し、複数のIPアドレスを登録する。
【0103】
そして、名前解決応答をクライアント装置10に転送する(ステップS703)。
【0104】
また、図5の中継処理(S206)でのS305の処理においては、宛先IPアドレスを検索キーワードとして、アクセス制御管理テーブル231のIPアドレスフィールド2312に対して検索を行い、マッチしたエントリのアクセス制御情報2313を用いて、規制対象かどうかを判定する。ここで、1つのエントリの複数のIPアドレスフィールド2312にIPアドレスの登録がある場合は、すべてのIPアドレスフィールド2312について検索を行う。
【0105】
次に、図13を用いて、実施の形態2におけるHTTPフィルタ処理を説明する。
【0106】
HTTP要求を受信すると、アクセス規制情報を取得する(S501)。
【0107】
そして、取得した情報を用いて、アクセス制御情報管理テーブル231のアクセス制御情報フィールド2313を更新する(ステップS801)。
【0108】
そして、通信管理テーブル221Bの接続先情報2217に、S801で更新したエントリのエントリIDを記憶する(ステップS802)。
【0109】
次に、アクセス制御情報フィールド2313の値をチェックし、アクセス規制対象かどうかを比較する(ステップS803)。
【0110】
アクセス規制情報より、当該URLがアクセス規制対象でなければ、当該HTTP要求をWebサーバ装置50に送信し、Webサーバ装置50からのHTTP応答をクライアント装置10に送信する(透過転送処理(HTTP通信))(ステップS504)。そして、次のHTTP要求を受信すると、S501に戻って処理を継続する。
【0111】
そして、クライアント装置10もしくはWebサーバ装置50からTCP切断要求を受信した場合、または、クライアント装置10及びWebサーバ装置50と無通信状態のまま一定時間が経過(タイムアウト)した場合は、TCP切断ケースとみなし、クライアント装置10及びWebサーバ装置の両方に対してTCP切断シーケンスを行う。そうでなければ、S501に戻って処理を継続する(ステップS505)。
【0112】
アクセス規制対象であれば、通信管理テーブル221Bの規制カウンタ2215の値をカウントアップし、当該URLへのアクセスを規制した旨を表すアクセス規制メッセージを、HTTP応答としてクライアント装置10に応答し、クライアント装置10とのTCP切断を行う(代理応答処理(HTTPエラー応答))(ステップS506)。
【0113】
以上のように、本実施の形態では、
ある同一のアクセス規制対象データを提供するWebサーバ装置50が複数存在している場合に、当該Webサーバ装置50群のアクセス規制対象データへのアクセスを同一のものとして扱い、当該Webサーバ装置50群へのTCP接続の遮断を行うことができるという効果を有する。
【0114】
(実施の形態3)
図9および図14を用いて、本発明に関わるフィルタリングシステム1の実施の形態3について説明する。
【0115】
図9において、本実施の形態では、フィルタリングシステム1は、実施の形態2の構成に加えて、Sorryサーバアドレス記憶部24と、Sorryサーバ装置70と、を備える。
【0116】
Sorryサーバ装置70は、クライアント装置10からHTTPアクセスを受信すると、常に、当該アクセス先へのアクセスを規制している旨をユーザに知らせるアクセス規制メッセージを応答するサーバ装置である。前述のアクセス規制メッセージは、例えば、「当該Webサイトへのアクセスは規制されています。」というような文言である。
【0117】
Sorryサーバアドレス記憶部24は、Sorryサーバ装置70のIPアドレスを記憶する領域である。ここで、SorryサーバのIPアドレスを、フィルタリング装置20の設定ファイルに記載しておき、フィルタリング装置20起動時に設定ファイルから読み取り、Sorryサーバアドレス記憶部24に記憶しても良い。
【0118】
図14を用いて、実施の形態3における、名前解決要求受信時の処理を説明する。
【0119】
フィルタリング装置20は、クライアント装置10から名前解決要求を受信すると、通信プロトコルの判定処理を行う(S101)。
【0120】
ここで、パケットの宛先ポート番号をチェックし、53番ポートであればDNSプロトコルとして判定する。
【0121】
DNSプロトコルであれば、名前解決対象のホスト名を検索キーワードとして、アクセス制御管理テーブル231の宛先ホスト名フィールド2311を検索する(ステップS901)。
【0122】
検索して得られたエントリのアクセス制御情報2313が規制対象であり、かつ、名前解決要求の送信元IPアドレスを検索キーワードとして通信管理テーブル221Bの接続元IPアドレスフィールド2211を検索し、得られたエントリのユーザ種別2212がフィルタ対象であるかを判定する(ステップS902)。
【0123】
条件を満たしていれば、Sorryサーバアドレス記憶部24に記憶しているSorryサーバのIPアドレスを、名前解決応答としてクライアント装置10に応答する(ステップS903)。
【0124】
以上のように、本実施の形態によれば、クライアント装置10はSorryサーバ装置70と直接HTTP通信を行い、アクセス規制メッセージを受信することになるため、フィルタリング装置20へのトラフィックを削減することができる、という効果を有する。
【0125】
なお、本発明は、上記実施形態に限定されず、種々の変形や応用が可能である。
【符号の説明】
【0126】
1:フィルタリングシステム
10:クライアント装置
20:フィルタリング装置
21:フィルタリング処理部
22:通信管理情報記憶部
23:アクセス制御情報記憶部
24:Sorryサーバアドレス記憶部
30:アクセス制御サーバ装置
40:認証サーバ装置
50:Webサーバ装置
60:DNSサーバ装置
70:Sorryサーバ装置
221:通信管理テーブル
231:アクセス制御管理テーブル
1000:コンピュータ
1001:CPU
1002:主記憶装置
1003:読取装置
1004:通信装置
1005:外部記憶装置
1006:入出力装置
1007:内部バス
1008:可搬記憶媒体
1010:ネットワーク

【特許請求の範囲】
【請求項1】
クライアント装置とサービスサーバ装置との間で確立されたTCP接続、並びに、前記TCP接続を利用して送受信される、HTTP要求及びHTTP応答、を中継する機能と、前記クライアント装置から前記サービスサーバ装置が提供するアクセス規制対象サービスへのアクセスを遮断する機能とを備えるフィルタリング装置を備えるネットワークシステムであって、
前記フィルタリング装置は、検知処理と遮断処理を行うフィルタリング処理部を備え、
前記検知処理は、同一の前記クライアント装置から、前記サービスサーバ装置が提供する同一の前記アクセス規制対象サービスへの頻繁なHTTPアクセスを、前記HTTPアクセスが利用するTCP接続の確立要求により検知する処理であり、
前記遮断処理は、前記検知処理によって前記頻繁なHTTPアクセスが利用するTCP接続の確立要求が検知されると、前記TCP接続の確立要求を前記サービスサーバ装置へ転送せずに、当該フィルタリング装置を終端とする前記TCP接続の、確立と遮断とを行う処理である
ことを特徴とするネットワークシステム。
【請求項2】
請求項1に記載のネットワークシステムであって、
前記フィルタリング処理部は、
前記遮断処理において、
確立した前記TCP接続を利用した前記クライアント装置からのHTTP要求を受信したら、アクセス規制メッセージを前記クライアント装置へ送信し、前記TCP接続を遮断する
ことを特徴とするネットワークシステム。
【請求項3】
請求項1または2に記載のネットワークシステムであって、
前記フィルタリング処理部は、
前記検知処理において、
前記TCP接続の確立要求が、前記アクセス規制対象サービスへの頻繁なHTTPアクセスが利用するTCP接続の確立要求ではない、と判断された場合、前記TCP接続の確立要求を前記サービスサーバ装置へ転送し、要求されたTCP接続の確立を可能にし、
確立した前記TCP接続を利用するHTTP要求が、前記アクセス規制対象サービスへのHTTP要求であれば、前記頻繁なアクセスとなるか否かを判断するために、前記HTTP要求数をカウントアップする
ことを特徴とするネットワークシステム。
【請求項4】
請求項1から3のいずれか一に記載のネットワークシステムであって、
前記フィルタリング処理部は、
前記クライアント装置の接続元IPアドレスと、前記サービスサーバ装置が提供するサービスへの接続先IPアドレスと、前記接続先IPアドレスへのアクセスにより提供される前記サービスが、前記クライアント装置のユーザによるアクセスの規制対象か否かを示す情報と、を対応付けて管理する
ことを特徴とするネットワークシステム。
【請求項5】
請求項4に記載のネットワークシステムにおいて、
前記フィルタリング処理部は、
前記検知処理において、
前記クライアント装置から受信した名前解決要求を名前解決サーバに転送し、前記名前解決サーバから名前解決応答を受信し、
受信する前記名前解決応答に含まれる接続先IPアドレスを、前記管理される前記接続先IPアドレスとし、前記名前解決要求に含まれるURLと対応付けて、管理する
ことを特徴とするネットワークシステム。
【請求項6】
請求項5に記載のネットワークシステムにおいて、
前記フィルタリング処理部は、
前記検知処理において、
前記管理される一つの前記URLと、前記名前解決サーバから受信する名前解決応答に含まれる複数の接続先IPアドレスとを対応付けて管理する
ことを特徴とするネットワークシステム。
【請求項7】
請求項1から6のいずれか一に記載のネットワークシステムであって、
前記フィルタリング処理部は、
前記検知処理において、
前記クライアント装置および前記サービスサーバ装置を識別し、
前記クライアント装置の接続元IPアドレスから前記アクセス規制対象データへの、一定時間内のHTTP要求数をカウンタ値として保持し、
前記カウンタ値がある閾値を超過すると、前記頻繁なアクセスが発生したとみなす
ことを特徴とするネットワークシステム。
【請求項8】
クライアント装置とサービスサーバ装置との間でHTTP要求及びHTTP応答、を中継する機能と、前記クライアント装置から前記サービスサーバ装置が提供するアクセス規制対象サービスへのアクセスを遮断する機能とを備えるフィルタリング装置を備えるネットワークシステムであって、
前記フィルタリング装置は、
検知処理と遮断処理を行うフィルタリング処理部を備え、
前記クライアント装置の接続元IPアドレスと、前記クライアント装置から受信する名前解決要求に含まれるURLと、名前解決サーバから受信する名前解決応答に含まれる接続先IPアドレスと、前記接続先IPアドレスへのアクセスにより提供される前記サービスが、前記クライアント装置のユーザによるアクセスの規制対象か否かを示す情報と、を対応付けて管理し、
前記検知処理において、前記クライアント装置からの、前記サービスサーバ装置の名前解決要求を検知すると、
前記遮断処理において、前記名前解決要求に対する応答として、前記サービスサーバ装置とは異なる他のサーバ装置のIPアドレスを応答することにより、前記アクセス規制対象サービスへのアクセスを遮断する
ことを特徴とするネットワークシステム。
【請求項9】
請求項8に記載のネットワークシステムであって、
さらに、アクセス規制メッセージを応答するSorryサーバ装置を備え、
前記フィルタリング処理部は、
前記遮断処理において、
前記名前解決要求に対する応答として、前記Sorryサーバ装置のIPアドレスを、前記クライアント装置に応答し、
前記クライアント装置に、前記Sorryサーバ装置との間で、前記TCP接続の確立要求と、HTTP要求とを、行わせる
ことを特徴とするネットワークシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2013−98880(P2013−98880A)
【公開日】平成25年5月20日(2013.5.20)
【国際特許分類】
【出願番号】特願2011−241840(P2011−241840)
【出願日】平成23年11月4日(2011.11.4)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】