6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Audit Vault and Database Firewallを利用しAutonomous Databaseの監査ログを収集する方法

6
Last updated at Posted at 2025-04-15

はじめに

こんにちは。NTTデータ先端技術の@EumJinmanです。

Oracle Audit Vault and Database Firewall(AVDF)は、データベースの監査ログを管理・分析するためのソリューションであり、一般的にはターゲットデータベースにエージェントをインストールしてログを収集します。

しかし、Autonomous Database(ADB)ではOSへのアクセスが制限されているため、エージェントを直接インストールすることができません。そのため、本記事ではエージェントを使用せずにADBの監査ログをAVDFで収集する方法について紹介します。

※本記事は、以下Oracle公式情報を参考に作成しております。
https://docs.oracle.com/cd/F35744_01/sigad/part_1.html

目次

  1. 概要及び、構成
  2. 環境情報
  3. 前提条件
  4. Audit Vault Serverインスタンス作成及び、設定
    4-1. Audit Vault Serverインスタンス作成
    4-2. Audit Vault Serverインスタンスへの接続
    4-3. Audit Vault Serverインスタンス作成後のステップ
  5. Audit Vault Serverコンソールへの接続及び、初期設定
    5-1. Audit Vault Serverコンソールへの接続
    5-2. 初期設定
  6. ターゲットデータベース(ATP)側の準備
    6-1 監査ログ収集用DBユーザ作成及び、権限付与
    6-2 監査ポリシー有効化及び、確認
  7. ターゲットデータベース登録
    7-1 ターゲットデータベース登録
    7-2 監査証跡の追加
  8. 監査ログ収集確認
  9. まとめ

1. 概要及び、構成

AVDFで監査ログを収集する方法は、エージェントを利用するAgent Based Collectionとエージェントを利用しないAgentless Collectionがあり、それぞれの特徴は以下の通りです。

収集方法 特徴 メリット デメリット
Agent Based Collection ・Audit Vault Agent を対象のデータベースサーバーにインストールして使用

・エージェントがローカルで監査ログを収集し、Audit Vault Serverに送信
・多くの監査トレイルに対応(数百以上も可能)

・柔軟な設定(ログの種類、収集頻度など)

・大規模環境に適している 
・エージェントのインストール・管理が必要

・ADBなどのマネージドDBには使えない(OSアクセス不可)
Agentless Collection ・エージェントを使わず、Audit Vault Serverがリモートから直接監査ログを収集

・主に UNIFIED_AUDIT_TRAIL (統合監査ログのビュー)などのビューを参照
・インストール不要:対象DBにソフトを入れなくてよい

・ATPなどのマネージドDBに対応

・PoCや小規模環境に適している
・最大20件の監査トレイルまでという制限あり

・ネットワークや権限の設定が必要

AVDFのAgentless Collection機能を利用してADBの監査ログを収集する場合、Audit Vault Serverのコンソールからターゲットデータベース(ADB)を登録することで、Audit Vault Serverがリモートから直接ADBにアクセスし、監査ログを収集・保存することができます。

AVDF構成図.png

2. 環境情報

クライアント環境

OS:Windows 10
接続ツール:Teraterm 5.2

OCI環境

リージョン:ap-tokyo-1(アジアパシフィック (東京))

Audit Vault Serverの情報

イメージ:Oracle Audit Vault and Database Firewall 20.14
シェイプ:VM.Standard.E2.2

ADBの情報

ワークロード・タイプ:Oracle Autonomous Transaction Processing
データベースのバージョン:19c
アクセス・タイプ:すべての場所からのセキュア・アクセスを許可

3. 前提条件

クライアント環境

①シェル・ターミナル・コンソールがセットアップされていること
②クライアント環境からAudit Vault ServerにSSH接続できること
③クライアント環境からAudit Vault ServerにHTTPS接続できること
④クライアント環境からWalletを使用しATPへの接続ができること

OCI環境

①ADBが作成されていること
②パブリックサブネットのセキュリティリストにクライアント環境から接続するための適切なイングレスルールが設定されていること。(例:22、443ポートなど)
③クライアント環境の任意の場所にWalletがダウンロードされていること

4. Audit Vault Serverインスタンス作成及び、接続

4-1. Audit Vault Serverインスタンス作成

監査ログを収集・管理するAudit Vault Serverを作成します。

OCIコンソールページ左上から「ナビゲーション・メニュー」→「コンピュート」→「インスタンス」順にクリックし、インスタンスページに移動します。

スクリーンショット (89).png

「インスタンスの作成」をクリックし、コンピュート・インスタンスの作成ページに移動します。

スクリーンショット (90).png

基本情報ページから以下の情報を入力し、「次」をクリックします。

・名前:コンピュート・インスタンスの名前
・コンパートメント:対象のコンパートメント
・可用性ドメイン:AD1
・イメージ:Oracle Audit Vault and Database Firewall
・シェイプ:VM.Standard.E2.2

※東京リージョン(ap-tokyo-1)には、1つの可用性ドメインが存在します。

スクリーンショット (94).png

※Oracle Audit Vault and Database FirewallイメージはMarketplaceから選択可能(検索窓からAuditを検索することでヒット)

スクリーンショット (92).png

※本記事では、VM.Standard.E2.2を選択しておりますが、要件や、状況に応じて適切なシェイプを選択してください。
※AVDFイメージと互換性がないため、選択できないシェイプもあるので注意してください。

スクリーンショット (93).png

ネットワーキングページから以下の情報を入力し、「次」をクリックします。

プライマリ・ネットワーク:既存の仮想クラウド・ネットワークを選択
・コンパートメント:対象のコンパートメント
・VCN:対象のVCN

サブネット:既存のサブネットを選択
・コンパートメント:対象のコンパートメント
・サブネット:対象のサブネット

SSHキーの追加:公開キー・ファイル(.pub)のアップロード
SSH公開キー:公開キー・ファイル(.pub)のアップロード

スクリーンショット (96).png

※本記事では、既存のSSHキーを使用するため、「公開キー・ファイル(.pub)のアップロード」をしていますが、要件や、状況に応じてSSHキーの追加方法を選択してください。

スクリーンショット (97).png

最後確認ページから内容を確認し、問題なければ「作成」をクリックします。
※本記事では、上記以外の項目はデフォルトで設定しております。要件に応じて適宜選択してください。

4-2. Audit Vault Serverインスタンスへの接続

クライアント環境からAudit Vault Serverインスタンスに接続します。
※今回は、接続ツールとしてTera Term 5.2を使用しています。

クライアント環境のデスクトップからTera Termを開き、「Tera Term:新しい接続」画面から以下の情報を入力し「OK」をクリックします。

・ホスト:Audit Vault ServerインスタンスのパブリックIPアドレス
・サービス:SSH
・TCPポート:22

次、「SSH認証」画面から以下の情報を入力し「OK」をクリックします。

・ユーザ名:opc
・認証方式:RSA/DSA/ECDSA/ED25519鍵を使う
・機密鍵:Audit Vault ServerのSSH機密鍵

※opcユーザは、コンピュートインスタンス作成時にデフォルトで作成される初期管理ユーザーです。

4-3. Audit Vault Serverインスタンス作成後のステップ

Audit Vault Serverコンソールを使用してインスタンスをトラブルシューティングする際に、rootパスワードが必要な場合があるため、rootユーザーのパスワードを変更します。

実行コマンド
sudo passwd root

Audit Vault Serverコンソールへの初回接続時に使用するパスフレーズを生成します。
※以降の手順5-2. 初期設定時に必要なため、パスフレーズを控えておくこと

実行コマンド
sudo -u oracle /usr/local/dbfw/bin/generate_post_install_passphrase.py

5. Audit Vault Serverコンソールへの接続及び、初期設定

5-1. Audit Vault Serverコンソールへ接続

WebブラウザからURLを使ってAudit Vault Serverコンソールに接続する。

URL
https://<Audit Vault ServerインスタンスのパブリックIPアドレス>
例:https://141.147.187.xxx

スクリーンショット (167).png

5-2. 初期設定

Audit Vault Serverコンソールへの接続で表示されたログイン画面から手順4-3. Audit Vault Serverインスタンス作成後のステップで取得したパスフレーズを入力し、ログインします。

スクリーンショット (168).png

初期設定ページから以下の情報を入力し、「保存」をクリックします。

ユーザー設定
・スーパー管理者ユーザー名:スーパー管理者ユーザーの名前
・スーパー管理者パスワード:スーパー管理者のパスワード
・スーパー監査者ユーザー名:スーパー監査者ユーザーの名前
・スーパー監査者パスワード:スーパー監査者のパスワード

AVデータベース暗号化
・キーストア・パスワード:キーストアのパスワード

※エージェントの通信は、エージェントとAudit Vault Server間の安全な通信を確立するための設定です。ADBではエージェントを使わない「Agentless Collection」方式を利用するため、設定不要になります。
※DNS設定は、名前解決に使うDNSサーバーを登録するための設定です。DNSサーバーを利用しない場合は、設定不要です。

スクリーンショット (171).png

前の手順で作成したスーパー管理者ユーザーでログインします。

スクリーンショット (173).png

6. ターゲットデータベース(ATP)側の準備

6-1 監査ログ収集用DBユーザ作成及び、権限付与

Audit Vault Serverからターゲットデータベースに接続し、監査ログを収集するためには、適切な権限を持つユーザが必要になります。

そのため、監査ログ収集用ユーザを作成し、必要な権限を付与します。

※以下のSQLクエリは監査ログを収集する対象のターゲットデータベースに接続してから実行してください。

ユーザ作成 実行コマンド
CREATE USER <ユーザ名> IDENTIFIED BY "<ユーザのパスワード>";
権限付与 実行コマンド
GRANT CREATE SESSION TO <ユーザ名>;
GRANT AUDIT_VIEWER TO <ユーザ名>;

※AUDIT_VIEWERロールは、Oracle Database の Unified Auditing(統合監査) に関連する監査情報を参照するための読み取り専用ロールです。
※Audit Vault Serverではターゲットに対する監査ログ収集用ユーザーのスクリプトが用意されており、スクリプトを使用し、ユーザー作成と権限を設定することもできますが、ADB専用のスクリプトがないため、別途ユーザー作成し、権限を付与するか、既存のスクリプトをADB用にカスタマイズし実行する必要があります。

スクリーンショット (182).png

6-2 監査ポリシー有効化及び、確認

Audit Vault Serverは、監査ログ収集用ユーザを使ってターゲットデータベースに接続し、UNIFIED_AUDIT_TRAILビューからログを収集することになります。そのため、監査ポリシーを有効化し、必要なログをUNIFIED_AUDIT_TRAILビューに記録する必要があります。

まずは、監査ポリシーが有効化されていることを確認します。

※以下SQLクエリ実行後、1行でも結果が表示されていれば、監査ポリシーが有効化されていることです。
※有効な監査ポリシーに該当する操作(例:ログオン、SELECT文など)が実行されると、その情報が UNIFIED_AUDIT_TRAIL ビューに記録されます。

実行コマンド&出力ログ
SQL> SELECT * FROM AUDIT_UNIFIED_ENABLED_POLICIES;

POLICY_NAME                    ENABLED_OPTION  ENTITY_NAME               ENTITY_ SUC FAI
------------------------------ --------------- ------------------------- ------- --- ---
COMMON_USER_LOGONS             BY USER         SYS                       USER    YES YES
COMMON_USER_LOGONS             BY USER         SYSBACKUP                 USER    YES YES
COMMON_USER_LOGONS             BY USER         PUBLIC                    USER    YES YES
ADB_ADMIN_AUDIT                EXCEPT USER     SYS                       USER    YES NO
ADB_ADMIN_AUDIT                EXCEPT USER     C##CLOUD$SERVICE          USER    YES NO
ADB_PARURL_ACCESS_AUDIT        BY USER         C##CLOUD$SERVICE          USER    YES YES
ORA_LOGON_FAILURES             BY USER         ALL USERS                 USER    NO  YES
ADB_PARURL_PKG_ACCESS_AUDIT    BY USER         ALL USERS                 USER    YES YES

監査ポリシーが有効化されてない場合や、追加で監査したい操作がある場合は以下Oracle公式情報を参考に追加してください。

Audit Vault ServerでAgentless Collection機能を利用するためには、サービスを起動する必要があります。

7. ターゲットデータベース登録

7-1 ターゲットデータベース登録

Audit Vault Serverのコンソールからターゲットデータベースを登録します。

「ターゲット」タブの右側にある「登録」ボタンをクリックします。
スクリーンショット (181).png

ターゲット登録ページから以下の情報を入力し、「テスト接続」をクリックします。

・名前:ターゲットの名前
・タイプ:Oracle Database
・保存ポリシー:監査ログの保存期間を選択

監査接続の詳細
・詳細を選択
・プロトコル:TCPS
・ウォレット:cwallet.sso
・接続文字列:jdbc:oracle:thin:@<OCIコンソールから確認した接続文字列>
・データベース・ユーザー名:監査ログ収集用ユーザー名
・パスワード:監査ログ収集用ユーザーのパスワード

※ウォレットは、シングル・サインオン・ウォレット・ファイル(cwallet.sso)をアップロードします。
※Audit Vault Serverは内部的にJavaベースの仕組みを使ってデータベースに接続するため、接続文字列をJDBC形式で入力する必要があります。

スクリーンショット (185).png

テスト接続に成功した場合は、右側の「保存」をクリックし、ターゲットを登録します。

スクリーンショット (187).png

7-2 監査証跡の追加

ターゲットデータベースから収集する監査証跡を追加するため、前の手順で作成したターゲットをクリックします。

スクリーンショット (189).png

監査データ収集の右側の「追加」をクリックします。

スクリーンショット (190).png

スクリーンショット (192).png

8. 監査ログ収集確認

スーパー監査者としてAudit Vault Serverにログインし、監査ログを確認します。

9. まとめ

今回は、AVDFを利用しADBの監査ログを収集する方法について紹介しました。

AVDFは、クラウドまたは、オンプレミスのOracle Databaseだけではなく、OSや他のデータベースなど多様なターゲットに対し、監査ログの収集・管理ができますが、エージェントが利用できず、収集可能な監査トレイに制限があるなどADBに適しているソリューションではありません。

ADBでAVDFの使用を検討している方は、要件と仕様を理解し、自分たちの環境や、状況に合っているか確認する必要があります。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?