[実施の形態1]
図1に、ネットワーク構成例を示す。この例における情報処理システムは、第1拠点LANと第2拠点LANとを有する。第1拠点LANと第2拠点LANとは、VPN(Virtual Private Network)接続されている。更に、第1拠点LANと第2拠点LANとは、セキュリティセンターLANに接続している。各拠点LANとセキュリティセンターLANとの間も、VPN接続されている。この例では2つの拠点LANを表しているが、3つ以上の拠点LANが相互に接続している場合もある。第3拠点LAN以降は、省略する。
各拠点LANは、複数のサーバコンピュータ101及び複数のクライアントコンピュータ103を含んでいる。例えば、イントラネットによる情報処理システムを想定する。サーバコンピュータ101の機能は、任意である。サーバコンピュータ101は、例えばドメイン管理サーバ、Webサーバ、ファイルサーバ又はWindows(登録商標)サーバなどであってもよい。
各クライアントコンピュータ103は、各サーバコンピュータ101によるサービスを利用することがある。クライアントコンピュータ103は、サーバコンピュータ101で保持するデータを利用することがある。つまり、クライアントコンピュータ103は、所定の条件の下で、サーバコンピュータ101のリモート操作を行うことがあるものとする。そのために、サーバコンピュータ101とクライアントコンピュータ103との間でSMBに基づく制御が行われる。SMBは、リモート操作の機能を提供するアプリケーション層のプロトコルの例である。リモート操作の機能を提供するアプリケーション層のプロトコルとして、更にDCE/RPC(Distributed Computing Environment / Remote Procedure Calls)に基づく制御を行うようにしてもよい。
本実施の形態では、ケルベロス認証方式によってユーザを認証する。ケルベロス認証は、共通鍵暗号法を用いたネットワーク認証方式である。ケルベロス認証は、一度だけユーザ認証を受ければ、複数のサービスを利用できるシングルサインオンの仕組みを提供する。以下に示すシーケンスにおいて、サーバコンピュータ101とクライアントコンピュータ103とは、それぞれ自らの共通鍵でチケットを復号し、セッション鍵を取得することによって相互認証する。また、ケルベロス認証では、成りすましを防止するための時刻同期処理及びデータ秘匿化のための暗号化処理も行う。
チケット発行システム105は、ケルベロス認証方式に従ってユーザのアカウント及びアクセス権を一元的に管理する。また、チケット発行システム105は、サーバコンピュータ101の共通鍵とクライアントコンピュータ103の共通鍵とを保持する。チケット発行システム105は、これらの共通鍵によってサーバコンピュータ101とクライアントコンピュータ103との身元を確認する。チケット発行システム105は、KDC(Key Distribution Center)又はドメインコントローラーと呼ばれることがある。チケット発行システム105は、認証サーバ107及びチケット発行サーバ109を含んでいる。認証サーバ107及びチケット発行サーバ109を、一体の装置に設けるようにしてもよい。
認証サーバ107は、ケルベロス認証方式におけるユーザ認証を行う。認証サーバ107は、AS(Authentication Server)と呼ばれることもある。
チケット発行サーバ109は、クライアントコンピュータ103がサーバコンピュータ101を利用するためのサービスチケットを発行する。サービスチケットは、クライアントコンピュータ103のID、タイムスタンプ及び有効期限を含んでいる。チケット発行サーバ109は、TGS(Ticket Granting Server)と呼ばれることもある。
本実施の形態におけるサービスチケットは、クレデンシャルの例である。同じくチケット発行サーバ109は、クレデンシャル発行装置の例である。また、同じくチケット発行システム105は、クレデンシャル発行システムの例である。
尚、サーバコンピュータ101とクライアントコンピュータ103とをプリンシパルと呼ぶことがある。また、同一の認証ポリシーが適用されるコンピュータのグループをレルムと呼ぶことがある。この例では、レルムはドメインと一致するものとする。
また、各拠点LANには、監視装置111が含まれる。監視装置111は、例えばポートミラーリング対応のスイッチ又はネットワークタップを介して、ネットワークに接続している。監視装置111は、ネットワークを流れるパケットをキャプチャし、パケットを分析することによって、アカウント名が対応付けられたリモート操作のログを生成する。セキュリティセンターLANには、管理装置113が含まれる。管理装置113は、所定データがいずれの監視装置111に保持されているかを管理する。
拠点LANのトポロジーについて説明する。図2に、第1拠点LANのトポロジー例を示す。第1拠点LANは、ファイアウォール203を介して、ネットワークに接続されている。
この例における第1拠点LANは、第1セグメントと第2セグメントとに分かれている。第1セグメントと第2セグメントとは、スイッチ201を介して接続している。各サーバコンピュータ101は、第1セグメントに含まれている。各クライアントコンピュータ103は、第2セグメントに含まれている。
認証サーバ107及びチケット発行サーバ109を含むチケット発行システム105は、第1セグメントに含まれる。また、監視装置111も、第1セグメントに含まれる。そして、監視装置111は、サーバコンピュータ101、認証サーバ107及びチケット発行サーバ109において受信するパケット及びサーバコンピュータ101、認証サーバ107及びチケット発行サーバ109が送信するパケットをキャプチャする。
尚、第2拠点LAN以降も、第1拠点LANと同様のトポロジーであるものとする。
このような情報処理システムにおいて、リモート操作アクセスの前提となっているアカウントを特定すれば、例えばマルウェアからのアクセスによる諜報活動を阻止することに役立つ。具体的には、諜報活動に係るリモート操作アクセスを検出した場合に、当該リモート操作アクセスの前提となっているアカウントを無効にするなどの対処をとることができる。また、サーバー攻撃を受けた範囲を特定することにも役立つ。以下、本実施の形態における監視について説明する。
図3に、監視対象となるシーケンス例を示す。この例で、クライアントコンピュータ103は、第2拠点LANのサーバコンピュータ101にアクセスして、当該サーバコンピュータ101のサービスを利用するものと想定する。この例におけるクライアントコンピュータ103が属する拠点LANは、任意である。また、クライアントコンピュータ103は、第1拠点LANにおけるチケット発行システム105を用いるものとする。
クライアントコンピュータ103は、ケルベロス認証方式におけるユーザ認証(以下、最初の認証という。)のリクエストメッセージを第1拠点LANの認証サーバ107へ送る(S301)。当該リクエストメッセージは、クライアントコンピュータ103のユーザに割り当てられているアカウント名及びパスワードを含んでいる。
第1拠点LANの認証サーバ107は、当該リクエストメッセージに含まれるアカウント名及びパスワードに基づいて、最初の認証を行う。最初の認証が成功すると、第1拠点LANの認証サーバ107は、TGT(Ticket-granting Ticket)を生成し、TGTを含む成功のレスポンスメッセージをクライアントコンピュータ103へ送る(S303)。TGTは、サービスチケット発行のためのチケットである。
クライアントコンピュータ103は、成功のレスポンスメッセージに含まれるTGTを保管する。クライアントコンピュータ103は、第2拠点LANのサーバコンピュータ101を利用するためのサービスチケット発行のリクエストメッセージを第1拠点LANのチケット発行サーバ109へ送る(S305)。当該リクエストメッセージには、TGT及び第2拠点LANのサーバコンピュータ101のサーバ名が含まれている。
第1拠点LANのチケット発行サーバ109は、サービスチケット発行のリクエストメッセージに含まれるTGTを検証する。具体的には、第1拠点LANのチケット発行サーバ109は、TGTのタイムスタンプや有効期限を確認し、更に第2拠点LANのサーバコンピュータ101へのアクセス権を有するユーザであることを確認する。検証が成功すると、S301で認証したユーザが第2拠点LANのサーバコンピュータ101を利用するためのサービスチケットを生成する。そして、第1拠点LANのチケット発行サーバ109は、サービスチケットを含むレスポンスメッセージをクライアントコンピュータ103へ送る(S307)。当該レスポンスメッセージは、最初の認証で用いられたアカウント名及びサービスチケットの送り先となるサーバ名を含んでいる。
クライアントコンピュータ103は、当該レスポンスメッセージを受信すると、SMB認証のリクエストメッセージを第2拠点LANのサーバコンピュータ101へ送る(S309)。当該リクエストメッセージは、サービスチケットを含んでいる。
第2拠点LANのサーバコンピュータ101は、サービスチケットに基づいてSMBにおけるユーザ認証(以下、SMB認証という。)を行う。サービスチケットが正当である場合には、SMB認証が成功する。SMB認証が成功すると、第2拠点LANのサーバコンピュータ101は、成功のレスポンスメッセージをクライアントコンピュータ103へ送る(S311)。
成功のレスポンスメッセージが送られると、クライアントコンピュータ103がリモート操作を行う準備が整う。この例では、クライアントコンピュータ103は、ファイルリードのリクエストメッセージを第2拠点LANのサーバコンピュータ101へ送る(S313)。
第2拠点LANのサーバコンピュータ101は、当該リクエストメッセージに従って、ファイルを含むレスポンスメッセージをクライアントコンピュータ103へ送る(S315)。図3に示したファイルリードは、リモート操作の例であって、他のリモート操作が行われることもある。このようなシーケンスを前提として、第1拠点LANの監視装置111及び第2拠点LANの監視装置111は、上述したメッセージに相当するパケットを分析する。
図4Aに、ネットワーク監視システムのシーケンス例を示す。第1拠点LANの監視装置111は、図3のS307に示したサービスチケット発行のレスポンスメッセージをキャプチャする(S401)。第1拠点LANの監視装置111は、発行ログに発行レコードを登録する(S403)。発行レコードは、発行ログにおけるレコードであって、サービスチケット発行に対応する。発行レコードには、サービスチケット及びアカウント名他が設定される。発行ログについては、図9を用いて後述する。
次に、第1拠点LANの監視装置111は、発行レコードの所在通知を管理装置113に送信する(S405)。発行レコードの所在通知には、要求元識別子、サービス識別子、監視装置識別子及び発行ログファイル名が含まれる。要求元識別子は、チケット発行サーバ109に対してサービスチケットを要求した装置の識別子である。本実施の形態における要求元識別子は、要求元のIP(Internet Protocol)アドレスと要求元のポート番号との組である。サービス識別子は、サービスチケットに基づいて利用されるサービスを特定する。本実施の形態におけるサービス識別子は、サーバレルム名とサーバ名との組である。監視装置識別子は、当該サービスチケット発行に関する発行レコードを保持する監視装置111を特定する。つまり、当該監視装置識別子は、当該サービスチケット発行のレスポンスメッセージをキャプチャし、分析した監視装置111の識別子である。発行ログファイル名は、監視装置111で保持されている発行ログのファイル名である。
管理装置113は、発行レコードの所在通知を受信すると、当該通知の内容が設定されたレコードを所在テーブルに登録する(S407)。所在テーブルについては、図26を用いて後述する。管理装置113は、所在テーブルにおいて、要求元識別子及びサービス識別子をキーとして、いずれの監視装置111に発行レコードが保持されているかを管理する。
次に、第2拠点LANの監視装置111に関するシーケンスについて、図4B及び図4Cを用いて説明する。第2拠点LANの監視装置111は、図3のS309に示したSMB認証のリクエストメッセージをキャプチャする(S409)。そして、第2拠点LANの監視装置111は、認証ログにレコードを登録する(S411)。このとき、第2拠点LANの監視装置111は、SMB認証のリクエストメッセージからサービスチケットを抽出し、以下の手順によって、当該サービスチケットが設定されている発行レコードからアカウント名を取得する。
第2拠点LANの監視装置111は、まず、発行レコードの所在を管理装置113に問い合わせる。その後、第2拠点LANの監視装置111は、発行レコードを保持している監視装置111から、サービスチケットに対応するアカウント名を取得する。具体的なシーケンスについて補足する。
第2拠点LANの監視装置111は、管理装置113へ発行レコードの所在問い合わせを送信する(S413)。発行レコードの所在問い合わせは、要求元識別子及びサービス識別子を含んでいる。
管理装置113は、発行レコードの所在問い合わせを受信すると、所在テーブルのレコードを探索する(S415)。具体的には、管理装置113は、所在テーブルにおいて、当該所在問い合わせに含まれる要求元識別子及びサービス識別子が設定されているレコードを探索する。管理装置113は、特定されたレコードに設定されている監視装置識別子及び発行ログファイル名を第2拠点LANの監視装置111へ送信する(S417)。尚、発行ログファイルが一意に定まる場合には、発行ログファイル名を省くようにしてもよい。以降の処理においても同様である。
第2拠点LANの監視装置111は、監視装置識別子及び発行ログファイル名を受信すると、監視装置識別子によって特定される第1拠点LANの監視装置111へアカウント名の問い合わせを送信する(S419)。アカウント名の問い合わせは、サービスチケット及び発行ログファイル名を含んでいる。
第1拠点LANの監視装置111は、アカウント名の問い合わせを受信すると、発行ログの発行レコードを探索する(S421)。具体的には、第1拠点LANの監視装置111は、当該問い合わせに含まれる発行ログファイル名によって特定される発行ログにおいて、当該問い合わせに含まれるサービスチケットが設定されているレコードを探索する。第1拠点LANの監視装置111は、特定されたレコードに設定されているアカウント名他を第2拠点LANの監視装置111へ送信する(S423)。
認証ログのレコードでは、SBM認証のリクエストメッセージにおける送信元(例えば、図3のクライアントコンピュータ103)と宛先(例えば、図3の第2拠点LANのサーバコンピュータ101)とのコネクションにアカウント名を対応付ける。認証ログについては、図14を用いて後述する。
端子Aを介して、図4Cのシーケンスに移る。認証ログにレコードを登録した後、第2拠点LANの監視装置111は、図3のS313に示したファイルリードのリクエストメッセージをキャプチャする(S425)。第2拠点LANの監視装置111は、操作ログにレコードを登録する(S427)。このとき、第2拠点LANの監視装置111は、認証ログに基づいて、ファイルリードのリクエストメッセージにおけるコネクションに対応するアカウント名を特定する。そして、操作ログのレコードは、リモート操作の内容と当該アカウント名とを対応付ける。このようにすれば、各リモート操作が如何なるアカウント名に基づいて実行されたかがわかるようになる。以上で、シーケンスについての説明を終える。
続いて、監視装置111の動作について説明する。図5に、監視装置111のモジュール構成例を示す。監視装置111は、第1受信部501、第1送信部503、キャプチャ部505、判別部507、第1特定部509、第1記録処理部511、通知部513、第2記録処理部515、取得部516、第3記録処理部517、第4記録処理部519、第1探索部523、時計部525、発行ログ記憶部531、コネクション記憶部533、認証ログ記憶部535、操作ログ記憶部537及びパケット格納部539を有する。
第1受信部501は、各種データを受信する。第1送信部503は、各種データを送信する。キャプチャ部505は、ネットワークを流れるパケットをキャプチャする。判別部507は、パケットの種類を判別する。第1特定部509は、コネクション特定処理を実行する。第1記録処理部511は、第1記録処理を実行する。第1記録処理では、サービスチケット発行に関するデータが発行ログに記録される。通知部513は、発行レコードの所在を通知する。第2記録処理部515は、第2記録処理を実行する。第2記録処理では、SMB認証に関するデータが認証ログに記録される。取得部516は、管理装置113に対して、発行レコードの所在を問い合わせる。更に、取得部516は、監視装置111にアカウント名を問い合わせる。第3記録処理部517は、第3記録処理を実行する。第3記録処理では、リモートファイルアクセスに関するデータが操作ログに記録される。第4記録処理部519は、第4記録処理を実行する。第4記録処理では、リモートファイルアクセス以外のリモート操作に関するデータが操作ログに記録される。第1探索部523は、アカウント名の問い合わせに応じて、サービスチケットを探索する。時計部525は、日付及び時刻を計測する。
発行ログ記憶部531は、発行ログを記憶する。コネクション記憶部533は、コネクションテーブルを記憶する。認証ログ記憶部535は、認証ログを記憶する。操作ログ記憶部537は、操作ログを記憶する。パケット格納部539は、キャプチャしたパケットを格納する。各ログ及びテーブルの詳細については、後述する。
上述した第1受信部501、第1送信部503、キャプチャ部505、判別部507、第1特定部509、第1記録処理部511、通知部513、第2記録処理部515、取得部516、第3記録処理部517、第4記録処理部519、第1探索部523及び時計部525は、ハードウエア資源(例えば、図33)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した発行ログ記憶部531、コネクション記憶部533、認証ログ記憶部535、操作ログ記憶部537及びパケット格納部539は、ハードウエア資源(例えば、図33)を用いて実現される。
続いて、監視装置111における処理について説明する。図6に、監視装置111のメイン処理フローを示す。キャプチャ部505は、キャプチャ処理を開始する(S601)。キャプチャ処理で、キャプチャ部505は、監視装置111とネットワーク(監視装置111が属するセグメント)との間に設けられたポートミラーリング対応のスイッチ又はネットワークタップを介して、ネットワークを流れるパケットを取り込む。取り込んだパケットは、パケット格納部539に格納される。キャプチャ部505は、格納したパケットに、キャプチャした日時を付する。日時は、時計部525から得られる。
判別部507は、キャプチャしたパケットのうち、未処理のパケットを1つ特定する(S603)。判別部507は、例えばキャプチャした順にパケットを特定する。判別部507は、処理済みのパケットを破棄するようにしてもよい。未処理のパケットが無い場合に、判別部507は、次のパケットがキャプチャされるまで待機する。
判別部507は、特定したパケットがケルベロス認証プロトコルのパケットであるか否かを判定する(S605)。具体的には、判別部507は、当該パケットに設定されている送信元ポート番号が、ケルベロス認証に割り当てられている番号「88」である場合に、当該パケットがケルベロス認証プロトコルのパケットであると判定する。当該パケットがケルベロス認証プロトコルのパケットであると判定した場合には、第1記録処理部511は、第1記録処理を実行する(S607)。
第1記録処理について説明する前に、第1記録処理部511のモジュール構成例について説明する。図7に、第1記録処理部511のモジュール構成例を示す。第1記録処理部511は、第1設定部701及び第1抽出部703を有する。
第1設定部701は、発行ログの新たなレコードに各種データを設定する。第1抽出部703は、ケルベロス認証プロトコルのパケットから各種データを抽出する。
上述した第1設定部701及び第1抽出部703は、ハードウエア資源(例えば、図33)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
図8に、第1記録処理フローを示す。第1記録処理部511は、発行ログに、新たなレコードを設ける(S801)。
図9に、発行ログの構成例を示す。この例における発行ログは、テーブル形式である。但し、発行ログは、テーブル形式以外の形式であってもよい。この例における発行ログは、サービスチケット発行のレスポンスメッセージに対応するレコードを有している。当該レコードは、日時を設定するためのフィールドと、送信元IPアドレスを設定するためのフィールドと、送信元ポート番号を設定するためのフィールドと、宛先IPアドレスを設定するためのフィールドと、宛先ポート番号を設定するためのフィールドと、クライアントレルム名とアカウント名とを設定するためのフィールドと、サーバレルム名とサーバ名とを設定するためのフィールドと、サービスチケットを設定するためのフィールドとを有している。
日時は、当該レスポンスメッセージのパケットをキャプチャした日時である。送信元IPアドレス及び宛先IPアドレスは、当該レスポンスメッセージのIPヘッダーから抽出される。送信元ポート番号及び宛先ポート番号は、当該レスポンスメッセージのTCP(Transmission Control Protocol)ヘッダー又はUDP(User Datagram Protocol)ヘッダー(以下、UDP/TCPヘッダーと記す。)から抽出される。アカウント名は、サービスチケットを要求したアカウントを識別する。クライアントレルム名は、クライアントコンピュータ103が属するレルムを識別する。サーバ名は、サーバコンピュータ101を識別する。サーバレルム名は、サーバコンピュータ101が属するレルムを識別する。この例では、クライアントレルム名とアカウント名とを一体として記録しているが、クライアントレルム名とアカウント名とを別個に記録するようにしてもよい。同じくサーバレルム名とサーバ名とを一体として記録しているが、サーバレルム名とサーバ名とを別個に記録するようにしてもよい。
図8の説明に戻る。第1設定部701は、新たなレコードに、S603で特定したパケットがキャプチャされた日時を設定する(S803)。
第1抽出部703は、当該パケットのIPヘッダーから送信元IPアドレス及び宛先IPアドレスを抽出し、第1設定部701は、抽出した送信元IPアドレス及び宛先IPアドレスを、新たなレコードに設定する(S805)。第1抽出部703は、当該パケットのUDP/TCPヘッダーから送信元ポート番号及び宛先ポート番号を抽出し、第1抽出部703は、抽出した送信元ポート番号及び宛先ポート番号を、新たなレコードに設定する(S807)。
第1抽出部703は、当該パケットからアカウント名、クライアントレルム名、サーバ名及びサーバレルム名を抽出し、第1設定部701は、抽出したアカウント名、クライアントレルム名、サーバ名及びサーバレルム名を、新たなレコードに設定する(S809)。
第1抽出部703は、当該パケットからサービスチケットを抽出し、第1設定部701は、抽出したサービスチケットを、新たなレコードに設定する(S811)。第1記録処理を終えると、図6に示したメイン処理に復帰する。
図6の説明に戻る。通知部513は、発行レコードの所在通知(要求元識別子、サービス識別子、監視装置識別子及び発行ログファイル名を含む。)を生成する(S609)。通知部513は、第1送信部503を介して発行レコードの所在通知を、管理装置113へ送信する(S611)。そして、S603に示した処理に戻って、上述した処理を繰り返す。
S605において、S603で特定したパケットがケルベロス認証プロトコルのパケットではないと判定した場合には、判別部507は、当該パケットがSMBプロトコルのパケットであるか否かを判定する(S613)。具体的には、判別部507は、当該パケットにプロトコルがSMBであることを示すデータが設定されている場合に、当該パケットがSMBパケットであると判定する。当該パケットがSMBパケットではないと判定した場合には、S603に示した処理に戻って、上述した処理を繰り返す。SMBパケットとは、SMBプロトコルによる制御で用いられるパケットのことである。
図10に、SMBパケットの構成を示す。図10に示すように、MAC(Media Access Control)ヘッダーには、宛先MACアドレスが設定されるフィールドと、送信元MACアドレスが設定されるフィールドとが含まれている。送信元MACアドレスは、当該パケットを送ったコンピュータのMACアドレスである。宛先MACアドレスは、当該パケットを受けるコンピュータのMACアドレスである。
また、IPヘッダーには、送信元IPアドレスが設定されるフィールドと、宛先IPアドレスが設定されるフィールドとが含まれている。送信元IPアドレスは、当該パケットを送ったコンピュータのIPアドレスである。宛先IPアドレスは、当該パケットを受けるコンピュータのIPアドレスである。
SMBパケットがTCPに従って送られる場合に、当該パケットは、TCPヘッダーを有する。SMBパケットがUDPに従って送られる場合に、当該パケットは、UDPヘッダーを有する。TCPヘッダー又はUDPヘッダーのいずれの場合であっても、当該ヘッダーには、送信元ポート番号が設定されるフィールドと、宛先ポート番号が設定されるフィールドとが含まれている。送信元ポート番号は、当該パケットを送り出したポートの番号である。宛先ポート番号は、当該パケットを受けるポートの番号である。
尚、この例で、NetBiosに関するヘッダーは省略する。
SMBパケットは、SMBヘッダー及びSMBボディを有する。SMBヘッダーには、プロトコルが設定されるフィールドと、オペレーションコードが設定されるフィールドと、パイプ名が設定されるフィールドとが含まれている。プロトコルには、SMBの識別子が設定される。尚、SMBの識別子は、SMBのバージョンを含む。オペレーションコードは、SMBにおけるコマンド(リモート操作に相当する。)の識別子である。パイプ名は、データ伝送形態の一つであるパイプの名前である。パイプ名は、サービスに対して一意に定められている。従って、利用されるサービスは、パイプ名によって特定される。
SMBヘッダーには、各種の属性データが含まれる。但し、属性項目及び格納位置は、SMBパケットの種類によって異なる場合がある。SMBパケットの種類は、オペレーションコードとパイプ名との両方又は一方によって判別される。属性データの例は、後述する。
図6の説明に戻る。S613において、S603で特定したパケットがSMBパケットであると判定した場合には、判別部507は、更に、S603で特定したパケットがSMB認証のリクエストメッセージに該当するか否かを判定する(S615)。具体的には、判別部507は、SMBヘッダーに、SMB認証のオペレーションコード(Session確立相当)が設定されている場合に、当該パケットがSMB認証のリクエストメッセージに該当すると判定する。
当該パケットがSMB認証のリクエストメッセージに該当すると判定した場合には、第2記録処理部515は、第2記録処理を実行する(S617)。
第2記録処理について説明する前に、SMB認証のリクエストメッセージの構成及び第2記録処理部515のモジュール構成例について説明する。
図11に、SMB認証のリクエストメッセージの例を示す。この例では、IPアドレスによってコンピュータを判別するので、MACアドレスについては言及しない。但し、MACアドレスによってコンピュータを判別するようにしてもよい。
図11に示したSMB認証のリクエストメッセージは、IPアドレス「A10」のコンピュータから、IPアドレス「A30」のコンピュータへ送られたものと想定する。従って、送信元IPアドレスのフィールドには「A10」が設定され、宛先IPアドレスのフィールドには「A30」が設定されている。
当該リクエストメッセージは、宛先のコンピュータにおけるポート番号「P2」のポートに対して、送信元のコンピュータにおけるポート番号「P1」のポートから送られたものと想定する。従って、送信元ポート番号のフィールドには「P1」が設定され、宛先ポート番号のフィールドには「P2」が設定されている。
この例におけるSMB認証の手順は、SMBのバージョン2に準拠するものとする。従って、プロトコルのフィールドには「SMB2」が設定されている。オペレーションコードの「code01」は、認証の要求に相当する。プロバイダーは、認証方式を特定する。プロバイダーは、セキュリティブロブと呼ばれることもある。この例では、「ケルベロス認証方式」が設定されている。尚、プロバイダーに「NTLM(NT LAN Manager)」が設定されていることもあるが、本実施の形態では、NTLMによる認証の場合には、ロギングの対象としない。
キャプチャしたパケットに設定されているプロトコルが「SMB2」であり、同じくオペレーションコードが「code01」であるという条件と合致する場合に、当該パケットは、SMB認証のリクエストメッセージに該当すると判定される。
図12に、第2記録処理部515のモジュール構成例を示す。第2記録処理部515は、第2設定部1201、第2抽出部1203及び第1判定部1205を有する。
第2設定部1201は、認証ログの新たなレコードに各種データを設定する。第2抽出部1203は、SMB認証のリクエストメッセージに該当するパケットから各種データを抽出する。第1判定部1205は、SMB認証のリクエストメッセージにおけるプロバイダーのフィールドに「ケルベロス認証方式」が設定されているか否かを判定する。
上述した第2設定部1201、第2抽出部1203及び第1判定部1205は、ハードウエア資源(例えば、図33)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
続いて、第2記録処理について説明する。図13A及び図13Bに、第2記録処理フローを示す。第1判定部1205は、プロバイダーのフィールドに「ケルベロス認証方式」が設定されているか否かを判定する(S1301)。プロバイダーのフィールドに「ケルベロス認証方式」が設定されていないと判定した場合には、第2記録処理を終え、図6に示したS603の処理に戻って、上述した処理を繰り返す。
S1301において、プロバイダーのフィールドに「ケルベロス認証方式」が設定されていると判定した場合には、第2抽出部1203は、要求元識別子及びサービス識別子を抽出する(S1303)。取得部516は、発行レコードの所在を問い合わせる(S1305)。具体的には、第1送信部503は、発行レコードの所在問い合わせ(要求元識別子及びサービス識別子を含む。)を管理装置113へ送信する。取得部516は、監視装置識別子及び発行ログファイル名を取得する(S1307)。具体的には、第1受信部501は、監視装置識別子及び発行ログファイル名を管理装置113から受信する。第2抽出部1203は、サービスチケットを抽出する(S1309)。取得部516は、アカウント名を問い合わせる(S1311)。具体的には、第1送信部503は、アカウント名の問い合わせ(サービスチケット及び発行ログファイル名を含む。)を監視装置識別子で特定される監視装置111へ送信する。取得部516は、アカウント名、クライアントレルム名、サーバ名及びサーバレルム名を取得する(S1313)。具体的には、第1受信部501は、アカウント名、クライアントレルム名、サーバ名及びサーバレルム名を監視装置111から受信する。そして、端子Bを介して、図13Bに示したS1315の処理に移る。
図13Bの説明に移る。第2記録処理部515は、認証ログに、新たなレコードを設ける(S1315)。
図14に、認証ログの構成例を示す。この例における認証ログは、テーブル形式である。但し、認証ログは、テーブル形式以外の形式であってもよい。この例における認証ログは、ケルベロス認証方式によるSMB認証のリクエストメッセージに対応するレコードを有している。当該レコードは、日時を設定するためのフィールドと、送信元IPアドレスを設定するためのフィールドと、送信元ポート番号を設定するためのフィールドと、宛先IPアドレスを設定するためのフィールドと、宛先ポート番号を設定するためのフィールドと、コネクションIDを設定するためのフィールドと、クライアントレルム名とアカウント名とを設定するためのフィールドと、サーバレルム名とサーバ名とを設定するためのフィールドとを有している。
日時は、当該リクエストメッセージのパケットをキャプチャした日時である。送信元IPアドレス及び宛先IPアドレスは、当該リクエストメッセージのIPヘッダーから抽出される。送信元ポート番号及び宛先ポート番号は、当該リクエストメッセージのTCP/UDPヘッダーから抽出される。アカウント名は、サービスチケット発行を要求したアカウントを識別する。クライアントレルム名は、クライアントコンピュータ103が属するレルムを識別する。サーバ名は、サーバコンピュータ101を識別する。サーバレルム名は、サーバコンピュータ101が属するレルムを識別する。この例では、クライアントレルム名とアカウント名とを一体として記録しているが、クライアントレルム名とアカウント名とを別個に記録するようにしてもよい。同じくサーバレルム名とサーバ名とを一体として記録しているが、サーバレルム名とサーバ名とを別個に記録するようにしてもよい。
図13Bの説明に戻る。第2設定部1201は、新たなレコードに、S603で特定したパケットがキャプチャされた日時を設定する(S1317)。
第2抽出部1203は、当該パケットのIPヘッダーから送信元IPアドレス及び宛先IPアドレスを抽出し、第2設定部1201は、抽出した送信元IPアドレス及び宛先IPアドレスを、新たなレコードに設定する(S1319)。第2抽出部1203は、当該パケットのUDP/TCPヘッダーから送信元ポート番号及び宛先ポート番号を抽出し、第2設定部1201は、抽出した送信元ポート番号及び宛先ポート番号を、新たなレコードに設定する(S1321)。
第1特定部509は、コネクション特定処理を実行する(S1323)。コネクション特定処理において、第1特定部509は、S603で特定したパケットが伝送されるコネクションを特定する。
図15に、コネクション特定処理フローを示す。第1特定部509は、S1319で抽出した送信元IPアドレス、S1321で抽出した送信元ポート番号、S1319で抽出した宛先IPアドレス及びS1321で抽出した宛先ポート番号の組み合わせと同じ組み合わせが、コネクションテーブルに既に登録されているか否かを判定する(S1501)。
図16に、コネクションテーブルの構成例を示す。この例におけるコネクションテーブルは、コネクションに対応するレコードを有している。当該レコードは、コネクションIDを設定するためのフィールドと、送信元IPアドレスを設定するためのフィールドと、送信元ポート番号を設定するためのフィールドと、宛先IPアドレスを設定するためのフィールドと、宛先ポート番号を設定するためのフィールドとを有している。
コネクションIDは、コネクションを識別する。コネクションは、送信元IPアドレス、送信元ポート番号、宛先IPアドレス及び宛先ポート番号の組み合わせによって特定される。
図15の説明に戻る。S1501において、上記組み合わせが、コネクションテーブルに登録されていないと判定した場合には、第1特定部509は、コネクションテーブルに新たなレコードを設ける(S1503)。第1特定部509は、新たなレコードに新たなコネクションIDを割り当てる(S1505)。第1特定部509は、S1319で抽出した送信元IPアドレス、S1321で抽出した送信元ポート番号、S1319で抽出した宛先IPアドレス及びS1321で抽出した宛先ポート番号を、新たなレコードに設定する(S1507)。そして、図13Bに示した第2記録処理に復帰する。この場合には、第2記録処理で、S1505で割り当てられたコネクションIDによってコネクションを特定する。
一方、S1501において、上記組み合わせが、コネクションテーブルに登録されていると判定した場合には、第1特定部509は、上記組み合わせに対応するコネクションIDを特定する(S1509)。そして、図13Bに示した第2記録処理の処理に復帰する。
図13Bの説明に戻る。第2設定部1201は、S1323の処理で特定されたコネクションIDを、S1315で設けた新たなレコードに設定する(S1325)。
第2設定部1201は、図13AのS1313において取得したアカウント名、クライアントレルム名、サーバ名及びサーバレルム名を新たなレコードに設定する(S1327)。第2記録処理を終えると、図6に示したS603の処理に戻って、上述した処理を繰り返す。
図6の説明に戻る。S615において、S603で特定したパケットがSMB認証のリクエストメッセージに該当しないと判定した場合には、判別部507は、当該パケットがリモートファイルアクセスのリクエストメッセージに該当するか否かを判定する(S619)。具体的には、判別部507は、SMBヘッダーに、リモートファイルアクセスのオペレーションコード(Open相当)が設定されている場合に、当該パケットが、リモートファイルアクセスのリクエストメッセージに該当すると判定する。尚、リモートファイルアクセスは、複数のリクエストメッセージによって成立する。従って、リモートファイルアクセスの所定シーケンスに従って、「Open相当」が設定されているパケット(以下では、1回目のリクエストメッセージという。)に続くパケット(以下では、2回目のリクエストメッセージという。)もリモートファイルアクセスのリクエストメッセージに該当すると判定する。
図17に、ファイルリードのリクエストメッセージの例を示す。リモート操作の種類によって、リクエストメッセージの送出が1回で終わる場合と、リモート操作の処理が完了するまでにリクエストメッセージを複数回送出する場合とがある。図17及び後述する図21に示す例は、いずれもリクエストメッセージを複数回送出する場合に相当する。
上段に示したファイルリードにおける1回目のリクエストメッセージは、IPアドレス「A10」のコンピュータから、IPアドレス「A30」のコンピュータへ送られたものと想定する。従って、送信元IPアドレスのフィールドには「A10」が設定され、宛先IPアドレスのフィールドには「A30」が設定されている。尚、下段に示したファイルリードにおける2回目のリクエストメッセージの場合も、同様である。
上段に示したファイルリードにおける1回目のリクエストメッセージは、宛先のコンピュータにおけるポート番号「P2」のポートに対して、送信元のコンピュータにおけるポート番号「P1」のポートから送られたものと想定する。従って、送信元ポート番号のフィールドには「P1」が設定され、宛先ポート番号のフィールドには「P2」が設定されている。尚、下段に示したファイルリードにおける2回目のリクエストメッセージの場合も、同様である。
この例におけるファイルリードの手順は、SMBのバージョン1に準拠するものとする。従って、プロトコルのフィールドには「SMB」が設定されている。
1回目のリクエストメッセージにおけるオペレーションコードの「code02」は、Open相当を表す。バージョン1のSMBの場合におけるオペレーションコードは、1byteである。1回目のリクエストメッセージにおけるオペレーションコード「code02」である場合には、ファイルアクセスの要求であること意味する。2回目のリクエストメッセージにおけるオペレーションコードの「code03」は、ファイルアクセスの種類がファイルリードであることを示している。
1回目のリクエストメッセージに設定されているオペレーションコードが「code02」であり、2回目のリクエストメッセージ(1回目のリクエストメッセージと、プロトコル、送信元IPアドレス、送信元ポート番号、宛先IPアドレス及び宛先ポート番号が共通する。)に設定されているオペレーションコードが「code03」である場合に、これらのリクエストメッセージは、ファイルリードを要求するものであると判定される。尚、ファイルパスは、1回目のリクエストメッセージに設定されている。
図6の説明に戻る。当該パケットがリモートファイルアクセスのリクエストメッセージに該当すると判定した場合には、第3記録処理部517は、第3記録処理を実行する(S621)。
第3記録処理について説明する前に、第3記録処理部517のモジュール構成について説明する。図18に、第3記録処理部517のモジュール構成例を示す。第3記録処理部517は、第3設定部1801、第3抽出部1803、第2判定部1805、第2特定部1807及び第2探索部1809を有する。
第3設定部1801は、操作ログの新たなレコードに各種データを設定する。第3抽出部1803は、リモートファイルアクセスのリクエストメッセージに該当するパケットから各種データを抽出する。第2判定部1805は、処理対象のパケットが、1回目のリクエストメッセージであるか否かを判定する。第2特定部1807は、コマンド名を特定する。第2探索部1809は、認証ログにおいて、特定のコネクションIDを含むレコードを探索する。
上述した第3設定部1801、第3抽出部1803、第2判定部1805、第2特定部1807及び第2探索部1809は、ハードウエア資源(例えば、図33)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
図19に、第3記録処理フローを示す。第3記録処理では、リモートファイルアクセスに係る1回目のリクエストメッセージ及び2回目のリクエストメッセージに基づくデータを、操作ログに設定する。第2判定部1805は、S603で特定したパケットが、オペレーションコードに「Open相当」が設定されているパケット、つまり1回目のリクエストメッセージであるか否かを判定する(S1901)。
当該パケットが、1回目のリクエストメッセージであると判定した場合には、第3記録処理部517は、操作ログに新たなレコードを設ける(S1903)。
図20に、操作ログの構成例を示す。この例における操作ログは、テーブル形式である。但し、操作ログは、テーブル形式以外の形式であってもよい。この例における操作ログは、リモート操作のリクエストメッセージに対応するレコードを有している。当該レコードは、日時を設定するためのフィールドと、送信元IPアドレスを設定するためのフィールドと、送信元ポート番号を設定するためのフィールドと、宛先IPアドレスを設定するためのフィールドと、宛先ポート番号を設定するためのフィールドと、コネクションIDを設定するためのフィールドと、コマンド名とオプションとを設定するためのフィールドと、属性データを設定するためのフィールドとを有している。
この例では、属性データを設定するためのフィールドが、クライアントレルム名とアカウント名とを設定するためのフィールドと、サーバレルム名とサーバ名とを設定するためのフィールドと、パス又はアカウント名を設定するためのフィールドに分かれている。但し、他の属性項目を設定するためのフィールドを有するようにしてもよい。また、属性データを設定するためのフィールドを一体として、一又は複数の任意の属性を設定するようにしてもよい。
日時は、当該リクエストメッセージのパケットをキャプチャした日時である。送信元IPアドレス及び宛先IPアドレスは、当該リクエストメッセージのIPヘッダーから抽出される。送信元ポート番号及び宛先ポート番号は、当該リクエストメッセージのTCPヘッダーから抽出される。コネクションIDは、当該リクエストメッセージが伝送されたコネクションを識別する。コマンド名とオプションとは、リモート操作の内容を示す。オプションは、設定されない場合がある。クライアントレルム名は、クライアントコンピュータ103が属するレルムを識別する。サーバ名は、サーバコンピュータ101を識別する。サーバレルム名は、サーバコンピュータ101が属するレルムを識別する。この例では、クライアントレルム名とアカウント名とを一体として記録しているが、クライアントレルム名とアカウント名とを別個に記録するようにしてもよい。同じくサーバレルム名とサーバ名とを一体として記録しているが、サーバレルム名とサーバ名とを別個に記録するようにしてもよい。この例で、コマンド名が「ファイルリード」である場合には、パス又はアカウント名のフィールドにファイルパスが設定される。同じく、コマンド名が「ユーザ登録」である場合には、パス又はアカウント名のフィールドにアカウント名が設定される。
図19の説明に戻る。第3設定部1801は、新たなレコードに、当該パケットがキャプチャされた日時を設定する(S1905)。
第3抽出部1803は、当該パケットのIPヘッダーから送信元IPアドレス及び宛先IPアドレスを抽出し、第3設定部1801は、抽出した送信元IPアドレス及び宛先IPアドレスを、新たなレコードに設定する(S1907)。更に、第3抽出部1803は、当該パケットのTCPヘッダー或いはUDPヘッダーから送信元ポート番号及び宛先ポート番号を抽出し、第3設定部1801は、抽出した送信元ポート番号及び宛先ポート番号を、新たなレコードに設定する(S1909)。
第1特定部509は、コネクションテーブルを参照して、送信元IPアドレス、送信元ポート番号、宛先IPアドレス及び宛先ポート番号の組み合わせに対応するコネクションIDを特定する(S1911)。第3設定部1801は、新たなレコードに、コネクションIDを設定する(S1913)。
第3抽出部1803は、当該パケットのSMBヘッダーからファイルパスを抽出し、第3設定部1801は、抽出したファイルパスを、新たなレコードにおけるパス又はアカウント名のフィールドに設定する(S1915)。以上で、1回目のリクエストメッセージに基づくデータの設定を終える。そして、一旦図6に示したS603の処理に戻って、上述した処理を繰り返す。
一方、S1901において、当該パケットが、1回目のリクエストメッセージではないと判定した場合、つまり当該パケットが、2回目のリクエストメッセージである場合には、S1917に示した処理に移る。
第2特定部1807は、オペレーションコードに基づいてコマンド名を特定する(S1917)。例えば、オペレーションコードが「code03」であれば、ファイルリードのコマンドが特定される。第3設定部1801は、1回目のリクエストメッセージに基づきデータが設定されているレコードに、特定されたコマンド名を設定する(S1919)。
第2探索部1809は、認証ログにおいて、1回目のリクエストメッセージに対するS1911の処理で特定したコネクションIDと同じコネクションIDを含むレコードを探索する(S1921)。
第3抽出部1803は、探索されたレコードに設定されているアカウント名、クライアントレルム名、サーバ名及びサーバレルム名を抽出し、第3設定部1801は、操作ログの新たなレコードに、抽出したアカウント名、クライアントレルム名、サーバ名及びサーバレルム名を設定する(S1923)。第3記録処理を終えると、図6に示したS603の処理に戻って、上述した処理を繰り返す。
図6の説明に戻る。S619において、S603で特定したパケットがリモートファイルアクセスのリクエストメッセージに該当しないと判定した場合には、判別部507は、その他のリモート操作、つまりリモートファイルアクセスを除くリモート操作(以下の図6の説明において、その他のリモート操作という。)のリクエストメッセージに該当するか否かを判定する(S623)。具体的には、判別部507は、SMBヘッダーに設定されているオペレーションコード及びパイプ名の組み合わせ(或いは、オペレーションコード又はパイプ名の一方)が、その他のリモート操作として想定されるいずれかのパターンと一致する場合に、当該パケットがその他のリモート操作のリクエストメッセージに該当すると判定する。
当該パケットがその他のリモート操作のリクエストメッセージに該当すると判定した場合には、第4記録処理部519は、第4記録処理を実行する(S625)。
この図23を用いて後述する第4記録処理の例は、1つのリクエストメッセージによって、その他のリモート操作が成立するものと想定する。但し、その他のリモート操作の中には、リモートファイルアクセスの場合と同様に、複数のリクエストメッセージによって成立するものもある。その場合には、リモートファイルアクセスの場合と同様に、処理を複数回に分ける。つまり、1回目のリクエストメッセージと2回目のリクエストメッセージ(3回目以降のリクエストメッセージを含む場合もある。)を、それぞれ当該その他のリモート操作のリクエストメッセージに該当するものとする。
以下では、ユーザ登録の例について説明する。第4記録処理について説明する前に、ユーザ登録のリクエストメッセージ及び第4記録処理部519のモジュール構成について説明する。
図21に、ユーザ登録のリクエストメッセージの例を示す。上段に示したユーザ登録における1回目のリクエストメッセージは、IPアドレス「A13」のコンピュータから、IPアドレス「A25」のコンピュータへ送られたものと想定する。従って、送信元IPアドレスのフィールドには「A13」が設定され、宛先IPアドレスのフィールドには「A25」が設定されている。尚、下段に示したユーザ登録における2回目のリクエストメッセージの場合も、同様である。
この例におけるユーザ登録の手順は、SMBのバージョン2に準拠するものとする。従って、プロトコルのフィールドには「SMB2」が設定されている。
1回目のリクエストメッセージに設定されているオペレーションコードが「code04」であり、同じパケットに設定されているパイプ名が「アカウントマネージャパイプ名」であり、且つ2回目のリクエストメッセージ(1回目のリクエストメッセージと、プロトコル、送信元IPアドレス、送信元ポート番号、宛先IPアドレス及び宛先ポート番号が共通する。)に設定されているオペレーションコードが「code05」である場合に、これらのリクエストメッセージは、ユーザ登録を要求するものであると判定される。尚、バージョン2のSMBの場合におけるオペレーションコードは、2bytesである。アカウント名は、2回目のリクエストメッセージに設定されている。
図22に、第4記録処理部519のモジュール構成例を示す。第4記録処理部519は、第4設定部2201、第4抽出部2203、第3特定部2205及び第3探索部2207を有する。
第4設定部2201は、操作ログの新たなレコードに各種データを設定する。第4抽出部2203は、リモートファイルアクセス以外のリモート操作のリクエストメッセージに該当するパケットから各種データを抽出する。第3特定部2205は、コマンド名を特定する。第3探索部2207は、認証ログにおいて、特定のコネクションIDを含むレコードを探索する
上述した第4設定部2201、第4抽出部2203、第3特定部2205及び第3探索部2207は、ハードウエア資源(例えば、図33)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
続いて、第4記録処理について説明する。図23に、第4記録処理フローを示す。第4記録処理部519は、操作ログに新たなレコードを設ける(S2301)。第4設定部2201は、新たなレコードに、リモートファイルアクセス以外のリモート操作のリクエストメッセージに相当するパケットがキャプチャされた日時を設定する(S2303)。
第4抽出部2203は、当該パケットのIPヘッダーから送信元IPアドレス及び宛先IPアドレスを抽出し、第4設定部2201は、抽出した送信元IPアドレス及び宛先IPアドレスを、新たなレコードに設定する(S2305)。更に、第4抽出部2203は、当該パケットのUDP/TCPヘッダーから送信元ポート番号及び宛先ポート番号を抽出し、第4設定部2201は、抽出した送信元ポート番号及び宛先ポート番号を、新たなレコードに設定する(S2307)。
第1特定部509は、コネクションテーブルを参照して、送信元IPアドレス、送信元ポート番号、宛先IPアドレス及び宛先ポート番号の組み合わせに対応するコネクションIDを特定する(S2309)。第4設定部2201は、新たなレコードに、コネクションIDを設定する(S2311)。
第3特定部2205は、オペレーションコード及び/又はサービス識別子に基づいてコマンド名を特定する(S2313)。具体的には、第3特定部2205は、所定のルールに従って、オペレーションコード及びパイプ名の組み合わせ(或いは、オペレーションコード又はパイプ名の一方)に対応するリモート操作のコマンド名(又は、コマンド名とオプションの組み合わせ)を特定する。
第4設定部2201は、特定したコマンド名(又は、コマンド名とオプションの組み合わせ)を、新たなレコードに設定する(S2315)。
尚、1回目のリクエストメッセージと2回目のリクエストメッセージ(3回目以降のリクエストメッセージを含む場合もある。)によって、コマンド名(又は、コマンド名とオプションの組み合わせ)を特定する場合には、第3記録処理の場合と同様に、後続のリクエストメッセージに対する処理を行う段階で、コマンド名(又は、コマンド名とオプションの組み合わせ)を特定する。
第3探索部2207は、認証ログにおいて、S2309の処理で特定したコネクションIDと同じコネクションIDを含むレコードを探索する(S2317)。
第4抽出部2203は、探索されたレコードに設定されているアカウント名、クライアントレルム名、サーバ名及びサーバレルム名を抽出し、第4設定部2201は、操作ログの新たなレコードに、抽出したアカウント名、クライアントレルム名、サーバ名及びサーバレルム名を設定する(S2319)。
第4抽出部2203は、S2313で特定したコマンド名(又は、コマンド名とオプションの組み合わせ)に応じた所定のルールに従って、アカウント名以外の属性データを抽出する。そして、第4設定部2201は、抽出した属性データを、新たなレコードの属性データのフィールドに設定する(S2321)。
第4抽出部2203は、SMBボディから属性データを取得するようにしてもよい。また、抽出すべき属性データが無い場合には、S2321の処理を省略するようにしてもよい。
2回目のリクエストメッセージ(3回目以降のリクエストメッセージを含む場合もある。)に抽出すべき属性データが含まれる場合には、後続のリクエストメッセージに対する処理を行う段階で、S2321の処理を行うようにしてもよい。
尚、後続のリクエストメッセージに対しても分析を行う場合には、リクエストメッセージの順位を判別して、各順位に応じた処理を行うようにしてもよい。第4記録処理を終えると、図6に示したS603の処理に戻って、上述した処理を繰り返す。
図6の説明に戻る。S623において、S603で特定したパケットが、その他のリモート操作のリクエストメッセージに該当しないと判定した場合には、当該パケットはログ対象に該当しないと看做す。従って、そのままS603に示した処理に戻って、上述した処理を繰り返す。
監視装置111は、上述したメイン処理のほかに、他の監視装置111からの問い合わせに応じて、アカウント名を探索して回答する処理も行う。この処理を、応答処理という。
図24に、応答処理フロー例を示す。第1受信部501は、アカウント名の問い合わせを受信したか否かを判定する(S2401)。アカウント名の問い合わせを受信していないと判定した場合には、S2401の処理を繰り返す。
一方、アカウント名の問い合わせを受信したと判定した場合には、第1探索部523は、発行ログにおいて、アカウント名の問い合わせに含まれるサービスチケットを探索する(S2403)。具体的には、第1探索部523は、アカウント名の問い合わせに含まれる発行ログファイル名に基づいて発行ログを特定する。このとき、第1探索部523は、所定ファイル名に基づいて発行ログを特定するようにしてもよい。
第1送信部503は、探索した結果特定されたレコードのアカウント名、クライアントレルム名、サーバ名及びサーバレルム名を、アカウント名の問い合わせの送信元である監視装置111へ送信する(S2405)。そして、S2401に示した処理に戻って、上述した処理を繰り返す。以上で、監視装置111の動作についての説明を終える。
続いて、管理装置113の動作について説明する。図25に、管理装置113のモジュール構成例を示す。管理装置113は、第2受信部2551、第2送信部2553及び所在管理部2555を有する。
第2受信部2551は、各種データを受信する。第2送信部2553は、各種データを送信する。所在管理部2555は、発行レコードの所在を管理する。所在管理部2555は、第5設定部2557、第4探索部2559及び所在テーブル記憶部2561を含んでいる。第5設定部2557は、所在テーブルのレコードに各種データを設定する。第4探索部2559は、所在テーブルにおいて、所在問い合わせに含まれる要求元識別子及びサービス識別子と一致するレコードを探索する。所在テーブル記憶部2561は、所在テーブルを記憶する。
上述した第2受信部2551、第2送信部2553、所在管理部2555、第5設定部2557、第4探索部2559及び所在テーブル記憶部2561は、ハードウエア資源(例えば、図33)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
図26に、所在テーブルの構成例を示す。この例における所在テーブルは、発行レコードの所在に関するレコードを有している。当該レコードは、日時を設定するためのフィールドと、要求元IPアドレスを設定するためのフィールドと、要求元ポート番号を設定するためのフィールドと、サーバレルム名とサーバ名を設定するためのフィールドと、監視装置IPアドレスを設定するためのフィールドと、発行ログファイル名を設定するためのフィールドとを有している。
要求元IPアドレスは、サービスチケットの発行を要求した装置を識別する。要求元ポート番号は、サービスチケットの発行要求を送出したポートを識別する。サーバレルム名とサーバ名は、サービスチケットが供されるサービスを提供する装置及び当該装置が属するレルムを識別する。監視装置IPアドレスは、発行レコードを保持している監視装置111を特定する。発行ログファイル名は、発行レコードを保持しているファイルを識別する。
図27A及び図27Bに、所在管理処理フローを示す。図27Aに示したフローは、発行レコードの所在を受け付ける処理に相当する。まず、第2受信部2551は、発行レコードの所在通知を受信したか否かを判定する(S2701)。
発行レコードの所在通知を受信したと判定した場合には、第5設定部2557は、所在テーブルに、発行レコードの所在通知に含まれる要求元識別子及びサービス識別子と一致するレコードがあるか否かを判定する(S2703)。
発行レコードの所在通知に含まれる要求元識別子及びサービス識別子と一致するレコードがないと判定した場合には、第5設定部2557は、所在テーブルに新たなレコードを設ける(S2705)。そして、第5設定部2557は、新たなレコードに、要求元識別子である要求元IPアドレス及び要求元ポート番号を設定する(S2707)。また、第5設定部2557は、新たなレコードに、サービス識別子であるサーバレルム名とサーバ名を設定する(S2709)。
更に、第5設定部2557は、新たなレコードに、当該所在通知に含まれる監視装置IPアドレスを設定する(S2711)。また、第5設定部2557は、新たなレコードに、当該所在通知に含まれる発行ログファイル名を設定する(S2713)。発行ログのファイル名が一意に定まる場合には、S2713の処理を省略するようにしてもよい。そして、端子Cを介して、図27Bに示したS2717の処理に移る。
一方、S2703において、発行レコードの所在通知に含まれる要求元識別子及びサービス識別子と一致するレコードがあると判定した場合には、第5設定部2557は、当該レコードを更新対象とする(S2715)。
そして、第5設定部2557は、更新対象のレコードに、当該所在通知に含まれる監視装置IPアドレスを設定する(S2711)。また、第5設定部2557は、更新対象のレコードに、当該所在通知に含まれる発行ログファイル名を設定する(S2713)。発行ログのファイル名が一意に定まる場合には、S2713の処理を省略するようにしてもよい。その後、端子Cを介して、図27Bに示したS2717の処理に移る。このように、キーが一致する場合に元のレコードに新たなデータを上書きすることによって、レコード数の増加を抑制することができる。
S2701において、発行レコードの所在通知を受信していないと判定した場合にも、端子Cを介して、図27Bに示したS2717の処理に移る。
図27Bの説明に移る。図27Bに示したフローは、発行レコードの所在問合せに応答する処理に相当する。第2受信部2551は、発行レコードの所在問い合わせを受信したか否かを判定する(S2717)。
発行レコードの所在問い合わせを受信したと判定した場合には、第4探索部2559は、所在テーブルにおいて、当該所在問い合わせに含まれる要求元識別子及びサービス識別子と一致するレコードを探索する(S2719)。つまり、要求元識別子及びサービス識別子の組がキーに相当する。第2送信部2553は、探索した結果特定されたレコードに設定されている監視装置識別子及び発行ログファイル名を、当該所在問い合わせの送信元である監視装置111へ送信する(S2721)。そして、端子Dを介して、図27AのS2701に示した処理に戻って、上述した処理を繰り返す。
S2717において、発行レコードの所在問い合わせを受信していないと判定した場合にも、端子Dを介して、図27AのS2701に示した処理に戻って、上述した処理を繰り返す。以上で、管理装置113の動作についての説明を終える。
本実施の形態によれば、チケット発行サーバ109から発行されたサービスチケットに基づくリモート操作を行ったユーザアカウントを特定することができる。例えば、チケット発行サーバ109と、サービスチケットが供されるサーバコンピュータ101とが別個のネットワークに属する形態においても、サーバコンピュータ101に対するリモート操作を行ったユーザアカウントを特定できる面がある。つまり、広い範囲に亘って、ユーザアカウントの特定に役立つ。
また、発行レコードの所在が管理されているので、複数の監視装置111からサービスチケットに対応するユーザアカウントを探し出す処理負担が軽くなる。
[実施の形態2]
上述した実施の形態では、要求元識別子が要求元IPアドレス及び要求元ポート番号の組である例について説明したが、要求元識別子において要求元ポート番号を省くようにしても構わない。つまり、要求元識別子は、要求元IPアドレスであってもよい。
本実施の形態の場合、図4AのS405において送信される所在通知に含まれる要求元識別子は、要求元IPアドレスである。同じく、図4BのS413において送信される所在問い合わせに含まれる要求元識別子は、要求元IPアドレスである。
従って、図6のS609において、発行レコードの所在通知に、要求元識別子として要求元IPアドレスが含められる。そして、図6のS611において、要求元識別子である要求元IPアドレスを含む発行レコードの所在通知が送信される。
また、図13AのS1303において、要求元識別子として要求元IPアドレスを抽出する。図13AのS1305において、要求元識別子として要求元IPアドレスを含む発行レコードの所在問い合わせが送信される。
この場合、図26に示した所在テーブルのレコードにおいて、要求元ポート番号を設定するためのフィールドを省くようにしてもよい。
図27AのS2703において、第5設定部2557は、発行レコードの所在通知から要求元識別子として要求元IPアドレスを抽出する。そして、第5設定部2557は、所在テーブルに、要求元IPアドレス及びサービス識別子と一致するレコードがあるか否かを判定する。また、図27AのS2707で、要求元IPアドレスが設定され、要求元ポート番号の設定は省かれる。
図27BのS2719において、第4探索部2559は、発行レコードの所在問い合わせから要求元識別子として要求元IPアドレスを抽出する。そして、第4探索部2559は、所在テーブルにおいて、抽出された要求元IPアドレス及びサービス識別子と一致するレコードを探索する。
本実施の形態によれば、所在テーブルにおけるレコード数が減るので、所在テーブルにおける探索の処理が速くなる。
[実施の形態3]
上述した実施の形態では、要求元識別子及びサービス識別子の組をキーとして、発行レコードの所在を管理する例について説明したが、キーに発行元識別子を加えるようにしてもよい。本実施の形態では、発行元識別子、要求元識別子及びサービス識別子の組をキーとして、発行レコードの所在を管理する例について説明する。
発行元識別子は、サービスチケットの発行元であるチケット発行サーバ109を特定するデータである。発行元識別子は、例えばホスト名であってもよいし、或いはIPアドレス又はMACアドレスであってもよい。本実施の形態は、実施の形態1又は実施の形態2のいずれを基礎としてもよい。つまり、要求元識別子は、要求元IPアドレス及び要求元ポート番号の組であってもよいし、或いは要求元IPアドレスであってもよい。
図28A及び図28Bに、実施の形態3に係るネットワーク監視システムのシーケンス例を示す。S401及びS403のステップは、図4Aの場合と同様である。
本実施の形態では、S2801において送信される所在通知に、発行元識別子、要求元識別子、サービス識別子、監視装置識別子及び発行ログファイル名が含まれる。
そして、S407において、管理装置113は、発行元識別子、要求元識別子及びサービス識別子をキーとして、所在テーブルにレコードを登録する。
図28Bの説明に移る。S409のステップは、図4Bの場合と同様である。
S2803において送信される所在問い合わせには、発行元識別子、要求元識別子及びサービス識別子が含まれる。
そして、S415において、管理装置113は、所在テーブルにおいて、当該所在問い合わせに含まれる発行元識別子、要求元識別子及びサービス識別子が設定されているレコードを探索する。尚、S417乃至S423のステップは、図4Bの場合と同様である。また、この後のシーケンスは、実施の形態1の場合(図4C)と同様である。
図29に、実施の形態3に係る所在テーブルの構成例を示す。実施の形態3に係る所在テーブルのレコードは、図26に示した所在テーブルのレコードに含まれるフィールドの他に、発行元識別子を設定するためのフィールドを有している。
図30に、実施の形態3に係る監視装置111のメイン処理フローを示す。S601乃至S607の処理は、実施の形態1の場合(図6)と同様である。
S3001において生成される発行レコードの所在通知は、発行元識別子、要求元識別子、サービス識別子、監視装置識別子及び発行ログファイル名を含む。
S611では、発行元識別子、要求元識別子、サービス識別子、監視装置識別子及び発行ログファイル名を含む所在通知が送信される。また、S617では、以下に示す第2記録処理が実行される。
図31に、実施の形態3に係る第2記録処理フローを示す。S1301の処理は、実施の形態1の場合(図13A)と同様である。
S3101において、第2抽出部1203は、発行元識別子、要求元識別子及びサービス識別子を抽出する。
S1305において、第1送信部503は、発行レコードの所在問い合わせ(発行元識別子、要求元識別子及びサービス識別子を含む。)を管理装置113へ送信する。
S1307以降の処理は、実施の形態1の場合(図13A及び図13B)と同様である。
図30に示したその他の処理は、実施の形態1の場合(図6)と同様である。
図32Aに、実施の形態3に係る所在管理処理フローを示す。S2701の処理は、実施の形態1の場合(図27A)と同様である。
S3201において、第5設定部2557は、発行レコードの所在通知から発行元識別子、要求元識別子及びサービス識別子を抽出し、当該発行元識別子、要求元識別子及びサービス識別子と一致するレコードがあるか否かを判定する。
当該発行元識別子、要求元識別子及びサービス識別子と一致するレコードがないと判定した場合には、S2705の処理に移る。S2705の処理は、実施の形態1の場合(図27A)と同様である。一方、当該発行元識別子、要求元識別子及びサービス識別子と一致するレコードがあると判定した場合には、S2715の処理に移る。S2715の処理は、実施の形態1の場合(図27A)と同様である。
S2705の処理に続いて、第5設定部2557は、新たなレコードに、発行レコードの所在通知から抽出された発行元識別子を設定する(S3203)。
S2707乃至S2713の処理は、実施の形態1の場合(図27A)と同様である。端子Eを介して、図32Bに示したS2717の処理に移る。
図32Bに示したS2717の処理は、実施の形態1の場合(図27B)と同様である。
S2717において発行レコードの所在問い合わせを受信したと判定した場合には、第4探索部2559は、所在テーブルにおいて、当該所在問い合わせに含まれる発行元識別子、要求元識別子及びサービス識別子と一致するレコードを探索する(S3205)。
図32Bに示したS2721の処理は、実施の形態1の場合(図27B)と同様である。そして、端子Fを介して、図32Aに示したS2701の処理に移る。
一方、S2717において発行レコードの所在問い合わせを受信していないと判定した場合には、そのまま端子Fを介して、図32Aに示したS2701の処理に移る。
本実施の形態によれば、例えば1の要求元であるクライアントコンピュータ103から複数のチケット発行サーバ109に対してサービスチケットの発行が要求される場合でも、ユーザアカウントを問い合わせるべき監視装置111を、より正しく特定することができる。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
なお、上で述べた監視装置111及び管理装置113は、コンピュータ装置であって、図33に示すように、メモリ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及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係るネットワーク監視システムは、第1監視装置と第2監視装置とを有する。そして、第1監視装置は、(A)クレデンシャル発行装置の第1通信データから抽出されたクレデンシャル及び当該クレデンシャルのユーザアカウントを対応付けて記録する第1記録処理部を有し、第2監視装置は、(B)リモート操作に応じるサービス提供装置への認証要求に係る第2通信データから抽出されたクレデンシャルに対応するユーザアカウントを第1監視装置から取得する取得部と、(C)第2通信データと同一の送信元から上記サービス提供装置へ送られた第3通信データから抽出されたリモート操作データを、取得したユーザアカウントと対応付けて記録する第2記録処理部とを有する。
このようにすれば、クレデンシャル発行装置から発行されたクレデンシャルに基づくリモート操作を行ったユーザアカウントを特定することができる。例えば、クレデンシャル発行装置とサービス提供装置とが別個のネットワークに属する形態においても、サービス提供装置に対するリモート操作を行ったユーザアカウントを特定できる面がある。
また、ネットワーク監視システムは、第1監視装置を複数有し、更に管理装置を有してもよい。複数の第1監視装置の各々は、第1通信データから抽出された要求元識別データ及びクレデンシャル適用対象を特定するサービス識別データを、当該第1監視装置自身の装置識別データと共に、管理装置に通知する通知部を有するようにしてもよい。管理装置は、通知された要求元識別データ、サービス識別データ及び装置識別データを対応付けて記憶する記憶部を有するようにしてもよい。上記取得部は、第2通信データから抽出された要求元識別データ及びサービス識別データに対応する装置識別データを管理装置から取得し、取得した当該装置識別データに基づいてユーザアカウントの問い合わせ先となる第1監視装置を特定するようにしてもよい。
このようにすれば、複数の第1監視装置から、クレデンシャルに対応するユーザアカウントを探し出す処理負担が軽くなる。
また、ネットワーク監視システムは、第1監視装置を複数有し、更に管理装置を有してもよい。複数の第1監視装置の各々は、第1通信データから抽出されたクレデンシャル発行元の識別データ、要求元識別データ及びクレデンシャル適用対象を特定するサービス識別データを、当該第1監視装置自身の装置識別データと共に、管理装置に通知する通知部を有するようにしてもよい。管理装置は、通知されたクレデンシャル発行元の識別データ、要求元識別データ、サービス識別データ及び装置識別データを対応付けて記憶する記憶部を有するようにしてもよい。上記取得部は、第2通信データから抽出されたクレデンシャル発行元の識別データ、要求元識別データ及びサービス識別データに対応する装置識別データを管理装置から取得し、取得した当該装置識別データに基づいてユーザアカウントの問い合わせ先となる第1監視装置を特定するようにしてもよい。
このようにすれば、例えば1の要求元から複数のクレデンシャル発行装置に対してクレデンシャルの発行が要求される場合でも、第2監視装置においてユーザアカウントを問い合わせるべき第1監視装置を、より正しく特定することができる。
本実施の形態に係るネットワーク監視装置は、(D)クレデンシャル発行装置の第1通信データから抽出されたクレデンシャル及び当該クレデンシャルのユーザアカウントを対応付けて記録する第1記録処理部と、(E)リモート操作に応じるサービス提供装置への認証要求に係る第2通信データから抽出されたクレデンシャルに対応するユーザアカウントを他のネットワーク監視装置から取得する取得部と、(F)第2通信データと同一の送信元から上記サービス提供装置へ送られた第3通信データから抽出されたリモート操作データを、取得したユーザアカウントと対応付けて記録する第2記録処理部とを有する。
なお、上で述べた第1監視装置、第2監視装置及びネットワーク監視装置の処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1監視装置と第2監視装置とを有するネットワーク監視システムであって、
前記第1監視装置は、
クレデンシャル発行装置の第1通信データから抽出されたクレデンシャル及び当該クレデンシャルのユーザアカウントを対応付けて記録する第1記録処理部
を有し、
前記第2監視装置は、
リモート操作に応じるサービス提供装置への認証要求に係る第2通信データから抽出されたクレデンシャルに対応するユーザアカウントを前記第1監視装置から取得する取得部と、
前記第2通信データと同一の送信元から前記サービス提供装置へ送られた第3通信データから抽出されたリモート操作データを、取得した前記ユーザアカウントと対応付けて記録する第2記録処理部と
を有するネットワーク監視システム。
(付記2)
前記ネットワーク監視システムは、前記第1監視装置を複数有し、更に管理装置を有し、
複数の前記第1監視装置の各々は、
前記第1通信データから抽出された要求元識別データ及びクレデンシャル適用対象を特定するサービス識別データを、当該第1監視装置自身の装置識別データと共に、前記管理装置に通知する通知部
を有し、
前記管理装置は、
通知された前記要求元識別データ、前記サービス識別データ及び前記装置識別データを対応付けて記憶する記憶部
を有し、
前記取得部は、
前記第2通信データから抽出された要求元識別データ及びサービス識別データに対応する装置識別データを前記管理装置から取得し、取得した当該装置識別データに基づいて前記ユーザアカウントの問い合わせ先となる前記第1監視装置を特定する
付記1記載のネットワーク監視システム。
(付記3)
前記ネットワーク監視システムは、前記第1監視装置を複数有し、更に管理装置を有し、
複数の前記第1監視装置の各々は、
前記第1通信データから抽出されたクレデンシャル発行元の識別データ、要求元識別データ及びクレデンシャル適用対象を特定するサービス識別データを、当該第1監視装置自身の装置識別データと共に、前記管理装置に通知する通知部
を有し、
前記管理装置は、
通知された前記クレデンシャル発行元の識別データ、前記要求元識別データ、前記サービス識別データ及び前記装置識別データを対応付けて記憶する記憶部
を有し、
前記取得部は、
前記第2通信データから抽出されたクレデンシャル発行元の識別データ、要求元識別データ及びサービス識別データに対応する装置識別データを前記管理装置から取得し、取得した当該装置識別データに基づいて前記ユーザアカウントの問い合わせ先となる前記第1監視装置を特定する
付記1記載のネットワーク監視システム。
(付記4)
クレデンシャル発行装置の第1通信データから抽出されたクレデンシャル及び当該クレデンシャルのユーザアカウントを対応付けて記録する第1記録処理部と、
リモート操作に応じるサービス提供装置への認証要求に係る第2通信データから抽出されたクレデンシャルに対応するユーザアカウントを他のネットワーク監視装置から取得する取得部と、
前記第2通信データと同一の送信元から前記サービス提供装置へ送られた第3通信データから抽出されたリモート操作データを、取得した前記ユーザアカウントと対応付けて記録する第2記録処理部と
を有するネットワーク監視装置。
(付記5)
クレデンシャル発行装置の第1通信データから抽出されたクレデンシャル及び当該クレデンシャルのユーザアカウントを対応付けて記録し、
リモート操作に応じるサービス提供装置への認証要求に係る第2通信データから抽出されたクレデンシャルに対応するユーザアカウントを他のネットワーク監視装置から取得し、
前記第2通信データと同一の送信元から前記サービス提供装置へ送られた第3通信データから抽出されたリモート操作データを、取得した前記ユーザアカウントと対応付けて記録する
処理を含み、コンピュータにより実行されるネットワーク監視方法。
(付記6)
クレデンシャル発行装置の第1通信データから抽出されたクレデンシャル及び当該クレデンシャルのユーザアカウントを対応付けて記録し、
リモート操作に応じるサービス提供装置への認証要求に係る第2通信データから抽出されたクレデンシャルに対応するユーザアカウントを他のネットワーク監視装置から取得し、
前記第2通信データと同一の送信元から前記サービス提供装置へ送られた第3通信データから抽出されたリモート操作データを、取得した前記ユーザアカウントと対応付けて記録する
処理をコンピュータに実行させるネットワーク監視プログラム。