(57)【要約】【課題】従来よりも確実にウェブサーバやコンテンツを保護することができる。【解決手段】メインサーバ１０１とミラーサーバ１０４は同一のコンテンツを保持している。サーバ切替装置１０７は一方のウェブサーバのみをアクティブにする。サーバ切替装置１０７はミラーサーバ１０４において攻撃が実行されていなければ、メインサーバ１０１からミラーサーバ１０４に切り替えを実行する。サーバ切替装置１０７はクライアントコンピュータ１１０からのリクエストを受信すると、アクティブなウェブサーバに転送する。アクティブなウェブサーバはリクエストされたコンテンツを送信する。【選択図】図１
2015109070.tif 000002
【特許請求の範囲】
【請求項１】
ウェブシステムであって、
コンテンツを保持する第１ウェブサーバと、
前記第１ウェブサーバが保持しているコンテンツと同一のコンテンツを保持する第２ウェブサーバと、
所定のサーバ切り替え条件が満たされると、ユーザに対して前記コンテンツを提供するウェブサーバを切り替えるサーバ切替装置と
を有し、
前記サーバ切替装置は、
前記第１ウェブサーバまたは前記第２ウェブサーバとのうちユーザに対して前記コンテンツを提供するためにアクティブとなっていないウェブサーバについて過去に攻撃が実行されたかどうかを検出する攻撃検出手段と、
サーバ切り替え条件の１つとして、前記アクティブとなっていないウェブサーバについて攻撃が実行されていないという条件が満たされていれば、アクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行する切替手段と、
ユーザからのリクエストを受信すると、前記リクエストを前記第１ウェブサーバまたは前記第２ウェブサーバとのうち前記切替手段によってアクティブとなっているウェブサーバに転送する転送手段と
を有し、
前記第１ウェブサーバまたは前記第２ウェブサーバとのうち前記切替手段によってアクティブとなっているウェブサーバは、前記リクエストによって要求されたコンテンツを前記ユーザに対して送信することを特徴とするウェブシステム。
【請求項２】
前記ユーザについてセッション情報を記録する記録手段をさらに有し、
前記第１ウェブサーバと前記第２ウェブサーバとは前記記録手段によって同一のセッション情報を共有しており、前記ウェブサーバの切り替えが実行されても当該共有されているセッション情報にしたがって前記コンテンツが提供されることを特徴とする請求項１に記載のウェブシステム。
【請求項３】
前記第１ウェブサーバにおいてセッション情報を記憶する第１記憶手段と、
前記第２ウェブサーバにおいてセッション情報を記憶する第２記憶手段と、
を有し、
前記記録手段は、前記第１記憶手段と前記第２記憶手段との間で前記セッション情報をコピーすることを特徴とする請求項２に記載のウェブシステム。
【請求項４】
前記第１ウェブサーバが保持しているコンテンツを前記第２ウェブサーバにコピーするコピー手段をさらに有し、前記コピー手段によって、前記第１ウェブサーバが保持しているコンテンツと前記第２ウェブサーバが保持しているコンテンツが同一となるように維持されることを特徴とする請求項１ないし３のいずれか１項に記載のウェブシステム。
【請求項５】
前記サーバ切替装置は、
一定期間を計時する計時手段をさらに有し、
前記切替手段は、前記計時手段によって前記一定期間が計時され、かつ、前記攻撃検出手段が攻撃を検出していなければ、前記コンテンツを提供するためにアクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行することを特徴とする請求項１ないし４のいずれか１項に記載のウェブシステム。
【請求項６】
前記切替手段は、所定の時刻となり、かつ、前記攻撃検出手段が攻撃を検出していなければ、前記コンテンツを提供するためにアクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行することを特徴とする請求項１ないし５のいずれか１項に記載のウェブシステム。
【請求項７】
各ユーザのアクセスログを保持する保持手段と、
前記攻撃検出手段が前記攻撃を検知すると前記アクセスログを参照して前記攻撃を実行したユーザを特定する特定手段と
をさらに有することを特徴とする請求項１ないし６のいずれか１項に記載のウェブシステム。
【請求項８】
前記攻撃検出手段によって前記攻撃が検出されたウェブサーバがアクティブになっていたときに当該ウェブサーバにアクセスしたユーザを前記アクセスログから判別する判別手段と、
前記判別手段により判別されたユーザに対してアラートを送信するアラート手段と
をさらに有することを特徴とする請求項７に記載のウェブシステム。
【請求項９】
前記攻撃検出手段は、
コンピュータウイルスを検知するウイルス検知手段を有することを特徴とする請求項１ないし８のいずれか１項に記載のウェブシステム。
【請求項１０】
前記攻撃検出手段は、
前記コンテンツの改竄を検知する改竄検知手段を有することを特徴とする請求項１ないし９のいずれか１項に記載のウェブシステム。
【請求項１１】
前記転送手段は、
前記アクティブとなっているウェブサーバから提供されたコンテンツを前記ユーザに対して転送することを特徴とする請求項１ないし１０のいずれか１項に記載のウェブシステム。
【請求項１２】
前記第１ウェブサーバおよび前記第２ウェブサーバは、アクティブとなっているときに前記ユーザによって要求されたコンテンツを、前記サーバ切替装置を介さずに、前記ユーザに対して送信することを特徴とする請求項１ないし１０のいずれか１項に記載のウェブシステム。
【請求項１３】
前記切替手段は、所定期間ごとにウェブサーバを切り替え、当該所定期間が経過する前であっても前記アクティブとなっているウェブサーバに攻撃が実行されたことを前記攻撃検出手段が検出すると、攻撃されていないアクティブとなっていないウェブサーバに切り替えを実行する請求項１ないし１２のいずれか１項に記載のウェブシステム。
【請求項１４】
前記第１ウェブサーバおよび前記第２ウェブサーバのうち少なくとも１つは、複合機、プリンタまたはネットワークスキャナであることを特徴とする請求項１ないし１３のいずれか１項に記載のウェブシステム。
【請求項１５】
前記第１ウェブサーバおよび前記第２ウェブサーバのうち少なくとも１つは、複合機、プリンタまたはネットワークスキャナに接続されていることを特徴とする請求項１ないし１３のいずれか１項に記載のウェブシステム。
【請求項１６】
前記コピー手段は、前記第１ウェブサーバが保持しているコンテンツのうちコピーの対象となるコンテンツに異常があるかどうかを検査し、異常がなければ、当該コンテンツを前記第２ウェブサーバにコピーすることを特徴とする請求項４に記載のウェブシステム。
【請求項１７】
前記コピー手段は、前記第１ウェブサーバが保持しているコンテンツのうちアクセス頻度の高いコンテンツを優先的に検査してコピーすることを特徴とする請求項１６に記載のウェブシステム。
【請求項１８】
コンテンツを保持する第１ウェブサーバと、前記第１ウェブサーバが保持しているコンテンツと同一のコンテンツを保持する第２ウェブサーバとに接続されており、所定のサーバ切り替え条件が満たされると、ユーザに対して前記コンテンツを提供するウェブサーバを切り替えるサーバ切替装置であって、
前記第１ウェブサーバまたは前記第２ウェブサーバとのうちユーザに対して前記コンテンツを提供するためにアクティブとなっていないウェブサーバについて過去に攻撃が実行されたかどうかを検出する攻撃検出手段と、
サーバ切り替え条件の１つとして、前記アクティブとなっていないウェブサーバについて攻撃が実行されていないという条件が満たされていれば、ユーザに対して前記コンテンツを提供するためにアクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行する切替手段と、
ユーザからのリクエストを受信すると、前記リクエストを前記第１ウェブサーバまたは前記第２ウェブサーバとのうち前記切替手段によってアクティブとなっているウェブサーバに転送する転送手段と
を有することを特徴とするサーバ切替装置。
【請求項１９】
コンテンツを保持する第１ウェブサーバと、前記第１ウェブサーバが保持しているコンテンツと同一のコンテンツを保持する第２ウェブサーバとに接続されたコンピュータを、
前記第１ウェブサーバまたは前記第２ウェブサーバとのうちユーザに対して前記コンテンツを提供するためにアクティブとなっていないウェブサーバについて過去に攻撃が実行されたかどうかを検出する攻撃検出手段と、
サーバ切り替え条件の１つとして、前記アクティブとなっていないウェブサーバについて攻撃が実行されていないという条件が満たされていれば、ユーザに対して前記コンテンツを提供するためにアクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行する切替手段と、
ユーザからのリクエストを受信すると、前記リクエストを前記第１ウェブサーバまたは前記第２ウェブサーバとのうち前記切替手段によってアクティブとなっているウェブサーバに転送する転送手段として機能させることを特徴とするプログラム。
【請求項２０】
コンテンツを保持する第１ウェブサーバと、前記第１ウェブサーバが保持しているコンテンツと同一のコンテンツを保持する第２ウェブサーバとに接続されており、所定のサーバ切り替え条件が満たされると、ユーザに対して前記コンテンツを提供するウェブサーバを切り替えるサーバ切替方法であって、
前記第１ウェブサーバまたは前記第２ウェブサーバとのうちユーザに対して前記コンテンツを提供するためにアクティブとなっていないウェブサーバについて過去に攻撃が実行されたかどうかを検出する攻撃検出工程と、
サーバ切り替え条件の１つとして、前記アクティブとなっていないウェブサーバについて攻撃が実行されていなければ、ユーザに対して前記コンテンツを提供するためにアクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行する切替工程と、
ユーザからのリクエストを受信すると、前記リクエストを前記第１ウェブサーバまたは前記第２ウェブサーバとのうち前記切替工程によってアクティブとなっているウェブサーバに転送する転送工程と、
前記第１ウェブサーバまたは前記第２ウェブサーバとのうち前記切替工程においてアクティブとなっているウェブサーバが、前記リクエストによって要求されたコンテンツを前記ユーザに対して送信する送信工程と
を有することを特徴とするサーバ切替方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブシステム、サーバ切替装置、サーバ切替方法およびプログラムに関する。
【背景技術】
【０００２】
近年、ハッカーによるウェブサイトへの攻撃（ウイルスのアップロードや改竄など）が問題となっており、これらの攻撃からウェブサイトを守るための様々な技術が開発されている。特許文献１には、ウェブブラウザ内のコンピュータプログラムコードによって動作を制限し、承諾を受け取った場合にのみ制限された動作を実行する技術が開示されている。特許文献２には、マスターサーバからミラーサーバへの自動切り替え技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１４０６３４号公報
【特許文献２】特開２００３−２９６２１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１はクライアントに適用される技術であるため、ウェブサーバそのものへのウイルス感染や改竄を防ぐことはできない。また、特許文献２では、ミラーサーバへの攻撃を回避することについては記載がない。過去に攻撃を受けたミラーサーバへマスターサーバから切り替えられると、ミラーサーバを通じてウイルス感染が広がってしまう。
【０００５】
そこで、本発明は、従来よりも確実にサーバやコンテンツを保護することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、たとえば、ウェブシステムであって、
コンテンツを保持する第１ウェブサーバと、
前記第１ウェブサーバが保持しているコンテンツと同一のコンテンツを保持する第２ウェブサーバと、
所定のサーバ切り替え条件が満たされると、ユーザに対して前記コンテンツを提供するウェブサーバを切り替えるサーバ切替装置と
を有し、
前記サーバ切替装置は、
前記第１ウェブサーバまたは前記第２ウェブサーバとのうちユーザに対して前記コンテンツを提供するためにアクティブとなっていないウェブサーバについて過去に攻撃が実行されたかどうかを検出する攻撃検出手段と、
サーバ切り替え条件の１つとして、前記アクティブとなっていないウェブサーバについて攻撃が実行されていないという条件が満たされていれば、アクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行する切替手段と、
ユーザからのリクエストを受信すると、前記リクエストを前記第１ウェブサーバまたは前記第２ウェブサーバとのうち前記切替手段によってアクティブとなっているウェブサーバに転送する転送手段と
を有し、
前記第１ウェブサーバまたは前記第２ウェブサーバとのうち前記切替手段によってアクティブとなっているウェブサーバは、前記リクエストによって要求されたコンテンツを前記ユーザに対して送信することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、従来よりも確実にウェブサーバやコンテンツを保護することができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係るシステムの機能構成例を示すブロック図である。
【図２】実施形態に係るハードウェア構成例を示すブロック図である。
【図３】実施形態に係るシステムの機能構成例を示すブロック図である。
【図４】実施形態に係るシステムの機能構成例を示すフローチャートである。
【図５】実施形態に係るシステムの機能構成例を示すシーケンス図である。
【図６】実施形態に係るシステムの機能構成例を示すブロック図である。
【図７Ａ】他の実施形態に係るシステムの機能構成例を示すブロック図である。
【図７Ｂ】他の実施形態に係るシステムの機能構成例を示すブロック図である。
【図８Ａ】他の実施形態に係るシステムの機能構成例を示すブロック図である。
【図８Ｂ】他の実施形態に係るシステムの機能構成例を示すブロック図である。
【図９】他の実施形態に係るシステムの機能構成例を示すブロック図である。
【図１０】他の実施形態に係るシステムの機能構成例を示すフローチャートである。
【図１１Ａ】他の実施形態に係るシステムの表示画面の一例を示す図である。
【図１１Ｂ】他の実施形態に係るシステムの表示画面の一例を示す図である。
【図１２】他の実施形態に係るハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。ただし、この実施形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。また、実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１０】
図１を用いて、本実施形態に係るシステムについて説明する。図１に示す如く、本実施形態に係るウェブシステム１では、インターネットやイントラネットなどのネットワークであるＷＷＷ環境１００に対してサーバ切替装置１０７を介してメインサーバ１０１とミラーサーバ１０４とが択一的に接続される。なお、ウェブサーバは３台以上であってもよい。
【００１１】
メインサーバ１０１は、クライアントコンピュータ１１０からリクエストを受信するとクライアントコンピュータ１１０に送信されるウェブコンテンツ１０２と、ウェブコンテンツ１０２に対するクライアントコンピュータ１１０のアクセスに関する情報を記録したセッション情報１０３とを記録している。ミラーサーバ１０４も同様にクライアントコンピュータからリクエストを受信するとクライアントコンピュータ１１０に送信されるウェブコンテンツ１０５と、ウェブコンテンツ１０５に対するクライアントコンピュータ１１０のアクセスに関する情報を記録したセッション情報１０６とを記録している。ウェブコンテンツ１０２とウェブコンテンツ１０５とは全く同じ構成のウェブコンテンツ（ＨＴＭＬファイル、画像ファイル、音声ファイル、動画ファイル、スクリプトなど）である。メインサーバ１０１がＷＷＷ環境１００に対してウェブサービスを提供している期間（アクティブ期間）において、セッション情報１０６はセッション情報１０３をコピーして作成されている。このコピーはウェブサーバの切り替えられるときに実行されてもよい。ウェブコンテンツ１０２とウェブコンテンツ１０５は、通常、管理者権限を有するユーザによってアップロードされたものである。セッション情報１０３、１０６にはアクセスしてきたクライアントコンピュータ１１０のＩＰアドレス、セッションＩＤ、実行された操作内容（ダウンロードしたコンテンツやアップロードしたファイル名など）が含まれてもよい。つまり、セッション情報１０３、１０６にはユーザまたはクライアントコンピュータを特定可能な情報やクライアントコンピュータ１１０がサーバに対して実行した操作内容が記録される。そのため、コンテンツに対するウイルス感染や改竄などの攻撃が検出されたときに、この攻撃を実行してきたユーザまたはコンピュータを特定するのに役立つ。なお、セッション情報の一部はアクセスログに記録されてもよい。
【００１２】
図２は、メインサーバ１０１、ミラーサーバ１０４、サーバ切替装置１０７に適用可能なコンピュータのハードウェア構成例を示すブロック図である。ＣＰＵ２０１は、ＲＯＭ２０２やＲＡＭ２０３に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行う。本コンピュータをメインサーバ１０１、ミラーサーバ１０４、サーバ切替装置１０７に適用した場合、ＣＰＵ２０１は、メインサーバ１０１、ミラーサーバ１０４、サーバ切替装置１０７が行うものとして後述する各処理を実行する。ＲＯＭ２０２には、本コンピュータの設定データやブートプログラムなどが格納されている。ＲＡＭ２０３は、ＨＤＤ（ハードディスクドライブ）２０４からロードされたコンピュータプログラムやデータ、インターフェース２０７を介して外部から受信したデータなどを一時的に記憶するためのエリアを有する。さらに、ＲＡＭ２０３は、ＣＰＵ２０１が各種の処理を実行する際に用いるワークエリアを有する。すなわち、ＲＡＭ２０３は、各種の記憶エリアを適宜提供することができる。ＨＤＤ２０４には、ＯＳ（オペレーティングシステム）や、本コンピュータを適用した装置が行う各種の処理をＣＰＵ２０１に実行させるためのコンピュータプログラムやデータが保存されている。本コンピュータをメインサーバ１０１、ミラーサーバ１０４、サーバ切替装置１０７に適用した場合、係るコンピュータプログラムには、メインサーバ１０１、ミラーサーバ１０４、サーバ切替装置１０７が行うものとして後述する各処理をＣＰＵ２０１に実行させるためのコンピュータプログラムが含まれている。ＨＤＤ２０４に保存されているコンピュータプログラムやデータは、ＣＰＵ２０１による制御に従って適宜ＲＡＭ２０３にロードされ、ＣＰＵ２０１による処理対象となる。入力装置２０５は、キーボードやマウスなどにより構成されており、本コンピュータの操作者は、この入力装置２０５を操作することで、各種の指示をＣＰＵ２０１に対して入力することができる。表示装置２０６は、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ２０１による処理結果を画像や文字などでもって表示する。インターフェース２０７は、様々なインターフェースで構成されている。たとえば、本コンピュータをネットワークに接続する為のネットワークインターフェース、本コンピュータに記憶装置を接続する為のデバイスインターフェースを含む。２０８は上述の各部を繋ぐバスである。
【００１３】
本実施形態では説明を簡明にするために、メインサーバ１０１、ミラーサーバ１０４、サーバ切替装置１０７およびクライアントコンピュータ１１０の何れも図２に示した構成を有するコンピュータであるものとして説明するが、コンピュータの構成については係る構成に限定されるものではない。また、メインサーバ１０１、ミラーサーバ１０４、サーバ切替装置１０７とで異なる構成を有するコンピュータを適用しても良い。
【００１４】
メインサーバ１０１にはクライアントコンピュータ１１０に提供されるウェブコンテンツ１０２が置かれ、メインサーバ１０１よりサーバ切替装置１０７を通してＷＷＷ環境１００に公開される。ユーザがウェブコンテンツ１０２を閲覧することによって生成されたセッション情報１０３は、メインサーバ１０１に保存される。また、メインサーバ１０１に保存されているセッション情報１０３をウェブコンテンツ１０２は利用することができる。
【００１５】
ミラーサーバ１０４にはクライアントコンピュータ１１０に提供されるウェブコンテンツ１０５が置かれ、ミラーサーバ１０４よりサーバ切替装置１０７を通してＷＷＷ環境１００に公開される。このとき、ミラーサーバ１０４に置かれるウェブコンテンツ１０５はメインサーバ１０１に置かれているウェブコンテンツ１０２と全く同一のものである。
【００１６】
ユーザ（クライアントコンピュータ１１０）がミラーサーバ１０４のウェブコンテンツ１０５を閲覧することによって生成されたセッション情報１０６は、ミラーサーバ１０４に保存される。また、ミラーサーバ１０４に保存されているセッション情報１０６をウェブコンテンツ１０５は利用することができる。
【００１７】
メインサーバ１０１がＷＷＷ環境１００に対し接続され、公開されている間は、ミラーサーバ１０４がＷＷＷ環境１００に対し非接続である。反対に、ミラーサーバ１０４がＷＷＷ環境１００に対し接続され、公開されている間は、メインサーバ１０１がＷＷＷ環境１００に対し非接続である。このように、クライアントコンピュータ１１０に対してコンテンツを提供可能な状態をアクティブ（接続状態／公開状態）と称し、提供可能でない状態を非アクティブ（インアクティブ／非接続状態／非公開状態）と称す。
【００１８】
サーバ切替装置１０７は、複数のウェブサーバのうちＷＷＷ環境１００に対して公開すべきウェブサーバを切り替える。この切り替えは、予め定められた切り替え条件が満たされると実行される。切り替え条件は、たとえば、所定時間が経過したこと、所定時刻になったこと、アクティブなウェブサーバにウイルスが検知されたこと、アクティブなウェブサーバへのアクセス人数が閾値を越えたことなどである。２つ以上の切り替え条件が任意に組み合わされてもよい。たとえば、通常、サーバ切替装置１０７は、所定時間が経過したことをトリガーとして切り替えを実行するが、アクティブなウェブサーバにウイルスや改竄を検知するとすぐにアクティブなウェブサーバを切り替えてもよい。これにより、ウイルス感染の拡大を抑制できる。サーバ切替装置１０７は、ユーザにより指定されるある特定のＵＲＬに対応するウェブサーバを切り替える。用語としてのサーバ切替装置１０７はサーバ切替機能を実現する仕組みを指し、情報機器であってもよいし、プログラムであってもよい。
【００１９】
サーバ切替装置１０７によってメインサーバ１０１からミラーサーバ１０４に切り替えられるとき、メインサーバ１０１に保存されたセッション情報１０３がミラーサーバ１０４にコピーされるか、ミラーサーバ１０４に保存されているセッション情報１０６に上書きされる。反対に、ミラーサーバ１０４がＷＷＷ環境１００に対し接続しており、ミラーサーバ１０４からウェブコンテンツ１０５がＷＷＷ環境１００に対し提供（公開）されている場合もある。すなわち、メインサーバ１０１がＷＷＷ環境１００に対し非接続でウェブコンテンツ１０２がＷＷＷ環境１００に対して非公開となっている状態（ｉ）から、ミラーサーバ１０４がサーバ切替装置１０７によってＷＷＷ環境１００に対し非接続となり、ウェブコンテンツ１０５が非公開となり、メインサーバ１０１がＷＷＷ環境１００に対し接続され、ウェブコンテンツ１０２がＷＷＷ環境１００に対し公開される状態（ｉｉ）に遷移してもよい。この場合、ミラーサーバ１０４に保存されたセッション情報１０６がメインサーバ１０１に保存されたセッション情報１０３に上書きされる。
【００２０】
これにより、メインサーバ１０１とミラーサーバ１０４は、ユーザ操作によって残されたセッション情報を共有できる。そのため、接続先ウェブサーバが切り替わってもユーザの操作情報が維持される。また、ウェブサーバのＵＲＬはサーバ切替装置１０７のＩＰアドレスに割り当てられているため、メインサーバ１０１のＵＲＬもミラーサーバ１０４のＵＲＬもＷＷＷ環境１００側からは同一となる。よって、同一ウェブコンテンツを操作・閲覧しているようにユーザには見せることができる。
【００２１】
なお、セッション情報１０３、１０６は、メインサーバ１０１とミラーサーバ１０４の各々に保存する構成に限らず、メインサーバ１０１とミラーサーバ１０４に共通したセッション情報を別装置（たとえば、サーバ切替装置１０７、不図示のNAS（Network Attached Storage））に保存してもよい。その場合、メインサーバ１０１とミラーサーバ１０４の接続が切り替えられたとしても、各々に保存されているセッション情報を上書きする必要はない。また、ユーザがウェブコンテンツ１０２、１０５を閲覧することによって生じた履歴をアクセスログとして保存してもよい。たとえば、ログにはクライアントコンピュータ１１０のＩＰアドレス等が含まれる。
【００２２】
図３はＣＰＵが実現する機能の一例を示した図である。上述したように、ウェブシステム１は、コンテンツを保持するメインサーバ１０１と、メインサーバ１０１が保持しているコンテンツと同一のコンテンツを保持するミラーサーバ１０４と、所定のサーバ切り替え条件が満たされると、クライアントコンピュータ１１０に対してコンテンツを提供するウェブサーバを切り替えるサーバ切替装置１０７とを有している。
【００２３】
図３が示すように、サーバ切替装置１０７は、各種の機能を有している。攻撃検出部３０１は、メインサーバ１０１またはミラーサーバ１０４とのうちクライアントコンピュータ１１０に対してコンテンツを提供するためにアクティブとなっていないウェブサーバについて過去に攻撃が実行されたかどうかを検出する。上述したように、メインサーバ１０１またはミラーサーバ１０４は交互にウェブサービスを提供する。たとえば、第一期間ではメインサーバ１０１がアクティブとなってウェブサービスを提供する。第一期間ではミラーサーバ１０４が非アクティブになっている。第一期間に続く第二期間ではメインサーバ１０１が非アクティブになり、ミラーサーバ１０４がアクティブに切り替わり、ミラーサーバ１０４がウェブサービスを提供する。第二期間に続く第三期間でメインサーバ１０１がアクティブになり、第三期間に続く第四期間ではミラーサーバ１０４がアクティブになる。
【００２４】
切替部３０２は、所定のサーバ切り替え条件にしたがってウェブサービスを提供すべきウェブサーバを切り替える。サーバ切り替え条件の１つは、アクティブとなっていないウェブサーバについて攻撃が実行されていないことである。万が一、攻撃されたウェブサーバを公開してしまえば、ユーザがウイルスに感染する可能性がある。よって、非アクティブとなっていたウェブサーバが攻撃されていない健全なウェブサーバであれば、アクティブとなっていたウェブサーバから非アクティブとなっていたウェブサーバに切り替えが実行される。
【００２５】
転送部３０３は、複数のウェブサーバとクライアントコンピュータ１１０との間に介在し、情報の送受信を行う。たとえば、転送部３０３は、クライアントコンピュータ１１０からコンテンツの提供を要求するリクエストを受信すると、このリクエストをメインサーバ１０１またはミラーサーバ１０４とのうち切替部３０２によってアクティブとなっているウェブサーバに転送する。その結果、メインサーバ１０１またはミラーサーバ１０４とのうち切替部３０２によってアクティブとなっているウェブサーバは、リクエストによって要求されたコンテンツをクライアントコンピュータ１１０に対して送信する。転送部３０３は、アクティブとなっているウェブサーバからコンテンツを受信すると、このコンテンツをクライアントコンピュータ１１０に転送する。後述するように、アクティブとなっているウェブサーバがサーバ切替装置１０７を介さずに、コンテンツをクライアントコンピュータ１１０に転送してもよい。
【００２６】
コピー部３０４は、メインサーバ１０１が保持しているコンテンツをミラーサーバ１０４にコピーする機能である。これによりウェブコンテンツ１０２、１０５が同期することになる。つまり、コピー部３０４によって、メインサーバ１０１が保持しているコンテンツとミラーサーバ１０４が保持しているコンテンツが同一となるように維持される。
【００２７】
サーバ切替装置１０７は、一定期間を計時する計時部３０５をさらに有していてもよい。切替部３０２は、計時部３０５によって一定期間が計時され、かつ、攻撃検出部３０１が攻撃を検出していなければ、コンテンツを提供するためにアクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行する。攻撃を効率よく検出してウェブサーバを健全に維持するには、一定期間ごとにウェブサーバを切り替えることである。改竄やウイルスの検出はウェブサーバに負荷をかけるため、ユーザに処理速度の遅いサーバであるかのような印象を与えうる。そこで、ウェブサーバが非アクティブになっているときに、詳細に攻撃の有無を検出することで、ユーザに負担をかけずに正確に攻撃を検出しやすくなる。
【００２８】
サーバ切り替え条件は、一定期間ではなく、予め定められた時刻であってもよい。切替部３０２は、所定の時刻となり、かつ、攻撃検出部３０１が攻撃を検出していなければ、コンテンツを提供するためにアクティブとなっていたウェブサーバから当該アクティブとなっていないウェブサーバに切り替えを実行する。これにより、２つの特定時刻間で特定のウェブサーバを稼働させることが可能となる。たとえば、複数のウェブサーバに処理速度に関する性能差がある場合、より処理速度の速いウェブサーバをアクセスの集中する期間にアクティブにしてもよい。これにより、ユーザはアクセス集中による影響を受けにくくなろう。
【００２９】
サーバ切替装置１０７、メインサーバ１０１またはミラーサーバ１０４は、クライアントコンピュータ１１０についてセッション情報を記録するセッション情報記録部３０６をさらに有していてもよい。メインサーバ１０１とミラーサーバ１０４は、セッション情報記録部３０６によって同一のセッション情報を共有しており、ウェブサーバの切り替えが実行されても当該共有されているセッション情報にしたがってコンテンツが提供される。セッション情報が複数のウェブサーバによって共有されているため、ウェブサーバが切り替えられたとしてもユーザはウェブサービスの享受を継続して受けることが可能となる。セッション情報が複数のウェブサーバによって共有されているため、ユーザはあたかも１つのウェブサーバから継続してサービスを受けているように感じることになろう、つまり、ウェブサーバの切り替えはユーザに感知されにくくなり、ユーザビリティを向上できよう。
【００３０】
セッション情報はセッション情報記録部３０６に保持されていてもよいが、各ウェブサーバに保持されてもよい。つまり、メインサーバ１０１はセッション情報を記憶するセッション情報記憶部３６３を有し、ミラーサーバ１０４においてセッション情報を記憶するセッション情報記憶部３７３を有していてもよい。セッション情報記録部３０６は、セッション情報を監視ないしは管理しており、セッション情報記憶部３６３とセッション情報記憶部３７３との間でセッション情報をコピーする。これにより最新のセッション情報が共有されるようになる。
【００３１】
アクセスログ保持部３０７は、各クライアントコンピュータ１１０のアクセスログを保持してもよい。アクセスログには、たとえば、ユーザの実行した操作内容（掲示板への書き込み、ファイルのダウンロードやアップロード）、操作時刻、ログインＩＤ、クライアントコンピュータ１１０のＩＰアドレスなどが記録される。つまり、アクセスログには攻撃者や攻撃内容を特定可能な情報が記録される。攻撃者特定部３０８は、攻撃検出部３０１が攻撃を検知するとアクセスログを参照して攻撃を実行したクライアントコンピュータ１１０を特定する。これにより、転送部３０３は、当該攻撃を実行したクライアントコンピュータ１１０のアクセスを遮断したり、ブロックしたりすることが可能となる。また、ウイルスの感染経路や伝搬経路を特定する上でもアクセスログは役に立つであろう。
【００３２】
あるウェブサーバについて攻撃検出部３０１によって攻撃が検出されると、ユーザ判別部３０９は、そのウェブサーバがアクティブになっていたとき（つまり、攻撃がされたアクティブ期間）に当該ウェブサーバにアクセスしたクライアントコンピュータ１１０をアクセスログから判別してもよい。アラート送信部３１０は、ユーザ判別部３０９により判別されたクライアントコンピュータ１１０に対してアラートを送信する。これにより、ユーザに注意喚起を促すことが可能となる。ユーザは自らウイルス検査などを実行してウイルスを駆逐し、さらなる感染を食い止めやすくなろう。
【００３３】
攻撃検出部３０１は、たとえば、コンピュータウイルスを検知するウイルス検知機能を有していてもよいし、コンテンツの改竄を検知する改竄検知機能を有していてもよい。ウイルス検知機能や改竄検知機能はすでによく知られているため、ここではその詳細については説明を省略する。
【００３４】
メインサーバ１０１のリクエスト応答部３６１は、転送部３０３によって転送されてきたリクエストを受信して解析し、レスポンスを作成して送信する。たとえば、コンテンツ記憶部３６２に記憶されているウェブコンテンツ１０２がリクエストによって要求されると、リクエスト応答部３６１は、当該ウェブコンテンツ１０２を送信する。
【００３５】
ミラーサーバ１０４のリクエスト応答部３７１は、転送部３０３によって転送されてきたリクエストを受信して解析し、レスポンスを作成して送信する。たとえば、コンテンツ記憶部３７２に記憶されているウェブコンテンツ１０５がリクエストによって要求されると、リクエスト応答部３７１は、当該ウェブコンテンツ１０５を送信する。
【００３６】
図４は、本実施形態に係るシステムが行う処理のフローチャートである。なお、ウイルスの検査や改竄の有無を解析する手段は、不図示の装置が行ってもよいし、サーバ切替装置１０７、メインサーバ１０１またはミラーサーバ１０４が行ってもよい。ここでは、説明の簡明化のために、サーバ切替装置１０７がウイルスの検査や改竄の有無を解析するものと仮定する。
【００３７】
Ｓ４０１でサーバ切替装置１０７のＣＰＵ２０１（切替部３０２）は、サーバ切り替え条件の１つが満たされているかどうかを判定する。１つ目のサーバ切り替え条件は、たとえば、所定期間が終了したことである。ＣＰＵ２０１は、タイマー等（計時部３０５）を用いて所定期間が終了したことを判定する。これが満たされると、Ｓ４０２に進む。
【００３８】
Ｓ４０２でサーバ切替装置１０７のＣＰＵ２０１（切替部３０２）は、サーバ切り替え条件の１つが満たされているかどうかを判定する。２つめの切り替え条件は、たとえば、ウイルスが発見されていないことなど、攻撃を受けていないことである。ここでは、メインサーバ１０１がアクティブになっており、ミラーサーバ１０４が非アクティブになっていると仮定する。この場合、ＣＰＵ２０１（攻撃検出部３０１）は、ウイルス検査プログラムを実行し、ＷＷＷ環境１００から非接続となっているミラーサーバ１０４に対し、ウイルスの検査を実行する。なお、ＣＰＵ２０１（攻撃検出部３０１）は、改竄検出プログラムを実行し、ＷＷＷ環境１００から非接続となっているミラーサーバ１０４に対し改竄の有無を解析してもよい。２つ目のサーバ切り替え条件が満たされていれば、Ｓ４０３に進む。
【００３９】
Ｓ４０３で、サーバ切替装置１０７のＣＰＵ２０１（セッション情報記録部３０６）は、メインサーバ１０１のセッション情報１０３をミラーサーバ１０４のセッション情報１０６に上書きする。
【００４０】
Ｓ４０４で、サーバ切替装置１０７のＣＰＵ２０１（切替部３０２）は、メインサーバ１０１をＷＷＷ環境１００から切断し、ミラーサーバ１０４をＷＷＷ環境に接続する。この接続と切断は転送部３０３が物理的なスイッチによって実現してもよいし、転送部３０３がリクエストの転送先を変更することでソフトウエア的に実現してもよい。
【００４１】
Ｓ４０２で何らかのウイルスや改竄が検出された場合はＳ４１１に進む。Ｓ４１１で、サーバ切替装置１０７のＣＰＵ２０１（ユーザ判別部３０９）は、アクセスログ保持部３０７が保持しているアクセスログを参照してアクティブ期間内にミラーサーバ１０４にアクセスしていたユーザを判別する。
【００４２】
Ｓ４１２で、サーバ切替装置１０７のＣＰＵ２０１（アラート送信部３１０）は、アクティブ期間内にアクセスしていたユーザに対してウイルス感染や改竄などの攻撃に対する注意を促すメッセージを送信する。アクセスログにユーザのメールアドレスが登録されていれば、アラート送信部３１０は、電子メールにてメッセージを送信してもよい。また、アラート送信部３１０は、ＩＰアドレスを宛先としてメッセージを送信するメッセージングツールを使用して、ユーザのＩＰアドレスに対してメッセージを送信してもよい。
【００４３】
Ｓ４１３で、サーバ切替装置１０７のＣＰＵ２０１（攻撃者特定部３０８）は、アクティブ期間に基づきアクセスログを解析し、攻撃を実行したと考えられるサーバアクセスを絞りこみ、感染経路や改竄元の絞込みを実行する。これにより、ウェブサーバを攻撃してきたコンピュータのＩＰアドレスなどが判明する。
【００４４】
Ｓ４１４で、サーバ切替装置１０７のＣＰＵ２０１は、攻撃に対する処置や対策を行う。たとえば、転送部３０３は、ウイルスの感染原因や改竄を行ったと見られるユーザ（ＩＰアドレスなど）に対しては、今後のアクセスをブロックする。また、サーバ切替装置１０７のＣＰＵ２０１は、ウイルスプログラムやスクリプトを削除したり、改竄された箇所を修正したりしてもよい。
【００４５】
ところで、サーバ切替装置１０７やメインサーバ１０１、ミラーサーバ１０４のうち２つまたは３つが同一情報機器内で実現されてもよいし、たとえば、仮想環境上に構築されていてもよい。
【００４６】
図５は本実施形態に係る通信処理の一例を示すシーケンス図である。クライアントコンピュータ１１０がＵＲＬリクエストを送信する（Ｓ５０１）と、サーバ切替装置１０７はメインサーバ１０１へサーバ情報（ウェブコンテンツ１０２）のリクエストを送信する（Ｓ５０２）。メインサーバ１０１はリクエストを受信すると、サーバ切替装置１０７へＨＴＭＬレスポンス（ウェブコンテンツ１０２）を返す（Ｓ５０３）。それを受信したサーバ切替装置１０７はクライアントコンピュータ１１０へＨＴＭＬ転送を実行する（Ｓ５０４）。
【００４７】
前回のサーバ切り替え時刻から所定時間が経過すると、サーバ切替装置１０７はウェブサーバをメインサーバ１０１からミラーサーバ１０４に切り替える。
【００４８】
クライアントコンピュータ１１０がＵＲＬリクエストを送信する（Ｓ５１１）と、サーバ切替装置１０７はミラーサーバ１０４へサーバ情報（ウェブコンテンツ１０５）のリクエストを送信する（Ｓ５１２）。ミラーサーバ１０４はリクエストを受信すると、サーバ切替装置１０７へＨＴＭＬレスポンス（ウェブコンテンツ１０５）を返す（Ｓ５１３）。それを受信したサーバ切替装置１０７はクライアントコンピュータ１１０へＨＴＭＬ転送を実行する（Ｓ５１４）。
【００４９】
前回のサーバ切り替え時刻から所定時間が経過すると、サーバ切替装置１０７はウェブサーバをミラーサーバ１０４からメインサーバ１０１に切り替える。
【００５０】
図６は、別のネットワーク接続形態の一例を示す図である。図６の接続形態では、メインサーバ１０１とミラーサーバ１０４が直接的にＷＷＷ環境１００に接続されている。ユーザからのＵＲＬリクエストをサーバ切替装置１０７が受けると、メインサーバ１０１へリクエストを送信する。それを受けたメインサーバ１０１はサーバ切替装置１０７を通さず、直接的にＷＷＷ環境１００を通してクライアントコンピュータ１１０へＨＴＭＬ転送を行う。
【００５１】
そして所定時間後にサーバ切替装置１０７がウェブサーバを切り替える。クライアントコンピュータ１１０からのＵＲＬリクエストをサーバ切替装置１０７が受けると、ミラーサーバ１０４に対してリクエストを送信する。そしてそれを受けたミラーサーバ１０４はサーバ切替装置１０７を通さず、直接的にＷＷＷ環境１００を通してクライアントコンピュータ１１０へＨＴＭＬ転送を行う。サーバ切替装置１０７がアクティブなウェブサーバをメインサーバ１０１からミラーサーバ１０４に切り替えるとき、メインサーバ１０１に保存されたセッション情報１０３はＷＷＷ環境１００を通してミラーサーバ１０４に上書きされる。なお、このときサーバ切替装置１０７を経由し上書きが実行されてもよい。
【００５２】
なお、上述した実施形態では、サーバ切替装置１０７がアクティブなウェブサーバを切り替えた際、セッション情報を上書きすることでセッション情報を共有ないしは同期する構成を説明した。しかし、所定時間が経過することによってサーバ切替装置１０７がアクティブなウェブサーバを切り替えた際にセッション情報を上書きしない構成を採用してもよい。その場合、アクセスしていたユーザは接続が切断されるが、サーバ切替装置１０７またはアクティブとなったウェブサーバが、「再度アクセスをして下さい」等の通知をクライアントコンピュータ１１０に送信してもよい。これによりユーザは更新ボタンなどを操作し、目的のウェブページに再度アクセスできるようになろう。
【００５３】
本実施形態によれば、アクティブなウェブサーバが切り替わっても、セッション情報の共有によってユーザの操作情報が維持される。また、サーバ切替装置１０７が介在することで、メインサーバ１０１であってもミラーサーバ１０４であってもクライアントコンピュータ１１０からの接続先ＵＲＬは同一となる。よって、ウェブサーバが切り替わっても、同一のウェブコンテンツを操作および閲覧しているようにユーザには見せることができる。
【００５４】
本実施形態によれば、ＷＷＷ環境１００に対して接続されるウェブサーバを切り替えることができるため、ＷＷＷ環境１００に対し非接続のウェブサーバの安全性を保障できるようになる。また、ウェブサーバから提供されるウェブコンテンツの安全性を保障することができる。また、何らかのウイルスや改竄が検出された場合、ウェブコンテンツにアクセスしたユーザに対して感染や攻撃に対する注意を促すメッセージを送信してもよい。これにより、ウイルスに感染したユーザから他のユーザへの二次感染を抑制しやすくなろう。
【００５５】
［他の実施形態］
上記の実施形態では、メインサーバ１０１およびミラーサーバ１０４をウェブサーバとして説明した。しかし、メインサーバ１０１およびミラーサーバ１０４はコンピュータ以外の情報処理装置でもよい。たとえば、メインサーバ１０１およびミラーサーバ１０４は複合機（ＭＦＰ）やネットワークスキャナ、プリンタなどに実装されてもよい。
【００５６】
近年、複合機やスキャナなどの多くのネットワーク機器はネットワークに接続できる。これは、ネットワーク機器のメンテナンス作業者が直接的にネットワーク機器を操作することなく、遠隔からネットワーク機器の稼働状況や不具合原因を確認したり、調査したりするためである。このようにネットワーク機器は通信ユニットとリモートアクセス機能を備えている。とりわけ、図７Ａが示すようにＭＦＰなどのネットワーク機器７００はメンテナンス用のウェブサーバ７０１を有している。メンテナンス作業者はクライアントコンピュータ１１０からウェブサーバ７０１にアクセスすることでメンテナンス作業を実行する。以下では、ウェブサーバ７０１はネットワーク機器７００に内蔵されているものとして説明するが、図７Ｂが示すように、ウェブサーバ７０１はネットワーク機器７００の外部に設置されていてもよい。また、メンテナンス作業に限らず、ネットワーク機器の利用者が直接的にネットワーク機器を操作することなく遠隔からネットワーク機器を操作できれば便利であろう。これを実現するために、ＭＦＰなどのネットワーク機器７００はウェブサーバ７０１を有していてもよい。
【００５７】
図１２は、ネットワーク機器７００に適用可能なコンピュータのハードウェア構成例を示すブロック図である。インターフェース２０７は、たとえば、ネットワークインターフェースである。インターフェース２０７は、ネットワークに接続されたクライアントコンピュータから印刷データを受信したり、読み取られた画像をクライアントコンピュータへ送信したりする。印刷部１２０８は、レーザービームプリンタまたはインクジェットプリンタ等で構成される。画像読取部１２０９は、ネットワーク機器７００の原稿台に置かれた原稿を読み取るイメージスキャナである。ＨＤＤ２０４には、印刷部１２０８の制御プログラムである印刷制御部１２１０、画像読取部１２０９の制御プログラムである画像読取制御部１２１１、ウェブサーバプログラムであるウェブサーバ１２１２が保存されている。これらのプログラムをＣＰＵ２０１が実行することで、ＣＰＵ２０１が制御部やサーバとして機能する。なお、表示装置２０６は省略されてもよい。
【００５８】
たとえば、メンテナンス作業者はインターネットブラウザなどのアプリケーションをクライアントコンピュータ１１０で起動し、ネットワーク機器７００のウェブサーバ７０１に接続する。メンテナンス作業者はクライアントコンピュータ１１０で稼働しているブラウザから必要なコマンドを発行し、ウェブサーバ７０１からの応答をブラウザで確認し、ブラウザを通じて適切な処置を施す。このようなネットワーク機器７００は、通常のパーソナルコンピュータと同様、悪意を持ったハッカーなどの攻撃者による攻撃の的となりうる。実際にネットワーク機器７００がコンピュータウイルスに感染したり、ネットワーク機器７００が保持しているコンテンツが不正に改ざんされたりしてしまう事件も増加している。
【００５９】
図１１Ａおよび図１１Ｂは、クライアントコンピュータ１１０からネットワーク機器７００へアクセスして、クライアントコンピュータ１１０の表示装置２０６にて表示されるコンテンツの一例である。これらのコンテンツはネットワーク機器７００のウェブサーバ１２１２からクライアントコンピュータ１１０に配信される。
【００６０】
とりわけ、図１１Ａは、ネットワーク機器７００の画像読取部１２０９が読み取った画像をネットワークに接続されたクライアントコンピュータ１１０へ送信するための設定画面である。図１１Ａにおいて、「送信先アドレス」は、読み取った画像を転送される相手先（受信者）のメールアドレスを設定するためのテキストボックスまたはプルダウンメニューである。「カラー選択」は、原稿の画像の読み取りをカラーまたは白黒で行うかを選択するための設定ボタンである。「解像度」は、原稿の読取解像度を選択するためのプルダウンメニューである。たとえば、３００ｄｐｉ×３００ｄｐｉや６００ｄｐｉ×６００ｄｐｉといった複数の解像度からいずれかの解像度が選択される。「両面原稿」は、原稿の読み取りを両面又は片面のいずれで行うかを選択するための設定ボタンである。
【００６１】
ここで、ネットワーク機器７００がコンピュータウイルスに感染すると、送信先アドレスが悪意を持った攻撃者のクライアントコンピュータのアドレスに書き換えられ、読み取った画像が攻撃者に送信され悪用されてしまう。
【００６２】
図１１Ｂは、ネットワーク機器７００のメンテナンス画面である。たとえば、定着器の寿命を表示してユーザや管理者に交換を促したり、トナー残量を表示してユーザや管理者にトナーの補充を促したりする。メンテナンス画面などのメンテナンス情報は、ネットワーク機器７００内に登録してあるネットワーク機器管理者のメールアドレスまたはクライアントコンピュータに割り当てられたメールアドレスに送信される。ここで、ネットワーク機器７００がコンピュータウイルスに感染すると、送信先アドレスが悪意を持った攻撃者のクライアントコンピュータのアドレスに書き換えられ、これらの情報が攻撃者に送信され悪用されてしまう。
【００６３】
図８Ａが示すように、本実施形態では、ウェブサーバ７０１を有しているＯＡ機器などのネットワーク機器７００にメインコンテンツ１０２とミラーコンテンツ１０５を保持させてもよい。つまり、ウェブサーバ７０１は、上述したメインサーバ１０１、ミラーサーバ１０４およびサーバ切替装置１０７として機能してもよい。これにより、ネットワーク機器７００について攻撃者からの改竄を防ぐとともに、安全なメンテナンス作業の実行環境を提供できるようになる。もちろん、サーバ切替装置１０７の機能はウェブサーバ７０１やネットワーク機器７００の外部に設けられてもよい。たとえば、サーバ切替装置１０７はネットワーク機器７００に直接接続されているか、ネットワークを経由して接続されていてもよい。
【００６４】
なお、図８Ｂが示すように、ネットワーク機器７００ａにメインコンテンツ１０２を有したメインサーバ１０１を配置し、ネットワーク機器７００ｂにミラーコンテンツ１０５を有したミラーサーバ１０４を配置してもよい。サーバ切替装置１０７は、ネットワーク機器７００ａ、７００ｂのいずれかに実装されてもよいし、これらとは別個のコンピュータやネットワーク機器に実装されてもよい。
【００６５】
ところで、ウェブコンテンツ１０２、１０５はそれぞれ複数のコンテンツであってもよい。つまり、サーバミラーではなく、コンテンツミラーでもよい。
【００６６】
図９は複数のサーバがそれぞれ複数の同一コンテンツを保持していることを示している。
【００６７】
ウェブサイトで公開されるコンテンツの総量は増加の一途をたどっている。メインとなるトップ画面は一つでも、内部的には多層的かつ広大なリンク構造を有している事も多い。このようなウェブサイトにおいては、すべてのページについて改竄の有無を検査する必要があるため、膨大な時間がかかるであろう。このような検査作業をメインサーバ１０１とミラーサーバ１０４の切替タイミングで実行すると、切替時間が長くなってしまうだろう。切替時間が長くなればなるほど改竄やウイルス伝搬のリスクが高くなってしまうだろう。
【００６８】
そこで、サーバコンテンツの同期処理において、攻撃検出部３０１は、サーバコンテンツをすべて検査するのではなく、一定の単位でコンテンツを検査する。コピー部３０４は、攻撃検出部３０１により検査がされたコンテンツを順次ミラーサーバ１０４からメインサーバ１０１に上書き複製（ローテーション）していく。これにより効率よくサーバコンテンツを同期させることが可能となる。また、攻撃検出部３０１の検査処理は必ずしも切替時に実行する必要はないため、切替時間を短縮できる。
【００６９】
図１０は、コンテンツ同期処理の一例を示すフローチャートである。Ｓ１００１で、サーバ切替装置１０７のＣＰＵ２０１（攻撃検出部３０１）はミラーサーバ１０４から検査対象コンテンツ（例：コンテンツ１）を読み出す。Ｓ１００２で、ＣＰＵ２０１（攻撃検出部３０１）は読み出したコンテンツを検査する。たとえば、ウイルスの有無の検査や改竄の有無などが検査される。Ｓ１００３で、ＣＰＵ２０１（攻撃検出部３０１）はコンテンツにウイルス感染や改竄等の異常がないかどうかを判定する。異常がなければＳ１００４に進む。Ｓ１００４で、ＣＰＵ２０１（コピー部３０４）はメインサーバ１０１のコンテンツ（コンテンツ１）を、ミラーサーバ１０４のコンテンツ（コンテンツ１）により上書き複製する。その後、Ｓ１００７に進む。Ｓ１００７でＣＰＵ２０１（攻撃検出部３０１）はすべての検査対象コンテンツについて検査を完了したかどうかを判定する。すべての検査対象コンテンツについて検査を完了していれば、ＣＰＵ２０１（攻撃検出部３０１）は本フローチャートに係る同期処理を終了する。一方で、すべての検査対象コンテンツについて検査を完了していなければ、Ｓ１００１に戻り、ＣＰＵ２０１（攻撃検出部３０１）は次の検査対象コンテンツを読み出す。
【００７０】
Ｓ１００３で異常があると判定されると、Ｓ１００５に進む。Ｓ１００５でＣＰＵ２０１（攻撃検出部３０１）は警告信号（例：電子メールやウェブコンテンツ、インスタントメッセージなど）をユーザまたは管理者等に送信する。Ｓ１００６でＣＰＵ２０１（攻撃検出部３０１）はコンテンツを正常に戻すための処理を実行する。たとえば、ＣＰＵ２０１（攻撃検出部３０１）はメインサーバ１０１のコンテンツ（コンテンツ１）を読み出して検査し、異常がなければ、コンテンツ（コンテンツ１）をミラーサーバ１０４に複製する。あるいは、ＣＰＵ２０１（攻撃検出部３０１）は、ウイルスプログラムやスクリプトを削除したり、改竄された箇所を修正したりしてもよい。また、上述したように攻撃者特定部３０８がウイルスの感染原因や改竄を行ったと見られるユーザ（ＩＰアドレスなど）を特定し、当該ユーザからの今後のアクセスをブロックするよう転送部３０３を設定してもよい。
【００７１】
上述したようにアクセスログ保持部３０７はアクセス履歴（アクセスログ）を記録している。攻撃検出部３０１は、アクセス履歴に基づき、検査対象（複製対象）のコンテンツに優先度を付与してもよい。たとえば、攻撃検出部３０１は、一度もユーザからアクセスされていないコンテンツは複製対象としないか、またはそのコンテンツの優先度をアクセス頻度に応じて低く設定する。逆に攻撃検出部３０１は、アクセス頻度の高いコンテンツの優先度をアクセス頻度に応じて高く設定する。このように、攻撃検出部３０１は、優先度に応じて各コンテンツの検査タイミングを優先的にスケジューリングしてもよい。これにより、多くのユーザによってアクセスされるコンテンツについてはより頻繁に検査が実行されるため、ユーザが改竄ページを参照してしまうことになるリスク期間を短くすることが可能となろう。
【図１】
2015109070.tif 000003
【図２】
2015109070.tif 000004
【図３】
2015109070.tif 000005
【図４】
2015109070.tif 000006
【図５】
2015109070.tif 000007
【図６】
2015109070.tif 000008
【図７Ａ】
2015109070.tif 000009
【図７Ｂ】
2015109070.tif 000010
【図８Ａ】
2015109070.tif 000011
【図８Ｂ】
2015109070.tif 000012
【図９】
2015109070.tif 000013
【図１０】
2015109070.tif 000014
【図１１Ａ】
2015109070.tif 000015
【図１１Ｂ】
2015109070.tif 000016
【図１２】
2015109070.tif 000017