Oracle Data Safeでの監査データの取得
1 はじめに
この記事は、JPOUG Advent Calendar 2021 21日目の記事です。
20日目はmultilayerさんの記事『AWRレポートでパフォーマンス分析しよう!(リファレンス編)』でした。
JPOUG Advent Calenderは12月1日から25日間、毎日、Japan Oracle User Group (JPOUG)コミュニティのみんなで記事を書き、クリスマス当日までバトンをつなげる試みです。
https://adventar.org/calendars/6527
21日目の今回は、NTTデータ先端技術の羽田がOracle Data Safeの機能の一部である監査データの取得についてご紹介します。
2 Oracle Data Safe概要
Oracle Data Safeは、セキュリティ評価・ユーザー評価・機密データの検出・データマスキング・アクティビティ監査の機能を簡易に実現して一元管理できるOracleデータベースの統合コントロール・センターです。
これらの機能概要は以下の通りです。
- ●セキュリティ評価はデータベースのセキュリティアセスメントができます。脆弱性を把握するのに役立ちます。
- ●ユーザー評価は、データベースユーザーのセキュリティアセスメントができます。リスクのあるユーザーを把握するのに役立ちます。
- ●機密データの検出は、データベース内に機密データが存在するかどうか、調べることができます。
- ●データマスキングは、データの機密性が守られるように機密データを加工して再利用しやすくできます。
- ●アクティビティ監査は、データベースのAudit機能で出力された監査データの蓄積と参照がGUIで簡単にできます。
Oracle Data Safeは、OracleCloudのデータベースや、オンプレミスのデータベースで使用することができます。
今回は、Oracle Data Sefe構成手順およびアクティビティ監査機能で簡単に監査データを取得・参照する方法についてご紹介します。
3 Oracle Data Safe構成手順
以下の構成で環境を作成します。
3.1 監査対象データベース作成
今回は監査対象のデータベースにOracle Database Cloud Service (DBCS)を使用します。監査データの収集をOracleCloud内の通信を使って行うために、DBCSにプライベートIPも割り振っておきます。
3.2 Oracle Data Safe用Oracle Cloud Infrastructure(OCI)アカウント設定
Oracle DataSafe用のOCIアカウントを作成し、使用しているコンパートメントやグループに合わせて以下のように権限を付与します。
allow group JPOUG_Test to manage data-safe in tenancy allow group JPOUG_Test to inspect groups in tenancy allow group JPOUG_Test to manage database-family in compartment JPOUG_Test allow group JPOUG_Test to manage instance-family in compartment JPOUG_Test
※ 今回の構成ではOracle DataSafe用のOCIアカウントはグループ「JPOUG_Test」に所属しており、監査対象のDBはコンパートメント「JPOUG_Test」に配置しています。
3.3 Oracle Data Safe有効化
OCIのテナントで一度もOracle Data Safeを有効化していない場合は、有効化します。
3.4 Oracle Data Safeのプライベートエンドポイントの作成
監査対象データベースとOracle Data Safeの通信をインターネット経由ではなく、OracleCloud内のネットワークで通信させるために、Oracle Data Safeのプライベートエンドポイントを作成します。
※ プライベートエンドポイントを作成する際には、NSG(ネットワーク・セキュリティ・グループ)を指定して、ファイアウォールで適切なアクセスを許可する必要があります。
※ 本コラムのOracleCloudの画面キャプチャは2021年12月2日時点のものとなります。
3.5 Oracle Data Safeへのターゲット登録
Oracle Data Safeのメニューからターゲット登録する際に表示されるリンク「Download Privilege Script」から、「datasafe_privileges.sql」をダウンロードし、ターゲットデータベースで実行します。
[oracle@sv-jpoug ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Fri Dec 3 10:58:09 2021 Version 19.12.0.0.0 Copyright (c) 1982, 2021, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.12.0.0.0 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDBJPOUG READ WRITE NO SQL> alter session set container=pdbjpoug; Session altered. SQL> @datasafe_privileges.sql DATASAFE GRANT ALL Enter value for USERNAME (case sensitive matching the username from dba_users) Setting USERNAME to DATASAFE Enter value for TYPE (grant/revoke) Setting TYPE to GRANT Enter value for MODE (audit_collection/audit_setting/data_discovery/masking/assessment/all) Setting MODE to ALL Granting AUDIT_COLLECTION privileges to "DATASAFE" ... Granting AUDIT_SETTING privileges to "DATASAFE" ... Granting DATA_DISCOVERY role to "DATASAFE" ... Granting MASKING role to "DATASAFE" ... Granting ASSESSMENT role to "DATASAFE" ... Done. Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.12.0.0.0 [oracle@sv-jpoug ~]$
スクリプト実行後にOracle Data Safeのメニューから、プライベートエンドポイントを指定してターゲットを登録します。
この時、Database User Name には、「datasafe_privileges.sql」で作成したユーザー「DATASAFE」を指定します。
4 アクティビティ監査利用方法
4.1 監査データの取得
DataSafe>Security Center>Activity Auditing からOracle Data Safeのコンソールを開き、ターゲットデータベースを選択し、Audit Collection を開始します。 この時、Collection Audit Data Fromに監査データの取得を始める日時を指定する必要があります。
4.2 監査データの参照
Oracle Data Safeのコンソールから Reports>Activity Auditing から用意されているAll Activityなどの各種レポートを参照することが可能です。
4.3 補足:監査ポリシーの変更
Oracle Data SafeのコンソールからTargets>Audit Policies から監査ポリシーを変更することが可能です。
※ Oracle Data Safeのコンソールからはアクティビティの監査は、ユーザー単位で全てのアクティビティを監査するか否か選択できます。 しかしながらこの設定のやり方では、特定ユーザーの全てのアクティビティが監査されてしまうので、場合によっては監査データが大量に取得される可能性が出てきます。 それを防ぐには、オブジェクトレベルの監査をターゲット側でコマンドラインで指定する方法があります。
5 おわりに
ご覧のような流れで、Oracle Data Safeを使って簡単にデータベースの監査データを取得・参照することが可能です。
基本はGUIの設定で監査を行うことが可能ですが、きめ細かな監査ポリシーを設定したい場合には、コマンドラインからの監査(統合監査)と組み合わせることで、効果的な監査が行えるようになります。
6 番外編 ~私の散歩道~
週末に上野近辺をお散歩してきました。上野ではあちこちでパンダに遭遇するので癒されます。
上野の松坂屋でマグロの解体ショーをしていて、マグロの柵が沢山売られていました。
せっかくなので一つ買って食べたのですが、大変美味しかったです。これから年末にかけてマグロは値上がりしていくそうです。
皆様も年末年始、どうか健やかにお過ごしください。
- 文章中の商品名、会社名、団体名は、各社の商標または登録商標です。