以下、図面を参照して、本発明の実施形態を詳細に説明す
[第1の実施形態]
まず、第1の実施形態について説明する。
図1には、本発明の実施形態に係る情報処理システムの概略の構成図が示されている。
図1に示すように、本実施形態に係る情報処理システムは、プロキシサーバ100、クライアントPC102(少なくとも1台以上備える)、LAN104、広域ネットワーク106、ウェブサーバ108(少なくとも1台以上備える)、及びC&Cサーバ110を含んで構成される。
プロキシサーバ100は、情報処理装置として機能する装置であり、クライアントPC102と広域ネットワーク106を介してデータの通信を行うウェブサーバ108との中継を行う。
また、プロキシサーバ100は、クライアントPC102とウェブサーバ108との間で送受信されるデータを中継するか、あるいは、中継しないかを決定するための中継制御ルールに従って、当該データの通信を制御している。
さらに、プロキシサーバ100は、クライアントPC102の接続先への接続状況を把握し、通信の制御を行う。
クライアントPC102は、ウェブサーバ108から提供される様々なコンテンツ等をユーザへ提供する端末装置である。
また、クライアントPC102は、LAN104を介してプロキシサーバ100に記憶した中継制御ルールの参照や登録等を行うことが可能である。
ウェブサーバ108は、様々なコンテンツ等をユーザへ提供する装置であり、サービス事業者や個人ユーザ等によって設置されたものである。
C&Cサーバ110は、コンピュータウィルスに感染したクライアントPC102から接続がなされると、そのクライアントPC102に対して指令を送り、自身の制御下に置くことで、当該クライアントPC102へ攻撃を加える装置である。
次に、図2では、プロキシサーバ100、及びクライアントPC102に適用可能な情報処理装置のハードウェア構成の一例について説明する。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、CRTディスプレイ(CRT)210等の表示器への表示を制御する。
なお、図2では、CRT210と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
207はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワーク(例えば、図1に示したLAN104)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
次に、図3を用いてプロキシサーバ100の機能構成について説明する。尚、各機能の詳細については、後述するフローチャートなどで説明を行う。
プロキシサーバ100は、送受信部300及び通信制御部302から構成され、送受信部300は、クライアントPC102から送信されたリクエストの要求を受付け、その要求に対する許可/拒否通知を行ったり、種々のデータの送受信を行ったりする。
通信制御部302は、クライアントPC102とウェブサーバ108とのコネクションを確立し、種々のデータの送受信を行う。尚、クライアントPC102に対しては、送受信部300を介して、これらの通信やデータの送受信を行う。
通信制御部302は、コネクション確立部304とデータ送信制御部306とを備え、コネクション確立部304は、主に、クライアントPC102からのリクエスト(例えば、CONNECTリクエスト)を受付け、クライアントPC102とリクエストの要求先とのコネクションを確立する。
一方、データ送信制御部306は、コネクションが確立すると、以降、クライアントPC102とリクエストの要求先とにおける種々のデータの送受信を行う。
また、データ送信制御部306は、遮断処理部308を備え、コネクション確立部304によって、長時間接続されている通信が存在する場合、その通信を遮断する。
例えば、リクエストの要求先が、C&Cサーバ110のように、クライアントPC102のユーザが意図しない装置へ長時間接続されている場合、クライアントPC102に対する攻撃を抑止することから、この通信を遮断する。
次に、図4に示すフローチャートを用いて長時間接続通信の遮断処理について説明を行う。
ステップS100では、送受信部300は、クライアントPC102から新たなリクエストを受信する。
ステップS102では、送受信部300は、ステップS100において受信した時刻を、リクエスト処理を開始した時刻として記憶する。
ステップS104では、送受信部300は、ステップS100において受信したリクエストは、通信を遮断することなく継続して接続を行うリクエストである場合は、遮断除外リクエストフラグ(詳細後述)をONとし、通信を遮断するリクエストである場合は、遮断除外リクエストフラグをOFFとする。
ステップS102及びステップS104において、リクエスト処理を開始した時刻、及び遮断除外リクエストフラグを記憶したが、これらの各リクエストに関する情報は、例えば、図8に示すような記憶手段600に記憶される。
図8では、記憶手段600の構成が示され、リクエスト処理を開始した時刻を示すリクエスト処理開始時刻602、通信を強制的に遮断する機能のON/OFF状態を示す遮断機能ON/OFF604、リクエスト処理を開始してから長時間接続され続けている通信を遮断するため、遮断をすべきか否かを判別する際の基準とする遮断時間606、及びリクエストが遮断除外の対象であるか否かを示す遮断除外リクエストフラグ608等を含めて受信したリクエスト毎に記憶する。
遮断機能ON/OFF604、遮断時間606、及び遮断除外リクエストフラグ608は、図6に示す通信遮断設定画面400を用いて入力設定がなされ、図7に示す設定ファイル500として保管されている情報から設定がなされる。
図6には、通信遮断設定画面400の構成が示されており、通信遮断設定画面400は、通信を強制的に遮断する機能のON/OFFを入力するための切替欄402、遮断をすべきか否かを判別する際に基準となる遮断時間を入力するための遮断時間入力欄404、及び遮断除外の対象となるリクエストに係る情報を入力するためのリクエスト入力欄406を備えている。
リクエスト入力欄406には、様々なリクエストに係る情報を入力することが可能であり、例えば、URI(Uniform Resource Identifier)、装置によって安全性の高低があることからクライアントPC102のIPアドレス、及びアプリケーションによって適宜更新する必要性が生じることからUser Agent等の情報を入力することが可能である。
また、通信遮断設定画面400は、追加ボタン408、修正ボタン410、削除ボタン412、及び除外リスト414を備えており、追加ボタン408が押下されると、リクエスト入力欄406に入力されているリクエストに係る情報が除外リスト414へ表示される。
また、除外リスト414に表示されているリクエストに係る情報を選択すると、その選択されたリクエストに係る情報がリクエスト入力欄406に表示される。
そして、ユーザによってリクエスト入力欄406のリクエストに係る情報の修正がなされた後、修正ボタン410が押下されると、修正後のリクエストに係る情報で、除外リスト414が更新される。
さらに、除外リスト414に表示されているリクエストに係る情報を選択し、削除ボタン412が押下されると、選択されたリクエストに係る情報が、除外リスト414から削除される。
通信遮断設定画面400は、除外リスト414に表示されているリクエストに係る情報を登録するための設定ボタン416、及び通信遮断設定画面400を閉じるためのキャンセルボタン418を備えている。
設定ボタン416を押下すると、除外リスト414に表示されているリクエストに係る情報が、図7に示す設定ファイル500として記憶される。
設定ファイル500は、切替欄402によって入力された通信を強制的に遮断する機能のON/OFFを示す遮断機能フラグ502(遮断機能を有効にする場合、ON、無効にする場合、OFFに設定する)、遮断時間入力欄404に入力された遮断をすべきか否かを判別する際に基準となる遮断時間504、及び除外リスト414に表示されているリクエストに係る情報を示す遮断除外対象リクエスト506を備えている。
図7に示す例としては、遮断機能フラグ502がON、遮断時間504が1000秒、遮断除外対象リクエスト506は、URIとしてwww.example.jp、クライアントPC102のIPアドレスとして192.0.2.10、User AgentとしてTestConnectionが設定されている。
つまり、本ステップでは、図8に示す遮断機能ON/OFF604、遮断時間606、及び遮断除外リクエストフラグ608は、この記載順に、設定ファイル500の遮断機能フラグ502、遮断時間504、リクエストが遮断除外対象リクエスト506に含まれない場合は、ONが設定され、含まれる場合は、OFFが設定される。
ステップS106では、送受信部300は、ステップS100において受信したリクエストがHTTPSの通信プロトコルを使用した際に用いられるCONNECTメソッドによる通信の接続要求メッセージであるか否かを判定し、CONNECTメソッドによるものであると判定した場合は、ステップS110へ処理を進め、CONNECTメソッドによるものであると判定しない場合は(例えば、HTTPの通信プロトコルを使用したGET通信等)、ステップS108へ処理を進める。
ステップS108では、データ送信制御部306は、リクエストの要求先となるウェブサーバ108へデータを送信する。
ステップS110では、ステップS100で受信したリクエストに対して遮断処理を行う(詳細は、図5参照)。
ステップS112では、ステップS108、ステップS110で行った各処理についてのログを出力する。
図5に示すフローチャートを用いて遮断処理について説明を行う。
ステップS200では、コネクション確立部304は、ステップS100においてリクエストを送信したクライアントPC102と当該リクエストの要求先に対してコネクションを確立する。
具体的な例として、コネクション確立部304は、当該リクエストの要求先に対して、CONNECTメソッドのリクエストを送信し、要求先からの通信許可通知を受けると、リクエストを送信したクライアントPC102に対して、コネクションが確立したことを示す2××のレスポンスを通知する。
ステップS202では、データ送信制御部306は、ステップS200においてコネクションを確立したリクエストの要求先に対してデータが送信されるのを待機する。尚、リクエストの要求先からデータが送信されることを待機しても良い。
尚、通常のHTTP通信とは異なり、クライアントPC102からのコネクションの終了指示がなされるまで、継続して同じコネクション(TCPコネクション)を使用する。
ステップS204では、遮断処理部308は、遮断機能ON/OFF604がONか否かを判定し、ONであると判定した場合は、ステップS206へ処理を進め、ONであると判定しない場合は、ステップS214へ処理を進める。
ステップS206では、遮断処理部308は、遮断除外リクエストフラグにONが設定されているか否かを判定し、設定されていると判定した場合は、ステップS214へ処理を進め、OFFが設定されていると判定した場合は、ステップS208へ処理を進める。
ステップS208では、遮断処理部308は、現在時刻をシステム日付などにより取得し、遮断時間606から遮断時間を取得する。
ステップS210では、遮断処理部308は、現在時刻からステップS102において記憶したリクエスト処理を開始した時刻を減算することで、コネクションを確立してから経過した時間を算出する。
ステップS212では、遮断処理部308は、ステップS210において算出した経過時間が遮断時間以上であるか否かを判定し、以上であると判定した場合は、ステップS218へ処理を進め、未満であると判定した場合は、ステップS214へ処理を進める。
ステップS214では、データ送信制御部306は、クライアントPC102に対して、ステップS202で受信したデータを、送受信部300を介して送信する。
ステップS216では、通信制御部302は、クライアントPC102からCONNECTメソッドによる通信を終了する指示を、送受信部300を介して受信したか否かを判定し、受信したと判定した場合は、ステップS218へ処理を進め、受信したと判定しない場合は、ステップS202へ処理を進める。
ステップS218では、遮断処理部308は、確立していたCONNECTメソッドによる通信を遮断する
[第2の実施形態]
次に第2の実施形態について説明する。第1の実施形態では、遮断除外の対象となるリクエストを考慮して遮断処理を行っているが、これに加えて、第2の実施形態では、個別に遮断時間を設定するリクエストを考慮して遮断処理を行う。
尚、第2の実施形態では、第1の実施形態の構成及び処理と、ほぼ同様な構成及び処理を備えるため、そのような構成及び処理については、同一符号を用い、詳細な説明については省略し、異なる部分のみ説明を行う。
図9に示すフローチャートを用いて、長時間接続通信の遮断処理について説明を行う。尚、このフローチャートは、図4に示すフローチャートを改良したものである。
ステップS300では、遮断処理部308は、ステップS100において受信したリクエストが、通信を遮断することなく継続して接続を行うリクエストである場合は、遮断除外リクエストフラグ608をONとし、通信を遮断するリクエストである場合は、遮断除外リクエストフラグ608をOFFとする。
さらに、ステップS100において受信したリクエストは、遮断対象とするリクエストである場合は、個別遮断リクエストフラグ904をONとし、遮断対象とするリクエストでない場合は、個別遮断リクエストフラグ904をOFFとする。
ステップS102及びステップS300において、リクエスト処理を開始した時刻、遮断除外リクエストフラグ、及び個別遮断リクエストフラグ904を記憶したが、これらの各リクエストに関する情報は、例えば、図13に示すような記憶手段900に記憶される。
図13には、記憶手段900の構成が示されているが、この記憶手段900は、図8に示す記憶手段600を改良したものである。
記憶手段900は、リクエスト処理を開始してから所定時間接続され続けている通信を遮断するため、遮断をすべきか否かを判別する際に基準となる遮断時間902、及び当該リクエストが遮断対象となる場合に、個別に指定された遮断時間を使用するか否かを示す個別遮断リクエストフラグ904等を含めて受信したリクエスト毎に記憶する。
遮断機能ON/OFF604、遮断時間902、遮断除外リクエストフラグ608、及び個別遮断リクエストフラグ904は、図11に示す通信遮断設定画面700を用いて入力設定がなされ、図12に示す設定ファイル800として保管されている情報から設定がなされる。
図11には、通信遮断設定画面700の構成が示されており、この画面は、図6に示す通信遮断設定画面400を改良したものである。
通信遮断設定画面700は、通信遮断設定画面400の構成に加えて、遮断対象とするリクエストに係る情報を入力するための個別遮断リクエスト入力欄702、遮断をすべきか否かを判別する際に基準となる遮断時間を入力するための個別遮断時間入力欄704を備えている。
個別遮断リクエスト入力欄702は、リクエスト入力欄406と同様に、様々なリクエストに係る情報を入力することが可能である。
また、通信遮断設定画面700は、追加ボタン706、修正ボタン708、削除ボタン710、及び個別遮断リスト712を備えており、追加ボタン706が押下されると、個別遮断リクエスト入力欄702に入力されているリクエストに係る情報が表示される。
また、個別遮断リスト712に表示されているリクエストに係る情報を選択すると、その選択されたリクエストに係る情報が個別遮断リクエスト入力欄702、および個別遮断時間入力欄704に表示される。
そして、ユーザによって個別遮断リクエスト入力欄702、個別遮断時間入力欄704のリクエストに係る情報の修正がなされた後、修正ボタン708が押下されると、修正後のリクエストに係る情報で、個別遮断リスト712が更新される。
さらに、個別遮断リスト712に表示されているリクエストに係る情報を選択し、削除ボタン710が押下されると、選択されたリクエストに係る情報が、個別遮断リスト712から削除される。
除外リスト414及び個別遮断リスト712に表示されているリクエストに係る情報を登録するための設定ボタン416、及び通信遮断設定画面700を閉じるためのキャンセルボタン418を備えている。
設定ボタン416を押下すると、除外リスト414及び個別遮断リスト712に表示されているリクエストに係る情報が、図12に示す設定ファイル800として記憶される。
図12に示す設定ファイル800は、図7に示す設定ファイル500を改良したものである。
設定ファイル800は、設定ファイル500の構成に加えて、個別遮断リスト712に表示されているリクエストに係る情報を示す個別遮断リクエスト802を備えている。
図12に示す例としては、個別遮断リクエスト802は、URIとしてwww.example2.jp、その遮断時間として1500秒、クライアントPC102のIPアドレスとして192.0.2.20、その遮断時間として3000秒、User AgentとしてTestConnection2、遮断時間として500秒が設定されている。
つまり、本ステップでは、図13に示す遮断時間902は、リクエストが個別遮断リクエスト802に含まれる場合は、個別遮断リクエスト802の遮断時間を設定し、含まれない場合は、遮断時間504の遮断時間を設定する。
個別遮断リクエストフラグ904は、リクエストが個別遮断リクエスト802に含まれる場合は、ONが設定され、含まれない場合は、OFFが設定される。
ステップS302では、ステップS100で受信したリクエストに対して遮断処理を行う(詳細は、図10参照)。
ここからは図10に示すフローチャートを用いて、長時間接続通信の遮断処理について説明を行う。尚、このフローチャートは、図5に示すフローチャートを改良したものである。
ステップS400では、遮断処理部308は、個別遮断リクエストフラグ904にONが設定されているか否かを判定し、設定されていると判定した場合は、ステップS402へ処理を進め、OFFが設定されていると判定した場合は、ステップS404へ処理を進める。
ステップS402では、遮断処理部308は、遮断時間902から個別遮断時間を取得し、ステップS404では、遮断処理部308は、遮断時間902から遮断時間を取得する。
ステップS406では、遮断処理部308は、現在時刻をシステム日付などにより取得する。
ステップS408では、遮断処理部308は、現在時刻からステップS102において記憶したリクエスト処理を開始した時刻を減算することで、コネクションを確立してから経過した時間を算出する。
ステップS410では、遮断処理部308は、ステップS408において算出した経過時間がステップS402で取得した個別遮断時間あるいはステップS404で取得した遮断時間以上であるか否かを判定し、以上であると判定した場合は、ステップS218へ処理を進め、未満であると判定した場合は、ステップS214へ処理を進め
[第3の実施形態]
次に第3の実施形態について説明する。第1の実施形態及び第2の実施形態では、予め定義した遮断時間を用いて、遮断処理を行っているが、第3の実施形態では、連休中、PCの持ち出しによりコンピュータウィルスに感染してしまった場合、あるいは、連休中、ウイルス対策ソフトの定義ファイルが更新され、連休明けに自身のPCへ定義ファイルが反映される前に、コンピュータウィルスに感染することなどが想定されることから、連休明けに関しては、この遮断時間を通常よりも短い時間に調整する。
尚、第3の実施形態では、第1及び第2の実施形態の構成及び処理と、ほぼ同様な構成及び処理を備えるため、そのような構成及び処理については、同一符号を用い、詳細な説明については省略し、異なる部分のみ説明を行う。
図14には、通信遮断設定画面1000が示されており、通信遮断設定画面1000は、図6に示す通信遮断設定画面400を改良したものである。
通信遮断設定画面1000は、遮断時間調整欄1002を備えており、ユーザが遮断時間調整欄1002を選択して、設定ボタン416を押下すると、図15に示す設定ファイル1100の遮断時間調整フラグ1102にONとして記憶され、遮断時間調整欄1002が選択されずに、設定ボタン416を押下すると、遮断時間調整フラグ1102にOFFとして記憶される。尚、設定ファイル1100は、図7に示す設定ファイル500を改良したものである。
そして、ステップS104において、遮断時間606に遮断時間504から取得した遮断時間を設定する際に、現在の日付が連休明けの日付か否かをカレンダー情報(不図示)から判定し、連休明けである場合は、遮断時間504から取得した遮断時間よりも短い時間を遮断時間606に設定する。
例えば、遮断時間504から取得した遮断時間へ予め定めた調整率(1未満の正の数)を乗じて得られた時間を遮断時間606に設定しても良いし、予め定めた遮断時間を遮断時間606に設定しても良い。
また、通信遮断設定画面700にも、遮断時間調整欄1002と同様な機能を、個別遮断時間入力欄704に対応させて備えることで、それぞれの個別のリクエストに対して遮断時間の調整が行っても良い。
この場合、ステップS300では、遮断時間を調整するリクエストについては、設定ファイル800の個別遮断リクエスト802の各リクエストに対応して、遮断時間調整フラグに記憶し、このフラグがONであれば、遮断時間902には、個別遮断リクエスト802の遮断時間を前述のように調整した後の時間を設定する
[第4の実施形態]
次に、第4の実施形態について説明する。第1の実施形態乃至第3の実施形態では、予め定義した遮断時間を用いて、遮断処理を行っているが、第4の実施形態では、この遮断処理をした後、遮断されたリクエストと同様なリクエストが要求された場合、当該リクエストを要求先へ送信せずに保留させておき、このリクエストの要求を行ったクライアントPCを利用しているユーザに対して、当該リクエストを通信させることを確認するための画面を表示し、当該ユーザ操作によって画面を介してリクエストを通信する指示を受付けると、当該リクエストを要求先へ送信する。
コンピュータウィルスによるリクエストであれば、このような画面を表示した際に、ユーザ操作を行うことが難しいことから、画面を介してリクエストを通信する指示を受付けなければ、コンピュータウィルスによるリクエストであると推定して、当該リクエストを遮断する。
尚、第4の実施形態では、第1乃至第3の実施形態の構成及び処理と、ほぼ同様な構成及び処理を備えるため、そのような構成及び処理については、同一符号を用い、詳細な説明については省略し、異なる部分のみ説明を行う。
図16に示すフローチャートを用いて、長時間接続通信の遮断処理について説明を行う。尚、このフローチャートは、図4に示すフローチャートを改良したものである。
ステップS500では、送受信部300は、ステップS100において受信したリクエストは、通信を遮断するか否かの検査を行っていない場合、その検査の状態に関する情報を設定する処理を行う(詳細は、図17参照)。
ステップS106では、送受信部300は、ステップS100において受信したリクエストが、CONNECTメソッドによるものであると判定した場合は、ステップS502へ処理を進め、CONNECTメソッドによるものであると判定しない場合は、ステップS108へ処理を進める。
ステップS502では、ステップS100で受信したリクエストに対して、検査の状態に従って、当該リクエストに対するアクションを判定するアクセス制御リスト判定処理を行う(詳細は、図18参照)。
ステップS112では、ステップS108、ステップS502で行った各処理についてのログを出力する。
図17に示すフローチャートを用いて、未検査である通信の状態を設定する処理について説明を行う。
ステップS600では、送受信部300は、ステップS100において受信したリクエストが、通信遮断後ブロック画面1300(図21参照)を介してのリクエストである場合、当該通信遮断後ブロック画面1300に関する情報を画面情報記憶手段1500(図23参照)へ記憶する。
図21には、通信遮断後ブロック画面1300の構成が示されており、通信遮断後ブロック画面1300は、現在、通信を行いたいアクセス先は、以前、通信が遮断されているため、このアクセス先へ通信させずに保留としていることを表示するとともに、アクセス先のURLやアクセスを要求しているクライアントPC102のIPアドレス等の情報を表示し、保留を解除するためのパスワードの入力を催促する旨を表示するアクセス情報表示領域1302を備える。
通信遮断後ブロック画面1300は、保留を解除するためのパスワードを入力するためのパスワード入力欄1304、パスワード入力欄1304に入力されたパスワードが適正なものか否かを判定する際に押下するための解除ボタン1306を備えている。
図23には、画面情報記憶手段1500の構成が示されており、画面情報記憶手段1500は、通信遮断後ブロック画面1300のパスワード入力欄1304に入力されたパスワードに関する情報を記憶するパスワード情報1502、及び、本来、アクセスしようとしていたアクセス先に関する情報を記憶する本来の接続先情報1504を備えている。
ステップS602では、遮断処理部308は、通信遮断後ブロック画面1300のパスワード入力欄1304に入力されたパスワードに関する情報、本来、アクセスしようとしていたアクセス先に関する情報を画面情報記憶手段1500のパスワード情報1502、本来の接続先情報1504に記憶する。
ステップS604では、遮断処理部308は、ステップS100において受信したリクエストにパスワードに関する情報が含まれるか否かを判定し、含まれると判定した場合は、ステップS606へ処理を進め、含まれると判定しない場合は、ステップS608へ処理を進める。
本ステップにおける判定方法としては、ステップS602においてパスワード情報1502にパスワードが記憶されているか否かを判定し、記憶されていると判定した場合は、含まれると判定して、ステップS606へ処理を進め、記憶されていると判定しない場合は、ステップS608へ処理を進める。
ステップS606では、遮断処理部308は、パスワード入力欄1304に入力されたパスワードが正しいものであるか否かを判定し、正しいものであると判定した場合は、ステップS610へ処理を進め、正しいものであると判定しない場合は、ステップS608へ処理を進める。
本ステップにおける判定方法としては、パスワード情報1502に記憶されたパスワードが、設定ファイル1400(図22参照)に記憶された予め定めたパスワードに一致するか否かを判定し、一致すると判定した場合は、パスワードが正しいものであると判定して、ステップS610へ処理を進め、一致しないと判定した場合は、パスワードが正しいものであると判定せず、ステップS608へ処理を進める。
図22には、設定ファイル1400の構成が示されており、設定ファイル1400は、アクセス制御リスト判定処理を行うか否かをOn、Offで示す処理フラグ1402、アクセスを保留する際に、そのアクセスに関する通信の条件によって保留を行うが、この条件として、アクセス先のURL(url)、アクセスを要求したクライアントPC102のIPアドレス(ip)、及びクライアントPC102のUser Agent(ua)の何れの条件を用いるかを示す保留条件1404を備えている。
また、設定ファイル1400は、前述したパスワードを記憶するパスワード1406、通信遮断後ブロック画面1300を生成するための情報を有するファイルを示す確認画面情報ファイル1408、通信を遮断することを通知するための通信拒否画面(不図示)を生成するための情報を有するファイルを示す拒否画面情報ファイル1410を備えている。
さらに、設定ファイル1400は、アクセスの制御対象となるアクセス先のURLやアクセスを要求しているクライアントPC102のIPアドレス、アクセスに関する検査の状態を含むアクセス制御リスト情報1412を備えている。
この設定ファイル1400は、通信遮断設定画面1200(図20参照)に対して入力された情報が記憶される。
図20には、通信遮断設定画面1200の構成が示されており、この画面は、図6に示す通信遮断設定画面400を改良したものである。
通信遮断設定画面1200は、アクセス制御リスト判定処理を行うか否かをON、OFFで選択する処理選択欄1202、前述したように、アクセスを保留する際に、そのアクセスに関する通信の条件によって保留を行うが、この条件を選択するための条件選択領域1204を備えている。
条件選択領域1204は、当該条件として、アクセス先のURLを指定する場合に選択するための通信先URL欄1206、アクセスを要求したクライアントPC102のIPアドレスを指定する場合に選択するためのクライアントIPアドレス欄1208、及びクライアントPC102のUser Agentを指定する場合に選択するためのUser-Agent欄1210を備えている。
通信遮断設定画面1200は、アクセスを保留された通信に関して、通信遮断後ブロック画面1300を介して、保留を解除するためのパスワードを入力させるが、適正なパスワードや通信遮断後ブロック画面1300へ表示するメッセージを入力するための画面情報入力領域1212を備えている。
画面情報入力領域1212は、適正なパスワードを入力するためのパスワード入力欄1214、通信遮断後ブロック画面1300へ表示するメッセージを入力するためメッセージ入力欄1216を備えている。
通信遮断設定画面1200は、アクセスに関する通信の条件を入力するための条件入力欄1218を備えている。
条件入力欄1218は、通信先URL欄1206、クライアントIPアドレス欄1208、及びUser-Agent欄1210のうち、選択された条件に応じて、入力可能な条件が定められる。
通信先URL欄1206が選択された場合、条件入力欄1218のURLが入力可能となり、クライアントIPアドレス欄1208が選択された場合、条件入力欄1218のIPアドレスが入力可能となり、User-Agent欄1210が選択された場合、条件入力欄1218のUser-Agentが入力可能である。
条件入力欄1218の状態には、遮断、除外、未判定といった検査の状態を入力可能である。
また、通信遮断設定画面1200は、追加ボタン1220、修正ボタン1222、削除ボタン1224、及びアクセス制御リスト1226を備えており、追加ボタン1220が押下されると、条件入力欄1218に入力されているアクセスに関する通信の条件に係る情報がアクセス制御リスト1226へ表示される。
また、アクセス制御リスト1226に表示されているアクセスに関する通信の条件に係る情報を選択すると、その選択されたアクセスに関する通信の条件に係る情報が条件入力欄1218に表示される。
そして、ユーザによって条件入力欄1218のアクセスに関する通信の条件に係る情報の修正がなされた後、修正ボタン1222が押下されると、修正後のアクセスに関する通信の条件に係る情報で、アクセス制御リスト1226が更新される。
さらに、アクセス制御リスト1226に表示されているアクセスに関する通信の条件に係る情報を選択し、削除ボタン1224が押下されると、選択されたアクセスに関する通信の条件に係る情報が、アクセス制御リスト1226から削除される。
通信遮断設定画面1200は、アクセス制御リスト1226に表示されているアクセスに関する通信の条件に係る情報を登録するための設定ボタン1228、及び通信遮断設定画面1200を閉じるためのキャンセルボタン1230を備えている。
設定ボタン1228を押下すると、アクセス制御リスト1226に表示されているアクセスに関する通信の条件に係る情報が、図22に示す設定ファイル1400として記憶される。
つまり、処理選択欄1202にて選択されたON、OFFが処理フラグ1402に記憶し、通信先URL欄1206が選択された場合、保留条件1404にurlを記憶し、クライアントIPアドレス欄1208が選択された場合、保留条件1404にipを記憶し、User-Agent欄1210が選択された場合、保留条件1404にuaを記憶する。
パスワード入力欄1214に入力されたパスワードは、パスワード1406に記憶し、メッセージ入力欄1216に入力されたメッセージは、確認画面情報ファイル1408に記憶する。
通信拒否画面(不図示)についても、通信遮断後ブロック画面1300と同様に、メッセージ入力欄(不図示)に入力されたメッセージは、拒否画面情報ファイル1410に記憶する。
アクセス制御リスト1226に表示されたアクセスに関する通信の条件に係る情報は、アクセス制御リスト情報1412に記憶される。
具体的にいうならば、アクセス制御リスト1226の行は、アクセス制御リスト情報1412のidに記憶し、アクセス制御リスト1226のURLは、アクセス制御リスト情報1412のurlに記憶する。
また、アクセス制御リスト1226のIPアドレスは、アクセス制御リスト情報1412のipに記憶し、アクセス制御リスト1226のUser-Agentは、アクセス制御リスト情報1412のuaに記憶し、アクセス制御リスト1226の状態は、アクセス制御リスト情報1412のflagに記憶する。
尚、本ステップにおいて、パスワードは、事前に、ユーザに対して通告しておくか、ユーザが予め登録しておいたパスワードを使用しても良い。
後者の場合、クライアントPC102のIPアドレスと対応して、当該ユーザが登録しておいたパスワードを記憶しておき、本ステップでは、アクセスを要求しているクライアントPC102のIPアドレスとパスワード情報1502に記憶されたパスワードとが、予め記憶しておいたものと一致するか否かによって判定を行う。
ステップS608では、通信制御部302は、アクセス制御リスト1600(図24参照)から該当する未検査のレコードの状態を遮断に変更する。
図24には、アクセス制御リスト1600の構成が示されており、アクセス制御リスト1600は、アクセス制御リスト1600へ記憶されたレコードを一意に識別するためのリストID1602、検査の状態を示す状態1604、アクセス先を示す接続先URL1606、アクセスを要求しているクライアントPC102のIPアドレスを示すクライアントIPアドレス1608、及びクライアントPC102におけるUser Agentを示すUser-Agent1610を含んで構成されている。
これらの情報は、設定ファイル1400に情報が記憶されると、設定ファイル1400のアクセス制御リスト情報1412のそれぞれのデータを記憶する。
例えば、アクセス制御リスト情報1412のidに設定された値は、リストID1602、アクセス制御リスト情報1412のurlに設定された値は、接続先URL1606、アクセス制御リスト情報1412のipに設定された値は、クライアントIPアドレス1608、アクセス制御リスト情報1412のuaに設定された値は、User-Agent1610、アクセス制御リスト情報1412のflagに設定された値は、状態1604に記憶される。
本ステップでは、ステップS100において受信したリクエストにおいて、アクセス先となるURL、アクセスの要求を行っているクライアントPC102のIPアドレス、クライアントPC102におけるUser Agentが、アクセス制御リスト1600に記憶された各レコードにおいて、接続先URL1606、クライアントIPアドレス1608、及びUser-Agent1610を、すべて含んでおり、状態1604が未判定のレコードについて、状態1604を遮断に変更する。
ステップS610では、遮断処理部308は、ステップS100において受信したリクエストにおいて、アクセス先となるURL、アクセスの要求を行っているクライアントPC102のIPアドレス、クライアントPC102におけるUser Agentが、アクセス制御リスト1600に記憶された各レコードにおいて、接続先URL1606、クライアントIPアドレス1608、及びUser-Agent1610を、すべて含んでおり、状態1604が未判定のレコードについて、状態1604を除外に変更する。
ステップS612では、データ送信制御部306は、本来のアクセス先へリダイレクトするように、ステップS600において本来の接続先情報1504に記憶したアクセス先に対して通信を行うように設定する。
次に、図18に示すフローチャートを用いて、アクセス制御リスト判定処理について説明を行う。
ステップS700では、遮断処理部308は、設定ファイル1400の処理フラグ1402がOnであるか否かを判定し、Onであると判定した場合、ステップS702へ処理を進め、Offであると判定した場合は、ステップS716へ処理を進める。
ステップS702では、遮断処理部308は、アクセス制御リスト1600に未検査のレコードが存在するか否かを判定し、レコードが存在すると判定した場合、ステップS704へ処理を進め、存在すると判定しない場合は、ステップS716へ処理を進める。
本ステップにおける判定方法としては、アクセス制御リスト1600の状態1604が未判定のレコードが存在するか否かを判定し、存在すると判定した場合は、ステップS704へ処理を進め、存在すると判定しない場合は、ステップS716へ処理を進める。
ステップS704では、遮断処理部308は、未検査のレコードを1レコード取得し、ステップS706では、遮断処理部308は、今回のリクエストが検査対象となっているか否かを判定し、検査対象となっている場合、ステップS708へ処理を進め、検査対象となっていない場合、ステップS702へ処理を進める。
本ステップにおける判定方法としては、ステップS100において受信したリクエストにおいて、アクセス先となるURL、アクセスの要求を行っているクライアントPC102のIPアドレス、クライアントPC102におけるUser Agentが、ステップS704で取得したレコードの接続先URL1606、クライアントIPアドレス1608、及びUser-Agent1610を、すべて含んでいる場合、検査対象となっており、何れかを含んでいない場合、検査対象となっていないものとして判定を行う。
ステップS708では、遮断処理部308は、ステップS704で取得した状態1604が、除外である場合、ステップS710へ処理を進め、遮断である場合は、ステップS712へ処理を進め、未判定である場合は、ステップS714へ処理を進める。
ステップS710では、遮断処理部308は、今回のリクエストに係るアクセス先に対して遮断除外フラグを設定する。
ステップS712では、遮断処理部308は、拒否画面情報ファイル1410を用いて、通信拒否画面(不図示)を生成する。
ステップS714では、遮断処理部308は、確認画面情報ファイル1408を用いて、通信遮断後ブロック画面1300を生成する。この際に、ステップS100で受信したリクエストに係るアクセス先のURL等の情報を含めて生成を行うことで、本来のアクセス先に関する情報をクライアントPC102へ送信することが可能となる。
ステップS716では、ステップS100で受信したリクエストに対して遮断処理を行う(詳細は、図19参照)。
図19に示すフローチャートは、遮断処理を示している。尚、このフローチャートは、図5に示すフローチャートを改良したものである。
ステップS800では、遮断処理部308は、有効なアクセス制御リスト追加条件が存在するか否かを判定し、存在すると判定した場合は、ステップS802へ処理を進め、存在すると判定しない場合は、ステップS218へ処理を進める。
本ステップにおける判定方法としては、設定ファイル1400の保留条件1404に条件が設定されている場合、存在すると判定して、ステップS602へ処理を進め、条件が設定されていない場合、存在すると判定せずに、ステップS218へ処理を進める。
ステップS802では、遮断処理部308は、アクセス制御リスト1600の状態1604を未判定として記憶する。
ステップS112の処理前、あるいは処理後において、アクセス制御リスト1600の処理対象としているレコードに該当する設定ファイル1400のアクセス制御リスト情報1412のflagにアクセス制御リスト1600の状態1604の情報を記憶する。
以上、本発明によれば、例えば、コネクションが確立されてからの時間が所定時間経過したか否かを繰り返し監視するための処理負荷を軽減することが可能となる。つまり、不適切な接続先への接続を容易に制御することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。
また、本発明におけるプログラムは、図4、図5、図9、図10、図16乃至図19、に示すフローチャートの処理方法をコンピュータが実行可能なプログラムである。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。