サーバの操作情報取得装置、方法及びコンピュータプログラム
【課題】 サーバ及びクライアントに負荷を掛けずに、またサーバなどの機種やOSにかかわらずにクライアントからの操作ログを取得することができる仕組みを提供する。
【解決手段】 クライアント端末からサーバに対する操作を表すメソッドと、メソッドに対応したコマンドを記憶する定義記憶部と、サーバとクラインアント端末との間で送受信されるパケットを取得する取得処理部と、取得したパケットのデータからプロトコルを判別して、予め決められたプロトコルに該当するパケットを選択するフィルタリング処理部と、選択されたパケットの中から、クライアントを特定する情報、定義情報記憶部を参照して、取得したパケットのコマンドに対応するメソッドを特定する解析処理部と、メソッドが発生した日時、クライアントを特定する情報、解析されたメソッドを含むログデータを記憶する解析結果記憶部とを有することとした。
【解決手段】 クライアント端末からサーバに対する操作を表すメソッドと、メソッドに対応したコマンドを記憶する定義記憶部と、サーバとクラインアント端末との間で送受信されるパケットを取得する取得処理部と、取得したパケットのデータからプロトコルを判別して、予め決められたプロトコルに該当するパケットを選択するフィルタリング処理部と、選択されたパケットの中から、クライアントを特定する情報、定義情報記憶部を参照して、取得したパケットのコマンドに対応するメソッドを特定する解析処理部と、メソッドが発生した日時、クライアントを特定する情報、解析されたメソッドを含むログデータを記憶する解析結果記憶部とを有することとした。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアントサーバシステムにおいて、クライアントからサーバに対しておこなわれた操作のログデータを取得する技術であって、特に、サーバ側に負荷を掛けずに、またサーバやクライアント側に特別なコンピュータプログラムを搭載しなくとも、ネットワークに接続するだけでサーバ側のOS(Operating System)なども気にせずにログデータを取得するための仕組みとして好適なものである。
【背景技術】
【0002】
最近、企業などの組織内で、コンピュータ内に記録されているデータを勝手に外部に持ち出したり、アクセス権限のない従業員などが不正にコンピュータにアクセスして、データを取得し、これを外部に不正に流出させるという社会的な問題が発生している。
このような事態を防止するため、組織内のファイルを記憶し管理しているファイル管理サーバに対して、どのクライアントがいつアクセスしたのか、またファイル管理サーバ上のどのファイルを作成、変更、削除したかなどの操作ログデータを取得する仕組みが提供されている。
【0003】
このような仕組みとしては、一般に、サーバ上にアクセス監視用のコンピュータプログラムを実行させておき、どのクライントからアクセスがあったのか、またクライアントがどのファイルに対してどのような操作を行ったのかといったログデータを取得する仕組みが提案されている。
また、ログを取得する仕組みの一例として、例えば、Webサーバにおいてログファイルを有するアクセス回数統計処理部により、各ユーザからのアクセス状態を前記ログファイルにそれぞれ記録し、前記ログファイルの記録内容に基づき各ユーザ毎のアクセス回数についての統計処理を行う技術が提案されている(例えば、特許文献1参照)。
【0004】
【特許文献1】特開2002−288069
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上述のような従来の仕組みでは、サーバ上にアクセス監視のためのプログラムを実行させておく必要があったため、サーバのトラフィックがアクセス管理処理に取られてしまい、サーバの処理速度が低下してしまうという問題があった。
また、サーバ上で監視を行う場合、監視を行うファイルやクライアントなどの情報をサーバ側で設定する必要があるし、またサーバの機種やOSによって使用する管理プログラムを替える必要があるため、各サーバに応じた監視プログラムを用意しなければならないとう問題があった。
また、サーバ上で監視を行う場合には、監視できるクライアント数についても制限があるなどの問題もあった。
また、サーバ側で監視する場合、その監視ログデータはサーバ上に記録されるため、このログデータに不正にアクセスされたり、また改ざんされたりする恐れがあり、せっかくログデータを取得してもその信頼性に問題があった。
【0006】
本発明は、上述のような課題を解決するためになされたものであって、サーバ及びクライアントに負荷を掛けずに、またサーバなどの機種やOSにかかわらずにクライアントからの操作ログを取得することができる仕組みを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明の一の観点に係る操作情報記憶装置は、複数のファイルを記憶するファイル管理サーバと、当該ファイル管理サーバとネットワークを介して接続された複数のクライアント端末からなるシステムにおいて、上記ネットワークに接続され、上記ファイル管理サーバに対するクライアント端末からの操作に関するログデータを取得するための装置であって、上記クライアント端末からファイル管理サーバに対する操作を表すメソッドと、各メソッドに対応した必要なコマンドを記憶するコマンド定義記憶手段と、上記ファイル管理サーバと上記クラインアント端末との間で送受信されるパケットを取得するパケット取得処理手段と、上記取得したパケットのデータから通信プロトコルを判別して、予め決められたプロトコルに該当するパケットを選択するフィルタリング処理手段と、上記選択されたパケットの中から、クライアントを特定する情報を特定すると共に、上記コマンド定義情報記憶手段を参照して、上記取得したパケットに含まれているコマンドに対応するメソッドを特定する解析処理手段と、少なくとも、上記メソッドが発生した日時、上記クライアントを特定する情報、上記解析されたメソッドを含む情報をログデータとして記憶する解析結果記憶手段とを有することを特徴とする。
【0008】
上記コマンド定義記憶手段には、メソッドを実行するために必要なコマンドシーケンスが記憶されており、上記解析処理手段は、要求パケットに対する応答のパケットの結合処理、応答パケットに対する要求パケットの結合処理を行うことで応答要求の結合処理を行い、上記コマンド定義記憶手段を参照して、結合したパケットのコマンドシーケンスに基づいて、該当するメソッドを特定するようにしてもよい。
【0009】
また、応答待ち又は要求待ちコマンドを一時的に記憶する一時記憶手段をさらに有し、上記解析処理手段は、要求コマンド又は応答コマンドを取得すると、上記一時記憶手段を参照して、上記応答待ち又は要求待ちコマンドに対応するコマンドがあるか否か判別し、対応するコマンドが存在するときに要求−応答の結合処理を行うようにしてもよい。
【0010】
上記取得したパケットに含まれるIDの種類と、上記ファイル管理サーバ上での管理項目の対応を表すID対応情報記憶手段をさらに有し、上記解析処理手段は、上記ID対応情報記憶手段を参照して、取得したパケット内のIDの種類から、ファイル管理サーバ上での対応する管理項目を特定して、上記解析結果記憶手段に記憶するようにしてもよい。
【0011】
上記解析処理手段は、IDとファイル名の情報を含むパケットが到着するごとに、上記ファイル管理手段に記憶されている当該ID及びファイル名に対応したデータを更新するようにしてもよい。
【0012】
本発明の一の観点にかかるサーバの操作情報記憶方法は、複数のファイルを記憶するファイル管理サーバと、当該ファイル管理サーバとネットワークを介して接続された複数のクライアント端末からなるシステムにおいて、上記ネットワークに接続され、上記クライアント端末からファイル管理サーバに対する操作を表すメソッドと各メソッドに対応した必要なコマンドを記憶するコマンド定義記憶手段と、ログデータを記憶する解析結果記憶手段とを有する装置により行われる方法であって、上記ファイル管理サーバと上記クラインアント端末との間で送受信されるパケットを取得する処理と、上記取得したパケットのデータから通信プロトコルを判別して、予め決められたプロトコルに該当するパケットを選択する処理と、上記選択されたパケットの中から、クライアントを特定する情報を特定すると共に、上記コマンド定義情報記憶手段を参照して、上記取得したパケットに含まれているコマンドに対応するメソッドを特定する処理と、少なくとも、上記メソッドが発生した日時、上記クライアントを特定する情報、上記解析されたメソッドを含む情報をログデータとして解析結果記憶手段に記憶する処理とを有することを特徴とする。
【0013】
本発明の一の観点にかかるコンピュータプログラムは、複数のファイルを記憶するファイル管理サーバと、当該ファイル管理サーバとネットワークを介して接続された複数のクライアント端末からなるシステムにおいて、上記ネットワークに接続され、上記クライアント端末からファイル管理サーバに対する操作を表すメソッドと各メソッドに対応した必要なコマンドを記憶するコマンド定義記憶手段と、ログデータを記憶する解析結果記憶手段とを有するコンピュータを操作情報記憶装置として機能させるためのコンピュータプログラムであって、上記コンピュータに対して、上記ファイル管理サーバと上記クラインアント端末との間で送受信されるパケットを取得する処理と、上記取得したパケットのデータから通信プロトコルを判別して、予め決められたプロトコルに該当するパケットを選択する処理と、上記選択されたパケットの中から、クライアントを特定する情報を特定すると共に、上記コマンド定義情報記憶手段を参照して、上記取得したパケットに含まれているコマンドに対応するメソッドを特定する処理と、少なくとも、上記メソッドが発生した日時、上記クライアントを特定する情報、上記解析されたメソッドを含む情報をログデータとして解析結果記憶手段に記憶する処理とを実行させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、サーバに蓄積された操作記録を、サーバに負荷を掛けることなく記憶することができ、サーバ上のファイルが外部へ流出したり、不正に改ざん、削除されたりしたことを監視できる。
また、サーバの機種やOSに依存しなくとも、サーバ上の全てのファイルを監視することができる。
また、装置をクライアント−サーバのネットワークに接続するだけで、監視を行うことができるから、クライアント数の増加等によってもサーバの設定変更の必要がなく、設定変更の手間を省くことができる。
さらに、操作ログデータは、監視対象サーバには記録されずに、ログを記憶する装置側に記憶されることから、操作ログデータに不正にアクセスされたり、改ざんされたりすることを防止できる。
【発明を実施するための最良の形態】
【0015】
以下、本発明に係る一実施形態について、図面を参照して説明する。
本実施例に係るシステムの全体構成を図1に示す。
図1は、本発明にかかるサーバ操作情報記憶装置を利用したシステムの全体構成を示したものであって、監視対象となるサーバ1と、このサーバ1にLAN(Local Area Network)やWAN(Wide Area Network)などの所定のネットワークを介して接続可能に構成された複数のクライアント端末3と、サーバ1とクライアント端末3との間で通信データのスイッチングを行うスイッチ2と、このスイッチ2を介してネットワークに接続可能に構成されたアクセスログ取得装置4から構成されている。
【0016】
サーバ1は、複数のクライアント端末3により利用可能なファイルを記憶することができるコンピュータである。
サーバ1は、所定のOSや、必要に応じて搭載しているアプリケーションプログラムを実行することで、各クライアント端末3との間でファイルを送受信したり、またクライアント端末3からの操作に応じて、フォルダやファイルなどを作成、変更、削除したりする処理を行うことができる。
なお、サーバ1は、クライアントごとにアクセス権限を管理するようにしてもよい。この場合、サーバ1は、クライアントごとにサーバ1へのアクセス権限があるか否か、アクセス権限が設定されているフォルダやファイルごとに、クライアントが新規作成、変更、削除などの処理を行う権限を持っているか否かという権限を管理する。
【0017】
クライアント端末3は、サーバ1にアクセスして、サーバ1上のフォルダやファイルを作成、変更、削除、データの取得といった操作を行うことができるコンピュータである。
このクライアント端末3は、いわゆるパソコンなどにより構成され、スイッチ2を介してサーバ1に接続可能であればよく、当該クライアント端末3が搭載しているOSやアプリケーションプログラムは特に限定されるものではない。
そして、これらサーバ1とクライアント端末3との間では、パケットによりデータの送受信が行われるようになっている。
【0018】
スイッチ2は、いわゆる集線装置であって、サーバ1とクライアント端末3との間でのデータをスイッチングして相互にデータ通信するための処理を行う。
このスイッチ2としては、スイッチの通常のポートを通過する全てのデータを複製して通過させるミラーポート方式、タップ方式、ブリッジ結線されたブリッジ方式であってもよい。
そして、スイッチ2により、クライアント−サーバ間で送受信されているパケットデータを複製して、この複製されたパケットデータをアクセスログ取得装置4が取得するようになっている。
【0019】
アクセスログ取得装置4は、クライアント端末3からサーバ1へのアクセスログを取得する装置である。
このアクセスログ取得装置4は、CPU(Central Processing Unit)及び、CPUが実行するコンピュータプログラム、コンピュータプログラムやその他のデータを記憶するRAM(Random Access Memory)などの記憶手段により構成されており、これによって図2に示す機能ブロックを実現する。
図2に示した機能ブロックは、ID対応情報記憶部41、シーケンス処理情報記憶部42、アクセス記録データベース43、ネットワークインタフェース(I/F)44、1次フィルタ45、プロトコル解析処理部46、データベース登録処理部47、管理画面表示処理部48から構成されている。
【0020】
ID対応情報記憶部41は、プロトコルの種別に応じて、パケット内に含まれるIDの種類と、サーバ1内の実際のボリューム、フォルダ、ファイルの名前との対応付けを記憶しておくテーブルである。
これは、例えば、AFP(AppleTalk Filing Protocol)では、ボリューム・フォルダ・ファイルの指定は、セッションごとに設定される数値にIDにより指定されるが、監視ログを記録する際、IDをそのままで記録してしまうとサーバ1のファイルシステム内のボリューム、フォルダ、ファイルとの対応関係が分からなくなることから、このID対応情報記憶部41に予めIDと実際のボリューム・フォルダ・ファイルとの対応付けを予め定義したものである。
このID対応情報記憶部41に記憶されるデータとしては、例えば、図3に示すように、AFPの場合、IDの種類、対象AFPコマンドパケット、管理項目を対応付けて記憶する。一例として、ボリュームIDの場合、対象AFPコマンドパケットとしては「FPGetVolParms」、「FPGetFileDirParms」、「FPEnumerate」となり、管理項目としては、IDと名称となる。
なお、このID対応情報記憶部41に記憶されているデータは、IDと名前の情報を含むAFPパケットが到着するごとにこの表が更新され、実際のサーバ1上のファイルシステムのデータに対応するようになっている。
【0021】
シーケンス処理情報記憶部42は、プロトコルの種別に応じて、記憶しておくメソッドと抽出すべきコマンドの対応付けを記憶する記憶部である。
これは、例えば、AFPでは、ファイルの読み書きはファイルの2つのフォーク、すなわちデータフォークとリソースフォークに対する参照番号(RefNo)を使用して行われるが、このRefNoは、AFPのコマンドパケットのFPOpenForkで取得され、取得したRefNoでFPReadあるいはFPWriteを行うことでファイルのアクセスが行われ、FPCloseForkでそのRefNoを解放するようになっている。
したがって、ファイルのアクセスを監視するには、FPOpenFork、FPReadあるいはFPWrite、FPCloseForkのAFPコマンドパッケージシーケンスをトレースする必要があるため、そのシーケンス処理を行う対象となるコマンドが定義されている。
一例として、AFPの場合を図4に示し、SMBプロトコルの場合を図5に示す。
例えば、図4に示すようにファイルの読み込みの場合、AFPではFPOpenFork、FPRead、FPCloseForkの順でトレースすることにより、あるファイルに対して読み込み処理が行われたログとして記録することができる。
【0022】
アクセス記録データベース43は、アクセスログデータをデータベース化したものである。このアクセス記録データベース43には、図6に示すように、項目名とその説明が対応付けて記憶できるようになっている。
項目名としては、日時、セッション、ユーザ、メソッド(メソッドの種類及び、付属情報、状態コード)がそれぞれ記憶できるようになっている。
日時は、年月日、時分秒、マイクロ秒が記憶できるようになっている。
セッションにはMACアドレス、IPアドレスが記憶できるようになっている。
メソッドとしては、メソッド名と、付属情報としてフルパス名、リネーム時のターゲット名など、状態として状態コード(0=OK、0以外=NG)が記憶できるようになっている。
また、メソッド名としては、メソッド一覧にあるように、ファイルの新規作成、読み込み、書き込み、リネーム、移動、削除、フォルダの新規作成、リネーム、移動、削除、ログイン、ログアウトである。
【0023】
ネットワークインタフェース44は、アクセスログ監視装置4がネットワークに接続するためのインタフェースである。
このネットワークインタフェース44は、所定のポートを介してスイッチング装置3に接続するとともに、所定のデータフォーマットに基づいた論理的インタフェースにより、ネットワーク内を流れているパケットを取得する処理を行う。
【0024】
1次フィルタ45は、取得したパケットの中から不要なパケットを破棄するための処理を行う。
1次フィルタ45は、セッション情報(MACアドレス、IPアドレス)、プロトコル(ポート)、パケットサイズを判別して廃棄すべきパケットを判別したり、その他不要なパケットを廃棄する処理を行う。
これにより、不要なパケットを予めフィルタリングできることから、処理を効率化することができる。
【0025】
プロトコル解析処理部46は、プロトコルに応じて、パケットを解析してログを取得する処理を行う。
プロトコル解析処理部46は、クライアントのログインからアクセスのログを取得したり、各クライアントがファイルへのアクセスしたログを取得する。
また、ファイルへのアクセスログをより分かりやすくするため、パケット内のIDとサーバのファイルシステム内のボリューム、フォルダ、ファイルとの対応付けなどの処理を行う。
【0026】
データベース登録処理部47は、プロトコル解析処理部46により解析されたログデータを、アクセス記録データベース43に記憶する処理を行う。
【0027】
管理画面表示処理部48は、アクセス記録データベース43に記憶されているアクセスログデータに基づいて、管理画面上に表示する出力画面のデータを生成し、これを図示しないディスプレイ上に表示させる処理を行う。
【0028】
次に、図7を参照してシステム全体の処理の流れを説明する。
図7において、まずクライアント端末3からサーバ1に対してファイルの取得要求を行う(S1)と、この取得要求がスイッチ2を介してサーバ1に送信される(S2)。
また同時に、スイッチ2のミラーリング機能により、ファイル取得要求のデータがアクセスログ取得装置4にも送信される(S3)。
これにより、アクセスログ取得装置4は、ネットワークインタフェース44を介してパケットを取得し、一次フィルタ45が取得したパケットをフィルタリングして、不要なパケットを廃棄するとともに、プロトコル解析処理部46が、どのクライアントがアクセスし、どのファイル等に操作を行ったのかのログの解析を行い、データベース登録処理部47が解析されたログデータをアクセス記録データベース43に記憶する処理を行う。
【0029】
サーバ1は、クライアント端末3からの取得要求に応じて、ファイルの取得応答をスイッチ2に送信する(S4)。クライント端末2はスイッチ2を介してファイルの取得応答を受信して、所定の処理を行う(S5)。
同時に、スイッチ2は、ミラーリング機能により、サーバ1からのファイルの取得応答をアクセスログ取得装置4へ送信する(S6)。
これにより、アクセスログ取得装置4は、ネットワークインタフェース44を介してパケットを取得し、一次フィルタ45が取得したパケットをフィルタリングして、不要なパケットを廃棄するとともに、プロトコル解析処理部46が、どのクライアント端末3がサーバ1へアクセスし、どのファイル等に操作を行ったのかのログの解析を行い、データベース登録処理部47が解析されたログデータをアクセス記録データベース43に記憶する処理を行う。
そして、サーバ1のデータベース登録処理部47は、解析したアクセスログをアクセス記録データベース43に記録する(S7)。この時、少なくとも、メソッドが行われた日時、ユーザ、メソッドの内容等が記憶される。
【0030】
これらS1からS7までの処理をサーバ1とクライアント端末3との間で繰り返し行うことでサーバ1へのアクセスログが記憶される。
【0031】
一方、ある時点で、アクセスログ取得装置4に記録されているアクセスログを管理者が見る場合には、まず管理者がサーバ1又は図示しないネットワークに接続された管理者用端末等から管理画面表示要求を行う(S11)。
これにより、アクセス記録データベース43を参照して、指定された項目に該当するデータを検索する(S12)。
検索が完了すると、サーバ1の管理画面表示処理部48が、アクセス記録データベース43から検索結果のデータを取得し(S13)、図示しないディスプレイ上に管理画面表示を行う(S14)。
【0032】
なお、この画面表示としては、図8に示すように、所定期間(例えば、1ヶ月ごと)にクライアント端末3に対応するオペレータごとに作成したページ数を表示するようにしてもよい。この場合、週ごとの作成ページ数が分かるように分けて表示させてもよい。
また、図9に示すように、一つのファイルごとにいつ誰がアクセスして、どのような操作を行ったかを表示させても良い。この例では、「ファイルA」に対して、いつ(例えば、2006年2月3日16時38分)、だれが(例えば、オペレータA)、どのような操作を行ったか(例えば、新規作成)を一覧表として表示してもよい。
さらに、図10に示すように、特定のファイルの参照回数を、週ごとにグラフ化して表示してもよい。
【0033】
次に、上述のS3、S6の処理における、アクセスログ取得装置4の1次フィルタ45の詳細な処理の流れについて説明する。この時点では、ネットワークインタフェース44がスイッチ2からパケットを取得した状態となっている。
図11において、1次フィルタ45は、まず取得したパケットの中からセッション情報があるか否か判別して、これらが含まれないパケットは廃棄パケットとする。(S101)。
この処理は、具体的には、パケットにMACアドレス、IPアドレスが含まれているかを判別することで行う。
【0034】
判別の結果、セッション情報が存在する場合には、1次フィルタ45はプロトコルの判別を行い、該当しないものは廃棄パケットとする(S102)。
この処理では、パケットに含まれるポート番号を抽出して、そのポート番号が所定のポート番号と一致するかを判別することにより行う。なお、予め対応できるプロトコル(ポート)をメモリ等に記憶して定義しておくことで、当該プロトコルに対応するパケットのみを抽出する。
【0035】
判別の結果、セッション情報の確認ができた場合には、1次フィルタ45は、パケットサイズが一定サイズ以上か否か判別し、一定のサイズ以上のパケットは廃棄する(S103)。
これにより、例えば、ファイル操作のログを取得することとは直接関係がないデータファイルなど、比較的サイズが大きいパケットを廃棄する。
【0036】
判別の結果、パケットサイズが一定の大きさ以下の場合には、1次フィルタ45は、TCPのコントロールパケットか否かを判別し、TCPのコントロールパケットは廃棄する(S104)。
【0037】
1次フィルタ45は、プロトコル固有のパケットで、ログ解析に不要なパケットか否かを判別して廃棄する(S105)。
このログ解析に不要なパケットは、予め定義してメモリに記憶させておき、その定義されたパケットに該当するパケットを廃棄するようにする。
【0038】
1次フィルタ45は、断片化されたパケットがあるか否かを判別して、断片化されたパケットの2つ目以降のパケットは廃棄して(S106)、選択パケットのみをフィルタリングする処理を行う。これにより、断片化されている場合、先頭のパケットが取得できれば操作ログが取得できるため、2つ目以降のパケットは廃棄する。
このように、1次フィルタを通して、ログ解析に不要なパケットを廃棄することで、ログ解析を効率的に行うことができる。
【0039】
次に、上述のS3、S6の処理におけるプロトコル解析処理部46の処理の流れについて図12を参照して説明する。
図12において、まず、1次フィルタ45により選択されたパケットのうち、プロトコル解析処理部46がリクエスト(Request)と、応答(Reply)との結合処理を行う(S201)。
これによりリクエストと応答が結合されて、サーバ1に対してある一つの操作がなされたことを特定できるようになる。
そして、プロトコル解析処理部46がプロトコルシーケンスの解析処理を行う(S202)。これによりサーバ1上のファイル等に対するメソッドを特定することができる。
最後に、データベース登録処理部47が、ログの登録項目の生成を行い(S203)、処理を終了する。
【0040】
次に、図13の処理フローにおける、プロトコル解析処理部46の詳細な処理について説明する。
まず図13を参照して、プロトコル解析処理部46がリクエストとリプライの結合処理を行う場合の詳細な処理の流れについて説明する。
図13(a)は要求−結合処理の全体処理フローを示す。図13(a)において、まずパケットに含まれるコマンドを参照して、要求パケットか否かを判別する(S30)。
判別の結果、要求パケットである場合には応答の結合処理に移る(S31)。
【0041】
応答の結合処理としては、図13(b)に示すように、応答待ちキューを記憶したメモリを参照して、対応する応答があるか否かを判別する(S311)。
判別の結果、対応する応答がある場合には、応答の結合処理を行う(S312)。
また、判別の結果、対応する応答がない場合には、応答待ちキューとしてメモリに記憶して(S313)、処理を終了する。
【0042】
また、上述のS30の処理で要求パケットではないと判別された場合には、パケットに含まれるコマンドを参照して、当該パケットが応答パケットか否か判別する(S32)。
判別の結果、応答パケットでない場合には、ログ取得に関係のないパケットとして廃棄するなどして処理終了する。
また、判別の結果応答パケットであると判別された場合には、要求の結合処理に移る(S33)。
【0043】
要求の結合処理としては、図13(c)に示すように、まず要求待ちキューを記憶したメモリを参照して、対応する要求があるか否かを判別する(S331)。
判別の結果、対応の要求がある場合には、要求の結合処理を行う(S332)。
また、判別の結果、対応の要求がない場合には、要求待ちキューに登録して(S333)、処理を終了する。
【0044】
次に、プロトコル解析処理部46が、プロトコルシーケンスの解析処理を行う場合の処理について図14を参照して説明する。
図14において、まずクライアント端末3のログインシーケンス処理を行い、どのクライアント端末3がログインしたのかを判別する(S401)。
例えば、AFPのプロトコルでは、ログインは2段階で行われ、使用されるAFPコマンドパケットはFPLoginとFPCountの2種類であるので、このコマンドを受信したか、またそのクライアントは誰かを判別することにより行う。これらはログインシーケンスとして解析して、アクセス記録データベース43に記録される。
【0045】
ログインシーケンスが完了すると、パケットが保持しているIDと名称の対応付けとを行い、この必要に応じて対応表の更新処理を行う(S402)。
この処理は、図3に示すID対応情報記憶部41を参照して、パケット内のIDに基づいて、実際のサーバ1のファイルシステム内のボリューム、フォルダ、ファイルの名前を特定する処理を行う。
例えば、AFPコマンドFPDeleteでファイルが削除される場合、その対象ファイルは「ボリュームID」、「親フォルダID」、「ファイルID」で与えられる。これらのIDで対応表を引くことにより、サーバ1上のファイルシステムの完全パス名が取得でき、ログにはその完全パス名を記録することができる。
なお、日本語名の表示用に文字コードの変換処理を実施してもよい。
【0046】
最後に、ファイルのアクセス・シーケンス処理を行って(S403)、アクセス解析処理を終了する。
このシーケンス処理では、図4又は図5に示すシーケンス処理情報記憶部42を参照して、パケット中からメソッド一覧にあるコマンドを抽出し、どのメソッドに対応する処理かを特定する。
例えば、AFPにおけるファイルの読み込みであれば、FPOpenFork、FPRead、FPCloseForkのAFPコマンドパッケージシーケンスとなっていれば、このファイルの読み込み処理が行われたことが特定される。
また、あわせパケット内の時間を抽出して、処理が行われた時間を特定する
なお、コマンドとログ記録メソッドの対応表は、プロトコルごとに保持してもよく、SMBの場合には、図5に示すような対応テーブルとして保持しておき、このテーブルを参照して該当するコマンドについてはシーケンス処理を実行する。
【0047】
このように上述の実施形態によれば、サーバ1上でアクセス監視用のプログラムを実行しなくとも、サーバ1とは別装置のアクセスログ取得装置4により、サーバ1への操作ログデータを取得することができるから、サーバ1に負荷を掛けることなくログデータを取得することができ、サーバ1への不正アクセスや、ファイルの作成、変更、削除などのログを取得して監視することができる。
また、サーバ1上でプログラムを実行しないで、別装置のアクセスログ取得装置4によりネットワーク上のパケットを取得して、ログ解析を行うようにしたことから、サーバ1の機種やOSに依存しなくとも、アクセスログ取得装置4側で種々のプロトコルに応じたログ解析を行うことができる。これにより、サーバ1の機種やOSにかかわらず、通信プロトコルが対応できるものであれば操作ログを取得することができる。
【0048】
アクセス取得装置4をネットワークに接続するだけで、監視を行うことができるから、サーバ1の設定変更の必要がなく、設定変更の手間を省くことができる。
さらに、取得したログデータは、アクセスログ取得装置4に記録されており、サーバ1にはこれらのデータは存在していないことから、サーバ1への不正アクセスにより、操作ログデータに不正にアクセスされたり、改ざんされたりすることを防止できる。
【0049】
上述の実施形態は一例であって、本発明を逸脱しない範囲で適宜変更等が可能である。
【図面の簡単な説明】
【0050】
【図1】本発明の一実施形態に係るシステムの全体構成を示した図である。
【図2】本実施形態にかかる機能ブロック図。
【図3】ID対応情報記憶部に記憶されるデータの一例を示した図。
【図4】シーケンス処理情報記憶部に記憶されるデータの一例を示した図。
【図5】シーケンス処理情報記憶部に記憶されるデータの一例を示した図。
【図6】アクセス記録データベースに記憶されるデータの一例を示した図。
【図7】システム全体の処理の流れを示した図。
【図8】ログデータの表示の一例を示した図。
【図9】ログデータの表示の別の例を示した図。
【図10】ログデータの表示のさらに別の例を示した図。
【図11】1次フィルタの詳細な処理を示した処理フロー。
【図12】プロトコル解析処理部の処理を示した処理フロー。
【図13】要求−応答結合処理のフローチャート。
【図14】プロトコル解析処理部の詳細な処理フロー。
【符号の説明】
【0051】
1・・・サーバ、 2・・・スイッチ、 3・・・クライアント端末、4・・・アクセスログ取得装置、41・・・ID対応情報記憶部、42・・・シーケンス処理情報記憶部、43・・・アクセス記録データベース、44・・・ネットワークインタフェース、45・・・1次フィルタ、46・・・プロトコル解析処理部、47・・・データベース登録処理部、48・・・管理画面表示処理部
【技術分野】
【0001】
本発明は、クライアントサーバシステムにおいて、クライアントからサーバに対しておこなわれた操作のログデータを取得する技術であって、特に、サーバ側に負荷を掛けずに、またサーバやクライアント側に特別なコンピュータプログラムを搭載しなくとも、ネットワークに接続するだけでサーバ側のOS(Operating System)なども気にせずにログデータを取得するための仕組みとして好適なものである。
【背景技術】
【0002】
最近、企業などの組織内で、コンピュータ内に記録されているデータを勝手に外部に持ち出したり、アクセス権限のない従業員などが不正にコンピュータにアクセスして、データを取得し、これを外部に不正に流出させるという社会的な問題が発生している。
このような事態を防止するため、組織内のファイルを記憶し管理しているファイル管理サーバに対して、どのクライアントがいつアクセスしたのか、またファイル管理サーバ上のどのファイルを作成、変更、削除したかなどの操作ログデータを取得する仕組みが提供されている。
【0003】
このような仕組みとしては、一般に、サーバ上にアクセス監視用のコンピュータプログラムを実行させておき、どのクライントからアクセスがあったのか、またクライアントがどのファイルに対してどのような操作を行ったのかといったログデータを取得する仕組みが提案されている。
また、ログを取得する仕組みの一例として、例えば、Webサーバにおいてログファイルを有するアクセス回数統計処理部により、各ユーザからのアクセス状態を前記ログファイルにそれぞれ記録し、前記ログファイルの記録内容に基づき各ユーザ毎のアクセス回数についての統計処理を行う技術が提案されている(例えば、特許文献1参照)。
【0004】
【特許文献1】特開2002−288069
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上述のような従来の仕組みでは、サーバ上にアクセス監視のためのプログラムを実行させておく必要があったため、サーバのトラフィックがアクセス管理処理に取られてしまい、サーバの処理速度が低下してしまうという問題があった。
また、サーバ上で監視を行う場合、監視を行うファイルやクライアントなどの情報をサーバ側で設定する必要があるし、またサーバの機種やOSによって使用する管理プログラムを替える必要があるため、各サーバに応じた監視プログラムを用意しなければならないとう問題があった。
また、サーバ上で監視を行う場合には、監視できるクライアント数についても制限があるなどの問題もあった。
また、サーバ側で監視する場合、その監視ログデータはサーバ上に記録されるため、このログデータに不正にアクセスされたり、また改ざんされたりする恐れがあり、せっかくログデータを取得してもその信頼性に問題があった。
【0006】
本発明は、上述のような課題を解決するためになされたものであって、サーバ及びクライアントに負荷を掛けずに、またサーバなどの機種やOSにかかわらずにクライアントからの操作ログを取得することができる仕組みを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明の一の観点に係る操作情報記憶装置は、複数のファイルを記憶するファイル管理サーバと、当該ファイル管理サーバとネットワークを介して接続された複数のクライアント端末からなるシステムにおいて、上記ネットワークに接続され、上記ファイル管理サーバに対するクライアント端末からの操作に関するログデータを取得するための装置であって、上記クライアント端末からファイル管理サーバに対する操作を表すメソッドと、各メソッドに対応した必要なコマンドを記憶するコマンド定義記憶手段と、上記ファイル管理サーバと上記クラインアント端末との間で送受信されるパケットを取得するパケット取得処理手段と、上記取得したパケットのデータから通信プロトコルを判別して、予め決められたプロトコルに該当するパケットを選択するフィルタリング処理手段と、上記選択されたパケットの中から、クライアントを特定する情報を特定すると共に、上記コマンド定義情報記憶手段を参照して、上記取得したパケットに含まれているコマンドに対応するメソッドを特定する解析処理手段と、少なくとも、上記メソッドが発生した日時、上記クライアントを特定する情報、上記解析されたメソッドを含む情報をログデータとして記憶する解析結果記憶手段とを有することを特徴とする。
【0008】
上記コマンド定義記憶手段には、メソッドを実行するために必要なコマンドシーケンスが記憶されており、上記解析処理手段は、要求パケットに対する応答のパケットの結合処理、応答パケットに対する要求パケットの結合処理を行うことで応答要求の結合処理を行い、上記コマンド定義記憶手段を参照して、結合したパケットのコマンドシーケンスに基づいて、該当するメソッドを特定するようにしてもよい。
【0009】
また、応答待ち又は要求待ちコマンドを一時的に記憶する一時記憶手段をさらに有し、上記解析処理手段は、要求コマンド又は応答コマンドを取得すると、上記一時記憶手段を参照して、上記応答待ち又は要求待ちコマンドに対応するコマンドがあるか否か判別し、対応するコマンドが存在するときに要求−応答の結合処理を行うようにしてもよい。
【0010】
上記取得したパケットに含まれるIDの種類と、上記ファイル管理サーバ上での管理項目の対応を表すID対応情報記憶手段をさらに有し、上記解析処理手段は、上記ID対応情報記憶手段を参照して、取得したパケット内のIDの種類から、ファイル管理サーバ上での対応する管理項目を特定して、上記解析結果記憶手段に記憶するようにしてもよい。
【0011】
上記解析処理手段は、IDとファイル名の情報を含むパケットが到着するごとに、上記ファイル管理手段に記憶されている当該ID及びファイル名に対応したデータを更新するようにしてもよい。
【0012】
本発明の一の観点にかかるサーバの操作情報記憶方法は、複数のファイルを記憶するファイル管理サーバと、当該ファイル管理サーバとネットワークを介して接続された複数のクライアント端末からなるシステムにおいて、上記ネットワークに接続され、上記クライアント端末からファイル管理サーバに対する操作を表すメソッドと各メソッドに対応した必要なコマンドを記憶するコマンド定義記憶手段と、ログデータを記憶する解析結果記憶手段とを有する装置により行われる方法であって、上記ファイル管理サーバと上記クラインアント端末との間で送受信されるパケットを取得する処理と、上記取得したパケットのデータから通信プロトコルを判別して、予め決められたプロトコルに該当するパケットを選択する処理と、上記選択されたパケットの中から、クライアントを特定する情報を特定すると共に、上記コマンド定義情報記憶手段を参照して、上記取得したパケットに含まれているコマンドに対応するメソッドを特定する処理と、少なくとも、上記メソッドが発生した日時、上記クライアントを特定する情報、上記解析されたメソッドを含む情報をログデータとして解析結果記憶手段に記憶する処理とを有することを特徴とする。
【0013】
本発明の一の観点にかかるコンピュータプログラムは、複数のファイルを記憶するファイル管理サーバと、当該ファイル管理サーバとネットワークを介して接続された複数のクライアント端末からなるシステムにおいて、上記ネットワークに接続され、上記クライアント端末からファイル管理サーバに対する操作を表すメソッドと各メソッドに対応した必要なコマンドを記憶するコマンド定義記憶手段と、ログデータを記憶する解析結果記憶手段とを有するコンピュータを操作情報記憶装置として機能させるためのコンピュータプログラムであって、上記コンピュータに対して、上記ファイル管理サーバと上記クラインアント端末との間で送受信されるパケットを取得する処理と、上記取得したパケットのデータから通信プロトコルを判別して、予め決められたプロトコルに該当するパケットを選択する処理と、上記選択されたパケットの中から、クライアントを特定する情報を特定すると共に、上記コマンド定義情報記憶手段を参照して、上記取得したパケットに含まれているコマンドに対応するメソッドを特定する処理と、少なくとも、上記メソッドが発生した日時、上記クライアントを特定する情報、上記解析されたメソッドを含む情報をログデータとして解析結果記憶手段に記憶する処理とを実行させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、サーバに蓄積された操作記録を、サーバに負荷を掛けることなく記憶することができ、サーバ上のファイルが外部へ流出したり、不正に改ざん、削除されたりしたことを監視できる。
また、サーバの機種やOSに依存しなくとも、サーバ上の全てのファイルを監視することができる。
また、装置をクライアント−サーバのネットワークに接続するだけで、監視を行うことができるから、クライアント数の増加等によってもサーバの設定変更の必要がなく、設定変更の手間を省くことができる。
さらに、操作ログデータは、監視対象サーバには記録されずに、ログを記憶する装置側に記憶されることから、操作ログデータに不正にアクセスされたり、改ざんされたりすることを防止できる。
【発明を実施するための最良の形態】
【0015】
以下、本発明に係る一実施形態について、図面を参照して説明する。
本実施例に係るシステムの全体構成を図1に示す。
図1は、本発明にかかるサーバ操作情報記憶装置を利用したシステムの全体構成を示したものであって、監視対象となるサーバ1と、このサーバ1にLAN(Local Area Network)やWAN(Wide Area Network)などの所定のネットワークを介して接続可能に構成された複数のクライアント端末3と、サーバ1とクライアント端末3との間で通信データのスイッチングを行うスイッチ2と、このスイッチ2を介してネットワークに接続可能に構成されたアクセスログ取得装置4から構成されている。
【0016】
サーバ1は、複数のクライアント端末3により利用可能なファイルを記憶することができるコンピュータである。
サーバ1は、所定のOSや、必要に応じて搭載しているアプリケーションプログラムを実行することで、各クライアント端末3との間でファイルを送受信したり、またクライアント端末3からの操作に応じて、フォルダやファイルなどを作成、変更、削除したりする処理を行うことができる。
なお、サーバ1は、クライアントごとにアクセス権限を管理するようにしてもよい。この場合、サーバ1は、クライアントごとにサーバ1へのアクセス権限があるか否か、アクセス権限が設定されているフォルダやファイルごとに、クライアントが新規作成、変更、削除などの処理を行う権限を持っているか否かという権限を管理する。
【0017】
クライアント端末3は、サーバ1にアクセスして、サーバ1上のフォルダやファイルを作成、変更、削除、データの取得といった操作を行うことができるコンピュータである。
このクライアント端末3は、いわゆるパソコンなどにより構成され、スイッチ2を介してサーバ1に接続可能であればよく、当該クライアント端末3が搭載しているOSやアプリケーションプログラムは特に限定されるものではない。
そして、これらサーバ1とクライアント端末3との間では、パケットによりデータの送受信が行われるようになっている。
【0018】
スイッチ2は、いわゆる集線装置であって、サーバ1とクライアント端末3との間でのデータをスイッチングして相互にデータ通信するための処理を行う。
このスイッチ2としては、スイッチの通常のポートを通過する全てのデータを複製して通過させるミラーポート方式、タップ方式、ブリッジ結線されたブリッジ方式であってもよい。
そして、スイッチ2により、クライアント−サーバ間で送受信されているパケットデータを複製して、この複製されたパケットデータをアクセスログ取得装置4が取得するようになっている。
【0019】
アクセスログ取得装置4は、クライアント端末3からサーバ1へのアクセスログを取得する装置である。
このアクセスログ取得装置4は、CPU(Central Processing Unit)及び、CPUが実行するコンピュータプログラム、コンピュータプログラムやその他のデータを記憶するRAM(Random Access Memory)などの記憶手段により構成されており、これによって図2に示す機能ブロックを実現する。
図2に示した機能ブロックは、ID対応情報記憶部41、シーケンス処理情報記憶部42、アクセス記録データベース43、ネットワークインタフェース(I/F)44、1次フィルタ45、プロトコル解析処理部46、データベース登録処理部47、管理画面表示処理部48から構成されている。
【0020】
ID対応情報記憶部41は、プロトコルの種別に応じて、パケット内に含まれるIDの種類と、サーバ1内の実際のボリューム、フォルダ、ファイルの名前との対応付けを記憶しておくテーブルである。
これは、例えば、AFP(AppleTalk Filing Protocol)では、ボリューム・フォルダ・ファイルの指定は、セッションごとに設定される数値にIDにより指定されるが、監視ログを記録する際、IDをそのままで記録してしまうとサーバ1のファイルシステム内のボリューム、フォルダ、ファイルとの対応関係が分からなくなることから、このID対応情報記憶部41に予めIDと実際のボリューム・フォルダ・ファイルとの対応付けを予め定義したものである。
このID対応情報記憶部41に記憶されるデータとしては、例えば、図3に示すように、AFPの場合、IDの種類、対象AFPコマンドパケット、管理項目を対応付けて記憶する。一例として、ボリュームIDの場合、対象AFPコマンドパケットとしては「FPGetVolParms」、「FPGetFileDirParms」、「FPEnumerate」となり、管理項目としては、IDと名称となる。
なお、このID対応情報記憶部41に記憶されているデータは、IDと名前の情報を含むAFPパケットが到着するごとにこの表が更新され、実際のサーバ1上のファイルシステムのデータに対応するようになっている。
【0021】
シーケンス処理情報記憶部42は、プロトコルの種別に応じて、記憶しておくメソッドと抽出すべきコマンドの対応付けを記憶する記憶部である。
これは、例えば、AFPでは、ファイルの読み書きはファイルの2つのフォーク、すなわちデータフォークとリソースフォークに対する参照番号(RefNo)を使用して行われるが、このRefNoは、AFPのコマンドパケットのFPOpenForkで取得され、取得したRefNoでFPReadあるいはFPWriteを行うことでファイルのアクセスが行われ、FPCloseForkでそのRefNoを解放するようになっている。
したがって、ファイルのアクセスを監視するには、FPOpenFork、FPReadあるいはFPWrite、FPCloseForkのAFPコマンドパッケージシーケンスをトレースする必要があるため、そのシーケンス処理を行う対象となるコマンドが定義されている。
一例として、AFPの場合を図4に示し、SMBプロトコルの場合を図5に示す。
例えば、図4に示すようにファイルの読み込みの場合、AFPではFPOpenFork、FPRead、FPCloseForkの順でトレースすることにより、あるファイルに対して読み込み処理が行われたログとして記録することができる。
【0022】
アクセス記録データベース43は、アクセスログデータをデータベース化したものである。このアクセス記録データベース43には、図6に示すように、項目名とその説明が対応付けて記憶できるようになっている。
項目名としては、日時、セッション、ユーザ、メソッド(メソッドの種類及び、付属情報、状態コード)がそれぞれ記憶できるようになっている。
日時は、年月日、時分秒、マイクロ秒が記憶できるようになっている。
セッションにはMACアドレス、IPアドレスが記憶できるようになっている。
メソッドとしては、メソッド名と、付属情報としてフルパス名、リネーム時のターゲット名など、状態として状態コード(0=OK、0以外=NG)が記憶できるようになっている。
また、メソッド名としては、メソッド一覧にあるように、ファイルの新規作成、読み込み、書き込み、リネーム、移動、削除、フォルダの新規作成、リネーム、移動、削除、ログイン、ログアウトである。
【0023】
ネットワークインタフェース44は、アクセスログ監視装置4がネットワークに接続するためのインタフェースである。
このネットワークインタフェース44は、所定のポートを介してスイッチング装置3に接続するとともに、所定のデータフォーマットに基づいた論理的インタフェースにより、ネットワーク内を流れているパケットを取得する処理を行う。
【0024】
1次フィルタ45は、取得したパケットの中から不要なパケットを破棄するための処理を行う。
1次フィルタ45は、セッション情報(MACアドレス、IPアドレス)、プロトコル(ポート)、パケットサイズを判別して廃棄すべきパケットを判別したり、その他不要なパケットを廃棄する処理を行う。
これにより、不要なパケットを予めフィルタリングできることから、処理を効率化することができる。
【0025】
プロトコル解析処理部46は、プロトコルに応じて、パケットを解析してログを取得する処理を行う。
プロトコル解析処理部46は、クライアントのログインからアクセスのログを取得したり、各クライアントがファイルへのアクセスしたログを取得する。
また、ファイルへのアクセスログをより分かりやすくするため、パケット内のIDとサーバのファイルシステム内のボリューム、フォルダ、ファイルとの対応付けなどの処理を行う。
【0026】
データベース登録処理部47は、プロトコル解析処理部46により解析されたログデータを、アクセス記録データベース43に記憶する処理を行う。
【0027】
管理画面表示処理部48は、アクセス記録データベース43に記憶されているアクセスログデータに基づいて、管理画面上に表示する出力画面のデータを生成し、これを図示しないディスプレイ上に表示させる処理を行う。
【0028】
次に、図7を参照してシステム全体の処理の流れを説明する。
図7において、まずクライアント端末3からサーバ1に対してファイルの取得要求を行う(S1)と、この取得要求がスイッチ2を介してサーバ1に送信される(S2)。
また同時に、スイッチ2のミラーリング機能により、ファイル取得要求のデータがアクセスログ取得装置4にも送信される(S3)。
これにより、アクセスログ取得装置4は、ネットワークインタフェース44を介してパケットを取得し、一次フィルタ45が取得したパケットをフィルタリングして、不要なパケットを廃棄するとともに、プロトコル解析処理部46が、どのクライアントがアクセスし、どのファイル等に操作を行ったのかのログの解析を行い、データベース登録処理部47が解析されたログデータをアクセス記録データベース43に記憶する処理を行う。
【0029】
サーバ1は、クライアント端末3からの取得要求に応じて、ファイルの取得応答をスイッチ2に送信する(S4)。クライント端末2はスイッチ2を介してファイルの取得応答を受信して、所定の処理を行う(S5)。
同時に、スイッチ2は、ミラーリング機能により、サーバ1からのファイルの取得応答をアクセスログ取得装置4へ送信する(S6)。
これにより、アクセスログ取得装置4は、ネットワークインタフェース44を介してパケットを取得し、一次フィルタ45が取得したパケットをフィルタリングして、不要なパケットを廃棄するとともに、プロトコル解析処理部46が、どのクライアント端末3がサーバ1へアクセスし、どのファイル等に操作を行ったのかのログの解析を行い、データベース登録処理部47が解析されたログデータをアクセス記録データベース43に記憶する処理を行う。
そして、サーバ1のデータベース登録処理部47は、解析したアクセスログをアクセス記録データベース43に記録する(S7)。この時、少なくとも、メソッドが行われた日時、ユーザ、メソッドの内容等が記憶される。
【0030】
これらS1からS7までの処理をサーバ1とクライアント端末3との間で繰り返し行うことでサーバ1へのアクセスログが記憶される。
【0031】
一方、ある時点で、アクセスログ取得装置4に記録されているアクセスログを管理者が見る場合には、まず管理者がサーバ1又は図示しないネットワークに接続された管理者用端末等から管理画面表示要求を行う(S11)。
これにより、アクセス記録データベース43を参照して、指定された項目に該当するデータを検索する(S12)。
検索が完了すると、サーバ1の管理画面表示処理部48が、アクセス記録データベース43から検索結果のデータを取得し(S13)、図示しないディスプレイ上に管理画面表示を行う(S14)。
【0032】
なお、この画面表示としては、図8に示すように、所定期間(例えば、1ヶ月ごと)にクライアント端末3に対応するオペレータごとに作成したページ数を表示するようにしてもよい。この場合、週ごとの作成ページ数が分かるように分けて表示させてもよい。
また、図9に示すように、一つのファイルごとにいつ誰がアクセスして、どのような操作を行ったかを表示させても良い。この例では、「ファイルA」に対して、いつ(例えば、2006年2月3日16時38分)、だれが(例えば、オペレータA)、どのような操作を行ったか(例えば、新規作成)を一覧表として表示してもよい。
さらに、図10に示すように、特定のファイルの参照回数を、週ごとにグラフ化して表示してもよい。
【0033】
次に、上述のS3、S6の処理における、アクセスログ取得装置4の1次フィルタ45の詳細な処理の流れについて説明する。この時点では、ネットワークインタフェース44がスイッチ2からパケットを取得した状態となっている。
図11において、1次フィルタ45は、まず取得したパケットの中からセッション情報があるか否か判別して、これらが含まれないパケットは廃棄パケットとする。(S101)。
この処理は、具体的には、パケットにMACアドレス、IPアドレスが含まれているかを判別することで行う。
【0034】
判別の結果、セッション情報が存在する場合には、1次フィルタ45はプロトコルの判別を行い、該当しないものは廃棄パケットとする(S102)。
この処理では、パケットに含まれるポート番号を抽出して、そのポート番号が所定のポート番号と一致するかを判別することにより行う。なお、予め対応できるプロトコル(ポート)をメモリ等に記憶して定義しておくことで、当該プロトコルに対応するパケットのみを抽出する。
【0035】
判別の結果、セッション情報の確認ができた場合には、1次フィルタ45は、パケットサイズが一定サイズ以上か否か判別し、一定のサイズ以上のパケットは廃棄する(S103)。
これにより、例えば、ファイル操作のログを取得することとは直接関係がないデータファイルなど、比較的サイズが大きいパケットを廃棄する。
【0036】
判別の結果、パケットサイズが一定の大きさ以下の場合には、1次フィルタ45は、TCPのコントロールパケットか否かを判別し、TCPのコントロールパケットは廃棄する(S104)。
【0037】
1次フィルタ45は、プロトコル固有のパケットで、ログ解析に不要なパケットか否かを判別して廃棄する(S105)。
このログ解析に不要なパケットは、予め定義してメモリに記憶させておき、その定義されたパケットに該当するパケットを廃棄するようにする。
【0038】
1次フィルタ45は、断片化されたパケットがあるか否かを判別して、断片化されたパケットの2つ目以降のパケットは廃棄して(S106)、選択パケットのみをフィルタリングする処理を行う。これにより、断片化されている場合、先頭のパケットが取得できれば操作ログが取得できるため、2つ目以降のパケットは廃棄する。
このように、1次フィルタを通して、ログ解析に不要なパケットを廃棄することで、ログ解析を効率的に行うことができる。
【0039】
次に、上述のS3、S6の処理におけるプロトコル解析処理部46の処理の流れについて図12を参照して説明する。
図12において、まず、1次フィルタ45により選択されたパケットのうち、プロトコル解析処理部46がリクエスト(Request)と、応答(Reply)との結合処理を行う(S201)。
これによりリクエストと応答が結合されて、サーバ1に対してある一つの操作がなされたことを特定できるようになる。
そして、プロトコル解析処理部46がプロトコルシーケンスの解析処理を行う(S202)。これによりサーバ1上のファイル等に対するメソッドを特定することができる。
最後に、データベース登録処理部47が、ログの登録項目の生成を行い(S203)、処理を終了する。
【0040】
次に、図13の処理フローにおける、プロトコル解析処理部46の詳細な処理について説明する。
まず図13を参照して、プロトコル解析処理部46がリクエストとリプライの結合処理を行う場合の詳細な処理の流れについて説明する。
図13(a)は要求−結合処理の全体処理フローを示す。図13(a)において、まずパケットに含まれるコマンドを参照して、要求パケットか否かを判別する(S30)。
判別の結果、要求パケットである場合には応答の結合処理に移る(S31)。
【0041】
応答の結合処理としては、図13(b)に示すように、応答待ちキューを記憶したメモリを参照して、対応する応答があるか否かを判別する(S311)。
判別の結果、対応する応答がある場合には、応答の結合処理を行う(S312)。
また、判別の結果、対応する応答がない場合には、応答待ちキューとしてメモリに記憶して(S313)、処理を終了する。
【0042】
また、上述のS30の処理で要求パケットではないと判別された場合には、パケットに含まれるコマンドを参照して、当該パケットが応答パケットか否か判別する(S32)。
判別の結果、応答パケットでない場合には、ログ取得に関係のないパケットとして廃棄するなどして処理終了する。
また、判別の結果応答パケットであると判別された場合には、要求の結合処理に移る(S33)。
【0043】
要求の結合処理としては、図13(c)に示すように、まず要求待ちキューを記憶したメモリを参照して、対応する要求があるか否かを判別する(S331)。
判別の結果、対応の要求がある場合には、要求の結合処理を行う(S332)。
また、判別の結果、対応の要求がない場合には、要求待ちキューに登録して(S333)、処理を終了する。
【0044】
次に、プロトコル解析処理部46が、プロトコルシーケンスの解析処理を行う場合の処理について図14を参照して説明する。
図14において、まずクライアント端末3のログインシーケンス処理を行い、どのクライアント端末3がログインしたのかを判別する(S401)。
例えば、AFPのプロトコルでは、ログインは2段階で行われ、使用されるAFPコマンドパケットはFPLoginとFPCountの2種類であるので、このコマンドを受信したか、またそのクライアントは誰かを判別することにより行う。これらはログインシーケンスとして解析して、アクセス記録データベース43に記録される。
【0045】
ログインシーケンスが完了すると、パケットが保持しているIDと名称の対応付けとを行い、この必要に応じて対応表の更新処理を行う(S402)。
この処理は、図3に示すID対応情報記憶部41を参照して、パケット内のIDに基づいて、実際のサーバ1のファイルシステム内のボリューム、フォルダ、ファイルの名前を特定する処理を行う。
例えば、AFPコマンドFPDeleteでファイルが削除される場合、その対象ファイルは「ボリュームID」、「親フォルダID」、「ファイルID」で与えられる。これらのIDで対応表を引くことにより、サーバ1上のファイルシステムの完全パス名が取得でき、ログにはその完全パス名を記録することができる。
なお、日本語名の表示用に文字コードの変換処理を実施してもよい。
【0046】
最後に、ファイルのアクセス・シーケンス処理を行って(S403)、アクセス解析処理を終了する。
このシーケンス処理では、図4又は図5に示すシーケンス処理情報記憶部42を参照して、パケット中からメソッド一覧にあるコマンドを抽出し、どのメソッドに対応する処理かを特定する。
例えば、AFPにおけるファイルの読み込みであれば、FPOpenFork、FPRead、FPCloseForkのAFPコマンドパッケージシーケンスとなっていれば、このファイルの読み込み処理が行われたことが特定される。
また、あわせパケット内の時間を抽出して、処理が行われた時間を特定する
なお、コマンドとログ記録メソッドの対応表は、プロトコルごとに保持してもよく、SMBの場合には、図5に示すような対応テーブルとして保持しておき、このテーブルを参照して該当するコマンドについてはシーケンス処理を実行する。
【0047】
このように上述の実施形態によれば、サーバ1上でアクセス監視用のプログラムを実行しなくとも、サーバ1とは別装置のアクセスログ取得装置4により、サーバ1への操作ログデータを取得することができるから、サーバ1に負荷を掛けることなくログデータを取得することができ、サーバ1への不正アクセスや、ファイルの作成、変更、削除などのログを取得して監視することができる。
また、サーバ1上でプログラムを実行しないで、別装置のアクセスログ取得装置4によりネットワーク上のパケットを取得して、ログ解析を行うようにしたことから、サーバ1の機種やOSに依存しなくとも、アクセスログ取得装置4側で種々のプロトコルに応じたログ解析を行うことができる。これにより、サーバ1の機種やOSにかかわらず、通信プロトコルが対応できるものであれば操作ログを取得することができる。
【0048】
アクセス取得装置4をネットワークに接続するだけで、監視を行うことができるから、サーバ1の設定変更の必要がなく、設定変更の手間を省くことができる。
さらに、取得したログデータは、アクセスログ取得装置4に記録されており、サーバ1にはこれらのデータは存在していないことから、サーバ1への不正アクセスにより、操作ログデータに不正にアクセスされたり、改ざんされたりすることを防止できる。
【0049】
上述の実施形態は一例であって、本発明を逸脱しない範囲で適宜変更等が可能である。
【図面の簡単な説明】
【0050】
【図1】本発明の一実施形態に係るシステムの全体構成を示した図である。
【図2】本実施形態にかかる機能ブロック図。
【図3】ID対応情報記憶部に記憶されるデータの一例を示した図。
【図4】シーケンス処理情報記憶部に記憶されるデータの一例を示した図。
【図5】シーケンス処理情報記憶部に記憶されるデータの一例を示した図。
【図6】アクセス記録データベースに記憶されるデータの一例を示した図。
【図7】システム全体の処理の流れを示した図。
【図8】ログデータの表示の一例を示した図。
【図9】ログデータの表示の別の例を示した図。
【図10】ログデータの表示のさらに別の例を示した図。
【図11】1次フィルタの詳細な処理を示した処理フロー。
【図12】プロトコル解析処理部の処理を示した処理フロー。
【図13】要求−応答結合処理のフローチャート。
【図14】プロトコル解析処理部の詳細な処理フロー。
【符号の説明】
【0051】
1・・・サーバ、 2・・・スイッチ、 3・・・クライアント端末、4・・・アクセスログ取得装置、41・・・ID対応情報記憶部、42・・・シーケンス処理情報記憶部、43・・・アクセス記録データベース、44・・・ネットワークインタフェース、45・・・1次フィルタ、46・・・プロトコル解析処理部、47・・・データベース登録処理部、48・・・管理画面表示処理部
【特許請求の範囲】
【請求項1】
複数のファイルを記憶するファイル管理サーバと、当該ファイル管理サーバとネットワークを介して接続された複数のクライアント端末からなるシステムにおいて、上記ネットワークに接続され、上記ファイル管理サーバに対するクライアント端末からの操作に関するログデータを取得するための装置であって、
上記クライアント端末からファイル管理サーバに対する操作を表すメソッドと、各メソッドに対応した必要なコマンドを記憶するコマンド定義記憶手段と、
上記ファイル管理サーバと上記クラインアント端末との間で送受信されるパケットを取得するパケット取得処理手段と、
上記取得したパケットのデータから通信プロトコルを判別して、予め決められたプロトコルに該当するパケットを選択するフィルタリング処理手段と、
上記選択されたパケットの中から、クライアントを特定する情報を特定すると共に、上記コマンド定義情報記憶手段を参照して、上記取得したパケットに含まれているコマンドに対応するメソッドを特定する解析処理手段と、
少なくとも、上記メソッドが発生した日時、上記クライアントを特定する情報、上記解析されたメソッドを含む情報をログデータとして記憶する解析結果記憶手段と、
を有することを特徴とするサーバの操作情報取得装置。
【請求項2】
上記コマンド定義記憶手段には、メソッドを実行するために必要なコマンドシーケンスが記憶されており、
上記解析処理手段は、要求パケットに対する応答のパケットの結合処理、応答パケットに対する要求パケットの結合処理を行うことで応答要求の結合処理を行い、上記コマンド定義記憶手段を参照して、結合したパケットのコマンドシーケンスに基づいて、該当するメソッドを特定する、
請求項1記載のサーバの操作情報取得装置。
【請求項3】
応答待ち又は要求待ちコマンドを一時的に記憶する一時記憶手段をさらに有し、
上記解析処理手段は、要求コマンド又は応答コマンドを取得すると、上記一時記憶手段を参照して、上記応答待ち又は要求待ちコマンドに対応するコマンドがあるか否か判別し、対応するコマンドが存在するときに要求−応答の結合処理を行う、
請求項2記載のサーバの操作情報取得装置。
【請求項4】
上記取得したパケットに含まれるIDの種類と、上記ファイル管理サーバ上での管理項目の対応を表すID対応情報記憶手段をさらに有し、
上記解析処理手段は、上記ID対応情報記憶手段を参照して、取得したパケット内のIDの種類から、ファイル管理サーバ上での対応する管理項目を特定して、上記解析結果記憶手段に記憶する、
請求項1〜3のいずれかの項に記載のサーバの操作情取得装置。
【請求項5】
上記解析処理手段は、IDとファイル名の情報を含むパケットが到着するごとに、上記ファイル管理手段に記憶されている当該ID及びファイル名に対応したデータを更新する、
請求項4記載のサーバの操作情報取得装置。
【請求項6】
複数のファイルを記憶するファイル管理サーバと、当該ファイル管理サーバとネットワークを介して接続された複数のクライアント端末からなるシステムにおいて、上記ネットワークに接続され、上記クライアント端末からファイル管理サーバに対する操作を表すメソッドと各メソッドに対応した必要なコマンドを記憶するコマンド定義記憶手段と、ログデータを記憶する解析結果記憶手段とを有する装置により行われる方法であって、
上記ファイル管理サーバと上記クラインアント端末との間で送受信されるパケットを取得する処理と、
上記取得したパケットのデータから通信プロトコルを判別して、予め決められたプロトコルに該当するパケットを選択する処理と、
上記選択されたパケットの中から、クライアントを特定する情報を特定すると共に、上記コマンド定義情報記憶手段を参照して、上記取得したパケットに含まれているコマンドに対応するメソッドを特定する処理と、
少なくとも、上記メソッドが発生した日時、上記クライアントを特定する情報、上記解析されたメソッドを含む情報をログデータとして解析結果記憶手段に記憶する処理と、
を有することを特徴とするサーバの操作情報取得方法。
【請求項7】
複数のファイルを記憶するファイル管理サーバと、当該ファイル管理サーバとネットワークを介して接続された複数のクライアント端末からなるシステムにおいて、上記ネットワークに接続され、上記クライアント端末からファイル管理サーバに対する操作を表すメソッドと各メソッドに対応した必要なコマンドを記憶するコマンド定義記憶手段と、ログデータを記憶する解析結果記憶手段とを有するコンピュータを操作情報取得装置として機能させるためのコンピュータプログラムであって、
上記コンピュータに対して、
上記ファイル管理サーバと上記クラインアント端末との間で送受信されるパケットを取得する処理と、
上記取得したパケットのデータから通信プロトコルを判別して、予め決められたプロトコルに該当するパケットを選択する処理と、
上記選択されたパケットの中から、クライアントを特定する情報を特定すると共に、上記コマンド定義情報記憶手段を参照して、上記取得したパケットに含まれているコマンドに対応するメソッドを特定する処理と、
少なくとも、上記メソッドが発生した日時、上記クライアントを特定する情報、上記解析されたメソッドを含む情報をログデータとして解析結果記憶手段に記憶する処理と、
を実行させるコンピュータプログラム。
【請求項1】
複数のファイルを記憶するファイル管理サーバと、当該ファイル管理サーバとネットワークを介して接続された複数のクライアント端末からなるシステムにおいて、上記ネットワークに接続され、上記ファイル管理サーバに対するクライアント端末からの操作に関するログデータを取得するための装置であって、
上記クライアント端末からファイル管理サーバに対する操作を表すメソッドと、各メソッドに対応した必要なコマンドを記憶するコマンド定義記憶手段と、
上記ファイル管理サーバと上記クラインアント端末との間で送受信されるパケットを取得するパケット取得処理手段と、
上記取得したパケットのデータから通信プロトコルを判別して、予め決められたプロトコルに該当するパケットを選択するフィルタリング処理手段と、
上記選択されたパケットの中から、クライアントを特定する情報を特定すると共に、上記コマンド定義情報記憶手段を参照して、上記取得したパケットに含まれているコマンドに対応するメソッドを特定する解析処理手段と、
少なくとも、上記メソッドが発生した日時、上記クライアントを特定する情報、上記解析されたメソッドを含む情報をログデータとして記憶する解析結果記憶手段と、
を有することを特徴とするサーバの操作情報取得装置。
【請求項2】
上記コマンド定義記憶手段には、メソッドを実行するために必要なコマンドシーケンスが記憶されており、
上記解析処理手段は、要求パケットに対する応答のパケットの結合処理、応答パケットに対する要求パケットの結合処理を行うことで応答要求の結合処理を行い、上記コマンド定義記憶手段を参照して、結合したパケットのコマンドシーケンスに基づいて、該当するメソッドを特定する、
請求項1記載のサーバの操作情報取得装置。
【請求項3】
応答待ち又は要求待ちコマンドを一時的に記憶する一時記憶手段をさらに有し、
上記解析処理手段は、要求コマンド又は応答コマンドを取得すると、上記一時記憶手段を参照して、上記応答待ち又は要求待ちコマンドに対応するコマンドがあるか否か判別し、対応するコマンドが存在するときに要求−応答の結合処理を行う、
請求項2記載のサーバの操作情報取得装置。
【請求項4】
上記取得したパケットに含まれるIDの種類と、上記ファイル管理サーバ上での管理項目の対応を表すID対応情報記憶手段をさらに有し、
上記解析処理手段は、上記ID対応情報記憶手段を参照して、取得したパケット内のIDの種類から、ファイル管理サーバ上での対応する管理項目を特定して、上記解析結果記憶手段に記憶する、
請求項1〜3のいずれかの項に記載のサーバの操作情取得装置。
【請求項5】
上記解析処理手段は、IDとファイル名の情報を含むパケットが到着するごとに、上記ファイル管理手段に記憶されている当該ID及びファイル名に対応したデータを更新する、
請求項4記載のサーバの操作情報取得装置。
【請求項6】
複数のファイルを記憶するファイル管理サーバと、当該ファイル管理サーバとネットワークを介して接続された複数のクライアント端末からなるシステムにおいて、上記ネットワークに接続され、上記クライアント端末からファイル管理サーバに対する操作を表すメソッドと各メソッドに対応した必要なコマンドを記憶するコマンド定義記憶手段と、ログデータを記憶する解析結果記憶手段とを有する装置により行われる方法であって、
上記ファイル管理サーバと上記クラインアント端末との間で送受信されるパケットを取得する処理と、
上記取得したパケットのデータから通信プロトコルを判別して、予め決められたプロトコルに該当するパケットを選択する処理と、
上記選択されたパケットの中から、クライアントを特定する情報を特定すると共に、上記コマンド定義情報記憶手段を参照して、上記取得したパケットに含まれているコマンドに対応するメソッドを特定する処理と、
少なくとも、上記メソッドが発生した日時、上記クライアントを特定する情報、上記解析されたメソッドを含む情報をログデータとして解析結果記憶手段に記憶する処理と、
を有することを特徴とするサーバの操作情報取得方法。
【請求項7】
複数のファイルを記憶するファイル管理サーバと、当該ファイル管理サーバとネットワークを介して接続された複数のクライアント端末からなるシステムにおいて、上記ネットワークに接続され、上記クライアント端末からファイル管理サーバに対する操作を表すメソッドと各メソッドに対応した必要なコマンドを記憶するコマンド定義記憶手段と、ログデータを記憶する解析結果記憶手段とを有するコンピュータを操作情報取得装置として機能させるためのコンピュータプログラムであって、
上記コンピュータに対して、
上記ファイル管理サーバと上記クラインアント端末との間で送受信されるパケットを取得する処理と、
上記取得したパケットのデータから通信プロトコルを判別して、予め決められたプロトコルに該当するパケットを選択する処理と、
上記選択されたパケットの中から、クライアントを特定する情報を特定すると共に、上記コマンド定義情報記憶手段を参照して、上記取得したパケットに含まれているコマンドに対応するメソッドを特定する処理と、
少なくとも、上記メソッドが発生した日時、上記クライアントを特定する情報、上記解析されたメソッドを含む情報をログデータとして解析結果記憶手段に記憶する処理と、
を実行させるコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2007−279835(P2007−279835A)
【公開日】平成19年10月25日(2007.10.25)
【国際特許分類】
【出願番号】特願2006−102145(P2006−102145)
【出願日】平成18年4月3日(2006.4.3)
【出願人】(506042553)株式会社インテリジェントワークス (1)
【Fターム(参考)】
【公開日】平成19年10月25日(2007.10.25)
【国際特許分類】
【出願日】平成18年4月3日(2006.4.3)
【出願人】(506042553)株式会社インテリジェントワークス (1)
【Fターム(参考)】
[ Back to top ]