(58)【調査した分野】(Int.Cl.,DB名)
前記第1ウェブサーバが保持しているコンテンツを前記第2ウェブサーバにコピーするコピー手段をさらに有し、前記コピー手段によって、前記第1ウェブサーバが保持しているコンテンツと前記第2ウェブサーバが保持しているコンテンツが同一となるように維持されることを特徴とする請求項1ないし3のいずれか1項に記載のウェブシステム。
前記切替手段は、所定の時刻となり、かつ、前記攻撃検出手段が攻撃を検出していなければ、前記コンテンツを提供するためにアクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行することを特徴とする請求項1ないし5のいずれか1項に記載のウェブシステム。
前記攻撃検出手段によって前記攻撃が検出されたウェブサーバがアクティブになっていたときに当該ウェブサーバにアクセスしたユーザを前記アクセスログから判別する判別手段と、
前記判別手段により判別されたユーザに対してアラートを送信するアラート手段と
をさらに有することを特徴とする請求項7に記載のウェブシステム。
前記第1ウェブサーバおよび前記第2ウェブサーバは、アクティブとなっているときに前記ユーザによって要求されたコンテンツを、前記サーバ切替装置を介さずに、前記ユーザに対して送信することを特徴とする請求項1ないし10のいずれか1項に記載のウェブシステム。
前記切替手段は、所定期間ごとにウェブサーバを切り替え、当該所定期間が経過する前であっても前記アクティブとなっているウェブサーバに攻撃が実行されたことを前記攻撃検出手段が検出すると、攻撃されておらず、かつ、アクティブとなっていないウェブサーバに切り替えを実行する請求項1ないし12のいずれか1項に記載のウェブシステム。
前記第1ウェブサーバおよび前記第2ウェブサーバのうち少なくとも1つは、複合機、プリンタまたはネットワークスキャナであることを特徴とする請求項1ないし13のいずれか1項に記載のウェブシステム。
前記第1ウェブサーバおよび前記第2ウェブサーバのうち少なくとも1つは、複合機、プリンタまたはネットワークスキャナに接続されていることを特徴とする請求項1ないし13のいずれか1項に記載のウェブシステム。
前記コピー手段は、前記第1ウェブサーバが保持しているコンテンツのうちコピーの対象となるコンテンツに異常があるかどうかを検査し、異常がなければ、当該コンテンツを前記第2ウェブサーバにコピーすることを特徴とする請求項4に記載のウェブシステム。
前記コピー手段は、前記第1ウェブサーバが保持しているコンテンツのうちアクセス頻度の高いコンテンツを優先的に検査してコピーすることを特徴とする請求項16に記載のウェブシステム。
コンテンツを保持する第1ウェブサーバと、前記第1ウェブサーバが保持しているコンテンツと同一のコンテンツを保持する第2ウェブサーバとに接続されており、所定のサーバ切り替え条件が満たされると、ユーザに対して前記コンテンツを提供するウェブサーバを切り替えるサーバ切替装置であって、
前記第1ウェブサーバまたは前記第2ウェブサーバのうちユーザに対して前記コンテンツを提供するためにアクティブとなっていないウェブサーバについて過去に攻撃が実行されたかどうかを検出する攻撃検出手段と、
サーバ切り替え条件の1つとして、前記アクティブとなっていないウェブサーバについて攻撃が実行されていないという条件が満たされていれば、ユーザに対して前記コンテンツを提供するためにアクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行する切替手段と、
ユーザからのリクエストを受信すると、前記リクエストを前記第1ウェブサーバまたは前記第2ウェブサーバのうち前記切替手段によってアクティブとなっているウェブサーバに転送する転送手段と
を有することを特徴とするサーバ切替装置。
コンテンツを保持する第1ウェブサーバと、前記第1ウェブサーバが保持しているコンテンツと同一のコンテンツを保持する第2ウェブサーバとに接続されたコンピュータを、
前記第1ウェブサーバまたは前記第2ウェブサーバのうちユーザに対して前記コンテンツを提供するためにアクティブとなっていないウェブサーバについて過去に攻撃が実行されたかどうかを検出する攻撃検出手段と、
サーバ切り替え条件の1つとして、前記アクティブとなっていないウェブサーバについて攻撃が実行されていないという条件が満たされていれば、ユーザに対して前記コンテンツを提供するためにアクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行する切替手段と、
ユーザからのリクエストを受信すると、前記リクエストを前記第1ウェブサーバまたは前記第2ウェブサーバのうち前記切替手段によってアクティブとなっているウェブサーバに転送する転送手段として機能させることを特徴とするプログラム。
コンテンツを保持する第1ウェブサーバと、前記第1ウェブサーバが保持しているコンテンツと同一のコンテンツを保持する第2ウェブサーバとに接続されており、所定のサーバ切り替え条件が満たされると、ユーザに対して前記コンテンツを提供するウェブサーバを切り替えるサーバ切替方法であって、
前記第1ウェブサーバまたは前記第2ウェブサーバのうちユーザに対して前記コンテンツを提供するためにアクティブとなっていないウェブサーバについて過去に攻撃が実行されたかどうかを検出する攻撃検出工程と、
サーバ切り替え条件の1つとして、前記アクティブとなっていないウェブサーバについて攻撃が実行されていなければ、ユーザに対して前記コンテンツを提供するためにアクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行する切替工程と、
ユーザからのリクエストを受信すると、前記リクエストを前記第1ウェブサーバまたは前記第2ウェブサーバのうち前記切替工程によってアクティブとなっているウェブサーバに転送する転送工程と、
前記第1ウェブサーバまたは前記第2ウェブサーバのうち前記切替工程においてアクティブとなっているウェブサーバが、前記リクエストによって要求されたコンテンツを前記ユーザに対して送信する送信工程と
を有することを特徴とするサーバ切替方法。
【発明を実施するための形態】
【0009】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。ただし、この実施形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。また、実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0010】
図1を用いて、本実施形態に係るシステムについて説明する。
図1に示す如く、本実施形態に係るウェブシステム1では、インターネットやイントラネットなどのネットワークであるWWW環境100に対してサーバ切替装置107を介してメインサーバ101とミラーサーバ104とが択一的に接続される。なお、ウェブサーバは3台以上であってもよい。
【0011】
メインサーバ101は、クライアントコンピュータ110からリクエストを受信するとクライアントコンピュータ110に送信されるウェブコンテンツ102と、ウェブコンテンツ102に対するクライアントコンピュータ110のアクセスに関する情報を記録したセッション情報103とを記録している。ミラーサーバ104も同様にクライアントコンピュータからリクエストを受信するとクライアントコンピュータ110に送信されるウェブコンテンツ105と、ウェブコンテンツ105に対するクライアントコンピュータ110のアクセスに関する情報を記録したセッション情報106とを記録している。ウェブコンテンツ102とウェブコンテンツ105とは全く同じ構成のウェブコンテンツ(HTMLファイル、画像ファイル、音声ファイル、動画ファイル、スクリプトなど)である。メインサーバ101がWWW環境100に対してウェブサービスを提供している期間(アクティブ期間)において、セッション情報106はセッション情報103をコピーして作成されている。このコピーはウェブサーバの切り替えられるときに実行されてもよい。ウェブコンテンツ102とウェブコンテンツ105は、通常、管理者権限を有するユーザによってアップロードされたものである。セッション情報103、106にはアクセスしてきたクライアントコンピュータ110のIPアドレス、セッションID、実行された操作内容(ダウンロードしたコンテンツやアップロードしたファイル名など)が含まれてもよい。つまり、セッション情報103、106にはユーザまたはクライアントコンピュータを特定可能な情報やクライアントコンピュータ110がサーバに対して実行した操作内容が記録される。そのため、コンテンツに対するウイルス感染や改竄などの攻撃が検出されたときに、この攻撃を実行してきたユーザまたはコンピュータを特定するのに役立つ。なお、セッション情報の一部はアクセスログに記録されてもよい。
【0012】
図2は、メインサーバ101、ミラーサーバ104、サーバ切替装置107に適用可能なコンピュータのハードウェア構成例を示すブロック図である。CPU201は、ROM202やRAM203に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行う。本コンピュータをメインサーバ101、ミラーサーバ104、サーバ切替装置107に適用した場合、CPU201は、メインサーバ101、ミラーサーバ104、サーバ切替装置107が行うものとして後述する各処理を実行する。ROM202には、本コンピュータの設定データやブートプログラムなどが格納されている。RAM203は、HDD(ハードディスクドライブ)204からロードされたコンピュータプログラムやデータ、インターフェース207を介して外部から受信したデータなどを一時的に記憶するためのエリアを有する。さらに、RAM203は、CPU201が各種の処理を実行する際に用いるワークエリアを有する。すなわち、RAM203は、各種の記憶エリアを適宜提供することができる。HDD204には、OS(オペレーティングシステム)や、本コンピュータを適用した装置が行う各種の処理をCPU201に実行させるためのコンピュータプログラムやデータが保存されている。本コンピュータをメインサーバ101、ミラーサーバ104、サーバ切替装置107に適用した場合、係るコンピュータプログラムには、メインサーバ101、ミラーサーバ104、サーバ切替装置107が行うものとして後述する各処理をCPU201に実行させるためのコンピュータプログラムが含まれている。HDD204に保存されているコンピュータプログラムやデータは、CPU201による制御に従って適宜RAM203にロードされ、CPU201による処理対象となる。入力装置205は、キーボードやマウスなどにより構成されており、本コンピュータの操作者は、この入力装置205を操作することで、各種の指示をCPU201に対して入力することができる。表示装置206は、CRTや液晶画面などにより構成されており、CPU201による処理結果を画像や文字などでもって表示する。インターフェース207は、様々なインターフェースで構成されている。たとえば、本コンピュータをネットワークに接続する為のネットワークインターフェース、本コンピュータに記憶装置を接続する為のデバイスインターフェースを含む。208は上述の各部を繋ぐバスである。
【0013】
本実施形態では説明を簡明にするために、メインサーバ101、ミラーサーバ104、サーバ切替装置107およびクライアントコンピュータ110の何れも
図2に示した構成を有するコンピュータであるものとして説明するが、コンピュータの構成については係る構成に限定されるものではない。また、メインサーバ101、ミラーサーバ104、サーバ切替装置107とで異なる構成を有するコンピュータを適用しても良い。
【0014】
メインサーバ101にはクライアントコンピュータ110に提供されるウェブコンテンツ102が置かれ、メインサーバ101よりサーバ切替装置107を通してWWW環境100に公開される。ユーザがウェブコンテンツ102を閲覧することによって生成されたセッション情報103は、メインサーバ101に保存される。また、メインサーバ101に保存されているセッション情報103をウェブコンテンツ102は利用することができる。
【0015】
ミラーサーバ104にはクライアントコンピュータ110に提供されるウェブコンテンツ105が置かれ、ミラーサーバ104よりサーバ切替装置107を通してWWW環境100に公開される。このとき、ミラーサーバ104に置かれるウェブコンテンツ105はメインサーバ101に置かれているウェブコンテンツ102と全く同一のものである。
【0016】
ユーザ(クライアントコンピュータ110)がミラーサーバ104のウェブコンテンツ105を閲覧することによって生成されたセッション情報106は、ミラーサーバ104に保存される。また、ミラーサーバ104に保存されているセッション情報106をウェブコンテンツ105は利用することができる。
【0017】
メインサーバ101がWWW環境100に対し接続され、公開されている間は、ミラーサーバ104がWWW環境100に対し非接続である。反対に、ミラーサーバ104がWWW環境100に対し接続され、公開されている間は、メインサーバ101がWWW環境100に対し非接続である。このように、クライアントコンピュータ110に対してコンテンツを提供可能な状態をアクティブ(接続状態/公開状態)と称し、提供可能でない状態を非アクティブ(インアクティブ/非接続状態/非公開状態)と称す。
【0018】
サーバ切替装置107は、複数のウェブサーバのうちWWW環境100に対して公開すべきウェブサーバを切り替える。この切り替えは、予め定められた切り替え条件が満たされると実行される。切り替え条件は、たとえば、所定時間が経過したこと、所定時刻になったこと、アクティブなウェブサーバにウイルスが検知されたこと、アクティブなウェブサーバへのアクセス人数が閾値を越えたことなどである。2つ以上の切り替え条件が任意に組み合わされてもよい。たとえば、通常、サーバ切替装置107は、所定時間が経過したことをトリガーとして切り替えを実行するが、アクティブなウェブサーバにウイルスや改竄を検知するとすぐにアクティブなウェブサーバを切り替えてもよい。これにより、ウイルス感染の拡大を抑制できる。サーバ切替装置107は、ユーザにより指定されるある特定のURLに対応するウェブサーバを切り替える。用語としてのサーバ切替装置107はサーバ切替機能を実現する仕組みを指し、情報機器であってもよいし、プログラムであってもよい。
【0019】
サーバ切替装置107によってメインサーバ101からミラーサーバ104に切り替えられるとき、メインサーバ101に保存されたセッション情報103がミラーサーバ104にコピーされるか、ミラーサーバ104に保存されているセッション情報106に上書きされる。反対に、ミラーサーバ104がWWW環境100に対し接続しており、ミラーサーバ104からウェブコンテンツ105がWWW環境100に対し提供(公開)されている場合もある。すなわち、メインサーバ101がWWW環境100に対し非接続でウェブコンテンツ102がWWW環境100に対して非公開となっている状態(i)から、ミラーサーバ104がサーバ切替装置107によってWWW環境100に対し非接続となり、ウェブコンテンツ105が非公開となり、メインサーバ101がWWW環境100に対し接続され、ウェブコンテンツ102がWWW環境100に対し公開される状態(ii)に遷移してもよい。この場合、ミラーサーバ104に保存されたセッション情報106がメインサーバ101に保存されたセッション情報103に上書きされる。
【0020】
これにより、メインサーバ101とミラーサーバ104は、ユーザ操作によって残されたセッション情報を共有できる。そのため、接続先ウェブサーバが切り替わってもユーザの操作情報が維持される。また、ウェブサーバのURLはサーバ切替装置107のIPアドレスに割り当てられているため、メインサーバ101のURLもミラーサーバ104のURLもWWW環境100側からは同一となる。よって、同一ウェブコンテンツを操作・閲覧しているようにユーザには見せることができる。
【0021】
なお、セッション情報103、106は、メインサーバ101とミラーサーバ104の各々に保存する構成に限らず、メインサーバ101とミラーサーバ104に共通したセッション情報を別装置(たとえば、サーバ切替装置107、不図示のNAS(Network Attached Storage))に保存してもよい。その場合、メインサーバ101とミラーサーバ104の接続が切り替えられたとしても、各々に保存されているセッション情報を上書きする必要はない。また、ユーザがウェブコンテンツ102、105を閲覧することによって生じた履歴をアクセスログとして保存してもよい。たとえば、ログにはクライアントコンピュータ110のIPアドレス等が含まれる。
【0022】
図3はCPUが実現する機能の一例を示した図である。上述したように、ウェブシステム1は、コンテンツを保持するメインサーバ101と、メインサーバ101が保持しているコンテンツと同一のコンテンツを保持するミラーサーバ104と、所定のサーバ切り替え条件が満たされると、クライアントコンピュータ110に対してコンテンツを提供するウェブサーバを切り替えるサーバ切替装置107とを有している。
【0023】
図3が示すように、サーバ切替装置107は、各種の機能を有している。攻撃検出部301は、メインサーバ101またはミラーサーバ104
のうちクライアントコンピュータ110に対してコンテンツを提供するためにアクティブとなっていないウェブサーバについて過去に攻撃が実行されたかどうかを検出する。上述したように、メインサーバ101またはミラーサーバ104は交互にウェブサービスを提供する。たとえば、第一期間ではメインサーバ101がアクティブとなってウェブサービスを提供する。第一期間ではミラーサーバ104が非アクティブになっている。第一期間に続く第二期間ではメインサーバ101が非アクティブになり、ミラーサーバ104がアクティブに切り替わり、ミラーサーバ104がウェブサービスを提供する。第二期間に続く第三期間でメインサーバ101がアクティブになり、第三期間に続く第四期間ではミラーサーバ104がアクティブになる。
【0024】
切替部302は、所定のサーバ切り替え条件にしたがってウェブサービスを提供すべきウェブサーバを切り替える。サーバ切り替え条件の1つは、アクティブとなっていないウェブサーバについて攻撃が実行されていないことである。万が一、攻撃されたウェブサーバを公開してしまえば、ユーザがウイルスに感染する可能性がある。よって、非アクティブとなっていたウェブサーバが攻撃されていない健全なウェブサーバであれば、アクティブとなっていたウェブサーバから非アクティブとなっていたウェブサーバに切り替えが実行される。
【0025】
転送部303は、複数のウェブサーバとクライアントコンピュータ110との間に介在し、情報の送受信を行う。たとえば、転送部303は、クライアントコンピュータ110からコンテンツの提供を要求するリクエストを受信すると、このリクエストをメインサーバ101またはミラーサーバ104
のうち切替部302によってアクティブとなっているウェブサーバに転送する。その結果、メインサーバ101またはミラーサーバ104
のうち切替部302によってアクティブとなっているウェブサーバは、リクエストによって要求されたコンテンツをクライアントコンピュータ110に対して送信する。転送部303は、アクティブとなっているウェブサーバからコンテンツを受信すると、このコンテンツをクライアントコンピュータ110に転送する。後述するように、アクティブとなっているウェブサーバがサーバ切替装置107を介さずに、コンテンツをクライアントコンピュータ110に転送してもよい。
【0026】
コピー部304は、メインサーバ101が保持しているコンテンツをミラーサーバ104にコピーする機能である。これによりウェブコンテンツ102、105が同期することになる。つまり、コピー部304によって、メインサーバ101が保持しているコンテンツとミラーサーバ104が保持しているコンテンツが同一となるように維持される。
【0027】
サーバ切替装置107は、一定期間を計時する計時部305をさらに有していてもよい。切替部302は、計時部305によって一定期間が計時され、かつ、攻撃検出部301が攻撃を検出していなければ、コンテンツを提供するためにアクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行する。攻撃を効率よく検出してウェブサーバを健全に維持するには、一定期間ごとにウェブサーバを切り替えることである。改竄やウイルスの検出はウェブサーバに負荷をかけるため、ユーザに処理速度の遅いサーバであるかのような印象を与えうる。そこで、ウェブサーバが非アクティブになっているときに、詳細に攻撃の有無を検出することで、ユーザに負担をかけずに正確に攻撃を検出しやすくなる。
【0028】
サーバ切り替え条件は、一定期間ではなく、予め定められた時刻であってもよい。切替部302は、所定の時刻となり、かつ、攻撃検出部301が攻撃を検出していなければ、コンテンツを提供するためにアクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行する。これにより、2つの特定時刻間で特定のウェブサーバを稼働させることが可能となる。たとえば、複数のウェブサーバに処理速度に関する性能差がある場合、より処理速度の速いウェブサーバをアクセスの集中する期間にアクティブにしてもよい。これにより、ユーザはアクセス集中による影響を受けにくくなろう。
【0029】
サーバ切替装置107、メインサーバ101またはミラーサーバ104は、クライアントコンピュータ110についてセッション情報を記録するセッション情報記録部306をさらに有していてもよい。メインサーバ101とミラーサーバ104は、セッション情報記録部306によって同一のセッション情報を共有しており、ウェブサーバの切り替えが実行されても当該共有されているセッション情報にしたがってコンテンツが提供される。セッション情報が複数のウェブサーバによって共有されているため、ウェブサーバが切り替えられたとしてもユーザはウェブサービスの享受を継続して受けることが可能となる。セッション情報が複数のウェブサーバによって共有されているため、ユーザはあたかも1つのウェブサーバから継続してサービスを受けているように感じることになろう、つまり、ウェブサーバの切り替えはユーザに感知されにくくなり、ユーザビリティを向上できよう。
【0030】
セッション情報はセッション情報記録部306に保持されていてもよいが、各ウェブサーバに保持されてもよい。つまり、メインサーバ101はセッション情報を記憶するセッション情報記憶部363を有し、ミラーサーバ104においてセッション情報を記憶するセッション情報記憶部373を有していてもよい。セッション情報記録部306は、セッション情報を監視ないしは管理しており、セッション情報記憶部363とセッション情報記憶部373との間でセッション情報をコピーする。これにより最新のセッション情報が共有されるようになる。
【0031】
アクセスログ保持部307は、各クライアントコンピュータ110のアクセスログを保持してもよい。アクセスログには、たとえば、ユーザの実行した操作内容(掲示板への書き込み、ファイルのダウンロードやアップロード)、操作時刻、ログインID、クライアントコンピュータ110のIPアドレスなどが記録される。つまり、アクセスログには攻撃者や攻撃内容を特定可能な情報が記録される。攻撃者特定部308は、攻撃検出部301が攻撃を検知するとアクセスログを参照して攻撃を実行したクライアントコンピュータ110を特定する。これにより、転送部303は、当該攻撃を実行したクライアントコンピュータ110のアクセスを遮断したり、ブロックしたりすることが可能となる。また、ウイルスの感染経路や伝搬経路を特定する上でもアクセスログは役に立つであろう。
【0032】
あるウェブサーバについて攻撃検出部301によって攻撃が検出されると、ユーザ判別部309は、そのウェブサーバがアクティブになっていたとき(つまり、攻撃がされたアクティブ期間)に当該ウェブサーバにアクセスしたクライアントコンピュータ110をアクセスログから判別してもよい。アラート送信部310は、ユーザ判別部309により判別されたクライアントコンピュータ110に対してアラートを送信する。これにより、ユーザに注意喚起を促すことが可能となる。ユーザは自らウイルス検査などを実行してウイルスを駆逐し、さらなる感染を食い止めやすくなろう。
【0033】
攻撃検出部301は、たとえば、コンピュータウイルスを検知するウイルス検知機能を有していてもよいし、コンテンツの改竄を検知する改竄検知機能を有していてもよい。ウイルス検知機能や改竄検知機能はすでによく知られているため、ここではその詳細については説明を省略する。
【0034】
メインサーバ101のリクエスト応答部361は、転送部303によって転送されてきたリクエストを受信して解析し、レスポンスを作成して送信する。たとえば、コンテンツ記憶部362に記憶されているウェブコンテンツ102がリクエストによって要求されると、リクエスト応答部361は、当該ウェブコンテンツ102を送信する。
【0035】
ミラーサーバ104のリクエスト応答部371は、転送部303によって転送されてきたリクエストを受信して解析し、レスポンスを作成して送信する。たとえば、コンテンツ記憶部372に記憶されているウェブコンテンツ105がリクエストによって要求されると、リクエスト応答部371は、当該ウェブコンテンツ105を送信する。
【0036】
図4は、本実施形態に係るシステムが行う処理のフローチャートである。なお、ウイルスの検査や改竄の有無を解析する手段は、不図示の装置が行ってもよいし、サーバ切替装置107、メインサーバ101またはミラーサーバ104が行ってもよい。ここでは、説明の簡明化のために、サーバ切替装置107がウイルスの検査や改竄の有無を解析するものと仮定する。
【0037】
S401でサーバ切替装置107のCPU201(切替部302)は、サーバ切り替え条件の1つが満たされているかどうかを判定する。1つ目のサーバ切り替え条件は、たとえば、所定期間が終了したことである。CPU201は、タイマー等(計時部305)を用いて所定期間が終了したことを判定する。これが満たされると、S402に進む。
【0038】
S402でサーバ切替装置107のCPU201(切替部302)は、サーバ切り替え条件の1つが満たされているかどうかを判定する。2つめの切り替え条件は、たとえば、ウイルスが発見されていないことなど、攻撃を受けていないことである。ここでは、メインサーバ101がアクティブになっており、ミラーサーバ104が非アクティブになっていると仮定する。この場合、CPU201(攻撃検出部301)は、ウイルス検査プログラムを実行し、WWW環境100から非接続となっているミラーサーバ104に対し、ウイルスの検査を実行する。なお、CPU201(攻撃検出部301)は、改竄検出プログラムを実行し、WWW環境100から非接続となっているミラーサーバ104に対し改竄の有無を解析してもよい。2つ目のサーバ切り替え条件が満たされていれば、S403に進む。
【0039】
S403で、サーバ切替装置107のCPU201(セッション情報記録部306)は、メインサーバ101のセッション情報103をミラーサーバ104のセッション情報106に上書きする。
【0040】
S404で、サーバ切替装置107のCPU201(切替部302)は、メインサーバ101をWWW環境100から切断し、ミラーサーバ104をWWW環境に接続する。この接続と切断は転送部303が物理的なスイッチによって実現してもよいし、転送部303がリクエストの転送先を変更することでソフトウエア的に実現してもよい。
【0041】
S402で何らかのウイルスや改竄が検出された場合はS411に進む。S411で、サーバ切替装置107のCPU201(ユーザ判別部309)は、アクセスログ保持部307が保持しているアクセスログを参照してアクティブ期間内にミラーサーバ104にアクセスしていたユーザを判別する。
【0042】
S412で、サーバ切替装置107のCPU201(アラート送信部310)は、アクティブ期間内にアクセスしていたユーザに対してウイルス感染や改竄などの攻撃に対する注意を促すメッセージを送信する。アクセスログにユーザのメールアドレスが登録されていれば、アラート送信部310は、電子メールにてメッセージを送信してもよい。また、アラート送信部310は、IPアドレスを宛先としてメッセージを送信するメッセージングツールを使用して、ユーザのIPアドレスに対してメッセージを送信してもよい。
【0043】
S413で、サーバ切替装置107のCPU201(攻撃者特定部308)は、アクティブ期間に基づきアクセスログを解析し、攻撃を実行したと考えられるサーバアクセスを絞りこみ、感染経路や改竄元の絞込みを実行する。これにより、ウェブサーバを攻撃してきたコンピュータのIPアドレスなどが判明する。
【0044】
S414で、サーバ切替装置107のCPU201は、攻撃に対する処置や対策を行う。たとえば、転送部303は、ウイルスの感染原因や改竄を行ったと見られるユーザ(IPアドレスなど)に対しては、今後のアクセスをブロックする。また、サーバ切替装置107のCPU201は、ウイルスプログラムやスクリプトを削除したり、改竄された箇所を修正したりしてもよい。
【0045】
ところで、サーバ切替装置107やメインサーバ101、ミラーサーバ104のうち2つまたは3つが同一情報機器内で実現されてもよいし、たとえば、仮想環境上に構築されていてもよい。
【0046】
図5は本実施形態に係る通信処理の一例を示すシーケンス図である。クライアントコンピュータ110がURLリクエストを送信する(S501)と、サーバ切替装置107はメインサーバ101へサーバ情報(ウェブコンテンツ102)のリクエストを送信する(S502)。メインサーバ101はリクエストを受信すると、サーバ切替装置107へHTMLレスポンス(ウェブコンテンツ102)を返す(S503)。それを受信したサーバ切替装置107はクライアントコンピュータ110へHTML転送を実行する(S504)。
【0047】
前回のサーバ切り替え時刻から所定時間が経過すると、サーバ切替装置107はウェブサーバをメインサーバ101からミラーサーバ104に切り替える。
【0048】
クライアントコンピュータ110がURLリクエストを送信する(S511)と、サーバ切替装置107はミラーサーバ104へサーバ情報(ウェブコンテンツ105)のリクエストを送信する(S512)。ミラーサーバ104はリクエストを受信すると、サーバ切替装置107へHTMLレスポンス(ウェブコンテンツ105)を返す(S513)。それを受信したサーバ切替装置107はクライアントコンピュータ110へHTML転送を実行する(S514)。
【0049】
前回のサーバ切り替え時刻から所定時間が経過すると、サーバ切替装置107はウェブサーバをミラーサーバ104からメインサーバ101に切り替える。
【0050】
図6は、別のネットワーク接続形態の一例を示す図である。
図6の接続形態では、メインサーバ101とミラーサーバ104が直接的にWWW環境100に接続されている。ユーザからのURLリクエストをサーバ切替装置107が受けると、メインサーバ101へリクエストを送信する。それを受けたメインサーバ101はサーバ切替装置107を通さず、直接的にWWW環境100を通してクライアントコンピュータ110へHTML転送を行う。
【0051】
そして所定時間後にサーバ切替装置107がウェブサーバを切り替える。クライアントコンピュータ110からのURLリクエストをサーバ切替装置107が受けると、ミラーサーバ104に対してリクエストを送信する。そしてそれを受けたミラーサーバ104はサーバ切替装置107を通さず、直接的にWWW環境100を通してクライアントコンピュータ110へHTML転送を行う。サーバ切替装置107がアクティブなウェブサーバをメインサーバ101からミラーサーバ104に切り替えるとき、メインサーバ101に保存されたセッション情報103はWWW環境100を通してミラーサーバ104に上書きされる。なお、このときサーバ切替装置107を経由し上書きが実行されてもよい。
【0052】
なお、上述した実施形態では、サーバ切替装置107がアクティブなウェブサーバを切り替えた際、セッション情報を上書きすることでセッション情報を共有ないしは同期する構成を説明した。しかし、所定時間が経過することによってサーバ切替装置107がアクティブなウェブサーバを切り替えた際にセッション情報を上書きしない構成を採用してもよい。その場合、アクセスしていたユーザは接続が切断されるが、サーバ切替装置107またはアクティブとなったウェブサーバが、「再度アクセスをして下さい」等の通知をクライアントコンピュータ110に送信してもよい。これによりユーザは更新ボタンなどを操作し、目的のウェブページに再度アクセスできるようになろう。
【0053】
本実施形態によれば、アクティブなウェブサーバが切り替わっても、セッション情報の共有によってユーザの操作情報が維持される。また、サーバ切替装置107が介在することで、メインサーバ101であってもミラーサーバ104であってもクライアントコンピュータ110からの接続先URLは同一となる。よって、ウェブサーバが切り替わっても、同一のウェブコンテンツを操作および閲覧しているようにユーザには見せることができる。
【0054】
本実施形態によれば、WWW環境100に対して接続されるウェブサーバを切り替えることができるため、WWW環境100に対し非接続のウェブサーバの安全性を保障できるようになる。また、ウェブサーバから提供されるウェブコンテンツの安全性を保障することができる。また、何らかのウイルスや改竄が検出された場合、ウェブコンテンツにアクセスしたユーザに対して感染や攻撃に対する注意を促すメッセージを送信してもよい。これにより、ウイルスに感染したユーザから他のユーザへの二次感染を抑制しやすくなろう。
【0055】
[他の実施形態]
上記の実施形態では、メインサーバ101およびミラーサーバ104をウェブサーバとして説明した。しかし、メインサーバ101およびミラーサーバ104はコンピュータ以外の情報処理装置でもよい。たとえば、メインサーバ101およびミラーサーバ104は複合機(MFP)やネットワークスキャナ、プリンタなどに実装されてもよい。
【0056】
近年、複合機やスキャナなどの多くのネットワーク機器はネットワークに接続できる。これは、ネットワーク機器のメンテナンス作業者が直接的にネットワーク機器を操作することなく、遠隔からネットワーク機器の稼働状況や不具合原因を確認したり、調査したりするためである。このようにネットワーク機器は通信ユニットとリモートアクセス機能を備えている。とりわけ、
図7Aが示すようにMFPなどのネットワーク機器700はメンテナンス用のウェブサーバ701を有している。メンテナンス作業者はクライアントコンピュータ110からウェブサーバ701にアクセスすることでメンテナンス作業を実行する。以下では、ウェブサーバ701はネットワーク機器700に内蔵されているものとして説明するが、
図7Bが示すように、ウェブサーバ701はネットワーク機器700の外部に設置されていてもよい。また、メンテナンス作業に限らず、ネットワーク機器の利用者が直接的にネットワーク機器を操作することなく遠隔からネットワーク機器を操作できれば便利であろう。これを実現するために、MFPなどのネットワーク機器700はウェブサーバ701を有していてもよい。
【0057】
図12は、ネットワーク機器700に適用可能なコンピュータのハードウェア構成例を示すブロック図である。インターフェース207は、たとえば、ネットワークインターフェースである。インターフェース207は、ネットワークに接続されたクライアントコンピュータから印刷データを受信したり、読み取られた画像をクライアントコンピュータへ送信したりする。印刷部1208は、レーザービームプリンタまたはインクジェットプリンタ等で構成される。画像読取部1209は、ネットワーク機器700の原稿台に置かれた原稿を読み取るイメージスキャナである。HDD204には、印刷部1208の制御プログラムである印刷制御部1210、画像読取部1209の制御プログラムである画像読取制御部1211、ウェブサーバプログラムであるウェブサーバ1212が保存されている。これらのプログラムをCPU201が実行することで、CPU201が制御部やサーバとして機能する。なお、表示装置206は省略されてもよい。
【0058】
たとえば、メンテナンス作業者はインターネットブラウザなどのアプリケーションをクライアントコンピュータ110で起動し、ネットワーク機器700のウェブサーバ701に接続する。メンテナンス作業者はクライアントコンピュータ110で稼働しているブラウザから必要なコマンドを発行し、ウェブサーバ701からの応答をブラウザで確認し、ブラウザを通じて適切な処置を施す。このようなネットワーク機器700は、通常のパーソナルコンピュータと同様、悪意を持ったハッカーなどの攻撃者による攻撃の的となりうる。実際にネットワーク機器700がコンピュータウイルスに感染したり、ネットワーク機器700が保持しているコンテンツが不正に改ざんされたりしてしまう事件も増加している。
【0059】
図11Aおよび
図11Bは、クライアントコンピュータ110からネットワーク機器700へアクセスして、クライアントコンピュータ110の表示装置206にて表示されるコンテンツの一例である。これらのコンテンツはネットワーク機器700のウェブサーバ1212からクライアントコンピュータ110に配信される。
【0060】
とりわけ、
図11Aは、ネットワーク機器700の画像読取部1209が読み取った画像をネットワークに接続されたクライアントコンピュータ110へ送信するための設定画面である。
図11Aにおいて、「送信先アドレス」は、読み取った画像を転送される相手先(受信者)のメールアドレスを設定するためのテキストボックスまたはプルダウンメニューである。「カラー選択」は、原稿の画像の読み取りをカラーまたは白黒で行うかを選択するための設定ボタンである。「解像度」は、原稿の読取解像度を選択するためのプルダウンメニューである。たとえば、300dpi×300dpiや600dpi×600dpiといった複数の解像度からいずれかの解像度が選択される。「両面原稿」は、原稿の読み取りを両面又は片面のいずれで行うかを選択するための設定ボタンである。
【0061】
ここで、ネットワーク機器700がコンピュータウイルスに感染すると、送信先アドレスが悪意を持った攻撃者のクライアントコンピュータのアドレスに書き換えられ、読み取った画像が攻撃者に送信され悪用されてしまう。
【0062】
図11Bは、ネットワーク機器700のメンテナンス画面である。たとえば、定着器の寿命を表示してユーザや管理者に交換を促したり、トナー残量を表示してユーザや管理者にトナーの補充を促したりする。メンテナンス画面などのメンテナンス情報は、ネットワーク機器700内に登録してあるネットワーク機器管理者のメールアドレスまたはクライアントコンピュータに割り当てられたメールアドレスに送信される。ここで、ネットワーク機器700がコンピュータウイルスに感染すると、送信先アドレスが悪意を持った攻撃者のクライアントコンピュータのアドレスに書き換えられ、これらの情報が攻撃者に送信され悪用されてしまう。
【0063】
図8Aが示すように、本実施形態では、ウェブサーバ701を有しているOA機器などのネットワーク機器700にメインコンテンツ102とミラーコンテンツ105を保持させてもよい。つまり、ウェブサーバ701は、上述したメインサーバ101、ミラーサーバ104およびサーバ切替装置107として機能してもよい。これにより、ネットワーク機器700について攻撃者からの改竄を防ぐとともに、安全なメンテナンス作業の実行環境を提供できるようになる。もちろん、サーバ切替装置107の機能はウェブサーバ701やネットワーク機器700の外部に設けられてもよい。たとえば、サーバ切替装置107はネットワーク機器700に直接接続されているか、ネットワークを経由して接続されていてもよい。
【0064】
なお、
図8Bが示すように、ネットワーク機器700aにメインコンテンツ102を有したメインサーバ101を配置し、ネットワーク機器700bにミラーコンテンツ105を有したミラーサーバ104を配置してもよい。サーバ切替装置107は、ネットワーク機器700a、700bのいずれかに実装されてもよいし、これらとは別個のコンピュータやネットワーク機器に実装されてもよい。
【0065】
ところで、ウェブコンテンツ102、105はそれぞれ複数のコンテンツであってもよい。つまり、サーバミラーではなく、コンテンツミラーでもよい。
【0066】
図9は複数のサーバがそれぞれ複数の同一コンテンツを保持していることを示している。
【0067】
ウェブサイトで公開されるコンテンツの総量は増加の一途をたどっている。メインとなるトップ画面は一つでも、内部的には多層的かつ広大なリンク構造を有している事も多い。このようなウェブサイトにおいては、すべてのページについて改竄の有無を検査する必要があるため、膨大な時間がかかるであろう。このような検査作業をメインサーバ101とミラーサーバ104の切替タイミングで実行すると、切替時間が長くなってしまうだろう。切替時間が長くなればなるほど改竄やウイルス伝搬のリスクが高くなってしまうだろう。
【0068】
そこで、サーバコンテンツの同期処理において、攻撃検出部301は、サーバコンテンツをすべて検査するのではなく、一定の単位でコンテンツを検査する。コピー部304は、攻撃検出部301により検査がされたコンテンツを順次ミラーサーバ104からメインサーバ101に上書き複製(ローテーション)していく。これにより効率よくサーバコンテンツを同期させることが可能となる。また、攻撃検出部301の検査処理は必ずしも切替時に実行する必要はないため、切替時間を短縮できる。
【0069】
図10は、コンテンツ同期処理の一例を示すフローチャートである。S1001で、サーバ切替装置107のCPU201(攻撃検出部301)はミラーサーバ104から検査対象コンテンツ(例:コンテンツ1)を読み出す。S1002で、CPU201(攻撃検出部301)は読み出したコンテンツを検査する。たとえば、ウイルスの有無の検査や改竄の有無などが検査される。S1003で、CPU201(攻撃検出部301)はコンテンツにウイルス感染や改竄等の異常がないかどうかを判定する。異常がなければS1004に進む。S1004で、CPU201(コピー部304)はメインサーバ101のコンテンツ(コンテンツ1)を、ミラーサーバ104のコンテンツ(コンテンツ1)により上書き複製する。その後、S1007に進む。S1007でCPU201(攻撃検出部301)はすべての検査対象コンテンツについて検査を完了したかどうかを判定する。すべての検査対象コンテンツについて検査を完了していれば、CPU201(攻撃検出部301)は本フローチャートに係る同期処理を終了する。一方で、すべての検査対象コンテンツについて検査を完了していなければ、S1001に戻り、CPU201(攻撃検出部301)は次の検査対象コンテンツを読み出す。
【0070】
S1003で異常があると判定されると、S1005に進む。S1005でCPU201(攻撃検出部301)は警告信号(例:電子メールやウェブコンテンツ、インスタントメッセージなど)をユーザまたは管理者等に送信する。S1006でCPU201(攻撃検出部301)はコンテンツを正常に戻すための処理を実行する。たとえば、CPU201(攻撃検出部301)はメインサーバ101のコンテンツ(コンテンツ1)を読み出して検査し、異常がなければ、コンテンツ(コンテンツ1)をミラーサーバ104に複製する。あるいは、CPU201(攻撃検出部301)は、ウイルスプログラムやスクリプトを削除したり、改竄された箇所を修正したりしてもよい。また、上述したように攻撃者特定部308がウイルスの感染原因や改竄を行ったと見られるユーザ(IPアドレスなど)を特定し、当該ユーザからの今後のアクセスをブロックするよう転送部303を設定してもよい。
【0071】
上述したようにアクセスログ保持部307はアクセス履歴(アクセスログ)を記録している。攻撃検出部301は、アクセス履歴に基づき、検査対象(複製対象)のコンテンツに優先度を付与してもよい。たとえば、攻撃検出部301は、一度もユーザからアクセスされていないコンテンツは複製対象としないか、またはそのコンテンツの優先度をアクセス頻度に応じて低く設定する。逆に攻撃検出部301は、アクセス頻度の高いコンテンツの優先度をアクセス頻度に応じて高く設定する。このように、攻撃検出部301は、優先度に応じて各コンテンツの検査タイミングを優先的にスケジューリングしてもよい。これにより、多くのユーザによってアクセスされるコンテンツについてはより頻繁に検査が実行されるため、ユーザが改竄ページを参照してしまうことになるリスク期間を短くすることが可能となろう。