23 監査の管理
『Oracle Platform Security Servicesによるアプリケーションの保護』の管理タスクの監査に関する項を参照してください。
この章をお読みになる前に、『Oracle Platform Security Servicesによるアプリケーションの保護』のOracle Fusion Middleware Audit Serviceの概要に関する項を参照してください。
新しいOracle Internet Directory監査フレームワークには、次の利点があります。
-
他のOracle Application Serverコンポーネントと同じレコード形式を使用します。
-
パフォーマンスとセキュリティの向上のため、レコードはOracle Databaseの表に格納されます。
-
レコードをAudit Vaultに格納して、セキュリティをさらに向上できます。
-
管理者として、Enterprise Managerを使用して監査レコードに取得される情報のタイプを構成できます。
-
構成変更はすぐに有効になります。
-
管理者は監査レコードを表示できます。
-
Enterprise Manager
-
XMLパブリッシャに基づくサマリー・レポート
-
この章の内容は次のとおりです。
23.1 監査の概要
監査とは、セキュリティ要求およびその要求に対する結果に関連する情報を収集および格納するプロセスです。これにより、否認防止を目的として、選択されたシステム・アクティビティの電子証跡が提供されます。
監査は一定の監査基準に基づいて、特定のセキュリティ・イベントや管理操作を追跡するように構成できます。監査レコードは集中型リポジトリ(LDAP、データベースまたはファイル)に保持されるため、監査レポートの作成、表示および格納が可能です。リリース11gリリース1 (11.1.1.0.0)では、Oracle Internet DirectoryはOracle Fusion Middlewareと統合された監査フレームワークを使用します。Oracle Internet Directoryは、このフレームワークを使用してセキュリティ関連の重要な操作を監査します。このフレームワークの機能は次のとおりです。
-
ASコンポーネントから監査情報を収集するAPI
-
すべてのASコンポーネントで使用される共通監査レコード形式
-
企業内のコンポーネントによって生成される監査レコードを収集する監査リポジトリ・データベース(顧客はオプションでAudit Vaultをリポジトリとして使用することもできます)
-
監査機能によって取得した情報のタイプを制御するための管理インタフェース
インスタンス管理者によって行われるすべての監査構成が監査されます。これは無効にすることができません。
関連項目:
監査リポジトリおよび監査フィルタの構成の詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』 の監査の構成と管理に関する項を参照してください。
この概要の項目は次のとおりです。
23.1.1 監査ストアの構成
監査レコードがデータベースに確実に保存されるように監査ストアを構成する必要があります。
監査の管理タスクの詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』の「監査の構成および管理」の、次のことに関する項を参照してください。
-
監査ストアの管理
-
データベース・ストアの拡張管理
23.1.2 Oracle Internet Directoryの監査構成
Oracle Internet Directoryの監査構成は、インスタンス固有のエントリの3つの属性から構成されます。
表23-1 Oracle Internet Directoryの監査構成属性
属性 | 説明 |
---|---|
|
プリセットは、 |
|
監査されるイベント名とカテゴリ名のカンマ区切りのリスト。例: Authentication.SUCCESSESONLY, Authorization(Permission -eq 'CSFPermission") カスタム・イベントは、 |
|
cn=orcladmin. |
詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』の監査の構成と管理に関する項を参照してください。
23.1.3 レプリケーションとOracle Directory Integration Platformの監査構成
レプリケーションとOracle Directory Integration Platform監査は、インスタンス固有のエントリの属性orclextconfflag
の値を変更することで有効にできます。
デフォルト値は3
で、レプリケーションとOracle Directory Integration Platform監査の両方が無効です。両方を有効にするには、7
に変更します。これがorclextconfflag
に行える唯一の変更で、これ以外は内部属性です。
「レプリケーションおよびOracle Directory Integration Platformの監査の有効化」を参照してください。
23.1.4 監査レコードのフィールド
監査レコードは多くのフィールドで構成されます。
監査レコードには次のフィールドがあります。
-
イベント・カテゴリ: イベントのクラス(認証、認可など)
-
イベント名
-
イニシエータ: 操作を開始するユーザー
-
ステータス: 成功または失敗
-
認証方式
-
セッションID: 接続ID
-
ターゲット: 操作の実行対象となるユーザー
-
イベント日時
-
リモートIP: クライアントのソースIPアドレス
-
コンポーネント・タイプ:
OID
-
ECID
-
リソース: 操作が行われるエントリまたは属性。
23.1.5 監査レコード記憶域
監査情報は、最終的な場所に書き込まれる前に、バスストップと呼ばれる場所に一時的に格納されます。
このファイルは、ディレクトリORACLE_INSTANCE
/auditlogs/
componentType
/
componentName
にあります。
監査ファイルは、XMLファイルまたはデータベースに永続的に格納されます。XMLファイルは、監査レコードのデフォルトの記憶域メカニズムです。Oracleインスタンスごとに1つのXMLリポジトリがあります。特定のOracleインスタンス内で実行されるすべてのコンポーネントについて生成される監査レコードは、同じリポジトリに格納されます。データベース・リポジトリを使用している場合、ドメイン内のすべてのOracleインスタンス内のすべてのコンポーネントによって生成される監査レコードは、同じリポジトリに格納されます。
23.1.6 監査レポートの生成
この項には、監査レコードの生成方法についてのリファレンスがあります。
監査レポートの生成の詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』の監査の分析とレポートに関する章を参照してください。Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイドの「監査の構成と管理」 に、Oracle Internet Directoryの例が掲載されています。
23.2 Fusion Middleware Controlを使用した監査の管理
11gリリース1 (11.1.1.0.0)で導入されたOracle Fusion Middleware監査フレームワークでは、Oracle Internet Directoryなどのシステム・コンポーネントを含むOracleミドルウェア製品の集中管理された監査フレームワークが提供されます。
監査の管理には、Oracle Enterprise Manager Fusion Middleware Controlを使用できます。インタフェースは、『Oracle Platform Security Servicesによるアプリケーションの保護』のAudit Data Storeの管理に関する項に記載されているように、すべてのOracle Fusion Middlewareコンポーネントに対して基本的に同じです。
Oracle Internet Directory監査を管理する手順は、次のとおりです。
- Oracle Enterprise Manager Fusion Middleware Controlにログインします。
- 「Oracle Internet Directory」メニューから、「セキュリティ」を選択し、「監査ポリシー設定」を選択します。
- 「監査ポリシー」リストから、「カスタム」を選択して独自のフィルタを構成するか、または事前設定済フィルタ(「なし」、「低」または「中」のいずれか)を選択します。(Fusion Middleware Controlからは
All
を設定できません。) - 障害のみを監査する場合は、「障害のみ選択」をクリックします。このステップは、前のステップで「カスタム」を選択している場合にのみ可能です。
- フィルタを構成するには、フィルタ名の隣の「編集」アイコンをクリックします。そのフィルタの「フィルタの編集」ダイアログが表示されます。
- ボタン、メニューの選択肢、入力する文字列を使用してフィルタ条件を指定します。条件の対象には、HostID、HostNwaddr、InitiatorDN、TargetDN、Initiator、Remote IPおよびRolesがあります。条件のテストには、-contains、-contains_case、endswith、endswith_case、-eq、-ne、-startswithおよび-startswith-caseがあります。テストには、文字列として値を入力します。グループ化にはカッコを使用し、結合にはANDおよびORを使用します。
- 条件を追加するには、「追加」アイコンをクリックします。
- フィルタが完了したら、「適用」をクリックして変更を保存するか、「元に戻す」をクリックして変更を破棄します。
23.2.1 Oracle Internet Directoryの機密データ属性の監査
Oracle Fusion Middleware監査フレームワークを使用してOracle Internet Directoryのカスタム監査ポリシーを定義し、アクセス制御、ユーザー資格証明、構成などの機密データに関連付けられた属性をモニターできます。
たとえば、アクセス制御ポリシー・ポイント(ACP)に対する変更を監査するため、orclaci
やorclentrylevelaci
などの属性のModifyDataItemAttributes
イベント・タイプを取得するように監査ポリシーを構成できます。
ModifyDataItemAttributes
イベント・タイプは、ldapmodify
操作によって生成されます。このイベントのイニシエータ属性は、LDAP操作を実行するユーザーの識別名で、リソース属性は、操作が実行されるLDAP属性のエントリ識別名です。
ModifyDataItemAttributes
イベント・タイプを取得することで、属性に対するすべてのACP変更をモニターできます。たとえば、orclaci
属性やorclentrylevelaci
属性が変更されたかどうかを確認できます。
orclaci
属性やorclentrylevelaci
属性に対する変更をモニターする監査ポリシーを作成するには:
-
Oracle Enterprise Manager Fusion Middleware Controlにログインします。
-
左側のパネルで、監査するOracle Internet Directoryインスタンスを右クリックします。例:
oid1
-
Oracle Internet Directoryのコンポーネント・メニューで、「セキュリティ」→「監査ポリシー」に移動します。「監査ポリシー設定」ページが表示されます。
-
「監査レベル」のドロップダウン・リストから「カスタム」を選択します。
-
DataAccessイベント・カテゴリおよびModifyDataItemAttributesイベント・タイプの「監査の有効化」を確認します。
-
成功した変更または失敗した変更(あるいはその両方)のどちらを監査するかに応じて、「監査の有効化」列の適切なチェック・ボックスを選択します。
-
監査ポリシーにフィルタを追加するため、「フィルタの編集」鉛筆アイコンをクリックしてフィルタを構成します。
-
「条件」を「リソース」に設定します。
-
演算子を-eqに設定します。
-
リソース属性をorclaciとして指定します。
-
「追加」アイコンをクリックします。フィルタは次のようになります。
Resource -eq "orclaci"
-
orclentrylevelaci
属性をフィルタに追加するため、「OR」をクリックし、新しい条件(リソース、-eq、orclentrylevelaci)を定義して「追加」をクリックします。フィルタは次のようになります。Resource -eq "orclaci" -or Resource -eq "orclentrylevelaci"
-
-
「適用」をクリックして監査ポリシーを保存します(または、「元に戻す」をクリックして破棄します)。
デプロイメントで必要な場合、このポリシーに他の属性を追加したり、属性、操作およびアクティビティを監査する他のポリシーを作成できます。詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』のFusion Middleware Controlによるシステム・コンポーネントの監査ポリシーの管理に関する項を参照してください。
23.3 WLSTを使用した監査の管理
wlst
を使用して監査を管理できます。
『Oracle Platform Security Servicesによるアプリケーションの保護』のWLSTを使用した監査ポリシーの管理に関する項を参照してください。コマンドgetAuditPolicy()
、 setAuditPolicy()
またはlistAuditEvents()
を使用します。
Oracle Internet Directoryなど監査ポリシーをローカルで管理するコンポーネントについては、コマンドの引数としてMBean名を含める必要があります。監査MBeanの名前の書式は次のとおりです。
oracle.as.management.mbeans.register:type=component.auditconfig,name=auditconfig1,instance=INSTANCE,component=COMPONENT_NAME
次に例を示します。
oracle.as.management.mbeans.register:type=component.auditconfig,name=auditconfig1,instance=instance1,component=oid1
使用する必要のある別のwlst
コマンドはinvoke()
です。「WLSTを使用したシステム構成属性の管理」に記載のとおり、属性に変更を加える前にMBeanが現在のサーバー構成を持っていることを確認する必要があります。これを行うには、invoke()
コマンドを使用してOracle Internet DirectoryサーバーからMBeanに構成をロードする必要があります。変更後、invoke()
コマンドを使用してOracle Internet DirectoryサーバーにMBean構成を保存する必要があります。このようにinvoke()
を使用するには、ツリーのルート・プロキシMBeanに移動する必要があります。ルート・プロキシMBeanの名前の書式は次のとおりです。
oracle.as.management.mbeans.register:type=component,name=COMPONENT_NAME,instance=INSTANCE
次に例を示します。
oracle.as.management.mbeans.register:type=component,name=oid1,instance=instance1
setAuditPolicy()
およびinvoke()
を使用する wlst
セッションの例を示します。
$ORACLE_HOME/oracle_common/common/bin/wlst.sh
connect('username', 'password', 't3://localhost:7001')
custom()
cd('oracle.as.management.mbeans.register')
cd('oracle.as.management.mbeans.register:type=component,name=oid1,instance=instance1')
invoke('load',jarray.array([],java.lang.Object),jarray.array([],java.lang.String))
setAuditPolicy(filterPreset='None',
on='oracle.as.management.mbeans.register:type=component.auditconfig,
name=auditconfig1,instance=instance1,component=oid1')
invoke('save',jarray.array([],java.lang.Object),jarray.array([],java.lang.String))
23.4 コマンドラインからの監査の管理
この項は、LDAPツールを使用して監査を管理する方法を理解するのに役立ちます。
次のトピックを参照してください。
23.4.1 コマンド行からの監査構成の表示
ldapsearch
を使用して監査構成を表示できます。
次に例を示します。
ldapsearch -p 3060 -h myhost.example.com -D cn=orcladmin -q \ -b "cn=oid1,cn=osdldapd,cn=subconfigsubentry" \ -s base "objectclass=*" > /tmp/oid1-config.txt grep orclaud oid1-config.txt orclaudsplusers=cn=orcladmin orclaudcustevents=UserLogin.FAILURESONLY, UserLogout, CheckAuthorization, ModifyDataItemAttributes, CompareDataItemAttributes, ChangePassword.FAILURESONLY orclaudfilterpreset=custom
23.4.2 コマンド行からのOracle Internet Directory監査の構成
ldapmodify
コマンドを使用して監査を管理できます。
LDIFファイルを作成して、属性orclAudFilterPreset、orclAudCustEventsおよびorclAudSplUsersに対して必要な変更を加える必要があります。
コマンドは次のとおりです。
ldapmodify -D cn=orcladmin -q -p portNum -h hostname -f ldifFile
たとえば、ユーザー・ログイン・イベントについてのみ監査を有効にするには、前述のldapmodify
コマンドに次のLDIFファイルを使用します。
dn: cn=componentname,cn=osdldapd,cn=subconfigsubentry
changetype: modify
replace: orclaudFilterPreset
orclaudFilterPreset: Custom
-
replace: orclaudcustevents
orclaudcustevents: UserLogin
詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』のWLSTを使用した監査ポリシーの管理に関する項を参照してください。
23.4.3 レプリケーションおよびOracle Directory Integration Platformの監査の有効化
LDIFファイルを使用して、レプリケーションとOracle Directory Integration Platform監査の両方を有効にできます。
次のLDIFファイルでは、レプリケーションとOracle Directory Integration Platform監査の両方が有効になります。
dn: cn=oid1,cn=osdldapd,cn=subconfigsubentry changetype: modify replace: orclextconfflag orclextconfflag: 7
次のLDIFファイルでは両方が無効になります。
dn: cn=oid1,cn=osdldapd,cn=subconfigsubentry changetype: modify replace: orclextconfflag orclextconfflag: 3
次のようなコマンド行を使用します。
ldapmodify -h host -p port -D "cn=orcladmin" -q -f ldiffile