IBM InfoSphere Guardiumを使用し、IBM DB2 for iのデータベース・アクティビティーのモニタリングと監査を行う方法

コンプライアンスを実現し、改ざんできない監査証跡を作成するには

IBM InfoSphere Guardiumは全社的な情報の監査と保護を行うソリューションであり、本ソリューションを活用することによってさまざまな種類のリレーショナルなデータソースと非リレーショナルなデータソース(Oracle、Teradata、IMS、VSAM、Microsoft SharePoint、IBM Netezza、IBM DB2 for z/OS、および IBM DB2 for Linux, UNIX and Windows を含む)に含まれる情報の保護と監査を行うことができます。InfoSphere Guardium バージョン 9.0 の提供によって DB2 for i もデータソースに含まれるようになり、製品に標準で提供されるインターフェースと SQL を通じてアクセスをモニタリングできるようになりました。本記事は InfoSphere Guardium アーキテクチャーの簡単な概要、アクセスの設定方法(パフォーマンスを改善するためのベストプラクティスを含む)、およびデータ・アクティビティー・レポートへのアクセス方法について説明します。

Kathryn Zeidenstein, InfoSphere Guardium Evangelist, IBM

Photo of Kathryn ZeidensteinKathy Zeidenstein は長年にわたって IBM に勤務しています。現在は、IBM のシリコンバレー研究所で InfoSphere Guardium によるデータ・アクティビティーのモニタリング機能をユーザーに対して啓蒙する業務を担当しています。以前は InfoSphere Optim(データ・ライフサイクル管理ツール)の製品マネージャーを務めていました。IBM 社内の Information Management 製品と ECM 製品の担当部門で、技術情報の提供業務、製品管理業務、製品マーケティング業務を担当した経験があります。



Mark J. Anderson, Chief Architect DB2 for i, IBM China

mark_andersonMark Anderson は IBM ディスティングイッシュト・エンジニアであり、DB2 for i のチーフ・アーキテクトを務め、DB2 for i のアーキテクチャー、設計、および実装を主に担当しています。これまでのキャリア全体を通じてデータベース・テクノロジーに関する業務を行ってきた Mark は、AS/400 上に初めて SQL を実装することに成功した責任者でもあり、本件に関して社内で表彰を受けました。Mark は IBM の SQL 言語評議会(IBM における新規の SQL 対応機能を設定し、ISO と ANSI による SQL 基準への協力を行う社内組織)のメンバーでもあります。



2013年 10月 17日

はじめに

InfoSphere Guardium は全社的な情報を管理するデータベースの監査と保護を行うソリューションであり、本ソリューションを活用することによって、Oracle、Teradata、IMS、VSAM、Microsoft SharePoint、IBM Netezza、および DB2 for z/OS and DB2 for Linux, UNIX and Windows を含むさまざまなリレーショナルなデータソースと非リレーショナルなデータソースの情報を保護し、監査することができます。InfoSphere Guardium バージョン 9.0 の発売とともに DB2 for i もデータソースに含まれるようになり、製品に標準で提供されるインターフェースと SQL を通じてアクセスをモニタリングできるようになりました。

本記事は InfoSphere Guardium アーキテクチャーの簡単な概要、アクセスの設定方法(パフォーマンスを改善するためのベストプラクティスを含む)、およびデータ・アクティビティー・レポートへのアクセス方法について説明します。

InfoSphere Guardium の概要について

IBM InfoSphere Guardium ソリューションについては、データ・セキュリティー・プラクティスの自動化と監査をより効果的に行いたいお客様のニーズに対応するために、これまでさまざまな機能強化が行われています。InfoSphere Guardium は、データベース・サーバー(もしくはファイル・シェアや Microsoft SharePoint)上にインストールした軽量なソフトウェア・プローブ(図 1 を参照)経由で継続的にデータベース・トランザクションをモニタリングします。これらのプローブ(ソフトウェア・タップの意味で「S-TAP」と呼ばれる)は、あらゆるデータベース・トランザクション(特権ユーザーのトランザクションを含む)をモニタリングします。S-TAP を導入するにあたって、データベースやアプリケーションに変更を加える必要は一切ありません。

プローブはネットワーク上の堅牢なコレクターにトランザクションを転送し、コレクターでトランザクションが事前に設定したポリシーと比較され、ポリシー違反がないか検証されます。アラートの発行などさまざまなポリシーに基づくアクションを実行でき、一部のデータベースについてはリアルタイムでトランザクションをブロックすることができます。(DB2 for i のデータベース・アクティビティーのモニタリングでは、現時点ではトランザクションのブロックを行うことはできません。)

図 1. InfoSphere Guardium によるデータベース・アクティビティーのモニタリング
InfoSphere Guardium によるデータベース・アクティビティーのモニタリング

InfoSphere Guardium は幅広い種類のシステムをサポートするため、非常に規模が大きく地理的に分散したインフラを実現することができます。

InfoSphere Guardium の基本的な機能を簡単に説明しました。参考文献セクションを参照することによって InfoSphere Guardium のより詳細な機能(機密データの検出に役立つデータ分類機能やインフラのソフトスポットの見極めを行うことができる脆弱性アセスメント機能など)を確認することができます。全てのデータソースに関して全ての機能が対応しているわけではありません。

新規に提供される機能について

InfoSphere Guardium が IBM i のアクティビティーをモニタリングする方法としては、以前から以下の 3 種類の方法がありました。

  • 監査ジャーナルのエントリー (QSYS/QAUDJRN) をインポートし、その後分析とレポーティングを行う。

    IBM i は監査ジャーナルをサポートすることによって監査可能なイベントに効率的に対応するものの、Guardium が他のデータベース製品をサポートする場合と比べて、監査エントリーに含まれる詳細データの量は非常に少なくなっています。例えば、QAUDJRN では SQL ステートメントと変数の値は監査対象とはなっていません。また、データのエクスポートとインポートが必要なため、リアルタイム・ソリューションとしては最適化されていません。

  • データベース・モニターのエントリーをインポートし、その後分析とレポーティングを行う。

    データベース・モニター (STRDBMON) を使用して SQL ステートメントをキャプチャーし、SQL ステートメントをデータベース・テーブルに書き込むことができます。その後、本テーブルを Guardium コレクターにインポートすることができます。この方法は SQL ステートメントや変数などをキャプチャーすることができるものの、データベース・モニターに対する本機能は主にパフォーマンス分析を行うことを目的としています。そのため、キャプチャーされるデータの大半はパフォーマンス分析のために重要なデータに限られ、ストレージ・リソースと処理リソースが大量に必要になります。また、本プロセスにはインポートが必要なため、リアルタイム・ソリューションとしては最適化されていませんでした。またこの方法では、データベース・オブジェクトへのネイティブ・アクセスはできません。

  • ネットワークをモニタリングし、SQL アクセスをキャプチャーする。

    本機能はネットワークを流れる SQL ステートメントをリアルタイムでキャプチャーすることができるものの、IBM i サーバー上で稼働するプログラム、プロシージャー、および関数に含まれる SQL ステートメントをモニタリングすることはできません。またこの方法では、データベース・オブジェクトへのネイティブ・アクセスはできません。

InfoSphere Guardium のバージョン 9.0 で新規に可能となった方法を活用すると、従来の方法では実現できなかった統合ソリューションを実現することができます。

  • あらゆる SQL アクセス(クライアントで起動したアクセスと IBM i サーバー上で起動したアクセスを含む)をキャプチャーし、監査することができます。
  • 監査ジャーナルでキャプチャーされたあらゆるネイティブ・アクセスをキャプチャーし、InfoSphere Guardium コレクターに送付することができます。
  • SQL アクセスとネイティブ・アクセスの両方をリアルタイムで InfoSphere Guardium コレクターに送付することができます。
  • 監査ジャーナルに含まれるより詳細な情報(SQL ステートメント、変数の値、クライアント独自のレジスター、インターフェース情報、TCP/IP アドレス、およびポート情報を含む)をキャプチャーできます。しかしながら従来のデータベース・モニタリングと異なり、セキュリティーの観点から重要なデータのみがキャプチャーされ、InfoSphere Guardium コレクターに送付されます。これによって、必要となるストレージの容量とリソースの使用を大きく削減することができます。
  • IBM i サーバー上でフィルタリングを設定することによって、監査人が必要とする情報のみをキャプチャーすることができます。例えば、特権ユーザーが実行する SQL アクセスやネイティブ・アクセスについて監査方法を簡単に設定することができます。
  • InfoSphere Guardium が収集するデータは IBM i サーバーのディスクに書き込みが行われることがないため、セキュアなログを維持することができます。

この新規の手法は、データベース・アクセスを監査することを主な目的としています。さまざまな非データベース・オブジェクトへのアクセスを監査したい場合は、IBM i が従来から提供する監査ジャーナルのエクスポート機能とインポート機能を活用することができます。


InfoSphere Guardium によるデータベース・アクティビティーのモニタリング機能を DB2 for i に対して適用する

上記で既に説明したとおり、InfoSphere Guardium バージョン 9.0 によるデータベース・アクティビティーのモニタリング機能は、以下をはじめとする DB2 for i に関するより詳細な監査情報を提供します。

  • セッションの開始時間と終了時間
  • オブジェクト名(テーブルやビューなど)
  • ユーザー
  • SQLSTATE
  • ジョブとジョブ番号
  • SQL ステートメントと変数
  • クライアント独自のレジスターの値
  • TCP/IP アドレスとポート情報
  • インターフェース情報(ODBC、ToolboxJDBC、ネイティブの JDBC、.NET など)

この情報を活用することによってアクティビティー・レポートを作成し、監査要件を満たし、不正なアクティビティーに関するアラートを生成できます。図 2 はシステムを使用する特定の 1 名のユーザーのデータベース・アクティビティーの一部を示したもので、サマリー・データと詳細データの両方が提供されます。ここで注目すべきことは InfoSphere Guardium のレポーティング基盤が非常に堅牢で、アラート生成機能と定期的に監査プロセスを繰り返し実行できる自動化機能を備えていることです。

図 2. SQL アクティビティー・レポートの例
SQL アクティビティー・レポートの例

InfoSphere Guardium の S-TAP を使用することによって、DB2 for i に関する SQL とネイティブ・データベースのアプリケーション・プログラミング・インターフェース (API) のトラフィックをモニタリングすることができます。この S-TAP コンフィギュレーションではその他のデータベースに対応する S-TAP と同様に、データベース・サーバー上のプロセッサーの使用率が低く、データベース・イベントがシステム環境でモニタリング対象となるその他のデータソースとともに InfoSphere Guardium コレクターに送付され、レポートとアラートが生成されます。

InfoSphere Guardium に送付される 2 種類のデータソースは以下のとおりです(図 3 を参照)。

  • SQL アプリケーションの SQL Performance Monitor(単に「データベース・モニター」とも呼ばれる)のデータ
  • 非 SQL インターフェースを使用するアプリケーションの監査エントリー (QSYS/QAUDJRN)

DB2 for i の S-TAP には、Portable Application Solutions Environment (PASE) が必要です。PASE は、*JOBCTL 権限(または QIBM_DB_SYSADM 機能の使用権限)を持つユーザーが InfoSphere Guardium のユーザー・インターフェースから DB2 for i の S-TAP を起動・中断する際に必要に応じて自動的に起動または中断することができます。

図 3. データベース・アクティビティーのモニタリングを行うための 2 種類のデータソース
データベース・アクティビティーのモニタリングを行うための 2 種類のデータソース

システム要件

本システムには、以下のコンポーネントが必要です。

  • IBM i 上に実装すべきコンポーネント
    • 少なくとも以下の DB2 for IBM i の PTF グループが必要です。
      • リリース 7.1 SF99701 レベル 18
      • リリース 6.1 SF99601 レベル 28
      • IBM i 6.1 の場合は、追加で PTF 5761SS1 SI48455 が必要です
    • DB2 for IBM i の PTF スケジュール(2012 年)を参照することで、DB2 for IBM i の PTF グループのスケジュールとコンポーネントの提供状況を確認することができます。
    • 無償提供される Portable Application Solutions Environment (PASE) for i のライセンス・プログラム (5722SS1-33) をオペレーティング・システムのコンポーネントとしてインストールすることができます。IBM i サーバー上に PASE がインストール済みであることを確認してください。インストールされていない場合は、DB2 for i のインフォメーション・センターを参照してください。
  • IBM InfoSphere Guardium バージョン 9.0 アプライアンス(コレクターとして設定したもの)および Standard Activity Monitoring for Databases のソフトウェア・ライセンス。

InfoSphere Guardium のアプライアンス

InfoSphere Guardium によるデータ・セキュリティーとデータ・コンプライアンスのソリューションは以下の機能を提供します。

  • IBM が提供する物理アプライアンス上で提供されるコンフィギュレーション済みのソフトウェア・ソリューション。
  • 使用しているハードウェアに直接実装可能なソフトウェア・イメージ、または仮想アプライアンスとして実装可能なソフトウェア・イメージ。

DB2 for i のモニタリングを開始する前に、IBM のサポート Web サイト上でその他の導入が必要なパッチに関する情報を確認してください。

本記事は、IBM InfoSphere Guardium アプライアンスのインストールと設定に関する情報は提供しません。また、1 台以上のアプライアンスが IBM i サーバーに接続している必要があります。

収集されるデータ

QAUDJRN から送付される情報とデータベース・モニターから送付される情報は同一ではありません。以下の表は、各コンポーネントから提供される情報について説明しています。

表 1. データベース・モニターと監査ジャーナルが監査のために収集するデータ
監査データSQL モニター監査ジャーナル
ジョブ名提供される提供される
ジョブ・ユーザー提供される提供される
ジョブ番号提供される提供される
開始時間提供される提供される
終了時間提供される常に開始時間と同じ
SQLSTATE提供される- 08001: 無効なパスワード (PW) および一般的な監査レコード (GR) を示す
- 42501: 権限のエラー (AF) を示す
- 00000: その他の場合を示す
SQLCODE提供される- 30080: 無効なパスワード (PW) および一般的な監査レコード (GR) を示す
- 551: 権限のエラー (AF) を示す
- 0: その他の場合を示す
SQL ステートメント提供される(60K バイトまで)提供されない代わりに、基本的なジャーナル・エントリーの説明が提供される
SQL 変数提供される(1000 バイトまで)提供されない
インターフェース提供される常に QAUDJRN
クライアント・アプリケーションの名前提供される提供されない
クライアント・ユーザーID 提供される提供されない
クライアント・ワークステーション提供される提供されない
クライアント・アカウント提供される提供されない
クライアント・プログラム提供される提供されない
現在のユーザー提供される提供される
スレッド ID提供される提供される
プログラムのスキーマステートメントがプログラムまたはサービス・プログラムから実行された場合は、提供されるステートメントがプログラムまたはサービス・プログラムから実行された場合は、提供される
プログラムの名前ステートメントがプログラムまたはサービス・プログラムから実行された場合は、提供されるステートメントがプログラムまたはサービス・プログラムから実行された場合は、提供される
クライアント IP アドレス提供される提供される
ローカルまたはサーバーのポート番号提供される提供される
RDB の名前提供される提供される
行数INSERT、DELETE、UPDATE、MERGE、 OPEN*、VALUES INTO、CREATE TABLE AS、DECLARE GLOBAL TEMPORARY TABLE AS、および SET VARIABLE に関してのみ提供される提供されない

* OPEN は、InfoSphere Guardium のレポートでは SELECT として記載されます。

InfoSphere Guardium が監査目的のために使用するデータベース・モニターでは、セキュリティーに関連するイベントは提供されません。例えば、FREE LOCATOR や RELEASE のようなアクティビティビーは監査されません。EXECUTE は監査されないものの、実行した SQL ステートメントは監査されます。PREPARE は監査されないものの、認証エラーは監査されます。


QAUDJRN の監査を行うために DB2 for i を設定する(オプション)

IBM i で監査機能が既に設定されている場合、もしくは SQL の監査しか必要ない場合は、本ステップをスキップすることができます。

DB2 for i サーバー上で QSYS/QAUDJRN のジャーナルを作成し、監査機能を有効化します(まだ監査機能を有効化していない場合)。セキュリティー監査の設定に関するより詳細な情報については、IBM i のインフォメーション・センターを参照してください。

例えば、IBM i のコマンドラインで、以下のとおり入力します。

CRTJRNRCV JRNRCV(QSYS/RCV1)
CRTJRN JRN(QSYS/QAUDJRN)
JRNRCV(QSYS/RCV1) DLTRCV(*YES)

次に QAUDCTL、QAUDLVL、および QAUDLVL2 のシステム値を設定することによって、実行する監査の量を設定します(以下の例を参照)。

CHGSYSVAL SYSVAL(QAUDCTL)
VALUE('*AUDLVL *OBJAUD')
CHGSYSVAL SYSVAL(QAUDLVL)
VALUE('*CREATE *DELETE *OBJMGT *SECURITY *SERVICE *SYSMGT *SAVRST');

特定のユーザーの監査を行いたい場合は、CHGUSRAUD コマンドを使用して特定のユーザーの監査を設定します。例えば以下のコマンドでは、特権ユーザーの一人である MJA を監査するためのさまざまな機能を設定しています。

CHGUSRAUD USRPRF(MJA)
 OBJAUD(*ALL) AUDLVL(*CREATE *DELETE *OBJMGT
*SECURITY *SERVICE *SYSMGT *SAVRST *AUTFAIL)

CHGOBJAUD コマンドを使用することによって、特定のオブジェクトの監査を設定することができます。例えば以下のコマンドによって、PRODLIB スキーマに含まれる全てのテーブル、ビュー、インデックス、および別名(*FILE オブジェクト)の監査を行うことができます。

CHGOBJAUD OBJ(PRODLIB/*ALL) OBJTYPE(*FILE) OBJAUD(*ALL)

関連する QAUDJRN の監査エントリー

QAUDJRN の監査エントリーにはさまざまなジャーナル・エントリーが含まれますが、一部の関連するエントリーのみが処理され、InfoSphere Guardium コレクターに送付されます。

特定のオブジェクトに関して送付された QAUDJRN のジャーナル・エントリーには、オブジェクト・ライブラリー、オブジェクト名、およびオブジェクト・タイプが含まれます。IBM i の以下のオブジェクト・タイプに関連するジャーナル・エントリーのみが処理されます(これらのジャーナル・エントリーが SQL オブジェクトに関連する、しないに関わらない)。

  • *FILE(テーブル、ビュー、インデックス、論理ファイル、別名、またはデバイス・ファイル)
  • *SQLUDT(SQL に基づいてユーザーが定義したタイプ)
  • *SQLPKG(SQL パッケージ)
  • *PGM(プロシージャー、関数、またはプログラム)
  • *SRVPGM(プロシージャー、関数、グローバル変数、またはサービス・プログラム)
  • *DTAARA(SQL シーケンス)
  • *USRPRF(ユーザー・プロファイルのオブジェクト)

QAUDJRN のジャーナル・エントリーには、さまざまな種類の監査エントリー・タイプが含まれます。標準設定では、以下のエントリー・タイプが監査人にとって最も有益であると考えられるため、これらのエントリー・タイプのみが処理されます。

  • ZR(オブジェクトの読み取り)
  • ZC(オブジェクトの変更)
  • CA(権限の変更)
  • AD(監査の設定)
  • AF(権限のエラー)
  • CO(オブジェクトの作成)
  • DO(オブジェクトの削除)
  • GR(一般的な監査レコード)
  • OM(オブジェクトの移動または名前の変更)
  • PG(プライマリー・グループの変更)
  • PW(無効なパスワードまたはユーザーID)
  • OW(オーナーの変更)
  • OR(オブジェクトのリストア)
  • RA(権限の変更のリストア)
  • RO(オーナーの変更のリストア)
  • RZ(プライマリー・グループの変更のリストア)
  • SV(システム値の変更)

QAUDJRN のジャーナル・エントリーには SQL ステートメントは含まれません。オブジェクトを検出するジャーナル・エントリーの場合は、以下の情報を統合し、SQL ステートメントの代わりに戻します。

  • 演算処理の説明(30 バイト)
  • システム・スキーマ名(10 バイト)
  • システム・オブジェクト名(10 バイト)
  • オブジェクト・タイプ(8 バイト)

例:

ZC - Change object MJATST T1 *FILE

監査ジャーナルのエントリー・タイプに関するより詳細な情報については、IBM i のインフォメーション・センターの監査ジャーナル (QAUDJRN) のエントリー・タイプをご参照ください。


DB2 for i の S-TAP をインストールする

  1. IBM i サーバー上の PASE のシェル環境において、S-TAP のインストール・スクリプトを保存する一次ディレクトリー(/tmp など)を作成します。5250 エミュレーター・ソフトウェアを使用してリモートから IBM i システムに接続し、call qp2term と入力することによって PASE シェルを起動します。
  2. FTP を使用して以下の S-TAP のインストールのためのシェル・スクリプトを一次ディレクトリーに移動します: uard-itap-9.0.0_rnnnnn-aix-5.3-aix-powerpc.sh
  3. 同じディレクトリーで以下のコマンドを実行します。

guard-itap-9.0.0_rnnnnn-aix-5.3-aix-powerpc.shguardium_host_IP

guardium_host_IP とは、InfoSphere Guardium コレクターの IP アドレスを指します。インストール・プログラムは、/usr/local/guardium にインストールされます。

インストールが完了すると、InfoSphere Guardium がアクティビティー・モニタリングを有効化するプロセスを開始し、インストール時に指定した IP アドレスを使って InfoSphere Guardium コレクターを検出しようとします。

スムーズにインストールが完了し、監査プロセスが開始したことを検証するために、管理者権限に基づいて InfoSphere Guardium の Web コンソールにログインし、System View タブにアクセスし、S-TAP のステータス(図 4 のとおり緑色で表示される)を確認します。

図 4. システム・モニターで、設定がスムーズに完了したことが表示される
システム・モニターで、設定がスムーズに完了したことが表示される

トラブルシューティング

S-TAP モニターがステータス・モニターで緑色で表示されない場合は、上記のインストールの手順のステップ 3 を正確に実行したかどうか確認してください。入力情報(IP アドレスなど)を修正する必要がある場合は、Guardium の CLI コマンド (start_istap_monitor) を呼び出すか、Guardium コンソール上でステータス・レポートを作成することによって GUI から API を呼び出します。スタータス・レポートを作成するには、「推奨プロセス: コレクター上で DB2 for i のステータス・レポートを設定する」のセクションの記載内容を参照してください。

InfoSphere Guardium コレクター上で S-TAP を設定する次のステップは、是非実行するようお勧めします。本ステップによって IBM i サーバー上で S-TAP のステータスを参照し、必要に応じてコンフィギュレーションをアップデートし、フィルタリングの値を設定することができるためです。

注意: IBM InfoSphere Guardium Installation Manager (GIM) は、DB2 for i の S-TAP には対応していません。


推奨プロセス: コレクター上で DB2 for i の S-TAP のコンフィギュレーション機能を設定する

上記のセクションで説明したとおり、InfoSphere Guardium コレクターのコンフィギュレーション機能の設定を是非行ってください。設定を行うにはコンフィギュレーション・レポートを作成します。その結果、IBM i サーバー上で起動する API を呼び出すことができ本 API によってプロセスの起動と終了を行い、コンフィギュレーション・ファイル (QSYS2.SYSAUDIT) をアップデートすることができます。

この環境を設定するためには、*JOBCTL の権限か QIBM_DB_SYSADM の機能を使用する特権が必要です。

上記のインストール・ステップを完了済みであるため、IBM i サーバー上でモニタリング・プロセスは既に開始されています(S-TAP モニターが緑色で表示されることでモニタリング・プロセスを確認できます)。

本セクションでは以下のステップを実行します。

  1. InfoSphere Guardium のデータソースとして DB2 for i を定義し、接続のテストを行います。これを実行するには、データベース名、ポート、認証情報が必要になります。
  2. InfoSphere Guardium コレクターに IBM i サーバー上のコンフィギュレーション・ファイル(Custom Table Builder プロセスに基づいて DB2 for i の S-TAP をインストールした際に作成されたファイル)の情報を提供します。
  3. DB2 for i のコンフィギュレーション・レポートを作成します。本レポートのインターフェースから、モニタリング・プロセスの起動と終了を行い、ステータス情報を取得し、フィルタリングの値を含むコンフィギュレーション・パラメーターのアップデートを行う API を起動することができます。

InfoSphere Guardium に対して DB2 for i のデータソースを定義する

本ステップでは、InfoSphere Guardium コレクターにとってのデータソースとして DB2 for i を定義する必要があります。この定義を行うには、カスタム・ドメインを作成し、Datasource Builder を使用して当該ドメインに対するデータソースとして DB2 for i を定義する必要があります。

InfoSphere Guardium の Datasource Builder を使用して、DB2 for i のデータソースを作成するには、以下を実行します。

  1. Tools→Datasource Definitions とクリックし、その後 Application Selection のボックスから Custom Domain を選択します。Next をクリックします。
  2. Datasource Finder で New をクリックすると、Datasource Builder が表示されます。データベース・タイプとして DB2 for i を選択し、その後ポート、ホスト、サーバー名(データベース名)、および認証情報に関する適切な情報を入力します。さらに、この定義に関する適切な名前を入力します。
  3. Apply をクリックし、その後 Test Connection をクリックすることによって、全ての情報が正しく設定されたことを確認します。

Custom Table Builder を使用して、InfoSphere Guardium コレクターに DB2 for i のコンフィギュレーションの設定をアップロードする

本ステップでは InfoSphere Guardium のインターフェースを使用して、IBM i システムからコンフィギュレーション情報をインポートします。以下のステップを実行します。

  1. レポートを作成するインターフェースを呼び出します。
  2. DB2 for i のデータソースからコンフィギュレーション・データを保存するために、ローカルの InfoSphere Guardium にカスタム・テーブルを作成します。
  3. DB2 for i から当該カスタム・テーブルにコンフィギュレーション・データをインポートします。

以下のステップを実行します。

  1. Tools Report Building とクリックします。(ヒント: 左側の Report Building オプションを表示するには、画面をスクロールする必要があります。)
  2. Custom Table Builder をクリックし、DB2 for i S-TAP Configuration を選択し、その後 Upload Data をクリックします。
  3. Add Datasource をクリックします。
  4. Datasource Finder 上で DB2 for i のデータソースが一覧に含まれることを確認し、Add をクリックします。
  5. Import Data の画面で、DB2 for i のデータソースが表示されていることを確認します。Apply をクリックし、その後 Run Once Now をクリックします。処理が問題なく完了したことを示すメッセージが表示されます。

コンフィギュレーション・レポートを作成することによって、InfoSphere Guardium の API を呼び出す

本セクションは以下のタスクについて説明します。

  • InfoSphere Guardium のインターフェースをカスタマイズし、DB2 for i.のために新規のコンフィギュレーション・レポートを保存できるスペース(ペイン)を作成するタスク(オプション)。本ペインの名前としては My New Reports を使用します。(管理者権限ではなくユーザー権限でログインしている場合は、My New Reports のペインは既に存在しています。)
  • DB2 for i の S-TAP のコンフィギュレーション・レポートを検索し、このペインに追加するタスク。このコンフィギュレーション・レポートが存在すると、API を呼び出すことによって DB2 for i のコンフィギュレーションを変更できるようになります。

レポートの作成に関するより詳細な情報が必要な場合は、InfoSphere Guardium のインフォメーション・センター(「レポートを作成し、パラメーターをカスタマイズする方法」)をご参照ください。

レポート・ペインを作成する方法(まだレポート・ペインが存在していない場合)

  1. My New Reports のペインを作成するには、以下のとおり Guardium の UI の右上の Customize をクリックし、その後 Add Pane ボタンをクリックします。
  2. このペインに新しい名前 (My New Reports) を付けます(スペルを間違えないこと)。Apply をクリックし、その後 Save をクリックします。
  3. Customize Pane の画面に My New Reports が表示されます。左側のアイコンをクリックします。レイアウトのプルダウン・メニューから Menu Pane を選択し、Save をクリックします。新規のペインがタブとして表示されます。

コンフィギュレーション・レポートを作成し、レポート・ペインに追加する

  1. コンフィギュレーション・レポートを作成し、新規に作成したレポート・ペインに追加できるようになりました。この処理を行うには、左側のナビゲーション・ペインの Report Builder をクリックします。右側のペインの Query の一覧から DB2 for i S-TAP configuration を選択し、その後 Search をクリックします。
  2. 以下のとおり DB2 for i S-TAP configuration を選択し、その後 Add to My New Reports のボタンをクリックします。(または、Add to Pane… をクリックすることによって、既存のペインに本レポートを追加します。)
  3. IBM i のレポートを表示している My New Reports のタブをクリックします。レポートのある行をダブルクリックし、Invoke をクリックします。
  4. InfoSphere Guardium の API が表示されます。update_istap_config をクリックします。

DB2 for i に対応する S-TAP の API の概要」のセクションでは、本レポートから入手可能なコンフィギュレーション API のパラメーターの詳細情報とその他の API に関する簡単な説明を提供します。


推奨プロセス: コレクター上で DB2 for i のステータス・レポートを設定する

コンソールで発行可能な有用なレポートとして、さらにステータス・レポートが挙げられます。本レポートを追加するためのステップは、既に説明した「推奨プロセス: コレクター上で DB2 for i の S-TAP のコンフィギュレーション機能を設定する」のセクションで説明したステップとほぼ同じです。すなわち、以下のステップを実行します。

  1. 管理者権限を使用して、ToolsReport BuildingCustomer Table Builder とクリックします。
  2. DB2 for i Status を選択し、その後 Upload Data をクリックします。
  3. Datasource を追加し、その後 Import Data の画面で Apply をクリックし、Run Once Now をクリックします。
  4. Report Builder にアクセスし、DB2 for i Status というレポート・タイトルを検索し、Add to My New Reports をクリックします。

ステータス・レポートの例は以下のとおりです。

本レポートをダブルクリックすることによって、サーバー上でモニターの起動と中止を行い、ステータスのリフレッシュを行うことができます。


DB2 for i に対応する S-TAP の API の概要

InfoSphere Guardium の API を呼び出す方法としてはいくつかの方法があります。この記事では、DB2 for i に対応する S-TAP のコンフィギュレーション・レポートとステータス・レポートから API を呼び出す方法について説明しました。上記のセクションで学んだとおり、本レポートをダブルクリックすることによって API を呼び出すことができます。ある API を選択すると、当該 API で設定可能なパラメーターを呼び出すことができます。例えば図 5 が示すとおり update_istap_config の API を使用することによって、情報(InfoSphere Guardium コレクターの IP アドレスなど)を送付し、i システム上で監査プロセスの起動と再起動を行うことができます。(値が"unchange"の場合は、パラメーターは更新されません。)フィルタリング・オプションの値については、「IBM i サーバー上で監査データのフィルタリングを行う」のセクションでさらに詳しい情報を確認します。

図 5. IBM i の S-TAP のコンフィギュレーションを変更するためのオプション
IBM i の S-TAP のコンフィギュレーションを変更するためのオプション

start_monitor の値が標準設定の 1 に設定されている場合は、コンフィギュレーション・テーブルが更新された後に監査プロセスが起動(または再起動)します。監査プロセスが起動すると、DB2 for i 上のストアード・プロシージャーが起動し、以下が発生します。

  • InfoSphere Guardium コレクターにエントリーを送付し、INSTEAD OF のトリガー(エントリーをメッセージ・キューに送付する)を含むビューを使用してグローバル・データベース・モニターを起動するために使用されるメッセージ・キューを作成する。
  • PASE および S-TAP を起動する。
  • QAUDJRN からジャーナル・エントリーを受領し、メッセージ・キューに当該エントリーを追加する。

IBM i に対応する S-TAP の API を呼び出す

スクリプトの実行と処理の自動化を行うために、S-TAP の API を InfoSphere Guardium のコマンドライン・インターフェース (CLI) から呼び出すことができます。

IBM i のモニタリングを行う API の概要は以下のとおりです。

  • start_istap_monitor は IBM i 上で監査プロセスを開始します。
  • stop_istap_monitor は IBM i 上で監査プロセスを中止します。
  • get_istap_status を使用することによって、監査サーバーが起動中であり、トラブルシューティングとパフォーマンス・チューニングに役立つその他の情報(キュー上のメッセージの数やメッセージ・キューのサイズなど)が含まれているかどうかをチェックします。
  • get_istap_config を使用することによって、コンフィギュレーション・パラメーター(現在のフィルタリング・オプションを含む)を参照することができます
  • update_istap_config を使用することによって、IBM i 上のコンフィギュレーションの設定を更新することができます。

S-TAP がコレクターに接続すると、図 4 で示される行と似た行が System View タブに表示されます。


モニタリング・レポートを参照する

システムの設定が完了し、監査プロセスが実行されると、InfoSphere Guardium の先進機能を活用することによって、レポートの発行やアラートの設定などを行うことができるようになります。InfoSphere Guardium はレポーティングのための強力なインターフェースを提供しますが、本記事ではこのことについては取り上げません。

レポートを作成する際には、管理者権限でログインしているかユーザー権限でログインしているかによって、ナビゲーション・パスが異なります。したがって、InfoSphere Guardium のインフォメーション・センターの「レポートを作成し、パラメーターをカスタマイズする方法」および「保存済みのデータからカスタム・レポートを作成する方法」を読むか、ユーザー・インターフェースの右上のクエスチョンマークのアイコンをクリックすることによってヘルプ資料を参照してください。

詳細のデータベース・アクティビティーを表示するレポートを使用するにはユーザー権限でログインする必要があり、本記事のこのセクションでもその状況を想定しています。なお、InfoSphere Guardium のユーザー・インターフェースは大幅なカスタマイズが可能なため、本セクションで示される画面イメージやナビゲーション・パスは実際のサイトと異なる場合があります。

本プロセスは、S-TAP のコンフィギュレーション設定が完了し、DB2 for i 上でデータベース・アクティビティーが発生していることを前提としています。

  1. View タブをクリックします。(オプション: 本タブ上の鉛筆のアイコンをクリックし、Edit Properties をクリックすることによって、このタブの名前を Standard Reports に変更します。)
  2. 以下のようなレポートがいくつか表示されます。
  3. グラフをダブルクリックすると、表形式のビューが表示されます。以下に示されるレポートの表をダブルクリックすると、データをドリルダウンすることができます。
  4. データを以下の観点でドリルダウンできます。
    1. サーバーの IP アドレスごとにセッション・データをドリルダウンし、特定の行をダブルクリックする。
    2. ユーザーごとにセッション・データをドリルダウンし、特定の行をダブルクリックする。
  5. レポートをさらに深く分析できます。

文字列の変数について報告する

モニタリング・レポートには SQL ステートメントのテキストが含まれ、テキスト内にクエスチョンマークが現れることに気付くかもしれません。SQL の観点からはこれらのクエスチョンマークはパラメーター・マーカーと呼ばれ、SQL ステートメント内で特定の値のプレースホルダーとして機能します。どのような変更を行ったのかを把握することが必要な場合には、Bind Variables Values(以下の図のレポートの右端に表示される)と呼ばれる SQL アクティビティー・レポートにフィールドを加えることができます

fullactivityafter

重要: 文字列の値が 16 進数で表示される場合は、ユーザーが標準の CCSID (65535) に基づいて SQL ステートメントを実行していることを意味します。人間が読める CCSID を使用するには、ユーザーは以下のようなコード(US English の場合)を使用してプロファイルを変更する必要があります。

CHGUSRPRF JOED CCSID(37)

IBM i の CCSID に関してより詳細な情報が必要な場合は、IBM i のインフォメーション・センターを参照してください。


パフォーマンスを改善するためのヒント

InfoSphere Guardium をシステムに組み込むことによって、データベース・アクティビティーをキャプチャーし InfoSphere Gurardium コレクターに送付する際に必要な処理を最小限に抑えることができます。しかし、コレクターに送付されるデータの量は、本番システムで必要となる処理の量に大きな影響を及ぼします。したがって、監査ポリシーを満たすために必要なデータベース・アクティビティーのみをキャプチャーした方がよいと言えます。例を挙げると、特定のユーザー、特定のインターフェース、または特定のオブジェクトのみを監査する必要があります。

パフォーマンスを最適化し処理を削減するには、2 つのレベルでフィルタリングを検討する必要があります。

  • DB2 for i が実行するフィルタリングは、監査サーバーから S-TAP に提供される情報の量と IBM i サーバーから InfoSphere Guardium コレクターに提供される情報の量を削減することによって本番システムのオーバーヘッドを下げることができます。このフィルタリングを行うには、InfoSphere Guardium の UI のコンフィギュレーション・ページでフィルタリングの値を設定します。
  • InfoSphere Guardium コレクター側でコレクターに送付される情報を制限するためのフィルタリングを行う場合は、当該フィルタリングはレポジトリー内で分析および保存する必要があります。これによってコレクター上のストレージ容量を削減し、監査人の処理時間を短縮できます。InfoSphere Guardium のユーザー・インターフェース上でポリシーを設定することで可能になります。

本セクションでは、監査サーバーのジョブの優先順位を設定する方法についても簡単に説明します。

IBM i サーバー上で監査データのフィルタリングを行う

表 2 は、DB2 for i の S-TAP を設定する際に利用可能な全てのフィルタリング・フィールドの一覧(図 5 で表示される)を示しています。フィルタリングの値を変更するには、コンフィギュレーションを変更する API(上記のセクションを参照)を呼び出し、該当するフィールドの値を変更します。IBM i.これらのフィールドの多くは、IBM i の STRDBMON コマンドで記載されるフィルタリングの値と一致しています。データベース・モニターとデータベース・モニターのエントリーに関してより詳細な情報が必要な場合は、IBM i のインフォメーション・センターを参照してください。

重要: DB2 for i 上で複数のフィルタリングの基準を組み合わせることができますが、フィルタリングの基準は効果的に組み合わせる必要があります。

表 2. DB2 for i の S-TAP を設定する際のフィルタリング・オプション
フィルタリング・オプション内容
FILTER_USERユーザー・プロファイルまたはグループ・プロファイルに関して設定したフィルター(そのようなフィルターが存在する場合)。
ユーザー名または一般的なユーザー名を 1 つだけ指定できる。
FILTER_JOBジョブに関して設定したフィルター(そのようなフィルターが存在する場合)。
ジョブ名または一般的なジョブ名を 1 つだけ指定できる。
FILTER_TCPIPTCP/IP アドレスに関して設定したフィルター(そのようなフィルターが存在する場合)。
TCP/IP アドレスを 1 つだけ指定できる。
FILTER_TABLEテーブルに関して設定したフィルター(そのようなフィルターが存在する場合)。
最大 10 個のファイル名または一般的なファイル名を設定することができる。指定したライブラリー名はシステム・スキーマ名(10 文字の名前)である必要がある。ファイル名は、システム・テーブル名またはテーブル名(ロングネームまたはショートネーム)のいずれかを指定できる。
FILTER_PORTポートに関して設定したフィルター(そのようなフィルターが存在する場合)。
ポートのフィルターは 1 つだけ指定できる。ポートのフィルタリングが行えるのは、リリース 7.1 以降の場合のみ。
FILTER_CLIENT_ACCTNGクライアント・アカウンティングに関して設定したフィルター(そのようなフィルターが存在する場合)。
クライアント・アカウンティングのフィルターは 1 つだけ指定できる。クライアント・アカウンティングのフィルタリングが行えるのは、リリース 7.1 以降の場合のみ。
FILTER_CLIENT_APPLNAMEクライアント・アプリケーションに関して設定したフィルター(そのようなフィルターが存在する場合)。
クライアント・アプリケーションのフィルターは 1 つだけ指定できる。クライアント・アプリケーションのフィルタリングが行えるのは、リリース 7.1 以降の場合のみ。
FILTER_CLIENT_PROGRAMID クライアント・プログラムに関して設定したフィルター(そのようなフィルターが存在する場合)。
クライアント・プログラムのフィルターは 1 つだけ指定できる。クライアント・プログラムのフィルタリングが行えるのは、リリース 7.1 以降の場合のみ。
FILTER_CLIENT_USERID クライアント・ユーザーに関して設定したフィルター(そのようなフィルターが存在する場合)。
クライアント・ユーザーのフィルターは 1 つだけ指定できる。クライアント・ユーザーのフィルタリングが行えるのは、リリース 7.1 以降の場合のみ。
FILTER_CLIENT_WRKSTNNAMEクライアント・ワークステーションに関して設定したフィルター(そのようなフィルターが存在する場合)。
クライアント・ワークステーションのフィルターは 1 つだけ指定できる。クライアント・ワークステーションのフィルタリングが行えるのは、リリース 7.1 以降の場合のみ。
FILTER_RDBリレーショナルデータベースに関して設定したフィルター(そのようなフィルターが存在する場合)。
最大 10 個のリレーショナルデータベース名を指定できる。
FILTER_SYSTEM_SQLシステムの SQL ステートメントに関して設定したフィルター。
SQL ステーメントが監査されるかどうかを Y または N で指定する。標準設定は Y。
FILTER_AUDIT_ENTRY_TYPESQAUDJRN の監査エントリーに関して設定したフィルター(そのようなフィルターが存在する場合)。監査ジャーナルのどのエントリー・タイプが処理されるのかを指定する。標準設定は、'AD AF CA CO DO GD OM OR OW PG PW RA RO RZ SV ZC ZR'。

以下の例においては、フィルタリングのフィールドを使用することによって本番システムのオーバーヘッドを緩和できるベストプラクティスについて説明します。

ユーザーのフィルタリングを行う(FILTER_USER)

特定のユーザーの監査のみを行う必要がある場合(特殊な権限を持つユーザーなど)、そのようなユーザーに関するエントリーのみを収集する最も効率的な方法として、新規のグループ・プロファイルを作成し (CRTUSRPRF)、その後その新規のグループに各ユーザーを追加する (CHGUSRPRF) ことができます。その後、新規のユーザーグループのプロファイルに基づいてフィルターを設定することができます。例えば IBM i の場合、GDAUDIT という名前の新規のグループ・ユーザー・プロファイルを作成し、このプロファイルをユーザー(ADMIN1、ADMIN2、および ADMIN3)プライマリー・グループまたは追加グループとして設定します。

CRTUSRPRF USRPRF(GDAUDIT) STATUS(*DISABLED) GID(*GEN)
CHGUSRPRF USRPRF(admin1) SUPGRPPRF(gdaudit)
CHGUSRPRF USRPRF(admin2) SUPGRPPRF(gdaudit)
CHGUSRPRF USRPRF(admin3) SUPGRPPRF(gdaudit)

その後、FILTER_USER の値として GDAUDIT を設定することができます。

スキーマまたはテーブルのフィルタリングを行う (FILTER_TABLE)

一連のスキーマ(ライブラリー)に含まれるオブジェクトのみを監査する必要がある場合は、最大 10 個のスキーマ名や一般的なスキーマ名に対してフィルタリングを実行することができます。スキーマまたはテーブルのフィルタリングを行う際には、データ操作 (DML) ステートメントのみがキャプチャーされます。あらゆるその他の種類のステートメントがキャプチャーされるわけではありません。例えば、PROD1、NEWPROD1、および PROD2 といったスキーマのみに関連するデータ操作 SQL ステートメントをキャプチャーしたい場合は、FILTER_TABLE の値として以下を設定することができます。

PROD1/*ALL NEWPROD1/*ALL PROD2/*ALL

または、スキーマ名が PROD で始まる他のスキーマが存在しない場合は、一般的なスキーマ名を使用することができます。

PROD*/*ALL NEWPROD1/*ALL

このようなタイプのフィルタリングは、個別のテーブル・レベルでも実行できます。例えば NEWPROD というライブラリー内の PERSONAL という文字で始まるテーブルのエントリーをキャプチャーしたい場合は、以下を設定することができます。

 NEWPROD1/PERSONAL*

ジョブのフィルタリングを行う (FILTER_JOB)

IBM のアクセス・ドライバーから提供される JDBC リクエスト、ODBC リクエスト、および.NET リクエストに関連するトラフィックのみを監査する必要がある場合は、これらのリクエストは QZDASOINIT ジョブによって処理されるため、ジョブのフィルタリングを実行することができます。例えば、以下の設定を行うことができます。

*ALL/*ALL/QZDASOINIT

IBM DB2 Connectドライバーを使用している場合は、以下の設定を行うことができます。

*ALL/*ALL/QRWTSRVR

リレーショナルデータベースのフィルタリングを行う (FILTER_RDB)

独立補助ストレージ・プール (IASP) を使用すると、単一の IBM i サーバー上に複数のリレーショナルデータベースが共存することができます。各 IASP および各*SYSBAS は個別のリレーショナルデータベースを指し、ユニークなリレーショナルデータベース名を持ちます。2 つの IASP(RDB1 と RDB2 のリレーショナルデータベース名を持つ)のみを監査する必要がある(*SYSBAS およびその他の IASP に対するアクティビティーを無視する)場合は、FILTER_RDB の値として以下を設定することができます。

RDB1 RDB2

QAUDJRN のエントリー・タイプのフィルタリングを行う (FILTER_AUDIT_ENTRY_TYPES)

監査ジャーナルには幅広い種類の監査のエントリー・タイプが含まれます。標準設定では、QAUDJRN においてキャプチャーの設定を行った QAUDJRN エントリーのほんの一部しか InfoSphere Guardium コレクターには送付されません(「関連する QAUDJRN の監査エントリー」を参照)。したがって、オブジェクトの作成またはオブジェクトのリストアを監査する必要がない場合は、CO と OR のエントリー・タイプを排除し、FILTER_AUDIT_ENTRY_TYPES の値として以下を設定することができます。

'AD AF CA DO GD OM OW PG PW RA RO RZ ZC ZR'

システム SQL ステートメントのフィルタリングを行う (FILTER_SYSTEM_SQL)

DB2 for i は、特定の機能を実行するためにさまざま種類の SQL ステートメントを実行します。これらのステートメントはシステム SQL ステートメントとしてモニターでキャプチャーされます。一方で、SET OPTION ステートメントを使用することによって、ユーザーが作成したプロシージャー、関数、プログラム、またはサービス・プログラムの SQL ステートメントもシステム・ステートメントとしてキャプチャーする必要がある場合があります。したがって、ベストプラクティスとしてはこのフィルターの値を‘Y’に設定します。

インタラクティブな IBM i のコマンドライン・インターフェースによってデータベース・アクティビティーのフィルタリングを行う (FILTER_CLIENT_PROGRAMID)

DB2 for i にはユーザーが STRSQL(SQL のインタラクティブなセッションを開始する)のようなコマンドを通じてインタラクティブな SQL ステートメントを実行する機能が含まれます。一部の組織はコンプライアンス・ルールに基づいてこのようなインターフェースへのアクセスを制限することによって、データベース・オブジェクトへのアクセスの防御を強化したいとと考える場合があります。このインターフェースを特に使用することによってアクセスのモニタリングを行う場合は、FILTER_CLIENT_PROGRAMID を'STRSQL'に設定することによって、STRSQL(SQL の起動)コマンドを通じて発生する SQL アクティビティーの詳細情報を収集することができます。このようなインタラクティブなコマンドで監査を行うことに関するより詳細な情報が必要な場合は、参考文献の記事をご参照ください。

フィルタリングの基準として、以下のコマンドを指定することができます。

  • RUNSQLSTM(SQL ステートメンの実行)
  • STRQRY(クエリーの起動)
  • WRKQRY(クエリーの処理)
  • RUNQRY(クエリーの実行)
  • RUNSQL(SQL の実行)

クライアント情報のフィールドを使ってフィルタリングを行う

クライアント情報のフィールドには 5 つの個別のフィールドがあり、これらのフィールドは特定のデータベース接続(SQLSETI の API を使用した接続など)の検出のために設定することができます。このようなフィールドは、以下のような状況で監査を行う際に役立ちます。

  • さまざまな種類のプログラムをより詳細に検出することによって、信頼性の高いアプリケーションをモニタリングの対象から除外し、より詳細なモニタリングを行うことができます。
  • アプリケーション・ユーザーが単一の DB ユーザーしか存在しないプールされたデータベース接続を使用している場合に、InfoSphere Guaridum が個々のユーザーのトラッキングを行える環境を構築します。(この場合、アプリケーションは CLIENT_USERID の特殊なレジスターを設定する必要があります。)

クライアント情報を構成するフィールドは、以下のとおりです。

  • FILTER_CLIENT_ACCT
  • FILTER_CLIENT_APPLNAME
  • FILTER_CLIENT_PROGRAMID
  • FILTER_CLIENT_USERID
  • FILTER_CLIENT_WRKSTNNAME

InfoSphere Guardium コレクターに送付されるトラフィックを削減する

S-TAP のコンフィギュレーション・オプションを使用することによって S-TAP が処理するイベントをフィルタリングする方法について説明しました。InfoSphere Guardium のセキュリティー・ポリシーを使用することによって、S-TAP から InfoSphere Guardium コレクターに送付される情報の量を制御できる IGNORE ルールを活用することができ、解析の対象となる情報の量を削減することができます。例えば、定期的に実行されるジョブやその他の信頼性の高いアプリケーションのセッションを無視するルールを設定することができます。

さらに、ポリシー・ルールの基準を満たした場合に、InfoSphere Guardium データベースに保持すべき情報の量を設定できるオプションもあります。これは非常に複雑なプロセスであり、この記事では取り上げません。ポリシーに関するより詳細な情報については、InfoSphere Guardium のヘルプ資料(InfoSphere Guardium の Web インターフェースの右上にあるクエスチョンマークのアイコンをクリックすることによって参照可能)をご参照ください。

監査サーバーのパフォーマンスをチューニングするには

監査サーバーは QAUDJRN からエントリーを受領し、エントリーを Guardium のメッセージ・キューに配置する役割を負っています。また監査サーバーには、PASE を起動し、Guardium のキューからエントリーを削除し、InfoSphere Guardium コレクターにエントリーを送付するコードも含まれています。

通常監査サーバーは、SBMJOB コマンドを使用して InfoSphere Guardium が起動するバッチ・ジョブによって起動します。監査サーバーを最初に起動する際には、SBMJOB コマンドは USER(*CURRENT)によって実行されます。監査サーバーをその後起動する際には、監査サーバーを最後に起動したユーザー・プロファイル (USER(user-name)) を使用します。

異なるユーザー・プロファイル名 (GDUSER) に基づいて監査サーバーを起動したい場合は、以下のとおりコンフィギュレーション・ファイルを更新します。

UPDATE qsys2.sysaudit SET start_user = 'GDUSER'

その後、InfoSphere Guardium の UI から start_istap_monitor の API を使用して、監査サーバーを再起動します。

このように監査サーバーを起動する際には SBMJOB コマンドを使用するため、このジョブを実行するために使用されるユーザー・プロファイルの職務権限には通常のルールが適用されます。職務権限によって監査サーバーの起動方法が決まります。例えば、職務権限によってジョブに設定される当初の優先順位が決まります。

ベストプラクティスとしては、ジョブの属性を制できるユニークな職務権限、ユニークなジョブ・キュー、および監査サーバーを起動するためのユニークなユーザー・プロファイルを作成することが挙げられます(以下を参照)。

CRTUSRPRF GDUSER PWDEXP(*YES) STATUS(*ENABLED) SPCAUT(*ALLOBJ *JOBCTL)
   TEXT('Guardium user profile')
CRTJOBQ GDJOBQ TEXT('Guardium job queue')
CRTJOBD GDAUDIT JOBQ(GDJOBQ) JOBPTY(2) USER(GDUSER) JOBMSGQFL(*WRAP)
   TEXT('Guardium job description')
CHGUSRPRF USRPRF(GDUSER) JOBD(QGPL/GDAUDIT)
ADDJOBQE SBSD(QBATCH) JOBQ(QGPL/GDJOBQ) MAXACT(2) SEQNBR(40)

MAXACT の値は 2 以上である必要があります。SBMJOB に関する詳細情報とバッチ・ジョブのために使用される職務権限の管理方法については、IBM i のインフォメーション・センターを参照してください。


結論

この記事の内容を確認することによって、自社において InfoSphere Guardium を実装し、この記事で取り上げられている DB2 for i だけでなく現在使用しているその他のさまざまなデータベースやファイルシステムの監査を行うプロセスの概要を確認することができます。本製品はスケーラブルな監査アーキテクチャーを提供し、大規模な組織全体やさまざまな地域で導入することができます。毎日のように新規のデータ違反(特権ユーザーによって行われるデータ違反を含む)のニュースが報道される現代においては、世界各国のあらゆる組織はデータベースがそもそも持つセキュリティー機能だけに依存しない追加のセキュリティー構造を構築することが必要です。

謝辞

本記事をレビューし技術的なサポートを提供してくれた Tania Butovsky、Joe DiPietro、Scott Forstie、Rui Yu、および Larry Burroughs に感謝します。

参考文献

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=947520
ArticleTitle=IBM InfoSphere Guardiumを使用し、IBM DB2 for iのデータベース・アクティビティーのモニタリングと監査を行う方法
publish-date=10172013