(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
[実施の形態1]
まず、クラウドシステムのネットワーク環境について説明する。
図1に、クラウドシステムの物理ネットワークの概要を示す。
【0011】
物理サーバ101a、物理サーバ101b及び物理サーバ101cは、物理スイッチ111を介してLANに接続されている。また、利用者端末からの要求を受け付ける受付サーバ121も、LANに接続されている。更に、仮想マシン105について診断を行う診断サーバ123も、LANに接続されている。また、インターネットとLANの境界には、外部FW(Firewall)兼ルータ113が設けられている。外部FW兼ルータ113は、ファイアーウォールの機能とルータの機能を備えている。
【0012】
物理サーバ101aは、仮想スイッチ103aに接続された仮想マシン105aと仮想マシン105bを有している。物理サーバ101bは、仮想スイッチ103bに接続された仮想マシン105cと仮想マシン105dを有している。仮想マシン105a乃至105dは、利用者が運用する仮想マシンの例である。但し、仮想マシン105aと仮想マシン105cの利用者は同一であるが、仮想マシン105bと仮想マシン105dは、他の利用者が運用している。
【0013】
物理サーバ101が有する仮想マシン105の数は、2つに限らない。その数は、1つでも、3つ以上でもよい。また、仮想マシン105を有する物理サーバ101の数は、2つに限らない。その数は、1つでも、3つ以上でもよい。
【0014】
図1は、この例で仮想マシン105aの仮想マシン名は、「HOST123」であり、プライベートIPアドレスは、「192.168.1.14」である。以下同様に、仮想マシン105bの仮想マシン名は、「HOST456」であり、プライベートIPアドレスは、「192.168.1.15」である。仮想マシン105cの仮想マシン名は、「HOST124」であり、プライベートIPアドレスは、「192.168.2.14」である。仮想マシン105dの仮想マシン名は、「HOST457」であり、プライベートIPアドレスは、「192.168.2.15」である。また、受付サーバ121のグローバルIPアドレスは、「88.23.1.1」であり、診断サーバ123のグローバルIPアドレスは、「88.23.1.2」である。
【0015】
物理サーバ101cは、内部FW兼ルータ107を有している。内部FW兼ルータ107は、仮想LANに対するFW及びルータとして動作する。この例では、1つの内部FW兼ルータ107を示しているが、複数の仮想LANを設ける場合には、複数の内部FW兼ルータ107を設けるようにしてもよい。複数の内部FW兼ルータ107は、同一の物理サーバ101に含めても良いし、異なる物理サーバ101に含めるようにしてもよい。
【0016】
以下では、主に仮想マシン105a、仮想マシン105b、内部FW兼ルータ107、受付サーバ121及び診断サーバ123について説明する。
【0017】
クラウドシステムには、上記の物理ネットワークを前提として、仮想LANが設けられている。
図2に、クラウドシステムの論理ネットワークの概要を示す。
【0018】
仮想マシン105aと仮想マシン105cは、この例で仮想LAN(VLAN ID(Virtual Local Area Network Identifier):14)に接続されている。内部FW兼ルータ107は、仮想LAN(VLAN ID:14)のルーティングを行う。仮想マシン105aと仮想マシン105cは、外部FW兼ルータ113と内部FW兼ルータ107を介してインターネット側と通信を行う。受付サーバ121と診断サーバ123は、仮想LAN(VLAN ID:1)に接続されている。受付サーバ121は、外部FW兼ルータ113を介してインターネット側と通信を行う。診断サーバ123は、仮想LAN(VLAN ID:1)を介して受付サーバ121と接続されている。
【0019】
以下、クラウドシステムにおけるシーケンスについて説明する。まず、利用者端末301がインターネットを介して仮想マシン105を通常利用する場合のシーケンスについて説明する。
【0020】
図3に、通常の利用シーケンスの例を示す。前提として、利用者端末301は、インターネットに接続する機能を有している。また、利用者端末301は、インターネットブラウザを有している。利用者端末301は、受付サーバ121へ通常のアクセス要求を送信する(S301)。受付サーバ121は、外部FW兼ルータ113を介してこのアクセス要求を受信すると、認証画面のデータ(Webデータ)を利用者端末301へ送信する(S303)。認証画面のデータは、外部FW兼ルータ113を介して利用者端末301に到達する。インターネットブラウザは、受信した認証画面のデータに基づいて認証画面を表示する。認証画面は、認証情報の入力を促し、インターネットブラウザは、受け付けた認証情報を受付サーバ121に返信する。
【0021】
受付サーバ121は、外部FW兼ルータ113を介して認証情報を受信すると(S305)、利用者認証処理と権限判定処理を行う(S307)。利用者認証処理では、受信された認証情報が、予め保持されている認証情報と一致している場合に認証成功と判定される。権限判定処理では、認証した利用者の権限について判定される。権限は、例えば機能やデータに関して利用可能な範囲を定める。権限を設けない場合には、権限判定を省くようにしてもよい。
【0022】
受付サーバ121は、外部FW兼ルータ113を介して認証成功を利用者端末301へ通知する(S309)。
【0023】
以降、利用者端末301が仮想マシン105aを利用する手順に移る。利用者端末301は、仮想マシン105a宛てのアクセス要求を送信する(S311)。アクセス要求は、外部FW兼ルータ113を介して内部FW兼ルータ107に到達する。内部FW兼ルータ107は、アクセス要求に対してDNAT(宛先ネットワークアドレス変換:Destination Network Address Translation)処理を行う(S313)。内部FW兼ルータ107は、DNAT処理によって、アクセス要求の宛先IPアドレスを、プライベートIPアドレスに書き変える。内部FW兼ルータ107は、IPアドレスの書き換えに用いるNATテーブルを備えている。
【0024】
図4に、通常時におけるNATテーブルの例を示す。NATテーブルは、仮想LANに含まれる仮想マシン105毎に、グローバルIPアドレスとプライベートIPアドレスを対応付けている。グローバルIPアドレスは、インターネットの接続に用いられるアドレスである。プライベートIPアドレスは、プライベートネットワーク(この例では、LAN)において用いられるアドレスである。
【0025】
第1レコードは、仮想マシン105aのプライベートIPアドレス「192.168.1.14」と仮想マシン105aのグローバルIPアドレス「88.23.224.51」とを対応付けている。第2レコードは、仮想マシン105cのプライベートIPアドレス「192.168.2.14」と仮想マシン105cのグローバルIPアドレス「88.23.224.52」とを対応付けている。第3レコードは、仮想マシン105bのプライベートIPアドレス「192.168.1.15」と仮想マシン105bのグローバルIPアドレス「88.23.224.61」とを対応付けている。第4レコードは、仮想マシン105dのプライベートIPアドレス「192.168.2.15」と仮想マシン105dのグローバルIPアドレス「88.23.224.62」とを対応付けている。
【0026】
図3に示したDNAT処理(S313)では、外部から入ってくるパケットの宛先IPアドレスがNATテーブルのグローバルIPアドレスのいずれかと一致する場合に、当該パケットの宛先IPアドレスをプライベートIPアドレスに書き換える。この例では、元の宛先アドレス「88.23.224.51」を仮想マシン105aのプライベートIPアドレス「192.168.1.14」に書き換える。
【0027】
内部FW兼ルータ107は、宛先アドレスを書き変えたアクセス要求を仮想マシン105aへ転送する(S315)。
【0028】
仮想マシン105aは、アクセス要求への応答を返信する(S317)。応答の宛先アドレスは、アクセス要求の送信元アドレスである。この例では、利用者端末301のアドレスが応答の宛先アドレスに設定される。応答の送信元アドレスは、アクセス要求の宛先アドレスである。この例では、仮想マシン105aのプライベートIPアドレス「192.168.1.14」が応答の送信元アドレスに設定される。
【0029】
応答が内部FW兼ルータ107に到達すると、内部FW兼ルータ107はSNAT(送信元ネットワークアドレス変換:Source Network Address Translation)処理を行う(S319)。内部FW兼ルータ107は、SNAT処理によって、応答の送信元IPアドレスを、グローバルIPアドレスに書き変える。内部FW兼ルータ107は、前述のNATテーブルを用いる。
【0030】
SNAT処理(S319)では、内部ネットワークから出て行くパケットの送信元アドレスがNATテーブルのプライベートIPアドレスのいずれかと一致する場合に、当該パケットの送信元IPアドレスをグローバルIPアドレスに書き換える。この例では、元の送信元アドレス「192.168.1.14」を仮想マシン105aのグローバルIPアドレス「88.23.224.51」に書き換える。
【0031】
内部FW兼ルータ107は、送信元IPアドレスを書き変えた応答を転送する(S321)。応答は、外部FW兼ルータ113を介して利用者端末301に到達する。
【0032】
以上で、利用者端末301から仮想マシン105を通常利用する場合についての説明を終える。続いて、利用者端末301からの指示よって、仮想マシン105の診断を行う場合について説明する。
【0033】
図5に、診断シーケンスの例を示す。利用者端末301は、受付サーバ121へ診断のアクセス要求を送信する(S501)。受付サーバ121は、外部FW兼ルータ113を介してこのアクセス要求を受信すると、外部FW兼ルータ113を介して認証画面のデータを利用者端末301へ送信する(S503)。前述と同様に、認証画面のデータは、外部FW兼ルータ113を介して利用者端末301に到達する。インターネットブラウザは、受信した認証画面のデータに基づいて認証画面を表示する。認証画面は、認証情報の入力を促し、インターネットブラウザは、受け付けた認証情報を受付サーバ121に返信する。
【0034】
受付サーバ121は、外部FW兼ルータ113を介して認証情報を受信すると(S505)、利用者認証と権限判定を行う(S507)。前述と同様に、利用者認証処理では、受信された認証情報が、予め保持されている認証情報と一致している場合に認証成功と判定される。権限判定処理では、認証した利用者の権限について判定される。権限は、この例では診断の可否を定めている。権限を設けない場合には、権限判定を省くようにしてもよい。
【0035】
受付サーバ121は、診断サーバ123に仮想LAN情報を送信する(S509)。仮想LAN情報は、利用者よる使用が許可されている仮想マシンと当該仮想マシンを含む仮想LANに関する情報を含む。
【0036】
受付サーバ121は、診断画面のデータを利用者端末301へ送信する(S511)。診断画面は、インターネットブラウザにより表示される。診断画面は、診断対象の選択、診断内容の入力及び実行と終了の指示などを受け付けるための画面である。
【0037】
図6に、診断画面の例を示す。診断画面は、診断対象の選択を受け付ける。この例では、診断対象となる仮想マシンのアイコン601がクリックされた場合に、診断対象の選択を受け付ける。診断画面は、選択された診断対象について、仮想マシン名、グローバルIPアドレス及びプライベートIPアドレスを表示する領域603を有している。仮想マシン名の表示領域には、診断対象となる仮想マシン名が表示される。グローバルIPアドレスの表示領域には、診断対象となる仮想マシン名のグローバルIPアドレスが表示される。プライベートIPアドレスの表示領域には、診断対象となる仮想マシン名のプライベートIPアドレスが表示される。
【0038】
また、診断画面は、診断内容の入力を受け付ける。診断画面は、入力された診断内容を表示する領域605を有している。診断項目は、例えばメニューの中から選択される。この例では、ポートスキャンの診断を選択している。診断項目より下の2つの表示領域は、第1診断条件と第2診断条件を示している。第1診断条件と第2診断条件は、診断項目毎に定められている。ポートスキャンの場合には、第1診断条件は、ポート種類であり、第2診断条件は、ポート番号である。第1診断条件と第2診断条件の入力は、例えばメニューの中から選択する方法や数値を入力する方法などによる。
【0039】
診断項目として、ポートスキャンのほかに、例えば外部公開アドレスの抽出、パスワード安全性の診断、DoS攻撃対策(Denial of Service attack)の診断、Webアプリケーションのセキュリティ診断などを設けるようにしてもよい。外部公開アドレスの診断では、例えばインターネット上に公開されているグローバルIPアドレスの利用状況を検出する。パスワード安全性の診断では、例えば辞書攻撃などのパスワード解析に対する耐性を確認する。DoS攻撃対策の診断では、例えばSmurf攻撃、SYNフラッド攻撃あるいはPing of Deathなどに代表されるDoS攻撃に対する対策が行われているかを確認する。Webアプリケーションのセキュリティ診断では、例えばクロスサイトスクリプティングやSQLインジェクションなどの脆弱性を確認する。更に、データベースのセキュリティ診断など他の診断項目を設けてもよい。
【0040】
また、診断画面は、診断結果を表示する領域607と、診断実行を指示するための実行ボタン609と、診断の終了を指示するための終了ボタン611とを有している。実行ボタン609がクリックされることにより、診断実行が指示され、診断された結果が領域607に表示される。この例では、ポートスキャンの結果が示されている。また、終了ボタン611がクリックされることにより、診断終了が指示され、診断画面が閉じられる。
【0041】
図5に示したシーケンスの説明に戻って、インターネットブラウザは、診断画面で受け付けた診断対象と診断内容を含む診断指示を、返信するように動作する。これによって、利用者端末301は、診断指示を受付サーバ121に送信する(S513)。
【0042】
受付サーバ121は、外部FW兼ルータ113を介して診断指示を受信すると、診断指示を診断サーバ123に転送する(S515)。
【0043】
本実施の形態では、診断サーバ123は、診断用IPアドレスを用いて仮想マシン105の診断を行う。そのため、診断サーバ123は、NAT変換テーブルを書き換える要求を内部FW兼ルータ107に送信する(S517)。
【0044】
具体的に、診断サーバ123は、診断対象である仮想マシン105のグローバルIPアドレスを、診断用IPアドレスに変更するように要求する。診断用IPアドレスは、例えば非公開のIPアドレスである。この例では、予め確保されているグローバルIPアドレスを用いる。
【0045】
内部FW兼ルータ107は、受信した書換え要求に従って、NATテーブルを書き換える(S519)。このようにして、診断時のNATテーブルに変更される。
【0046】
図7に、診断時におけるNATテーブルの例を示す。
図7は、仮想マシン105aが診断対象となった場合の状態を示している。仮想マシン105aに関する第1レコードのグローバルIPアドレスが、元のIPアドレス「88.23.224.51」から診断用のIPアドレス「88.23.1.51」に書き換えられている。第1レコードのプライベートIPアドレスは、変更されていない。また、仮想マシン105cに関する第2レコードのグローバルIPアドレスとプライベートIPアドレスは、変更されていない。仮想マシン105bに関する第3レコードのグローバルIPアドレスとプライベートIPアドレスも、変更されていない。更に、仮想マシン105dに関する第4レコードのグローバルIPアドレスとプライベートIPアドレスも、変更されていない。
【0047】
図8を用いて、
図5に示した診断シーケンスの続きについて説明する。診断サーバ123は、診断時のアドレス設定に従って通信することを確認するための通信テストを行う。以下、通信テストのシーケンスを説明する。
【0048】
診断サーバ123は、通信テスト用の要求を送信する(S801)。このとき、診断サーバ123は、当該要求のパケットの宛先IPアドレスに診断用IPアドレスを設定する。この例では、診断用IPアドレス「88.23.1.51」が設定される。通信テスト用の要求は、内部FW兼ルータ107で中継される。
【0049】
内部FW兼ルータ107は、通信テスト用の要求を受信すると、当該要求のパケットの宛先IPアドレスを、プライベートIPアドレスに変換する(S803)。この例では、パケットの宛先IPアドレス「88.23.1.51」が、
図7に示したNATテーブルの第1レコードにおけるグローバルIPアドレス「88.23.1.51」と一致するので、パケットの宛先IPアドレスをプライベートIPアドレス「192.168.1.14」に変換する。そして、通信テスト用の要求は、仮想マシン105aに転送される(S805)。
【0050】
仮想マシン105aは、受信した要求に対する応答を返信する(S807)。応答の宛先アドレスは、通信テスト用の要求の送信元アドレスである。つまり、診断サーバ123のアドレスが応答の宛先アドレスに設定される。応答の送信元アドレスは、通信テスト用の要求の宛先アドレスである。つまり、仮想マシン105aのプライベートIPアドレスが応答の送信元アドレスに設定される。応答は、内部FW兼ルータ107で中継される。
【0051】
内部FW兼ルータ107は、応答を受信すると、SNAT処理によって、当該応答の送信元IPアドレスを、グローバルIPアドレスに変換する(S809)。この例では、パケットの送信元IPアドレス「192.168.1.14」が、
図7に示したNATテーブルの第1レコードにおけるプライベートIPアドレス「192.168.1.14」と一致するので、パケットの送信元IPアドレスを第1レコードのグローバルIPアドレス「88.23.1.51」に変換する。そして、応答は、診断サーバ123に転送される(S811)。
【0052】
診断サーバ123は、応答の受信によって正常に動作すると判断して、通信テストを終える。通信テストを終えると、診断サーバ123は、診断内容に従って診断処理を行う(S813)。診断サーバ123は、診断に用いる送出パケットの宛先IPアドレスに診断用IPアドレスを設定して、仮想マシン105にアクセスする。診断サーバ123は、この通信によって、仮想マシン105の動作や状態等をチェックする。
【0053】
S815aとS815bに示した診断のための通信では、通信テストと同様にDNAT処理とSNAT処理が行われる。つまり、診断サーバ123から送出されるパケットに対しては、内部FW兼ルータ107でS803のDNAT処理と同様のアドレス変換が行われる。また、仮想マシン105aから送出されるパケットに対しては、内部FW兼ルータ107でS809のSNAT処理と同様のアドレス変換が行われる。
【0054】
診断処理を終えると、診断サーバ123は診断結果を受付サーバ121に送信する(S817)。受付サーバ121は、診断結果を利用者端末301宛てに転送する(S819)。診断結果は、利用者端末301の診断画面に表示される。
【0055】
更に、
図9を用いて、
図8の診断シーケンスの続きで、診断を終了する場合のシーケンスについて説明する。利用者端末301は、診断を終了させる指示を受付サーバ121宛てに送信する(S901)。受付サーバ121は外部FW兼ルータ113を介して終了指示を受信すると、終了指示を診断サーバ123へ転送する(S903)。
【0056】
診断サーバ123は、NATテーブルを通常の状態に復元させるための書換え要求を内部FW兼ルータ107に送信する(S905)。具体的に、診断サーバ123は、診断対象である仮想マシン105のグローバルIPアドレスを、元のグローバルIPアドレスに変更するように要求する。
【0057】
内部FW兼ルータ107は、受信した書換え要求に従って、NATテーブルを書き換える(S907)。このようにして、通常時のNATテーブルに書き換えられる。この例では、
図7に示した診断時おけるNATテーブルが、
図4に示した通常時におけるNATテーブルに変更される。
【0058】
診断サーバ123は、通常の状態に戻ったことを確認するための通信テストを行う。診断サーバ123は、通信テスト用の要求を送信する(S909)。診断サーバ123は、当該要求のパケットの宛先IPアドレスに、元のグローバルIPアドレスを設定する。この例では、仮想マシン105aのグローバルIPアドレス「88.23.224.51」が設定される。通信テスト用の要求は、内部FW兼ルータ107で中継される。
【0059】
内部FW兼ルータ107は、通信テスト用の要求を受信すると、DNAT処理によって、当該要求のパケットの宛先IPアドレスを、プライベートIPアドレスに変換する(S911)。この例では、パケットの宛先IPアドレス「88.23.224.51」が、
図4に示したNATテーブルの第1レコードにおけるグローバルIPアドレス「88.23.224.51」と一致するので、パケットの宛先IPアドレスをプライベートIPアドレス「192.168.1.14」に変換する。そして、通信テスト用の要求は、仮想マシン105aに転送される(S913)。
【0060】
仮想マシン105aは、受信した要求に対する応答を返信する(S915)。応答の宛先アドレスは、通信テスト用の要求の送信元アドレスである。つまり、診断サーバ123のアドレスが応答の宛先アドレスに設定される。応答の送信元アドレスは、通信テスト用の要求の宛先アドレスである。つまり、仮想マシン105aのプライベートIPアドレスが応答の送信元アドレスに設定される。応答は、内部FW兼ルータ107で中継される。
【0061】
内部FW兼ルータ107は、応答を受信すると、SNAT処理によって、当該応答の送信元IPアドレスを、グローバルIPアドレスに変換する(S917)。この例では、パケットの送信元IPアドレス「192.168.1.14」が、
図4に示したNATテーブルの第1レコードにおけるプライベートIPアドレス「192.168.1.14」と一致するので、パケットの送信元IPアドレスを第1レコードのグローバルIPアドレス「88.23.224.51」に変換する。そして、応答は、診断サーバ123に転送される(S919)。
【0062】
診断サーバ123は、応答を受信すると正常であると判断して、処理を終える。以上でシーケンスについての説明を終える。
【0063】
次に、モジュール構成について説明する。まず、受付サーバ121のモジュール構成について説明する。
図10に、受付サーバ121のモジュール構成例を示す。受付サーバ121は、受信部1001、送信部1003、制御部1005、認証部1007、判定部1009、利用者情報格納部1011、仮想LAN情報格納部1013及び画面データ格納部1015を有している。
【0064】
受信部1001は、LANからデータを受信する。この例では、受信部1001は、LANを介してTCP(Transmission Control Protocol)及びIPに従ってパケットを受信する。送信部1003は、データをLANへ送信する。この例では、LANを介してTCP及びIPに従ってパケットを送信する。制御部1005は、利用者からの指示を受け付け、診断サーバ123への中継を行うなどの制御を行う。認証部1007は、利用者の認証を行う。判定部1009は、利用者の権限を判定する。利用者情報格納部1011は、予め利用者情報テーブルを格納している。
【0065】
図11に、利用者情報テーブルの例を示す。利用者情報テーブルは、利用者毎にレコードを有している。レコードは、利用者ID、利用者コード、パスワード及び権限のフィールドを有している。利用者IDは、内部処理において利用者を識別するための情報である。利用者コードは、利用者に割り振られたコードである。パスワードは、利用者以外には知らされていない秘密のコードである。権限は、クラウドシステムにおける利用者の権限を示している。この例では、診断を指示する権限を有する者については「診断可」が設定され、診断を指示する権限を有しない者については「診断不可」が設定されている。
【0066】
図10の説明に戻って、仮想LAN情報格納部1013は、仮想LAN情報テーブルを格納している。仮想LAN情報は、仮想LAN、当該仮想LANの利用者及び当該仮想LANに含まれる仮想マシンの情報を含んでいる。
【0067】
図12に、受付サーバ121における仮想LAN情報テーブルの例を示す。仮想LAN情報テーブルは、クラウドシステムで設定している仮想LAN毎にレコードを有している。レコードは、利用者ID、VALN ID及び一又は複数の仮想マシン情報のフィールドを有している。利用者IDは、当該仮想LANに属する仮想マシン105を運用する利用者のIDである。VALN IDは、当該仮想LANのIDである。仮想マシン情報は、当該仮想LANに属する仮想マシン105の仮想マシン名、グローバルIPアドレス及びプライベートIPアドレスのフィールドを含んでいる。
【0068】
図10の説明に戻って、画面データ格納部1015は、前述の診断画面のデータを格納している。
【0069】
次に、診断サーバ123のモジュール構成について説明する。
図13に、診断サーバ123のモジュール構成例を示す。診断サーバ123は、受信部1301、送信部1303、制御部1305、設定部1307、診断部1309、復元部1311、アドレス格納部1313、仮想LAN情報記憶部1315、記憶部1317及び記録部1319を有している。受信部1301は、LANからデータを受信する。この例では、受信部1301は、LANを介してTCP及びIPに従ってパケットを受信する。送信部1303は、データをLANへ送信する。この例では、LANを介してTCP及びIPに従ってパケットを送信する。
【0070】
制御部1305は、主に診断に関する制御を行う。設定部1307は、診断用のアドレスを設定する。
【0071】
診断部1309は、仮想マシン105に対する診断を行う。具体的には、外部公開アドレスの抽出、パスワード安全性の診断、DoS攻撃対策の診断あるいはWebアプリケーションのセキュリティ診断などの診断項目毎に設けられた処理部を含んでいる。各処理部は、例えば診断サーバ123で、それぞれの診断プログラムを実行することによって実現される。
【0072】
復元部1311は、アドレスの復元を行う。アドレス格納部1313は、診断用IPアドレステーブルを格納している。
【0073】
図14に、診断用IPアドレステーブルの例を示す。使用フラグに対応付けて診断用IPアドレスを記憶している。診断用IPアドレスは、予め確保されているグローバルIPアドレスである。仮想マシン105の診断用に使用されていない場合に「OFF」に設定され、仮想マシン105の診断用に使用されている場合に「ON」に設定される。
【0074】
図13の説明に戻って、仮想LAN情報記憶部1315は、診断対象となった仮想LANの情報テーブルを記憶する。
図15に、診断サーバ121における仮想LAN情報テーブルの例を示す。診断対象となった仮想LAN毎にレコードを有する。レコードは、利用者ID、VALN ID及び仮想マシン情報のフィールドを有している。仮想マシン情報は、一又は複数設けられる。利用者IDは、診断対象となった仮想LANを運用する利用者のIDである。VALN IDは、当該仮想LANのIDである。仮想マシン情報は、当該仮想LANに属する仮想マシン105の仮想マシン名、当該仮想マシン105のグローバルIPアドレスとプライベートIPアドレスと診断用IPアドレスとのフィールドを含んでいる。診断用IPアドレスは、当該仮想マシン105を診断するために割り当てられたアドレスを示す。診断用IPアドレスが設定されている場合には、当該仮想マシンを診断するためのアドレスがNATテーブルに設定されていることを意味する。診断用IPアドレスが未設定である場合には、当該仮想マシンを診断するためのアドレスがNATテーブルに設定されていないことを意味する。
【0075】
図13の説明に戻って、記憶部1317は、診断指示と記録ファイルを記憶する。
図16に、診断指示の例を示す。診断指示は、診断対象の情報と診断内容の情報を含んでいる。この例で、診断対象は、仮想マシン名で特定される。この例で、診断内容は、診断項目と第1診断条件と第2診断条件で特定される。
図16に示すように、記憶部1317は、記録ファイルのファイル名を併せて記憶するようにしてもよい。
【0076】
図13の説明に戻って、記録部1319は、記録ファイルを記憶部1317に記憶させる処理を行う。
【0077】
以上で、受付サーバ121及び診断サーバ123のモジュール構成についての説明を終える。続いて、受付サーバ121と診断サーバ123の処理について説明する。
【0078】
図17Aに、受付サーバ121における処理フローの例を示す。制御部1005は、受信部1001によるアクセス要求の受信を待つ(S1701)。このアクセス要求は、診断のためのアクセス要求である。このアクセス要求を受信すると、送信部1003は、アクセス要求の送信元へ認証画面のデータを送信する(S1703)。
【0079】
制御部1005は、受信部1001による認証情報の受信を待つ(S1705)。認証情報は、利用者コードとパスワードを含んでいる。認証情報を受信すると、認証部1007は、利用者認証処理を行う(S1707)。認証情報に含まれる利用者コードとパスワードの組み合わせが、利用者情報格納部1011に格納されている利用者情報テーブルのいずれかのレコードに含まれる利用者コードとパスワードの組み合わせと一致する場合に、認証結果が成功であると判定する。認証情報に含まれる利用者コードとパスワードの組み合わせが、利用者情報格納部1011に格納されている利用者情報テーブルのいずれのレコードに含まれる利用者コードとパスワードの組み合わせとも一致しない場合に、認証結果が失敗であると判定する。
【0080】
制御部1005は、認証結果によって処理を分岐させる(S1709)。認証結果が失敗である場合には、送信部1003は、認証失敗の通知をアクセス要求の送信元に送信する(S1711)そして、S1701の処理に戻る。
【0081】
認証結果が成功である場合には、判定部1009は、権限判定処理を行う(S1713)。利用者情報テーブルのレコードで利用者コードに対応する権限が「診断可」である場合には、権限が有ると判定する。利用者情報テーブルのレコードで利用者コードに対応する権限が「診断不可」である場合には、権限が無いと判定する。
【0082】
制御部1005は、権限の有無によって処理を分岐させる(S1715)。権限が無いと判定した場合には、送信部1003は、権限無しの通知をアクセス要求の送信元に送信する(S1717)。そして、S1701の処理に戻る。
【0083】
権限が有ると判定した場合には、制御部1005は、仮想LAN情報を特定する(S1719)。具体的には、制御部1005は、まず利用者情報テーブルのレコードで利用者コードに対応する利用者IDを特定する。そして、制御部1005は、仮想LAN情報格納部1013に格納されている仮想LAN情報テーブルで、当該利用者IDを含むレコードを特定し、当該レコードに含まれる仮想LAN情報を特定する。送信部1003は、特定した仮想LAN情報を診断サーバ123に送信する(S1721)。
【0084】
ここで、診断サーバ123側の処理の説明に移る。
図18に、診断サーバ123における処理フローの例を示す。制御部1305は、受信部1301で仮想LAN情報の受信を待つ(S1801)。制御部1305は、仮想LAN情報記憶部1315に仮想LAN情報を記憶させる(S1803)。
【0085】
図17Aに示した受付サーバ121側の処理の説明に戻る。送信部1003は、診断画面のデータをアクセス要求の送信元へ送信する(S1723)。
図17Bを用いて、受付サーバ121における処理の続きについて説明する。制御部1005は、指示の受信を待つ(S1731)。受信部1001によって指示を受信すると、制御部1005は、受信した指示が診断指示であるか、あるいは終了指示であるかを判定する(S1733)。受信した指示が診断指示であると判定した場合には、送信部1003は、診断指示を診断サーバ123に転送する(S1735)。
【0086】
ここで、
図18に示した診断サーバ123側の処理の説明に移る。制御部1305は、受信部1301による指示の受信を待つ(S1805)。制御部1305は、受信した指示が診断指示であるか、あるいは終了指示であるかを判定する(S1807)。受信した指示が診断指示であると判定した場合には、制御部1305は、記憶部1317に診断指示を記憶させる(S1809)。制御部1305は、診断用のアドレスが設定済みであるか否かを判定する(S1811)。具体的には、制御部1305は、診断指示に含まれる仮想マシン名を特定し、仮想LAN情報記憶部1315に格納されている仮想LAN情報テーブルにおいて、当該仮想マシン名を含む仮想マシン情報を特定する。そして、当該仮想マシン情報に含まれる診断用IPアドレスが設定されている場合には、診断用のアドレスがNATテーブルに設定済みであると判定する。一方、当該仮想マシン情報に含まれる診断用IPアドレスが未設定である場合には、診断用のアドレスがNATテーブルに設定されていないと判定する。
【0087】
診断用のアドレスが設定済みであると判定した場合には、S1815の診断処理を行う。診断用のアドレスが設定されていないと判定した場合には、S1815の診断処理の前に、設定部1307は、アドレス設定処理を行う(S1813)。
【0088】
図19に、アドレス設定処理フローの例を示す。設定部1307は、アドレス設定のための書換え要求を生成する(S1901)。書換え要求は、書き換え対象となるIPアドレスの組み合わせと、新たなIPアドレスの組み合わせとを特定する情報を含んでいる。
【0089】
具体的には、設定部1307は、診断指示に含まれる仮想マシン名を特定し、仮想LAN情報記憶部1315に格納されている仮想LAN情報テーブルにおいて、当該仮想マシン名を含む仮想マシン情報を特定する。設定部1307は、当該仮想マシン情報に含まれる元のグローバルIPアドレス及びプライベートIPアドレスの組み合わせを特定する。
【0090】
次に、設定部1307は、アドレス格納部1313に格納されている診断用IPアドレステーブルで、使用フラグが「OFF」となっている診断用IPアドレスを特定し、当該診断用IPアドレスを新しいグローバルIPアドレスに設定し、新しいグローバルIPアドレス及び上述のプライベートIPアドレスによる組み合わせを特定する。このとき、設定部1307は、当該診断用IPアドレスの使用フラグを「ON」に変更する。
【0091】
これらの情報を用いて、設定部1307は、アドレス設定のための書換え要求を生成する。 設定部1307は、書換え要求を内部FW兼ルータ107に送信する(S1903)。書換え要求を受信した内部FW兼ルータ107は、書換え要求に基づいて書き換え対象となるIPアドレスの組み合わせを特定し、特定したIPアドレスの組み合わせを、新たなIPアドレスの組み合わせに書き換える。
【0092】
そして、設定部1307は、通信のテストを行う(S1905)。前述の通り、診断用IPアドレス宛にアクセス要求を送信する。そして、診断対象の仮想マシン105から応答があった場合に、通信のテスト成功と判定する。
【0093】
図18に示した処理の説明に戻って、診断部1309は、診断処理を行う(S1815)。診断項目によって診断プログラムを選択し、診断対象を特定するIPアドレスに診断用IPアドレスを設定し、診断条件に従って診断プログラムを実行する。診断プログラムは、診断用IPアドレスを宛先として仮想マシン105にアクセスし、診断のための通信を行う。診断プログラムの実行が終了すると、記録部1319は、診断結果を記録する(S1817)。具体的には、診断結果を含む記録ファイルを記憶部1317に記憶させる。このとき、
図16に示したように、記憶部1317に記憶されている診断指示に対応付けて記録ファイル名を記憶させるようにしてもよい。送信部1303は、診断結果を受付サーバ121に送信する(S1819)。そして、S1805の処理に戻る。
【0094】
図17Bに示した受付サーバ121側の処理の説明に戻る。制御部1005は、受信部1001による診断結果の受信を待つ(S1737)。診断結果を受信すると、送信部1003は、診断結果をアクセス要求の送信元に転送する(S1739)。そして、S1731の処理に戻る。
【0095】
S1733で、受信した指示が終了指示であると判定した場合には、送信部1003は、終了指示を転送する(S1741)。そして、端子Bを介してS1701の処理に戻る。
【0096】
ここで、
図18に示した診断サーバ123側の処理の説明に移る。S1807において、S1805で受信した指示が終了指示であると判定した場合には、復元部1311は、アドレス復元処理を行う(S1821)。
【0097】
図20に、アドレス復元処理フローの例を示す。復元部1311は、アドレス復元のための書換え要求を生成する(S2001)。前述と同様に、書換え要求は、書換え対象となるIPアドレスの組み合わせと、新たなIPアドレスの組み合わせとを特定する情報を含んでいる。
【0098】
具体的には、設定部1307は、すでに終了した診断指示に含まれる仮想マシン名を特定し、仮想LAN情報記憶部1315に格納されている仮想LAN情報テーブルにおいて、当該仮想マシン名を含む仮想マシン情報を特定する。設定部1307は、当該仮想マシン情報に含まれる診断用IPアドレス及びプライベートIPアドレスの組み合わせを、書換え対象となるIPアドレスの組み合わせに設定する。更に、当該仮想マシン情報に含まれるグローバルIPアドレス及びプライベートIPアドレスの組み合わせを、新たなIPアドレスの組み合わせに設定する。
【0099】
復元部1311は、アドレス格納部1313に格納されている診断用IPアドレステーブルで、当該診断用IPアドレスの使用フラグを「ON」から「OFF」に変更する。
【0100】
これらの情報を用いて、復元部1311は、アドレス復元のための書換え要求を生成する。
【0101】
復元部1311は、書換え要求を内部FW兼ルータ107に送信する(S2003)。書換え要求を受信した内部FW兼ルータ107は、書換え要求に基づいて書き換え対象となるIPアドレスの組み合わせを特定し、特定したIPアドレスの組み合わせを、新たなIPアドレスの組み合わせに書き換える。このようにして、NATテーブルの当該レコードが元の状態に戻る。
【0102】
復元部1311は、通信のテストを行う(S2005)。前述の通り、元のグローバルIPアドレス宛にアクセス要求を送信する。そして、診断対象の仮想マシン105から応答があった場合に、通信のテスト成功と判定する。
【0103】
図18に示した処理の説明に戻って、制御部1305は、終了した診断指示の仮想マシン名を含む仮想LAN情報をクリアする(S1823)。そして、S1801に戻る。以上で、受付サーバ121と診断サーバ123の処理についての説明を終える。
【0104】
本実施の形態によれば、FWによるアクセス制限を設けたLAN内部の診断サーバ123において、仮想マシン105の外からのアクセスによって仮想マシン105を診断するので、LANのアクセス制限を解除しなくても、外部からのアクセスを想定したセキュリティの診断を行うことができる。
【0105】
利用者は、複数の仮想マシンを組み合わせた仮想システムとして利用することもある。そのような場合でも、仮想システムとしてのセキュリティを保つようにすることもできる。
【0106】
本実施の形態によれば、診断サーバ123は、他の利用者が利用する仮想マシン105を含まない仮想LANを介して診断対象の仮想マシン105にアクセスするので、他の利用者が利用するクラウドサービスに影響を与えずに、診断を行うことができる。
【0107】
本実施の形態によれば、アドレス変換テーブルの仮想マシンのIPアドレスを、診断用のIPアドレスに書き換え、診断処理において、診断用のIPアドレス宛にアクセスするので、診断に関わらないアクセスによる影響を排除し、正確な診断を行うことができる。
【0108】
本実施の形態によれば、診断用のIPアドレスに、仮想マシンのグローバルIPアドレス以外のグローバルIPアドレスを割り当てるので、グローバルIPアドレス宛の外部からのアクセスを想定した診断を行うことができる。
【0109】
[実施の形態2]
実施の形態1では、外部FW兼ルータとは別に、仮想LANに対する内部FW兼ルータを設ける構成に基づく例を説明したが、実施の形態2では、一つのFW兼ルータで外部からの侵入を防ぐとともに、内部を含めた全体のルーティングを行う構成に基づく例について説明する。
【0110】
図21に、実施の形態2に係るクラウドシステムの物理ネットワークの概要を示す。物理サーバ101a、物理サーバ101b及び物理スイッチ111については、実施の形態1と同様である。仮想マシン105a、仮想マシン105b、仮想マシン105c、仮想マシン105d、仮想スイッチ103a及び仮想スイッチ103bについても、実施の形態1と同様である。また、診断サーバ123についても、実施の形態1と同様である。 実施の形態1における外部FW兼ルータ113と同位置にあるFW兼ルータ2101が、利用者が運用する仮想LANにおけるルーティングも行う。受付サーバ121は、FW兼ルータ2101に接続されている。
【0111】
図22に、実施の形態2に係るクラウドシステムの論理ネットワークの概要を示す。この例で、利用者が利用する仮想LAN(VLAN ID:14)は、FW兼ルータ2101に接続している。受付サーバ121と診断サーバ123とを含む仮想LAN(VLAN ID:1)もFW兼ルータ2101に接続している。
【0112】
この構成の場合には、仮想マシンへのアクセス要求は、FW兼ルータ2101により転送される。また、仮想マシンへの応答も、FW兼ルータ2101により転送される。
【0113】
また、DNAT処理及びSNAT処理は、FW兼ルータ2101で行われる。診断サーバ123は、NATテーブルの書換え要求をFW兼ルータ2101に対して送信する。通信のテストも、FW兼ルータ2101を介して行われる。また、診断処理も、FW兼ルータ2101を介して行われることになる。
【0114】
実施の形態2に係るネットワーク構成においても、実施の形態1と同様の効果を奏する。
【0115】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
【0116】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【0117】
なお、上で述べた物理サーバ101、受付サーバ121及び診断サーバ123はコンピュータ装置であって、
図23に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【0118】
以上述べた実施の形態をまとめると、以下のようになる。
【0119】
本実施の形態に係る診断方法は、仮想マシンによるクラウドサービスを提供するためのアクセス制限付きネットワークの内部に設けられている診断システムによる診断方法であって、利用者の端末から、当該利用者により運用される仮想マシンに対するセキュリティ診断の指示を受け付ける処理と、当該指示に従って、当該仮想マシンの外からのアクセスによって、当該仮想マシンのセキュリティを診断する診断処理とを含む。
【0120】
このようにすれば、アクセス制限付きネットワーク内部のコンピュータ装置において、仮想マシンの外からのアクセスによって仮想マシン(又は仮想マシンを含む仮想的なシステム)を診断するので、ネットワークのアクセス制限を解除しなくても、外部からのアクセスを想定したセキュリティの診断を行うことができる。
【0121】
また、このように診断することによって、仮想マシンを含む仮想システムとしてのセキュリティを保つようにすることもできる。
【0122】
更に、上記診断方法は、上記診断処理において、他の利用者が利用する他の仮想マシンを含まない仮想ネットワークを介してアクセスするようにしてもよい。
【0123】
このようにすれば、他の利用者が利用するクラウドサービスに影響を与えずに、診断を行うことができる。
【0124】
更に、上記診断方法は、アクセス制限付きネットワークのルータで保持する、経路に関するデータに含まれる仮想マシンのアドレスを、診断用のアドレスに書き換える処理を含むようにしてもよい。また、上記診断方法は、上記診断処理において、診断用のアドレス宛にアクセスするようにしてもよい。
【0125】
このようにすれば、診断に関わらないアクセスによる影響を排除し、正確な診断を行うことができる。
【0126】
上記経路に関するデータは、アドレス変換テーブルを含むようにしてもよい。また、上記仮想マシンのアドレスは、アドレス変換テーブルに含まれる仮想マシンのグローバルアドレスであってもよい。上記診断用のアドレスは、仮想マシンの上記グローバルアドレス以外のグローバルアドレスであってもよい。
【0127】
このようにすれば、グローバルアドレス宛の外部からのアクセスを想定した診断を行うことができる。
【0128】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【0129】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0130】
(付記1)
仮想マシンによるクラウドサービスを提供するためのアクセス制限付きネットワークの内部に設けられている一又は複数のコンピュータ装置に、
利用者の端末から、当該利用者により運用される仮想マシンに対するセキュリティ診断の指示を受け付ける処理と、
前記指示に従って、前記仮想マシンの外からのアクセスによって、前記仮想マシンのセキュリティを診断する診断処理と
を実行させるプログラム。
【0131】
(付記2)
前記診断処理において、他の利用者が利用する他の仮想マシンを含まない仮想ネットワークを介してアクセスする
付記1記載のプログラム。
【0132】
(付記3)
前記プログラムは、更に、
前記アクセス制限付きネットワークのルータで保持する、経路に関するデータに含まれる前記仮想マシンのアドレスを、診断用のアドレスに書き換える処理を含み、
前記診断処理において、前記診断用のアドレス宛にアクセスする
付記1又は2記載のプログラム。
【0133】
(付記4)
前記経路に関するデータは、アドレス変換テーブルを含み、
前記仮想マシンのアドレスは、前記アドレス変換テーブルに含まれる前記仮想マシンのグローバルアドレスであり、
前記診断用のアドレスは、前記仮想マシンの前記グローバルアドレス以外のグローバルアドレスである
付記3記載のプログラム。
【0134】
(付記5)
仮想マシンによるクラウドサービスを提供するためのアクセス制限付きネットワークの内部に設けられている診断システムによる診断方法であって、
利用者の端末から、当該利用者により運用される仮想マシンに対するセキュリティ診断の指示を受け付ける処理と、
前記指示に従って、前記仮想マシンの外からのアクセスによって、前記仮想マシンのセキュリティを診断する診断処理と
を含む診断方法。
【0135】
(付記6)
クラウドサービスを利用する利用者の端末から、当該利用者により運用される仮想マシンに対するセキュリティ診断の指示を受け付ける受付部と、
前記指示に従って、前記仮想マシンの外からのアクセスによって、前記仮想マシンのセキュリティを診断する診断部と
を有し、
前記クラウドサービスを提供するためのアクセス制限付きネットワークの内部に設けられている診断システム。