目次


InfoSphere Guardium アーキテクチャー

Guardium コレクターおよび S-TAP の「機能とアーキテクチャー」

Comments

はじめに

IBM InfoSphere Guardium (以下 Guardium) は、監視対象システムに殆ど負荷を掛ける事無く、DBA を含む全てのユーザーのデータベースへのアクセスを監視することが出来ます。さらに、様々なデータベースの監査ログを一元管理し、豊富な形式を用いて監査レポートの作成を行います。

この記事では、Guardium のコンポーネントと機能に関して説明した後に、詳細なアーキテクチャーに関して説明します。

Guardium のコンポーネント

Guardium は、ソフトウェア・アプライアンスとして提供されるサーバー・モジュールと、データベース・サーバーにインストールしてデータの収集を行うクライアント・モジュールで構成されます。サーバー・モジュールはコレクターと呼ばれ、クライアント・モジュールは S-TAP と呼ばれます。データベース・アクティビティを取得するための最小構成を図 1 に示します。

図 1. Guardium データベース・アクティビティ取得のための最小構成
Guardium データベース・アクティビティ取得のための最小構成
Guardium データベース・アクティビティ取得のための最小構成

ユーザーが Web ブラウザを利用して、監視する SQL アクティビティや記録するログの粒度を規定する監視ポリシーを作成します。Guardium ではこの設定をセキュリティ・ポリシー (あるいは単にポリシー) と呼びます。スニファーはセキュリティ・ポリシーに従い、S-TAP が送信してくるアクティビティ・ログを解析し、内部のデータベースに保管します。保管されたログを元にレポートを作成し、記録されたアクティビティを確認することができます。

コレクター

Web モジュール

コレクターは、Web ベースの GUI を提供します。GUI は Web ブラウザより、URL として "https://hostname:8443" を入力して利用します。Web ブラウザを利用してコレクターにログインすると、図 2 のような画面が表示されます。現在の監視状況の表示や、セキュリティ・ポリシーの作成、レポートの作成及び表示等の各種操作を行うことができます。

図 2. Web インターフェース (接続状況の表示)
Web インターフェース (接続状況の表示)
Web インターフェース (接続状況の表示)

スニファー

SQL 文の解析等の非常に負荷がかかる処理を行います。スニファーは S-TAP から情報を受け取るだけでなく、監視する必要のないアクティビティを S-TAP に通知し、無駄なデータの監視や情報の送信を抑制することも出来ます。

セキュリティ・ポリシー

Guardium には複数のセキュリティ・ポリシーを適用することができます。例えば、すべてのデータベースに適用する共通ポリシーと各データベース用に作成した複数の個別ポリシーを同時に適用することができます。

セキュリティ・ポリシーは、複数のポリシー・ルール (もしくは単にルール) を持ちます。ポリシー・ルールとは、条件とその条件に合致した場合に実行されるアクションを定義したものです。例えば、あるデータベースに管理ユーザーが接続した場合には、実行されたすべての SQL (例えば SELECT や UPDATE) をパラメータ付きで記録し DBA にメールを送信する、といったルールになります。

ルールの種類と内容については以下の表 1 を参照してください。

表 1. ポリシー・ルールと内容
アクセス・ルールSELECT や UPDATE など、クライアントから発行されるコマンドに対して適用されるルール
例外ルールログインの失敗や SQL エラーなど、サーバーから返されるエラーに対して適用されるルール
抽出ルールSELECT の結果など、サーバーから返される値に対して適用されるルール

レポート

レポートとは、コレクターに保管されているアクティビティ・ログを表示するものです。コレクターは事前に定義された様々な形式のレポートを持っています。ユーザーはこれらを直接利用することも出来ますし、事前に定義されたレポートをベースに必要な情報を表示する独自のレポートを作成することも出来ます。レポートの作成方法については「InfoSphere Guardium によるデータベースの監視を開始する」を参照してください。

S-TAP

データベース・サーバーにインストールしてデータの取得を行う S-TAP は、データベース・サーバーの共有メモリやネットワーク・レイヤーを常時監視して、システム上のすべてのデータベース・アクティビティを取得します。データベース・サーバー上に DB2 と Oracle の複数のデータベースが稼動している場合でも、一つの S-TAP モジュールで全てのデータベースのアクティビティを取得可能で、既存のアプリケーションやデータベースの設定変更は必要ありません。

S-TAP のアーキテクチャー

S-TAP は OS 毎に異なるアーキテクチャーであり、様々な方法でデータベース・アクティビティを収集し、コレクターに収集したデータを送信します。収集するメカニズムとして、Linux の例として A-TAP と K-TAP を紹介します。アーキテクチャーに関しては以下の図 3 を参照してください。

図 3. Linux の S-TAP アーキテクチャー
Linux の S-TAP アーキテクチャー
Linux の S-TAP アーキテクチャー

A-TAP は共有メモリ接続やデータベースによる暗号化接続を監視します。A-TAP は直接 S-TAP にデータを送らず、K-TAP に送信します。このため、K-TAP を利用しない場合は A-TAP を利用することができません。

K-TAP は OS にインストールされるカーネル・モジュールで、データベース・サーバーとクライアントの通信をフックしてネットワーク経由でのアクセスを監視します。K-TAP が取得したデータは S-TAP に送られます。

S-TAP は収集したデータをコレクターに送信します。データの解析はコレクターのスニファーで行われるため、S-TAP はデータベース・システムに殆ど負荷をかけません。コレクターと S-TAP の間の通信は、パフォーマンス負荷を考慮してデフォルトでは平文で通信が行われますが、TLS (SSL) 通信を行うことも可能です。

負荷分散・高可用性

ネットワーク障害やコレクターのサーバー・ダウンなどの理由で S-TAP が取得した情報を送信できない場合には、S-TAP はバッファにデータを蓄えます。S-TAP はバッファを使い切ると、新しいデータを上書きするため、上書きされたデータは失われます。これを防ぐために、複数のコレクターを S-TAP のデータ送信先として構成することができます。

Guardium のフェイルオーバー・サーバーは特別なサーバーではなく、通常のコレクターと変わりません。S-TAP の構成ファイルに、複数のコレクターを登録し、送信方法を記述することで、アクティビティ・ログの送信先が決定されます。現在、以下の送信方法がサポートされています。

  1. 単一のコレクターにすべてのログを送信
    コレクターがダウンしているときにのみ別のコレクターにログを送信します。フェイルオーバー構成として利用します。
  2. 登録したコレクターにログを分散して送信
    セッション毎に別のコレクターにログを送信します。負荷分散としても利用できます。
  3. 登録したすべてのコレクターに同一のログを送信
    登録したすべてのコレクターにログを送信します。すべてのコレクターが同一の情報を持つミラー構成となります。
  4. IP ロードバランサーに送信
    IP ロードバランサーに送信して、IP ロードバランサーが負荷分散を行います。現在は Windows でのみ利用可能です。

S-TAP がコレクターにデータを送信する方式を図 4 に示します。

図 4. S-TAP データ送信方式
S-TAP データ送信方式
S-TAP データ送信方式

なお、分散して保管したログの統合は、コレクター間では行われません。ログの統合を行うためには、アグリゲーターと呼ばれる Guardium アプライアンスが必要となります。アグリゲーターは S-TAP からアクティビティ・ログを取得するのではなく、コレクターからアクティビティ・ログを定期的に取得し統合します。ユーザーはアグリゲーターに接続して統括的なレポートを確認することができます。

まとめ

この記事では、データベース・アクティビティ取得機能を中心に Guardium のアーキテクチャーと機能に関して説明しました。Guardium はユーザーが設定したセキュリティ・ポリシーに従い、S-TAP でアクティビティを取得します。コレクターでデータの解析や保管を行うため、データベース・サーバーへ負荷を殆どかけずに監視を実行することができます。また、複数台のコレクターアプライアンスを用いて負荷分散・高可用性をサポートし、データベース・アクティビティの取得に際してデータベースの設定変更は必要ありません。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=780405
ArticleTitle=InfoSphere Guardium アーキテクチャー
publish-date=12162011