ネットワークと連携したデータベースシステムでは、多数のユーザに多様な情報を提供することが可能です。これにともなって、悪意をもったユーザによる不当なデータの更新といったセキュリティ犯罪の脅威が、大きな問題となっています。
Symfoware/RDBでは、利用者に対する権限付与の制御による機密保護レベルのセキュリティ運用を行います。これにより、データベースに対する脅威から、データベースのデータを守ることを実現しています。
管理者の権限濫用、利用者のデータベースへの不正アクセスなどの脅威に対抗するための機能です。管理者や利用者の処理を追跡するための情報を監査ログとして監査ログデータベースに保持します。
管理者は、監査ログを定期的に参照および監視することによってシステムがなんらかの攻撃を受けている、または利用者が誤ったオペレーションを行っているためにシステムの資源が枯渇しかかっている、といった事象を検知し、適切な対応を行うことによってシステムダウンやその他の不健全な状態に陥ることを防止することができます。
図1.2 監査ログの取得
監査ログとは、日常の管理者および利用者の監視やセキュリティ上の問題が発生した場合の原因を特定するため、利用者の行った処理、管理者の行った処理および発生した異常な事象をログとして残すものです。
監査ログを格納する表を監査ログ表と呼びます。監査ログ表は、通常の表と同様にSQL文でアクセスすることができます。
監査ログ表は、複数のDSIに分割されています。この監査ログ表のDSIを監査ログエレメント(または略してエレメント)と呼びます。監査ログを格納するデータベースを監査ログデータベースと呼びます。
監査ログ制御機能には、以下があります。
注意
監査ログデータベースに接続して、以下のSQL文は実行できません。
データベース定義文
データベース操作文
スキーマ定義文
スキーマ操作文
格納構造定義文
格納構造操作文
利用者制御文
アクセス制御文
システム制御文
監査ログに取得する情報は、以下の6つです。
アプリケーション実行に関する情報
資源アクセスに関する情報
管理者によるシステムの保守および運用に関する情報
システムが検出した異常事象に関する情報およびRDBシステムの運用に関する重要な情報
SQL文に関する情報
SQL文の入力データに関する情報
それぞれに対して、誰が行ったか、いつ実行したか、処理の内容は何か、処理は成功したか否か、などの情報を取得します。
監査ログの取得情報の詳細については、“10.1 監査ログの取得情報”を参照してください。
管理者は、監査ログに取得する情報と、監査ログを取得する利用者を選択できます。
監査ログの取得情報の選択は、SET SYSTEM PARAMETER文を使って監査ログパラメタをチューニングすることで行います。
参照
監査ログパラメタのチューニングの詳細については、“セットアップガイド”の“監査ログの取得範囲の選択”を参照してください。
監査ログに取得した情報は、表の形式で監査ログデータベースに格納されます。監査ログ表は、システム表と同様に、SQL文を実行することによって参照することができます。監査ログ表は、取得する情報の意味により6つのビュー表で構成されていますが、レコード自体は1つの実表として格納されています。
また、監査ログ表は退避データをテキスト形式で参照することや、退避データを表にリカバリしてSQL文を用いて参照することもできます。
監査ログの参照の詳細については、“10.4 監査ログの参照”を参照してください。
監査ログは、監査ログデータベースに格納されますので、Symfoware Serverでは1つのデータベースとして扱います。そのため、管理者による運用および保守作業が発生します。
監査ログデータベースの運用および保守作業には、以下があります。
監査ログデータベースの保守および管理
監査ログデータベースの変更
監査ログデータベースの異常時の運用
監査ログデータベースの保守および管理の詳細については、“7.12 監査ログの保守および管理”を参照してください。
監査ログデータベースの変更については、“9.8 監査ログデータベースの容量拡張”を参照してください。
監査ログデータベースの異常時の運用については、“11.11 監査ログデータベースのリカバリ”を参照してください。
注意
なんらかの異常が発生して監査ログデータベースが利用できない場合にRDBコマンドなどを実行すると、メッセージがイベントログおよびメッセージログファイルに出力されます。これは、監査ログデータベースに格納できないRDBシステムの運用ログをイベントログおよびメッセージログの形式で残すことを目的としています。