構築する環境
構築するのは、Database Firewall をモニタリング(帯域外)構成としたAVDF構成とし、VMware ESXi 7.0 上の仮想マシンとして構築していく。必要な仮想マシンは以下の4つ。
- Audit Vault Server
- Firewall Server
- Database Server
- Database Client
このうち Database Server や Database Client の仮想マシンは既に存在し、19cのデータベースが構築済みという前提で話を進めていく。
ネットワークの構成
以下のような構成を考える。

ネットワークとしては二つ必要で、Audit Vault Server や Firewall Serverを管理するための管理ネットワークにデフォルトの[VM Network]を、Database Server と Client の通信、及び Firewall Serverのモニタリングに使用するネットワークに[AVDF20 NW] を新規作成して使用する。
VMware上の仮想スイッチ作成
DatabaseとClient で行われている通信を Database Firewall がモニタリングできるようにするため、スイッチの作成時に「無差別モード」を承諾する必要がある。


VMware上のポートグループの作成
上記で作った仮想スイッチに紐づくポートグループの設定でも、「無差別モード」を承諾しておく。


仮想マシンの作成
Audit Vault Server と Firewall Serverはいずれも 2コアのCPU、メモリ8GB、ディスク250GBを設定して構築する。ネットワークアダプタには、適宜必要なネットワークを追加・設定させること。
また、仮想マシンのオプションで設定変更が必要な個所があるのでそこを確認する。
[仮想マシン オプション] → [起動オプション] → [ファームウェア] を [EFI] に変更し、[UEFI セキュア ブートの有効化] のチェックを外す。

[仮想マシン オプション] → [詳細] → 設定パラメータの [設定の編集] ボタンから、構成パラメータの disk.EnableUUID が TRUE に設定されていることを確認。設定されていない場合は、[パラメータの追加] で追加する。

Audit Vault Serverのインストール
通常のOSと同様、インストーラのISOイメージを使ってインストールを開始する。

パーティション設定やOSのインストールが自動的に開始されるのでしばらく待つ。

rootのパスワードを要求されるので設定する

再起動された後ログインを求められるので、先ほど設定したパスワードでrootにログインする。インストーラのISOが外れている場合は入れなおすように記載されているので、指示通りに対応する。

ログインすると、インストールが再開される。管理ネットワークのインターフェースを選択。

管理用ネットワークのIPアドレスとネットマスクを設定。

Audit Valut Serverのコンポーネントのインストールが始まる。途中でGrid InfrastructureやDatabaseのインストール、パッチ適用などが自動で行われる。

この画面になったらインストールは完了。

指定のURLをブラウザで開くと、ログインが求められるので設定したrootのパスワードでログインする。

初期設定で管理者や監査者などのアカウント設定を行う。

再度ログイン画面が開くので、管理者でログイン。


Firewall Serverのインストール
Audit Vault Server と同様にインストールを開始する。

自動的にパーティション設定やOSのインストールが行われていくのもAudit Vault Serverと同様。rootのパスワードを聞かれるので設定。

再起動後、ISOイメージのマウントが外れていたら入れなおして、rootのパスワードを入れて続行。

Firewall Serverにはトラフィックネットワークもつながっているので、MACアドレスを頼りに管理用のネットワークを間違わないよう選択。

管理用ネットワークのIPアドレスとネットマスクの設定。

こちらも、Firewall Serverのコンポーネントのインストールが始まるので待機。こちらはAudit Vault Serverよりも早く完了する。

コンソールからrootユーザでログインし、supportユーザのパスワードを設定する。

Firewall Server に Audit Vault Server の証明書を登録する
Audit Vault Serverに管理者でログインし、[設定] → [証明書] で [証明書のコピー]を押下。ローカルにテキストを保持しておく。

SSHでFirewall Serverにsupportユーザでログインしたら、rootにスイッチする。
Database Firewall 20.6.0.0.0
DO NOT CHANGE ANY CONFIGURATIONS IN Database Firewall APPLIANCE WITHOUT GUIDANCE FROM
ORACLE SUPPORT. ANY CHANGES SHOULD BE TRACEABLE TO APPROPRIATE SR REFERENCE.
[support@dbfw000c29a5870d ~]$ su - root
Password:
Last login: Sat Jun 25 15:50:37 UTC 2022 on tty1
[root@dbfw000c29a5870d ~]#
カレントディレクトリに適当なテキストファイルを作成し、証明書を貼り付けて保存したら、登録したいAudit Vault ServerのIPアドレスと、保存した証明書のファイルを指定して config-avs コマンドを実行する。
[root@dbfw000c29a5870d ~]# vi cert.txt
[root@dbfw000c29a5870d ~]# /opt/avdf/config-utils/bin/config-avs set avs=primary address=192.168.100.50 certificate=/root/cert.txt
Notice: Success. Settings saved.
NTPサーバと同期設定を行う。
[root@dbfw000c29a5870d ~]# /opt/avdf/config-utils/bin/config-ntp set servers=192.168.100.10 sync_on_save=true enabled=true
Notice: Success. Settings saved.
Audit Vault Server に Firewall Server を登録する
コンソールに管理者でログインして、以下の画面からFirewall Serverを登録する。


登録が成功すると以下の画面となる。

Firewall Serverのネットワーク設定
モニタリング用のネットワークにIPアドレスなどを設定する。
選択した Firewall Server の画面から[ネットワーク設定]をクリック。

設定したいネットワークを選択して、IPアドレスとネットマスクの設定を行う。


ターゲットの登録
ひとまず、Firewall Server で帯域外モニタリングするため、ターゲット登録をしていく。
管理者でログインし、ターゲット画面から[登録]ボタンを押下。

ターゲット名を入力したら、[データベース・ファイアウォール・モニタリング] 欄の[追加]を押下。

モニタリングに利用するFirewall Serverを選択し、モードを[Monitoring(Out-of-Band)] に変更、インターフェースカードはモニタリングに使用するインターフェースを選択する。
モニタリング対象のデータベースサーバのIPアドレスとリスナーのポート番号、データベースのサービス名を指定して[保存]を押下。

次の画面でも[保存]を押下して設定を反映させる。

監査者でログインしなおしたら、ターゲット画面から追加したターゲットを選択し、[データベース・ファイアウォール・ポリシー]を適切なものに設定する。今回は、[Log all – no mask] に変更。

モニタリング状況の確認
この状態でクライアントからデータベースにリスナー接続、何か処理を実行してみる。
SQL> conn test/test@db19
接続されました。
SQL> create table test(col1 number);
表が作成されました。
SQL> insert into test values(1);
1行が作成されました。
SQL> commit;
コミットが完了しました。
SQL> select * from test;
COL1
----------
1
監査者でログインして、レポート画面から確認したいレポートを選択する。


先ほど実行したINSERT文が確認できる。

コメント