0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Guardium Data ProtectionでOracle 19c監視

0
Last updated at Posted at 2026-07-08

Oracle 19c環境を再現するために以下の繰り合わせで環境準備を行う

環境

Oracle 19c
RHEL8.10
Guardium 12.2.3

 uname -a
Linux testOracle.localdomain 4.18.0-553.el8_10.x86_64 #1 SMP Fri May 10 15:19:13 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux

Ktapの互換性確認について事前に調べる
取得すべきKtapモジュールの名前がわかる
image.png

Copilotの回答だとRHELでカーネルを互換性があるものにする制限があるとのこと
今回は、4.18.0-553.el8_10.x86_64なのでOK
image.png

Oracle 準備

Enterpriseは、規模が大きい場合に導入するEdition。今回は小規模の検証環境のためStandardを選ぶ
image.png

image.png

image.png

image.png
exeがダウンロードマネージャ。zipファイルが本体
image.png

RHELインストール

image.png

image.png

Oracle DBのインストール

RHELのsubscription登録

# subscription-manager config \
  --server.proxy_hostname=192.168.20.23 \
  --server.proxy_port=3128
# subscription-manager register --username <RHELのサイトログインID>

OSパッケージのインストール

# dnf install -y \
bc \
binutils \
elfutils-libelf \
elfutils-libelf-devel \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libXrender \
libX11 \
libXau \
libXi \
libXtst \
libgcc \
libnsl \
librdmacm \
libstdc++ \
libstdc++-devel \
libxcb \
libibverbs \
make \
policycoreutils \
policycoreutils-python-utils \
smartmontools \
sysstat \
unzip \
lsof

Oracle用ユーザー・グループ作成

# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。

ディレクトリー作成

#Oracle Homeはこれ
# mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
# mkdir -p /u01/app/oraInventory
# mkdir -p /u01/stage
#権限追加
# chown -R oracle:oinstall /u01/app
# chmod -R 775 /u01/app
# chmod 775 /u01
#Oracle ZIPを配置します。
# mv  V982063-01.zip /u01/stage
# chmod 777  /u01/stage/V982063-01.zip

OracleユーザでZIP実行をOracle Homeに展開

su - oracle
cd /u01/app/oracle/product/19.3.0/dbhome_1
unzip /u01/stage/V982063-01.zip

Oracleユーザーの環境変数を設定

cat >> ~/.bash_profile <<'EOF'

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LANG=ja_JP.UTF-8
export NLS_LANG=Japanese_Japan.AL32UTF8
EOF

source ~/.bash_profile

レスポンスファイル作成

su - oracle
cd $ORACLE_HOME
cp install/response/db_install.rsp /tmp/db_install.rsp
vi /tmp/db_install.rsp

以下変更

oracle.install.option=INSTALL_DB_SWONLY

UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory

ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
ORACLE_BASE=/u01/app/oracle

oracle.install.db.InstallEdition=SE2

oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=dba
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba

INSTALL_DB_SWONLY は、Oracle Databaseソフトウェアのみをインストールし、データベースはまだ作成しない指定です。サイレントインストールでは response file を指定して runInstaller -silent を実行します

RHEL 8.10向けOSチェック回避設定

RHEL 8.10 + Oracle 19.3 baseでは、supportedOSCheck で INS-08101 が出る場合があるため、インストール実行前に以下を設定します。

export CV_ASSUME_DISTID=OEL8.1

INS-08101 supportedOSCheck に対して CV_ASSUME_DISTID を設定する回避策が報告されています。

Oracleソフトウェアをサイレントインストール

cd $ORACLE_HOME

./runInstaller -silent \
  -responseFile /tmp/db_install.rsp \
  -waitforcompletion

成功すると、以下のように表示されます。

Oracle Database設定ウィザードを起動中...

このセッションのレスポンス・ファイルは次の場所にあります:
 /u01/app/oracle/product/19.3.0/dbhome_1/install/response/db_2026-07-08_10-19-15AM.rsp

このインストール・セッションのログは次の場所にあります:
 /tmp/InstallActions2026-07-08_10-19-15AM/installActions2026-07-08_10-19-15AM.log

rootユーザーとして次のスクリプトを実行します:
        1. /u01/app/oraInventory/orainstRoot.sh
        2. /u01/app/oracle/product/19.3.0/dbhome_1/root.sh

次のノードで/u01/app/oraInventory/orainstRoot.shを実行してください:
[testOracle]
次のノードで/u01/app/oracle/product/19.3.0/dbhome_1/root.shを実行してください:
[testOracle]


Successfully Setup Software.
インストール・セッション・ログの移動先:
 /u01/app/oraInventory/logs/InstallActions2026-07-08_10-19-15AM

rootスクリプト実行

su -
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.3.0/dbhome_1/root.sh

sqlplusコマンドの確認

$ su - oracle

$which sqlplus
$ sqlplus -v

期待結果

/u01/app/oracle/product/19.3.0/dbhome_1/bin/sqlplus

SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

リスナー作成

$ netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp

コマンドライン引数の解析:
    パラメータ "silent" = true
    パラメータ "responsefile" = /u01/app/oracle/product/19.3.0/dbhome_1/assistants/netca/netca.rsp
コマンドライン引数の解析が終了しました。
Oracle Net Servicesの構成:
プロファイルの構成が完了しました。
Oracle Net Listenerの起動:
    リスナーの制御の実行:
      /u01/app/oracle/product/19.3.0/dbhome_1/bin/lsnrctl start LISTENER
    リスナーの制御が完了しました。
    リスナーの起動に成功しました。
リスナーの構成が完了しました。
Oracle Net Servicesの構成に成功しました。終了コードは次のとおりです。0

確認

$ lsnrctl status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-7月 -2026 10:22:59

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=testOracle.localdomain)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名                      LISTENER
バージョン                TNSLSNR for Linux: Version 19.0.0.0.0 - Production
開始日                    08-7月 -2026 10:22:40
稼働時間                  0 日 0 時間 0 分 18 秒
トレース・レベル          off
セキュリティ              ON: Local OS Authentication
SNMP                      OFF
パラメータ・ファイル      /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
ログ・ファイル            /u01/app/oracle/diag/tnslsnr/testOracle/listener/alert/log.xml
リスニング・エンドポイントのサマリー...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=testOracle.localdomain)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
リスナーはサービスをサポートしていません。
コマンドは正常に終了しました。

DB作成

$ dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
   -gdbname orcl \
   -sid orcl \
   -responseFile NO_VALUE \
   -characterSet AL32UTF8 \
   -memoryPercentage 30 \
   -emConfiguration NONE \
   -datafileDestination /u01/app/oracle/oradata \
   -createAsContainerDatabase false \
   -sysPassword Oracle_123 \
   -systemPassword Oracle_123

出力数十分かかるかも

DB操作の準備
10%完了
データベース・ファイルのコピー中
40%完了
Oracleインスタンスの作成および起動中
42%完了
46%完了
50%完了
54%完了
60%完了
データベース作成の完了
66%完了
69%完了
70%完了
構成後アクションの実行
100%完了
データベースの作成が完了しました。詳細は、次の場所にあるログ・ファイルを参照してください:
/u01/app/oracle/cfgtoollogs/dbca/orcl。
データベース情報:
グローバル・データベース名:orcl
システム識別子(SID):orcl
詳細はログ・ファイル"/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log"を参照してください。

Guardium STAPインストール

ガイド

GIMスクリプトを動かすために必要なperlのインストール

# yum install perl

Fix centralからダウンロードしたZIPを解凍

unzip Guardium_12.x.p101_GIM_RedHat_r124239.zip
la -la Guardium_12.x.p101_GIM_RedHat_r124239
合計 40
drwxrwxr-x. 3 root root    72  6月 29 12:47 .
drwxr-xr-x. 3 root root   100  7月  2 18:04 ..
drwxrwxr-x. 2 root root  8192  6月 29 12:45 GIM_Agents
-rw-rw-r--. 1 root root  5686  6月 29 12:47 MD5SUMS
-rwxr-xr-x. 1 root root 18829  6月 25 10:07 consolidated_installer.sh
cd GIM_Agents/
# ./guard-bundle-GIM-12.x.p101_r124239_main_1-rhel-8-linux-x86_64.gim.sh -- \
  --dir /usr/local/guardium \
   --tapip 192.168.20.25 \
   --sqlguardip 192.168.20.21 \
   --perl /usr/bin \

Verifying archive integrity using SHA-256... All good.
Uncompressing Guard BUNDLE-GIM Installer....
This product is subject to the license terms associated with the IBM Security Guardium product purchased.
Installing modules ....
Installation completed successfully

意味
--dir      GIMのインストール先
--tapip      DBサーバー自身のIP
--sqlguardip   Guardium Collector / GIM Server のIP
--perl      perlがあるディレクトリ

正常性の確認

以下3つのプロセスが見えればOK

# ps -ef | grep -i guard | grep -v grep
root       23758       1  0 17:04 ?        00:00:00 /usr/local/guardium/modules/perl /usr/local/guardium/modules/GIM/12.x.p101_r124239_1-1783497857/gim_client.pl
root       23870   23758  0 17:04 ?        00:00:00 ../../perl ./guard_gimd.pl
root       24277       1  0 17:04 ?        00:00:00 /usr/local/guardium/modules/perl /usr/local/guardium/modules/SUPERVISOR/12.x.p101_r124239_1-1783497859/guard_supervisor

GIMとSUPERVISORモジュールが状況:緑で表示される
image.png

STAPモジュールをコレクターにアップロード

対象のホストを選んで「次へ」
image.png
「バンドルのインポート」
image.png

「GIMのバージョンと同じ、guard-bundle-STAP-12.x.p101_r124239_main_1-rhel-8-linux-x86_64.gim」をアップロード
image.png

image.png

image.png

image.png

image.png

STAPインストール

プルダウンのところをBundle-STAPに変更し、「次へ」
image.png

「インストール」
image.png
「次へ」
image.png
「状況の表示」
image.png
更新ボタンを教えて状況確認
image.png
「FAILED」になる。Ktapがまだ動作する状態ではないため
image.png

戻って以下のようにパラメータを指定
image.png

再度インストールすると成功する
image.png

KTAPの有効化

以下のリンクを参考に「guardium_module_signing.der 」を読み込ませ再度KTAPを有効化
以前執筆した 内容と公式ドキュメント
https://www.ibm.com/docs/en/gdp/12.x?topic=tap-linux-unix-enrolling-k-signing-key
前回失敗した、「KTAP_ENALBLED」を1に変更してインストール
image.png
image.png
この時点でKTAP有効化済み
image.png

[管理]->「アクティビティー・モニター]->[S-TAP制御]にて設定を確認
パラメータを確認
データベースインストールディレクトリを修正
image.png

image.png

ATAPの有効化

最初にDBの停止

su - oracle -c "sqlplus / as sysdba <<'EOF'
shutdown immediate;
exit
EOF"

Listenerの停止

su - oracle -c "lsnrctl stop"

パスの環境変数設定

export GIM_ROOT_DIR=/usr/local/guardium/modules

oracleユーザーを認可

/usr/local/guardium/modu*es/ATAP/current/files/bin/guardctl authorize_user oracle

A-TAPの設定

# /usr/local/guardium/modules/ATAP/current/files/bin/guardctl   --db-user=oracle   --db-type=oracle   --db-instance=orcl   --db-home=/u01/app/oracle/product/19.3.0/dbhome_1   --db-base=/u01/app/oracle/product/19.3.0/dbhome_1   --db-version=19.3   store-conf
For Oracle versions 12 or later, only ASO decrypted traffic will be captured if db-use-instrumented=no

A-TAPの有効化

# /usr/local/guardium/modules/ATAP/current/files/bin/guardctl --db-instance=orcl  activate
For Oracle versions 12 or later, only ASO decrypted traffic will be captured if db-use-instrumented=no
Matching module found - oracle is supported by /usr/lib64/libguard-atap-oracle-any
Instance root/orcl is not active
Installing library /usr/lib64/libguard-atap-oracle-any*.a in /usr/lib
Installing library /usr/lib64/libguard-atap-oracle-any*.a in /usr/lib64
Creating permissions
Set 749 bytes for 'executor/env' in file '/u01/app/oracle/product/19.3.0/dbhome_1/bin/oracle-guard-executor'
Instance root/orcl is active

Oracle Listenerを起動

su - oracle -c "lsnrctl start"

Oracle Databaseを起動し、Listenerへサービス登録する。

su - oracle -c "sqlplus / as sysdba <<'EOF'
startup;
alter system register;
exit
EOF"

S-TAP再起動 (必要ないかも)

/usr/local/guardium/modules/STAP/current/rc stop by_init
sleep 5
/usr/local/guardium/modules/STAP/current/rc start by_init

Guardiumの監査ログを出すためのテストコマンド

su - oracle -c "sqlplus guardium_test/\"GuardiumTest#123\"@//127.0.0.1:1521/orcl <<'EOF'
set echo on
set linesize 200
set pagesize 100

prompt ===== GUARDIUM_SQL_DETAIL_TEST_START =====

select 'GUARDIUM_SQL_DETAIL_TEST_001' as marker from dual;

select username
from dba_users
where rownum <= 5;

prompt ===== GUARDIUM_SQL_DETAIL_TEST_END =====

exit
EOF"

ログの確認

image.png

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?