(57)【特許請求の範囲】
【請求項１】
インターネット側からの操作リクエストを、特定の宛先サーバを経由して受信すると、前記操作リクエストが、管理操作かアプリケーション操作であるかを、前記操作リクエストに含まれるヘッダ情報に基づいて判定し、
前記アプリケーション操作である場合、前記アプリケーション操作に係る操作リクエストを、アプリケーションを動作させるサーバ側に転送し、
前記管理操作である場合、前記管理操作に係る前記操作リクエストを遮断する、
処理を情報処理装置に実行させることを特徴とする制御プログラム。
【請求項２】
インターネット側からの操作リクエストの宛先となる宛先サーバと、
特定の宛先サーバを経由して前記操作リクエストを受信すると、前記操作リクエストが、管理操作かアプリケーション操作であるかを、前記操作リクエストに含まれるヘッダ情報に基づいて判定し、
前記アプリケーション操作である場合、前記アプリケーション操作に係る操作リクエストを、アプリケーションを動作させるサーバ側に転送し、
前記管理操作である場合、前記管理操作に係る前記操作リクエストを遮断する通信制御装置と、を有する、
ことを特徴とする制御システム。
【請求項３】
インターネット側からの操作リクエストを、特定の宛先サーバを経由して受信すると、前記操作リクエストが、管理操作かアプリケーション操作であるかを、前記操作リクエストに含まれるヘッダ情報に基づいて判定し、
前記アプリケーション操作である場合、前記アプリケーション操作に係る操作リクエストを、アプリケーションを動作させるサーバ側に転送し、
前記管理操作である場合、前記管理操作に係る前記操作リクエストを遮断する
ことを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドコンピューティングに関する。
【背景技術】
【０００２】
近年、クラウドコンピューティング（以下、クラウドと記載）を利用したサービスがユーザに対して、幅広く利用されている。更に、企業活動に用いられる業務システムも、クラウド化されるケースが増加している。業務システムをクラウド化することで、Ｗｅｂ上に公開されているサービス（業務システム）を、あたかもクライアントにインストールされているアプリケーションのように扱うことが可能となる。
【０００３】
管理者は、オンプレミスで動作する業務システムにアクセスする場合、該業務システムが設置されている情報処理装置に対してリモートログインなどでアクセスする。管理者は、リモートログインで業務システムにアクセスし、該業務システムに係る管理操作をすることができる。
【０００４】
一方、クラウドで動作する業務システムに管理者がアクセスしたい場合、管理者は、該業務システムにインターネット経由でアクセスする。管理者がインターネット経由で業務システムにアクセスし、管理操作を行う場合、管理操作の情報や業務システムに係る重要な情報（認証情報など）が漏洩する可能性がでてくる。更に、管理操作をインターネット経由で行うことが可能であるため、なりすましなどのリスクも発生する。
【０００５】
そこで、管理者による操作をイントラネットの通信に制限し、インターネット経由での管理操作（通信）を遮断することで、情報漏洩やなりすましへの対応が行われている。
【０００６】
データ通信経路と制御通信経路を分離して、且つ制御通信経路に制御パケットを多重化する多重化回路を設け、最短ジョブ優先制御を実行する。往復通信時間の平均を小さくでき、且つハードウェアコストも低減できる技術が知られている（例えば、特許文献１を参照）。
【０００７】
全体のトラフィックを複数の通信経路に振り分けることにより、同一パケットの二重受信や無線リソースの浪費を伴わず、高帯域な通信を可能とする装置が知られている（例えば、特許文献２を参照）。
【０００８】
パケットを送信するに最適な通信経路でパケットを送信することを可能とすると共に、パケットを別々の通信経路に割り振って送信することを可能にすることによって、パケットを高効率、高品質に送信することができ、また、１つの受信側装置への同一パケットの同時送信を防止することによってパケット通信の無駄遣いを低減する技術が知られている（例えば、特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−１３５４３３号公報
【特許文献２】特開２００４−９６２４７号公報
【特許文献３】特開２００５−１２３９９３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
クラウドで動作する業務システムにおける管理操作は、インターネット経由で行われる。より具体的に、管理操作は、指定したUniform Resource Locator(URL)にリクエストを送信し結果を受信する仕組みを提供するRepresentation State Transfer(REST)ful Application Programming Interface(API)を用いて行われる。指定するURLは、Hypertext Transfer Protocol(HTTP)やHypertext Transfer Protocol Secure(HTTPS)のプロトコルを用いる。
【００１１】
更に、ユーザが利用するアプリケーションに係る操作（開始、ファイル配置、停止など）は、RESTful APIを用いて、ユーザにより行われる。
【００１２】
ここで、管理者による管理操作をイントラネットの通信に制限し、インターネット経由での管理操作（通信）を遮断する場合、この遮断処理は、ファイヤウォールにより行われることが好ましい。ファイヤウォールは、Internet Protocol(IP)アドレスやポート番号を指定することで、通信の透過、遮断を制御できる。しかし、管理操作及びアプリケーションに係る操作のどちらもHTTP/HTTPSを用いた通信であるため、ファイヤウォールは、管理操作とアプリケーションに係る操作を区別できない。
【００１３】
本発明は１つの側面において、ファイヤウォールにより管理者による管理操作とユーザによるアプリケーション操作を判定し、管理者による管理操作を遮断することを目的とする。
【課題を解決するための手段】
【００１４】
情報処理装置は、インターネット側からの操作リクエストを、特定の宛先サーバを経由して受信すると、前記操作リクエストが、管理操作かアプリケーション操作であるかを、前記操作リクエストに含まれるヘッダ情報に基づいて判定する。該情報処理装置は、前記アプリケーション操作である場合、前記アプリケーション操作に係る操作リクエストを、アプリケーションを動作させるサーバ側に転送し、前記管理操作である場合、前記管理操作に係る前記操作リクエストを遮断する。
【発明の効果】
【００１５】
本発明によれば、ファイヤウォールにより管理者による管理操作とユーザによるアプリケーション操作を判定し、管理者による管理操作を遮断することができる。
【図面の簡単な説明】
【００１６】
【図１】管理操作に係る受信制御システムの処理の例を説明する図である。
【図２】アプリケーション操作に係る受信制御システムの処理の例を説明する図である。
【図３】アプリケーション通信に係る受信制御システムの処理の例を説明する図である。
【図４】WAFのブロック構成の例を説明する図である。
【図５】WAFにおいて遮断されるリクエストの例（その１）を説明する図である。
【図６】WAFにおいて遮断されるリクエストの例（その２）を説明する図である。
【図７】WAFにおいて遮断されるリクエストの例（その３）を説明する図である。
【図８】WAFのハードウェア構成の例を説明する図である。
【図９】本発明に係る受信制御システムの処理の例を説明するフローチャートである。
【発明を実施するための形態】
【００１７】
本発明は、ユーザと管理者の通信をHTTPプロトコル上の特性に基づいて区別することにより、システム上重要な情報を送受信する管理者の操作（通信）をインターネット経由で行うことを抑止し、セキュアな運用を実現するネットワークを構築する。
【００１８】
図１は、管理操作に係る受信制御システムの処理の例を説明する図である。受信制御システム１００は、インターネット２００からのユーザ及び管理者が業務システム及びアプリを使用する場合の各種操作及びアクセスを受け付けるシステムである。受信制御システム１００は、ルータ１０１、宛先サーバ１０２、宛先サーバ１０３、Web Application Firewall(WAF)１０４、リバースプロキシサーバ１０５、 Webサーバ１０６、Webサーバ１０７を備える。
【００１９】
ルータ１０１は、受信制御システム１００側と外部ネットワーク（インターネット２００）側との境界に設置されるルータである。ルータ１０１には、例えば、ファイヤウォールが設置され、内外の通信を中継及び監視し、外部の攻撃から内部を保護する。外部ネットワーク側からの通信は、一旦、ルータ１０１を経由し、宛先サーバ１０２又は宛先サーバ１０３側に送られる。そのため、受信制御システム１００において、外部ネットワーク側からの通信は、直接、リバースプロキシサーバ１０５、 Webサーバ１０６、Webサーバ１０７には送られない。
【００２０】
宛先サーバ１０２は、インターネット２００側からユーザのアプリケーションに係る通信（アクセス）の際の宛先となるサーバである。Webサーバ１０６は、アプリケーションを動作させるサーバである。ここで、クラウドシステムにおいて、Webサーバ１０６は直接ユーザに対して公開されていない。ユーザからのアプリケーションに係る通信（アクセス）は、一旦、宛先サーバ１０２を経由して、Webサーバ１０６に転送される。
【００２１】
宛先サーバ１０３は、インターネット２００側からユーザによるアプリケーション操作（開始、ファイル配置、停止など）、管理者による管理操作の際の宛先となるサーバである。WAF１０４は、宛先サーバ１０３を監視し、インターネット２００側からの通信が管理操作である場合、該管理操作を遮断する機器、ソフトウェア、又はシステムである。WAF104は、例えば、通信制御装置として動作する。Webサーバ１０７は、業務システムを動作させるサーバである。ここで、クラウドシステムにおいて、Webサーバ１０７は直接ユーザに対して公開されていない。アプリケーション操作は、一旦、宛先サーバ１０３を経由して、Webサーバ１０７に転送される。
【００２２】
リバースプロキシサーバ１０５は、宛先サーバ１０２、宛先サーバ１０３を経由した通信を、Fully Qualified Domain Name(FQDN)に基づいて、Webサーバ１０６、Webサーバ１０７に転送する。
【００２３】
このような受信制御システム１００において、管理操作に係るアクセス（リクエスト）を受信した場合の処理を順に説明する。
管理者は、インターネット２００側から HTTP/HTTPSプロトコル（RESTful API）を用いて管理操作に係るアクセス（リクエスト）をする。具体的には、管理操作のリクエストは、インターネット２００側から宛先サーバ１０３に送られる（パケット処理P１０１）。宛先サーバ１０３に送られた管理操作のリクエストは、WAF１０４に送られる（パケット処理P１０２）。WAF１０４は、該リクエストが、ユーザによるアプリケーション操作であるか管理者による管理操作であるかを判定する（パケット処理P１０３）。WAF１０４は、管理操作であるため、該通信を遮断する（パケット処理P１０４）。
【００２４】
なお、WAF１０４は、管理操作に係るリクエストのHTTPにおける特性を、定義ファイルとして保存している。WAF１０４は、定義ファイルに登録されている特性に基づいて、管理操作を特定し、管理操作に係る通信を遮断する。特性は、リクエストに含まれるヘッダ情報に格納され、例えば、FQDN、パス（特定の文字列）、HTTPリクエストヘッダの存在、HTTPメソッドなどの特性である。
【００２５】
このように、WAF１０４は、リクエストに含まれる情報に基づいて、管理者による管理操作とユーザによるアプリケーション操作を判定し、管理者による管理操作を遮断することができる。
【００２６】
図２は、アプリケーション操作に係る受信制御システムの処理の例を説明する図である。図２における受信制御システム１００は、図１の受信制御システム１００と同一のものは、同一の番号を付す。
【００２７】
受信制御システム１００において、アプリケーション操作（開始、ファイル配置、停止など）に係る通信を受信した場合の処理を順に説明する。ユーザは、インターネット２００側から HTTP/HTTPSプロトコル（RESTful API）を用いてアプリケーション操作に係るアクセス（リクエスト）をする。具体的には、アプリケーション操作に係るリクエストは、インターネット２００側から宛先サーバ１０３に送られる（パケット処理P２０１）。宛先サーバ１０３に送られたアプリケーション操作のリクエストは、WAF１０４に送られる（パケット処理P２０２）。WAF１０４は、該リクエストが、ユーザによるアプリケーション操作であるか管理者による管理操作であるかを判定する（パケット処理P２０３）。WAF１０４は、定義ファイルに基づいて、今回の通信が、アプリケーション操作であることを特定する(パケット処理P２０４)。WAF１０４は、アプリケーション操作に係るリクエストを、リバースプロキシサーバ１０５に送信する（パケット処理P２０５）。リバースプロキシサーバ１０５は、FDQNに基づいて、アプリケーション操作に係るリクエストの送信先を、Webサーバ１０７を特定する（パケット処理P２０６）。リバースプロキシサーバ１０５は、Webサーバ１０７に、アプリケーション操作に係るリクエストを転送する（パケット処理P２０７）。
【００２８】
図３は、アプリケーション通信に係る受信制御システムの処理の例を説明する図である。図３における受信制御システム１００は、図１の受信制御システム１００と同一のものは、同一の番号を付す。
【００２９】
受信制御システム１００において、ユーザからのアプリケーション通信を受信した場合の処理を順に説明する。ユーザは、インターネット２００側から HTTP/HTTPSプロトコルを用いてアプリケーション通信に係るアクセス（リクエスト）をする。具体的には、アプリケーション通信に係るリクエストは、インターネット２００側から宛先サーバ１０２に送られる（パケット処理P３０１）。宛先サーバ１０２に送られたアプリケーション通信のリクエストは、WAF１０４に送られず、リバースプロキシサーバ１０５に送信される（パケット処理P３０２）。リバースプロキシサーバ１０５は、FDQNに基づいて、アプリケーション通信に係るリクエストの送信先を、Webサーバ１０６を特定する（パケット処理P３０３）。リバースプロキシサーバ１０５は、Webサーバ１０６に、アプリケーション通信に係るリクエストを転送する（パケット処理P３０４）。
【００３０】
このように、WAF１０４は、リクエストに含まれる情報に基づいて、管理者による管理操作とユーザによるアプリケーション操作を判定し、管理者による管理操作を遮断することができる。一方、アプリケーション通信に係るリクエストは、WAF１０４に送られないようにすることで、システムに対する性能影響を最低限にすることができる。
【００３１】
図４は、WAFのブロック構成の例を説明する図である。WAF１０４は、制御部３０１と記憶部３０２、送受信部３０３を備える。送受信部３０３は、宛先サーバ１０３（特定のサーバ）に送られてきたリクエストを、受信する。制御部３０１は、宛先サーバ１０３（特定のサーバ）に送られてきたリクエストが、ユーザによるアプリケーション操作であるか管理者による管理操作であるかを判定する。制御部３０１は、該リクエストが管理操作に係るリクエストである場合、該リクエストを遮断し、他の機器に該リクエストを転送しない。一方、送受信部３０３は、該リクエストがアプリケーション操作に係るリクエストである場合、該リクエストをリバースプロキシ１０５側に転送する。
【００３２】
このように、WAF１０４は、リクエストに含まれる情報に基づいて、管理者による管理操作とユーザによるアプリケーション操作を判定し、管理者による管理操作を遮断することができる。一方、アプリケーション通信に係るリクエストは、WAF１０４に送られないようにすることで、システムに対する性能影響を最低限にすることができる。
【００３３】
記憶部３０２は、管理操作に係るリクエストのHTTPにおける特性を、定義ファイルとして記憶する。定義ファイルに記憶される特性は、リクエストに含まれるヘッダ情報であり、例えば、FQDN、パス（特定の文字列）、HTTPリクエストヘッダの存在、HTTPメソッドなどである。
【００３４】
図５は、WAFにおいて遮断されるリクエストの例（その１）を説明する図である。リクエスト４０１は、管理者Identifier(ID)によるログイン操作に係るHTTPリクエストの詳細な例である。WAF１０４は、該管理者IDによるログイン操作を、管理操作として遮断する。
【００３５】
リクエスト４０１におけるHostヘッダには、認証操作時に使用されるFQDNとして、login.example.comが設定されている。WAF１０４は、Hostヘッダに認証操作時のFQDN(login.example.com)が設定されているか否かで、該リクエストが管理操作か否かを判定する。
【００３６】
リクエスト４０１におけるHTTPメソッドであるPOSTには、認証操作時に指定される特定の文字列（/foo/bar/auth）が設定されている。POSTメソッドは、名前や値などのデータを送信する際に使用されるメソッドである。WAF１０４は、HTTPメソッドに認証操作時に指定される特定の文字列（例えば、認証に用いられるファイルパス）が設定されているか否かで、該リクエストが管理操作か否かを判定する。
【００３７】
リクエスト４０１におけるHTTPボディ内には、管理者ID（id=admin）が設定されている。WAF１０４は、HTTPボディに管理者IDが設定されているか否かで、該リクエストが管理操作か否かを判定する。
【００３８】
Hostヘッダに認証操作時のFQDN、HTTPメソッドに認証操作時に指定される特定の文字列、HTTPボディに管理者IDをリクエスト４０１が含む場合、WAF１０４は、リクエスト４０１を管理操作に係るリクエストと判定し、該リクエストを遮断する。なお、FQDN、特定の文字列（ファイルパス）、管理者IDなどは、一例であり、別のアドレスやIDなどが用いられてもよい。
【００３９】
図６は、WAFにおいて遮断されるリクエストの例（その２）を説明する図である。リクエスト４０２は、管理者によるパスワードリセットに係るHTTPリクエストの詳細な例である。WAF１０４は、パスワードリセット操作を、管理操作として遮断する。
【００４０】
リクエスト４０２におけるHostヘッダには、パスワードリセット操作時に使用されるFQDNとして、login.example.comが設定されている。WAF１０４は、Hostヘッダにパスワードリセット操作時のFQDN(login.example.com)が設定されているか否かで、該リクエストが管理操作か否かを判定する。
【００４１】
リクエスト４０２におけるHTTPメソッドにおいて、PUTメソッドが設定されている。PUTメソッドは、指定したサーバ上のファイルを置き換える際に使用されるメソッドである。WAF１０４は、HTTPメソッドに、PUTメソッドが設定されているか否かで、該リクエストが管理操作か否かを判定する。
【００４２】
リクエスト４０２におけるHTTPメソッドであるPUTには、パスワードリセット操作時に指定される特定の文字列（/foo/bar/resetpass）が設定されている。WAF１０４は、HTTPメソッドにパスワードリセット操作時に指定される特定の文字列（例えば、パスワードリセット操作に用いられるファイルパス）が設定されているか否かで、該リクエストが管理操作か否かを判定する。
【００４３】
HTTPヘッダにパスワードリセット操作時に使用されるFQDN、HTTPメソッドにPUTメソッド、HTTPメソッドにパスワードリセット操作時に指定される特定の文字列をリクエスト４０２が含む場合、WAF１０４は、リクエスト４０２を管理操作に係るリクエストと判定し、該リクエストを遮断する。なお、FQDN、特定の文字列（ファイルパス）などは、一例であり、別のアドレスなどが用いられてもよい。
【００４４】
図７は、WAFにおいて遮断されるリクエストの例（その３）を説明する図である。リクエスト４０３は、ユーザに公開されていない内部APIを呼び出す操作に係るHTTPリクエストの詳細な例である。WAF１０４は、内部API操作を、管理操作として遮断する。
【００４５】
リクエスト４０３におけるHostヘッダには、内部API操作時に使用されるFQDNとして、api.example.comが設定されている。WAF１０４は、Hostヘッダに内部API操作時のFQDN(api.example.com)が設定されているか否かで、該リクエストが管理操作か否かを判定する。
【００４６】
リクエスト４０３には、BASIC認証のリクエスト(Autherization:Basic xxxx)が含まれている。ｘｘｘｘは、任意の文字列である。WAF１０４は、BASIC認証のリクエストが含まれているか否かで、該リクエストが管理操作か否かを判定する。
【００４７】
HTTPヘッダに内部API操作時に使用されるFQDN、BASIC認証のリクエストをリクエスト４０３が含む場合、WAF１０４は、リクエスト４０３を管理操作に係るリクエストと判定し、該リクエストを遮断する。なお、FQDN、は、一例であり、別のアドレスなどが用いられてもよい。
【００４８】
このように、WAF１０４は、リクエストに含まれる情報に基づいて、管理者による管理操作とユーザによるアプリケーション操作を判定し、管理者による管理操作を遮断することができる。一方、アプリケーション通信に係るリクエストは、WAF１０４に送られないようにすることで、システムに対する性能影響を最低限にすることができる。
【００４９】
図８は、WAFのハードウェア構成の例を説明する図である。WAF１０４は、プロセッサ１１、メモリ１２、バス１５、外部記憶装置１６、ネットワーク接続装置１９を備える。さらにオプションとしてWAF１０４は、入力装置１３、出力装置１４、媒体駆動装置１７を備えても良い。WAF１０４は、例えば、コンピュータなどで実現されることがある。
【００５０】
プロセッサ１１は、Central Processing Unit（CPU）を含む任意の処理回路とすることができる。プロセッサ１１は、制御部３０１として動作する。なお、プロセッサ１１は、例えば、外部記憶装置１６に記憶されたプログラムを実行することができる。メモリ１２は、プロセッサ１１の動作により得られたデータや、プロセッサ１１の処理に用いられるデータも、適宜、記憶する。メモリ１２は、記憶部３０２として動作する。ネットワーク接続装置１９は、他の装置との通信に使用され、送受信部３０３として動作する。
【００５１】
入力装置１３は、例えば、ボタン、キーボード、マウス等として実現され、出力装置１４は、ディスプレイなどとして実現される。バス１５は、プロセッサ１１、メモリ１２、入力装置１３、出力装置１４、外部記憶装置１６、媒体駆動装置１７、ネットワーク接続装置１９の間を相互にデータの受け渡しが行えるように接続する。外部記憶装置１６は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ１１などに提供する。媒体駆動装置１７は、メモリ１２や外部記憶装置１６のデータを可搬記憶媒体１８に出力することができ、また、可搬記憶媒体１８からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体１８は、フロッピイディスク、Magnet-Optical(MO)ディスク、Compact Disc Recordable(CD-R)やDigital Versatile Disc Recordable(DVD-R)を含む、持ち運びが可能な任意の記憶媒体とすることができる。
【００５２】
図９は、本発明に係る受信制御システムの処理の例を説明するフローチャートである。ルータ１０１は、インターネット２００側からのリクエストがアプリケーションに係る操作又は管理操作であるか否かを判定する（ステップＳ１０１）。インターネット２００側からの通信がアプリケーションに係る操作又は管理操作である場合（ステップＳ１０１でＹＥＳ）、ルータ１０１は、リクエストを宛先サーバ１０３に転送する（ステップＳ１０２）。宛先サーバ１０３は、リクエストをWAF１０４に転送する（ステップＳ１０３）。
【００５３】
WAF１０４の制御部３０１は、リクエストが管理操作か否かを判定する（ステップＳ１０４）。リクエストが管理操作でない場合（ステップＳ１０４でＮＯ）、WAF１０４は、リクエストをリバースプロキシサーバ１０５に転送する（ステップＳ１０５）。リバースプロキシサーバ１０５は、FQDNに基づいて、送信対象のWebサーバにリクエストを転送する（ステップＳ１０６）。ステップＳ１０６の処理が終了すると、受信制御システム１００は、該リクエストに対する処理を終了する。
【００５４】
インターネット２００側からの通信がアプリケーション通信である場合（ステップＳ１０１でＮＯ）、ルータ１０１は、リクエストを宛先サーバ１０２に転送する（ステップＳ１０７）。ステップＳ１０７の処理が終了すると、ステップＳ１０５の処理を実行する。しかしここでは、宛先サーバ１０２が、リクエストをリバースプロキシサーバ１０５に転送する。
【００５５】
リクエストが管理操作である場合（ステップＳ１０４でＹＥＳ）、WAF１０４は、該リクエストを遮断する（ステップＳ１０８）。ステップＳ１０８の処理が終了すると、受信制御システム１００は、該リクエストに対する処理を終了する。
【００５６】
このように、WAF１０４は、リクエストに含まれる情報に基づいて、管理者による管理操作とユーザによるアプリケーション操作を判定し、管理者による管理操作を遮断することができる。一方、アプリケーション通信に係るリクエストは、WAF１０４に送られないようにすることで、システムに対する性能影響を最低限にすることができる。
【符号の説明】
【００５７】
１００  受信制御システム
１０１  ルータ
１０２、１０３  宛先サーバ
１０４  WAF
１０５  リバースプロキシサーバ
１０６、１０７  Webサーバ
３０１  制御部
３０２  記憶部
３０３  受信部
【図１】
0006623903.tif 000002
【図２】
0006623903.tif 000003
【図３】
0006623903.tif 000004
【図４】
0006623903.tif 000005
【図５】
0006623903.tif 000006
【図６】
0006623903.tif 000007
【図７】
0006623903.tif 000008
【図８】
0006623903.tif 000009
【図９】
0006623903.tif 000010