Oracle RDBMS 監査レコード
JSA の ORACLE RDBMS 監査レコードは、Oracle データベースからログを収集します。
次の表に、Oracle RDBMS 監査レコードの DSM の仕様を示します。
仕様 |
値 |
---|---|
メーカー |
Oracle |
DSM 名 |
Oracle RDBMS 監査レコード |
RPM ファイル名 |
DSM-OracleDbAudit-noarch.rpmJSA_version-build_number |
サポートされるバージョン |
9i、10g、11g、12c(統合監査を含む) |
プロトコル |
JDBC、Syslog |
イベント形式 |
名前と値のペア |
記録されたイベントタイプ |
監査レコード |
自動的に検出されましたか? |
いいえ |
アイデンティティを含む? |
はい |
カスタム プロパティが含まれていますか? |
いいえ |
詳細 |
Oracle RDBMS 監査レコードと JSA を統合するには、以下のステップを実行します。
-
自動更新が有効になっていない場合は、 Juniper Downloads から次の RPM の最新バージョンをダウンロードして JSA コンソールにインストールします。
-
プロトコル JDBC RPM
-
DSMCommon RPM
-
Oracle RDBMS監査レコードDSM RPM
-
-
Oracle RDBMS 監査レコード デバイスを構成して、監査ログを書き込みます。
-
JSA がログ ソースを自動的に検出しない場合は、JSA コンソールに Oracle RDBMS 監査レコード ログ ソースを追加します。次の表に、Oracle RDBMS 監査レコードから監査イベントを収集するために特定の値を必要とするパラメーターを示します。
表 2:Oracle RDBMS 監査レコード Syslog ログ ソース パラメーター パラメーター
値
ログ ソース タイプ
Oracle RDBMS 監査レコード
プロトコル構成
Syslog
ログ ソース識別子
ログ ソースの一意の識別子を入力します。
表 3: Oracle RDBMS 監査レコード JDBC ログ・ソース・パラメーター パラメーター
値
ログ ソース タイプ
Oracle RDBMS 監査レコード
プロトコル構成
JDBC
ログ ソース識別子
ログ ソースの名前を入力します。この名前にはスペースを含めることはできません。また、JDBC プロトコルを使用するように構成されているログ・ソース・タイプのすべてのログ・ソースで固有でなければなりません。
ログ ソースが静的 IP アドレスまたはホスト名を持つ単一のアプライアンスからイベントを収集する場合は、アプライアンスの IP アドレスまたはホスト名を Log Source Identifier 値の全部または一部として使用します。たとえば、192.168.1.1 または JDBC192.168.1.1 などです。ログ ソースが静的 IP アドレスまたはホスト名を持つ 1 つのアプライアンスからイベントを収集しない場合は、 ログ ソース識別子 の値に任意の一意の名前を使用できます。例えば、JDBC1、JDBC2 などです。
データベース タイプ
Oracle
データベース名
監査ログを収集するデータベースの名前。
IP またはホスト名
Oracle データベースの IP またはホスト名。
ポート
JDBC ポートを入力します。JDBC ポートは、リモート・データベース上で構成されているリスナー・ポートと一致する必要があります。データベースは受信 TCP 接続を許可する必要があります。有効な範囲は 1 ~ 65535 です。
デフォルトは次のとおりです。
-
MSDE - 1433
-
Postgres - 5432
-
MySQL - 3306
-
Sybase - 1521
-
Oracle - 1521
-
9088
-
DB2 - 50000
MSDE データベース タイプでデータベース インスタンスを使用する場合は、[Port] フィールドを空白のままにする必要があります。
名
データベースに接続するためのユーザー アカウント。ユーザーには 、AUDIT_ADMIN または AUDIT_VIEWER 権限が必要です。
パスワード
データベースへの接続に必要なパスワード。
事前定義されたクエリ
ログ ソースの定義済みデータベース クエリを選択します。ログ ソース タイプで事前定義されたクエリが使用できない場合、管理者は [なし] オプションを選択できます。
表名
イベント レコードを含むテーブルまたはビューの名前。テーブル名には、ドル記号($)、数字記号 (#)、アンダースコア(_)、en ダッシュ(-)、ピリオド(.)の特殊文字を使用できます。
リストを選択
イベントに対してテーブルがポーリングされたときに含めるフィールドのリスト。カンマ区切りリストを使用するか、アスタリスク(*)を入力して、テーブルまたはビューからすべてのフィールドを選択できます。コンマ区切りリストが定義されている場合、リストには「 比較フィールド」で定義されているフィールドが含まれている必要があります。
比較フィールド
Oracle 9i または Oracle 10g リリース 1 の場合は、と入力します JSA_time。
Oracle 10g リリース 2、Oracle 11g、または Oracle 12c(非統合監査)の場合は、 を入力します extended_timestamp。
Oracle 12c(統合監査)の場合は、 を入力します event_timestamp。
Oracle 暗号化の使用
Oracle Encryption and Data Integrity settings とも呼ばれます Oracle Advanced Security。
選択されている場合、Oracle JDBC 接続では、サーバーがクライアントと同様の Oracle データ暗号化設定をサポートする必要があります。
-
-
JSA が正しく構成されていることを確認します。
メモ:フォーマットの問題が原因で、メッセージ形式をテキストエディターに貼り付け、紙送りまたは改行文字を削除します。
次の表は、Oracle RDBMS 監査レコードからの正規化されたイベント メッセージの例を示しています。
表 4:Oracle RDBMS 監査レコードのサンプル・メッセージ イベント名
低レベルのカテゴリー
サンプル ログ メッセージ
成功した SELECT
システム アクションの許可
OS_USERNAME: "os_username" USERNAME: "username" USERHOST: "userhost" TERMINAL: "terminal" TIMESTAMP: "2017-04-05 21:04:02.0" OWNER: "owner" OBJ_NAME: "PARTIAL_ALERT" ACTION: "3" ACTION_NAME: "SELECT" NEW_OWNER: "null" NEW_NAME: "null" OBJ_PRIVILEGE: "null" SYS_PRIVILEGE: "null" ADMIN_OPTION: "null" GRANTEE: "null" AUDIT_OPTION: "null" SES_ACTIONS: "null" LOGOFF_TIME: "null" LOGOFF_LREAD: "null" LOGOFF_PREAD: "null" LOGOFF_LWRITE: "null" LOGOFF_DLOCK: "null" COMMENT_TEXT: "null" SESSIONID: "xxxxxx" ENTRYID: "2" STATEMENTID: "2" RETURNCODE: "0" PRIV_USED: "null" CLIENT_ID: "null" ECONTEXT_ID: "null" SESSION_CPU: "null" EXTENDED_TIMESTAMP: "2017-04-05 21:04:02.318133 America/Halifax" PROXY_SESSIONID: "null" GLOBAL_UID: "null" INSTANCE_NUMBER: "0" OS_PROCESS: "9276" TRANSACTIONID: "null" SCN: "3842851" SQL_BIND: "null" SQL_TEXT: "null" OBJ_EDITION_NAME: "null" DBID: "xxxxxxxxxx"
監査に失敗しました
構成の変更に失敗しました
AUDIT_TYPE: "Standard" SESSIONID: "xxxxxxxxxx" PROXY_SESSIONID: "0" OS_USERNAME: "os_username" USERHOST: "userhost" TERMINAL: "terminal" INSTANCE_ID: "1" DBID: "xxxxxxxxxx" AUTHENTICATION_TYPE: "(TYPE=(DATABASE));" DBUSERNAME: "dbusername" DBPROXY_USERNAME: "null" EXTERNAL_USERID: "null" GLOBAL_USERID: "null" CLIENT_PROGRAM_NAME: "client_program_name" DBLINK_INFO: "null" XS_USER_NAME: "null" XS_SESSIONID: "000000000000000000000000000000000000000000000 000000000000000000000" ENTRY_ID: "3" STATEMENT_ID: "11" EVENT_TIMESTAMP: "2017-04-05 20:44:21.29604" ACTION_NAME: "AUDIT" RETURN_CODE: "1031" OS_PROCESS: "1749" TRANSACTION_ID: "0000000000000000" SCN: "3841187" EXECUTION_ID: "null" OBJECT_SCHEMA: "null" OBJECT_NAME: "null" SQL_TEXT: "audit all" SQL_BINDS: "null" APPLICATION_CONTEXTS: "null" CLIENT_IDENTIFIER: "null" NEW_SCHEMA: "null" NEW_NAME: "null" OBJECT_EDITION: "null" SYSTEM_PRIVILEGE_USED: "null" SYSTEM_PRIVILEGE: "null" AUDIT_OPTION: "CREATE SESSION" OBJECT_PRIVILEGES: "null" ROLE: "null" TARGET_USER: "null" EXCLUDED_USER: "null" EXCLUDED_SCHEMA: "null" EXCLUDED_OBJECT: "null" ADDITIONAL_INFO: "null" UNIFIED_AUDIT_POLICIES: "null" FGA_POLICY_NAME: "null" XS_INACTIVITY_TIMEOUT: "0" XS_ENTITY_TYPE: "null" XS_TARGET_PRINCIPAL_NAME: "null" XS_PROXY_USER_NAME: "null" XS_DATASEC_POLICY_NAME: "null" XS_SCHEMA_NAME: "null" XS_CALLBACK_EVENT_TYPE: "null" XS_PACKAGE_NAME: "null" XS_PROCEDURE_NAME: "null" XS_ENABLED_ROLE: "null" XS_COOKIE: "null" XS_NS_NAME: "null" XS_NS_ATTRIBUTE: "null" XS_NS_ATTRIBUTE_OLD_VAL: "null" XS_NS_ATTRIBUTE_NEW_VAL: "null" DV_ACTION_CODE: "0" DV_ACTION_NAME: "null" DV_EXTENDED_ACTION_CODE: "0" DV_GRANTEE: "null" DV_RETURN_CODE: "0" DV_ACTION_OBJECT_NAME: "null" DV_RULE_SET_NAME: "null" DV_COMMENT: "null" DV_FACTOR_CONTEXT: "null" DV_OBJECT_STATUS: "null" OLS_POLICY_NAME: "null" OLS_GRANTEE: "null" OLS_MAX_READ_LABEL: "null" OLS_MAX_WRITE_LABEL: "null" OLS_MIN_WRITE_LABEL: "null" OLS_PRIVILEGES_GRANTED: "null" OLS_PROGRAM_UNIT_NAME: "null" OLS_PRIVILEGES_USED: "null" OLS_STRING_LABEL: "null" OLS_LABEL_COMPONENT_TYPE: "null" OLS_LABEL_COMPONENT_NAME: "null" OLS_PARENT_GROUP_NAME: "null" OLS_OLD_VALUE: "null" OLS_NEW_VALUE: "null" RMAN_SESSION_RECID: "0" RMAN_SESSION_STAMP: "0" RMAN_OPERATION: "null" RMAN_OBJECT_TYPE: "null" RMAN_DEVICE_TYPE: "null" DP_TEXT_PARAMETERS1: "null" DP_BOOLEAN_PARAMETERS1: "null" DIRECT_PATH_NUM_COLUMNS_LOADED: "0"
Oracle 12c での統合監査の有効化
Oracle 12c で統合監査を有効にするには、Oracle データベースをシャットダウンし、Oracle リスナー サービスを停止してから、Oracle データベースと Oracle Listener サービスを再起動する必要があります。
次の手順を実行するには、AUDIT_SYSTEMシステム権限またはAUDIT_ADMINロールが必要です。
SQLplus を使用してデータベースに接続して Oracle データベースをシャットダウンし、次のコマンドを入力します。
shutdown immediate
以下のコマンドを入力して、Oracle リスナー・サービスを停止します。
lsnrctl stop
該当する場合は、次のコマンドを入力してエンタープライズ マネージャーを停止します。
cd /u01/app/oracle/product/middleware/oms
export OMS_HOME=/u01/app/oracle/product/middleware/oms
$OMS_HOME/bin/emctl stop oms
uniaud オプションを使用して Oracle DB を再リンクするには、次のコマンドを入力します。
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk uniaud_on ioracle
SQLplus を使用してデータベースに接続して Oracle データベースを再起動し、次のコマンドを入力します。
startup
次のコマンドを入力して、Oracle リスナー サービスを再起動します。
lsnrctl start
該当する場合は、次のコマンドを入力してエンタープライズ マネージャーを再起動します。
cd /u01/app/oracle/product/middleware/oms
export OMS_HOME=/u01/app/oracle/product/middleware/oms
$OMS_HOME/bin/emctl start oms
統合監査が有効になっていることを確認するには、SQLplus を使用して Oracle データベースに接続し、次のコマンドを入力します。
select * from v$option where PARAMETER = 'Unified Auditing';
コマンドが 「TRUE」と等しい VALUE を持つ 1 つの行を返すを確認します。
JSA に監査ログを送信するための Oracle データベース サーバーの構成
JsA に監査ログを送信するように Oracle デバイスを構成します。
Oracle ユーザーとして Oracle ホストにログインします。
導入環境に対して ORACLE_HOME 、環境変数と ORACLE_SID 環境変数が適切に設定されていることを確認します。
次のファイルを開きます。
${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora
次のいずれかのオプションを選択します。
データベース監査証跡の場合は、次のコマンドを入力します。
*.audit_trail='DB'
-
syslog の場合は、次のコマンドを入力します。
*.audit_trail='os'
*.audit_syslog_level='local0.info'
Oracle ホスト上の syslog デーモンが監査ログを JSA に転送するように構成されていることを確認する必要があります。Red Hat Enterprise を実行するシステムでは、 /etc/syslog.conf ファイルの次の行が転送に影響します。
local0.info @ qradar.domain.tld
イベントを受信するJSAのホスト名はどこにありますか qradar.domain.tld 。コマンドを認識するには、syslog 設定をリロードする必要があります。Red Hat Enterprise を実行するシステムで、次の行を入力して syslog 設定をリロードします。
kill -HUP /var/run/syslogd.pid
ファイルを保存して終了します。
データベースを再起動するには、SQLplus に接続し、sysdba としてログインします。
次の行を入力してデータベースをシャットダウンします。
shutdown immediate
次の行を入力して、データベースを再起動します。
startup
Oracle v9i または Oracle v10g リリース 1 を使用している場合は、SQLplus を使用して JSA 統合を有効にするビューを作成する必要があります。Oracle 10g リリース 2 以降を使用している場合は、このステップをスキップできます。
AS SELECT CAST qradar_audit_viewビューを作成(dba_audit_trail.timestamp AS TIMESTAMP)AS qradar_time、dba_audit_trail.*をdba_audit_trailから。
JDBC プロトコルを使用している場合、JSA 内で JDBC プロトコルを構成するときは、以下の特定のパラメーターを使用します。
表 5:ログ ソース パラメータの設定 パラメータ名
Oracle v9i または 10g リリース 1 の値
Oracle v10gリリース2およびv11gの値
表名
JSA_audit_view
dba_audit_trail
リストを選択
*
*
比較フィールド
JSA_time
extended_timestamp
データベース名
サポートされるすべてのバージョンの Oracle では、 データベース名 は Oracle リスナーで使用される正確なサービス名である必要があります。Oracle ホストで次のコマンドを実行すると、使用可能なサービス名を表示できます。
lsnrctl ステータス
メモ:JSA が監査ログ テーブルからのイベントのクエリに使用するデータベース ユーザーに、Table Name オブジェクトに対する適切な権限を持っていることを確認します。
JsA が Oracle データベースからイベントを受信するように構成できるようになりました。[ ログ ソース タイプ ] リストから、[ Oracle RDBMS 監査レコード ] オプションを選択します。