(57)【特許請求の範囲】
【請求項１】
管理者、監査者又は一般ユーザであるユーザの認証情報とユーザ権限を対応づけて格納した管理・認証データベースを備えた管理・認証サーバと、前記ユーザが前記管理・認証サーバにアクセスするためのクライアントとがネットワークにより接続されたサーバクライアントシステムにおける監査のために、前記ユーザによる操作履歴を監査ログに出力し管理する、監査ログの出力及び管理方法であって、前記管理・認証サーバが、
前記クライアントから前記管理・認証サーバにアクセスしたユーザが管理者であるか否かを、前記管理・認証データベースの認証情報を参照することにより判別するステップと、
前記アクセスしたユーザが管理者である場合は、その管理者が前記管理・認証データベースの更新を行うために操作した実行コマンドを監査ログにファイルとして出力し、出力が成功したか否かを判断するステップと、
前記実行コマンドの監査ログへの出力が成功した場合にのみ、前記実行コマンドによる前記管理・認証データベースの更新を実行するステップと、を有することを特徴とする
監査ログの出力及び管理方法。
【請求項２】
前記管理・認証サーバがさらに、
前記管理・認証データベースの更新を実行するステップの後、更新結果を監査ログにファイルとして出力し、出力が成功したか否かを判断するステップと、
前記更新結果の監査ログへの出力に失敗した場合は、前記管理・認証データベースの更新を無効とするステップと、を有することを特徴とする
請求項１に記載の監査ログの出力及び管理方法。
【請求項３】
前記管理・認証サーバがさらに、
前記クライアントから前記管理・認証サーバにアクセスしたユーザの操作対象ファイルが、監査ログであるか否かを判別するステップと、
前記操作対象が監査ログである場合、前記アクセスしたユーザが監査者であるか否かをを、前記管理・認証データベースを参照することにより判別するステップと、
前記ユーザが監査者である場合は、監査ログへのアクセスを許可し、前記ユーザが監査者以外である場合は、監査ログへのアクセスを制限又は禁止するステップと、を有することを特徴とする
請求項１又は２に記載の監査ログの出力及び管理方法。
【請求項４】
前記管理・認証サーバがさらに、
起動時から停止時までの間、１操作毎の監査ログの出力サイズを可変とし、監査ログを１操作毎ではなく特定のサイズの暗号化単位毎に暗号化するステップ を有することを特徴とする
請求項１〜３のいずれかに記載の監査ログの出力及び管理方法。
【請求項５】
前記管理・認証サーバがさらに、
起動時のログ、停止時のログ、及び、監査ログの出力先ファイル名の変更時のログを、ストリームファイルとして記録するステップを有することを特徴とする
請求項１〜４のいずれかに記載の監査ログの出力及び管理方法。
【請求項６】
管理者、監査者又は一般ユーザであるユーザの認証情報とユーザ権限を対応づけて格納した管理・認証データベースを備えた管理・認証サーバと、前記ユーザが前記管理・認証サーバにアクセスするためのクライアントとがネットワークにより接続されたサーバクライアントシステムにおける監査のために、前記ユーザによる操作履歴を監査ログに出力し管理する、監査ログの出力及び管理システムであって、前記管理・認証サーバが、
前記クライアントから前記管理・認証サーバにアクセスしたユーザが管理者であるか否かを、前記管理・認証データベースの認証情報を参照することにより判別する手段と、
前記アクセスしたユーザが管理者である場合は、その管理者が前記管理・認証データベースの更新を行うために操作した実行コマンドを監査ログにファイルとして出力し、出力が成功したか否かを判断する手段と、
前記実行コマンドの監査ログへの出力が成功した場合にのみ、前記実行コマンドによる前記管理・認証データベースの更新を実行する手段と、を有することを特徴とする
監査ログの出力及び管理システム。
【請求項７】
前記管理・認証サーバがさらに、
前記管理・認証データベースの更新を実行した後、更新結果を監査ログにファイルとして出力し、出力が成功したか否かを判断する手段と、
前記更新結果の監査ログへの出力に失敗した場合は、前記管理・認証データベースの更新を無効とする手段と、を有することを特徴とする
請求項６に記載の監査ログの出力及び管理システム。
【請求項８】
前記管理・認証サーバがさらに、
前記クライアントから前記管理・認証サーバにアクセスしたユーザの操作対象ファイルが、監査ログであるか否かを判別する手段と、
前記操作対象が監査ログである場合、前記アクセスしたユーザが監査者であるか否かをを、前記管理・認証データベースを参照することにより判別する手段と、
前記ユーザが監査者である場合は、監査ログへのアクセスを許可し、前記ユーザが監査者以外である場合は、監査ログへのアクセスを制限又は禁止する手段と、を有することを特徴とする
請求項６又は７に記載の監査ログの出力及び管理システム。
【請求項９】
前記管理・認証サーバがさらに、
起動時から停止時までの間、１操作毎の監査ログの出力サイズを可変とし、監査ログを１操作毎ではなく特定のサイズの暗号化単位毎に暗号化する手段を有することを特徴とする
請求項６〜８のいずれかに記載の監査ログの出力及び管理システム。
【請求項１０】
前記管理・認証サーバがさらに、
起動時のログ、停止時のログ、及び、監査ログの出力先ファイル名の変更時のログを、ストリームファイルとして記録する手段を有することを特徴とする
請求項６〜９のいずれかに記載の監査ログの出力及び管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザを管理、認証するサーバクライアントシステムにおいて、ユーザ管理全般を行う管理者の権限と、その操作を監査する監査者の権限とを完全に分離する技術に関する。
【背景技術】
【０００２】
従来、サーバクライアントシステムにおいて、ユーザを管理し、認証する管理・認証サーバデータベース（以下、「管理・認証ＤＢ」という）では、管理者にすべての権限が集中していたため、管理者は全ての操作が可能であった。このようなシステムでは、管理者が不正を行わないことが前提としてシステム構築がなされており、管理者はログを削除、改竄することが可能なため、管理者が不正を行った場合にはその追跡が不可能であった。
【０００３】
このような管理者の不正を防ぐ手段として、管理者の操作履歴を取得する技術が考えられている。
例えば、特許文献１では、ユーザ管理情報データベースと監査ログ情報データベースをそれぞれに構築することにより、管理者のユーザ管理情報データベース操作に対するログを監査ログ情報データベースに保存して、監査ログ情報データベースに対するアクセスを制御する方法が開示されている。
【０００４】
【特許文献１】特開２００５−１１０５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の技術では、管理者アクセスに対する監査ログを取得することは出来るが、管理部と監査部とが独立して、監査部が稼働していない場合には監査ログが取得できない。すなわち、管理者がデータベース操作を実行した場合に、監査ログが確実に取れることを保証していないという問題点があった。
また、上記方法ではデータベースを複数作成することになるため、システム負荷が増大し、監査者にもデータベース知識が必要となるという問題点があった。
【０００６】
上記問題点に鑑み、本発明は、サーバクライアントシステムにおける管理者権限と監査者権限との完全な分離を実現する監査ログの出力方法を提供することを課題とする。
また、上記監査ログの出力方法を用いることにより、システム構築を簡略化し、負荷を低減するサーバクライアントシステムを提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、以下の方法及びシステムを提供する。
（１）本発明による監査ログの管理方法は、管理者、監査者又は一般ユーザであるユーザの認証情報とユーザ権限を対応づけて格納した管理・認証データベースを備えた管理・認証サーバと、前記ユーザが前記管理・認証サーバにアクセスするためのクライアントとがネットワークにより接続されたサーバクライアントシステムにおける監査のために、前記ユーザによる操作履歴を監査ログに出力し管理する、監査ログの出力及び管理方法であって、前記管理・認証サーバが、前記クライアントから前記管理・認証サーバにアクセスしたユーザが管理者であるか否かを、前記管理・認証データベースの認証情報を参照することにより判別するステップと、前記アクセスしたユーザが管理者である場合は、その管理者が前記管理・認証データベースの更新を行うために操作した実行コマンドを監査ログにファイルとして出力し、出力が成功したか否かを判断するステップと、前記実行コマンドの監査ログへの出力が成功した場合にのみ、前記実行コマンドによる前記管理・認証データベースの更新を実行するステップと、を有することを特徴とする。
（２）上記方法において、前記管理・認証サーバがさらに、前記管理・認証データベースの更新を実行するステップの後、更新結果を監査ログにファイルとして出力し、出力が成功したか否かを判断するステップと、前記更新結果の監査ログへの出力に失敗した場合は、前記管理・認証データベースの更新を無効とするステップと、を有することが、好適である。
（３）上記方法において、前記管理・認証サーバがさらに、前記クライアントから前記管理・認証サーバにアクセスしたユーザの操作対象ファイルが、監査ログであるか否かを判別するステップと、前記操作対象が監査ログである場合、前記アクセスしたユーザが監査者であるか否かをを、前記管理・認証データベースを参照することにより判別するステップと、前記ユーザが監査者である場合は、監査ログへのアクセスを許可し、前記ユーザが監査者以外である場合は、監査ログへのアクセスを制限又は禁止するステップと、を有することが、好適である。
（４）上記方法において、前記管理・認証サーバがさらに、起動時から停止時までの間、１操作毎の監査ログの出力サイズを可変とし、監査ログを１操作毎ではなく特定のサイズの暗号化単位毎に暗号化するステップ を有することが、好適である。
（５）上記方法において、前記管理・認証サーバがさらに、起動時のログ、停止時のログ、及び、監査ログの出力先ファイル名の変更時のログを、ストリームファイルとして記録するステップを有することが、好適である。
（６）本発明による監査ログの管理システムは、管理者、監査者又は一般ユーザであるユーザの認証情報とユーザ権限を対応づけて格納した管理・認証データベースを備えた管理・認証サーバと、前記ユーザが前記管理・認証サーバにアクセスするためのクライアントとがネットワークにより接続されたサーバクライアントシステムにおける監査のために、前記ユーザによる操作履歴を監査ログに出力し管理する、監査ログの出力及び管理システムであって、前記管理・認証サーバが、前記クライアントから前記管理・認証サーバにアクセスしたユーザが管理者であるか否かを、前記管理・認証データベースの認証情報を参照することにより判別する手段と、前記アクセスしたユーザが管理者である場合は、その管理者が前記管理・認証データベースの更新を行うために操作した実行コマンドを監査ログにファイルとして出力し、出力が成功したか否かを判断する手段と、前記実行コマンドの監査ログへの出力が成功した場合にのみ、前記実行コマンドによる前記管理・認証データベースの更新を実行する手段と、を有することを特徴とする。
（７）上記システムにおいて、前記管理・認証サーバがさらに、前記管理・認証データベースの更新を実行した後、更新結果を監査ログにファイルとして出力し、出力が成功したか否かを判断する手段と、前記更新結果の監査ログへの出力に失敗した場合は、前記管理・認証データベースの更新を無効とする手段と、を有することが、好適である。
（８）上記システムにおいて、前記管理・認証サーバがさらに、前記クライアントから前記管理・認証サーバにアクセスしたユーザの操作対象ファイルが、監査ログであるか否かを判別する手段と、前記操作対象が監査ログである場合、前記アクセスしたユーザが監査者であるか否かをを、前記管理・認証データベースを参照することにより判別する手段と、前記ユーザが監査者である場合は、監査ログへのアクセスを許可し、前記ユーザが監査者以外である場合は、監査ログへのアクセスを制限又は禁止する手段と、を有することが、好適である。
（９）上記システムにおいて、前記管理・認証サーバがさらに、起動時から停止時までの間、１操作毎の監査ログの出力サイズを可変とし、監査ログを１操作毎ではなく特定のサイズの暗号化単位毎に暗号化する手段を有することが、好適である。
（１０）上記システムにおいて、前記管理・認証サーバがさらに、起動時のログ、停止時のログ、及び、監査ログの出力先ファイル名の変更時のログを、ストリームファイルとして記録する手段を有することが、好適である。
【発明の効果】
【００１５】
本発明により、サーバクライアントシステムにおける管理者権限と監査者権限との完全な分離を実現し、管理者による不正を禁止、抑制する監査ログの出力方法を提供することができる。
また、上記監査ログの出力方法を用いることにより、システム構築を簡略化し、負荷を低減するサーバクライアントシステムを提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下に、本発明を実施するための最良の形態を図面に基づいて説明する。
【００１７】
図１は、本発明に係るサーバクライアントシステムの概略構成図である。
図１に示すように、管理・認証サーバ１０１は各ユーザの認証情報をもつ管理・認証データベース１０２（以下、「ＤＢ」ともいう）、監査ログ１０６へのアクセスを制御して監査者以外による閲覧・変更を禁止するフィルタドライバ１０３、管理者操作ログ・アクセスログ１０５や監査ログ１０６を出力するファイルシステム１０４を備え、さらに、インターネット等のネットワークを介してクライアント１０７が接続されている。
【００１８】
図２は、管理・認証サーバの処理フローを示すフローチャートである。以下に管理・認証サーバの処理フローをフローチャートに基づいて説明する。
最初に、操作する者を判別する（ステップ２０１）。操作する者が、管理者かユーザかにより操作ログの出力が異なるからである。なお、監査者は通常は管理・認証サーバにおける操作を禁止され、操作が許される場合にも一般ユーザとしての操作のみが許される。監査者に管理者権限を持たせないためである。
管理者操作の場合は、次に、管理者の実行コマンドを監査ログ１０６に出力して、結果が成功したかどうかを判別する（ステップ２０２）。管理者がユーザ作成、削除等の操作を実行した場合は、まずその履歴を監査ログ１０６に出力するからである。
次に、出力が成功した場合は、管理者操作として管理・認証ＤＢ１０２に更新する（ステップ２０３）。ディスク容量不足等により出力に失敗した場合は、管理者操作としてのＤＢ更新自体は実行せず、操作失敗として管理者操作ログ・アクセスログ１０５に操作内容を出力した上で（ステップ２０６）、管理者に処理を戻す。監査ログ１０６に出力できない状態での管理者操作を禁止するためである。
【００１９】
次に、ステップ２０３で管理・認証ＤＢ１０２の更新結果の監査ログ１０６への出力が成功したかどうかを判断する（ステップ２０４）。
次に、更新結果の出力に失敗した場合は、管理・認証ＤＢ１０２をロールバックし（ステップ２０５）、管理者操作履歴を管理者操作ログ・アクセスログ１０５に出力する（ステップ２０６）。監査ログ１０６に出力できない状態で行われたＤＢ更新を無効にするためである。このように、監査ログ１０６に出力できない状態での管理者操作を禁止又は無効にすることにより、不正な管理者操作を監査ログ１０６に残さないで行うことを防止することができる。
次に、更新結果の出力に成功した場合は、そのまま管理者操作履歴を管理者操作ログ・アクセスログ１０５に出力する（ステップ２０６）。
また、一般のユーザの認証に対しては、適時、管理・認証ＤＢ１０２を参照（ステップ２０７）して、ユーザのアクセスログを出力する（ステップ２０８）。
【００２０】
図３は、フィルタドライバの処理フローを示すフローチャートである。監査ログへのアクセスを選別し、監査者以外による閲覧、変更を禁止するためのフィルターの処理フローである。
まず、操作対象出力ファイルが監査ログ１０６かどうかを判別する（ステップ３０１）。
次に、操作者の権限により処理を振り分ける（ステップ３０２）。監査者、管理者、それ以外に振り分ける。
次に、管理者からのアクセスであった場合は、さらにアクセス手段である操作を実行したプログラムを確認する（ステップ３０３）。
次に、管理プログラムを通したアクセスであれば許可し（ステップ３０４）、それ以外のモジュール（エクスプローラ等）からのアクセスであれば禁止する（ステップ３０５）。
【００２１】
表１は、ユーザ権限と許可する操作を示す表である。
【００２２】
【表１】
0004675737.tif 000002
【００２３】
表１に示すように、本システムで想定するユーザの権限と、その各ユーザに許可する操作をまとめたものである。ステップ３０２に記載した振り分けは、管理者、監査者及び一般のユーザの三者に対して行われ、この振り分けに基づいて各々が許可された操作を行うことが出来る。管理者は、監査者に許可された操作以外のすべてであり、ユーザ追加、削除、及び、ユーザ毎のユーザ権限割り当て等による管理・認証ＤＢ１０２の更新である。監査者は、管理・承認サーバのプログラムにおいて表１に示すコマンドを実行することが出来る。一般ユーザは、ユーザ認証による管理・認証ＤＢ１０２の参照のみ可能であり、更新は禁止されている。
【００２４】
表２は、システム稼働時の監査ログへのアクセス権限を示す表である。
【００２５】
【表２】
0004675737.tif 000003
【００２６】
表２に示すように、読み込み、書き込み及び削除の監査ログへの各アクセスの形態に基づいて、上記三者の権限を表にしたものである。監査者以外は、監査ログへのアクセスは禁止されている。但し、管理者が管理サーバのプログラムを通した場合は、書き込みのみを許可している。
【００２７】
図４は、監査ログの出力形式の概略図である。監査ログは暗号化することにより、システム稼動時に監査者のみが閲覧できるものとする。暗号化単位は特定のサイズ(Size)毎とし、1操作ログごとには復号できないものとする。システム起動、即ち、フィルタドライバの起動時にドライバ開始時ログＳを出力し、システム停止、即ち、フィルタドライバの停止時にドライバ停止ログEを出力する。ドライバ開始時ログS、ドライバ停止ログE、および各種管理者操作実行履歴ログＸ（実行ログ１：例えばユーザ追加）、Ｙ（実行ログ２：例えばユーザ削除）、Ｚ（実行ログ３：例えばユーザアクセス権追加）は、暗号化単位のサイズを一定にしないようにするために、ランダムなサイズのログR(tn)を付加する。これにより、本システムの未稼働時に、特定の操作ログのサイズを知ることは不可能となり、過去の特定の1操作ログをコピー、貼り付けすることによる改竄を防ぐことができる。
【００２８】
図５は、ストリームファイルへの出力の概略図である。ストリームファイルは、時間的連続性を有するシステムの稼働履歴を記録したファイルである。ストリームファイルが削除されることのないものであるルートディレクトリ（c:\）に対して付加（c:\:StreamFile）することで、意図的あるいは誤操作による削除を防ぐ。また、ストリームファイルは、通常、その存在自体がわからないものであるため、不正な編集を防ぐことが可能である。図５に示すように、ストリームファイルには、システム起動、停止時、及び、監査ログの出力先ファイル名が変わるときに、ファイル名（Ｆ１〜Ｆ３）、ファイルサイズ（Ｓ１〜Ｓ５）、時刻（Ｔ１〜Ｔ６）を書き込む。ストリームファイルには実際に存在する（退避、削除されていない）監査ログファイル名が記載されており、監査ログとして存在しない場合は不正削除されたものと判断することができる。ストリームファイル上、同一ファイル名の場合は、サイズが増大（システム停止、起動の場合は等しい）するため、ファイル内の一部を削除された場合はこの値から削除されたことを判断できる。
【００２９】
表３は、本発明のサーバクライアントシステム未稼働時の監査ログ削除、改竄への対応をまとめたものである。
【００３０】
【表３】
0004675737.tif 000004
【００３１】
表３に示すように、管理者が不正に監査ログを読み込み、書き込み、改竄及び削除した場合でも、本発明による対応により、管理者の不正を未然に防止し、又は、容易に発見することが出来るようになる。
【００３２】
以上により、監査ログの出力先をファイルとし、監査ログ出力が不可能な状態においては、管理・認証ＤＢの更新を行わないこととし、さらに、フィルタドライバにより、監査ログへのアクセスを制御し、監査者以外による閲覧、変更を禁止して、管理者の権限と監査者との権限を完全に分離することが出来る。
【図面の簡単な説明】
【００３３】
【図１】本発明に係るサーバクライアントシステムの概略構成図である。
【図２】管理サーバの処理フローを示すフローチャートである。
【図３】フィルタドライバの処理フローを示すフローチャートである。
【図４】監査ログの出力形式の概略図である。
【図５】ストリームファイルへの出力の概略図である。
【符号の説明】
【００３４】
１００  サーバクライアントシステム
１０１  管理・認証サーバ
１０２  管理・認証ＤＢ
１０３  フィルタドライバ
１０４  ファイルシステム
１０５  管理者操作ログ・アクセスログ
１０６  監査ログ
１０７  クライアント
【図１】
0004675737.tif 000005
【図２】
0004675737.tif 000006
【図３】
0004675737.tif 000007
【図４】
0004675737.tif 000008
【図５】
0004675737.tif 000009