DB監査ツールの三大機能は,「記録」「警告」「集計・レポート」である。記録する情報に抜けがないか,きめ細かいか,使いやすいか,などが選択のポイントとなる。ポリシー違反の抑止力向上に生かすなど,導入効果を高める工夫も有効だ。(実森 仁志=日経SYSTEMS

 「個人情報保護法」と「日本版SOX法」。これらの法律に適応するには,データベース(DB)へのアクセス制御を厳格化すると同時に,アクセス記録を証跡として残す必要に迫られる。こうした背景から,「DB監査ツール」の注目度が一気に高まった。

 単にDBへのアクセスを記録するだけであれば,商用DBMSの多くが搭載する「監査機能」を使えば済む。それでも現場担当者はDB監査ツールを導入している。あるユーザー企業の情報システム子会社は,「DBMSの監査機能だけでは記録しかできない。違反を見つけて警告するとか,状況をレポートするといった機能がない。実用性に乏しいと判断した」と導入の理由を語る。

「知る」---三つの機能によりDBMSの監査機能を補完

 DB監査ツールは,ソフトウエアか,ソフトウエアを搭載したアプライアンスとして提供される。提供形態に関係なく,DB監査ツールの多くは,「記録」「警告」「集計・レポート」という三大機能を備える(図1)。

図1●DB監査ツールはDBMSが備える監査機能を補完する
図1●DB監査ツールはDBMSが備える監査機能を補完する
主要な商用DBMSが搭載する監査機能では,一部の操作ログを記録できない場合があり,設定も難しい。DB監査ツールを使うと,操作内容や操作対象をきめ細かく容易に記録できる。また,記録した内容から不正な操作を監視して警告したり,月次や週次で記録内容を集計してレポートしたりすることが可能になる
[画像のクリックで拡大表示]

 記録機能とは,誰が,いつ,DBのどのオブジェクト(スキーマ,テーブル,カラム,トリガーなど)に,どんなアクセスを試みたかのログを残す機能である。製品によっては,DBMSの監査機能では取得できない情報(APサーバー経由でDBサーバーにアクセスする場合の,Webアプリケーション側のアカウント名など)を取得できる。

 警告機能とは,あらかじめ設定したポリシーに反するアクセスがあった際に,メールなどで監査担当者に知らせる機能である。一般に監査担当者はDB管理者とは別に任命する。こうすることで,DBの全権限を持つDB管理者によるポリシーに反するアクセスを抑止できる可能性が高まる。

 集計・レポート機能は,記録した監査ログを日次や月次で集計し,監査担当者にさまざまな切り口で提示する機能である。

DBサーバーへの負荷に大差

 DB監査ツールは,監査ログの取り方の違いから,(1)監査ログ利用型,(2)エージェント利用型,(3)パケット取得型---の3タイプに分類できる(図2)。タイプにより,収集できる情報に違いがあるほか,DBサーバーに与える負荷も大きく異なる。

図2●DBへのアクセス情報を取得する方式は3種類
図2●DBへのアクセス情報を取得する方式は3種類
(1)監査ログ利用型,(2)エージェント利用型,(3)パケット取得型,の3種類。最近は,(1)をメインに(2)をサポート,(3)をメインに(2)をサポート――といった複合型の製品が増えてきた
[画像のクリックで拡大表示]

 (1)の監査ログ利用型とは,DBMSが提供する監査機能を利用するタイプ。DBMSが生成した監査ログを定期的にDB監査サーバーに集め,DB監査サーバーで警告したり,集計・レポートしたりする。DBMSの機能を利用するので全アクセス記録を収集可能である半面,3タイプのなかでDBサーバーに一番大きな負荷を与える。DBMSの監査機能はアクセスするたびにファイルなどにログを書き出す仕組みだからである。

 監査ログ利用型の製品を導入する場合には,処理能力とディスク容量の両面でDBサーバーのキャパシティ設計が欠かせない。

 (2)のエージェント利用型は,監査対象のDBサーバーに専用プログラム(=エージェント)をインストールし,この専用プログラムからDB監査サーバーにログを転送するタイプ。DBMSの監査機能を使わないので,DBサーバーに与える負荷は小さいが,取得できる監査ログには漏れが生じる場合がある。例えば,定期的にDBMSプロセスのメモリーをチェックする方法を採用する製品の場合,チェック周期の間に実行かつ終了したアクセスの記録は残らない。また,エージェントを導入する手間もかかる。

 最近では,(1)の監査ログ利用型や(3)のパケット取得型も,補助的にエージェント利用型を併用できる。例えば,監査ログ利用型によるDBサーバーの負荷上昇を抑えるために,オプションでエージェント利用型も選択できるといった具合だ。

 (3)のパケット取得型は,DBサーバーに送られるパケットを監視してアクセス情報を記録するタイプ。具体的には,LANスイッチのミラー・ポートなどを使いDBサーバーへのパケットをDB監査サーバーに転送するか,DBサーバーへのアクセス回線上にDB監査サーバーをインラインで配置する。この方式は,DBサーバーに与える負荷が発生せず,稼働しているDBサーバーの構成変更が不要なために導入が容易というメリットがある。

 ただし,パケット取得型は,ネットワークを介さずにDBサーバー上で直接実行した操作の記録はまったく残せないことがデメリットだ。一方,このデメリットを解消するために(2)のエージェント利用型を併用できるようにした製品もある。