例
この項では、コンプライアンスの使用例を示します。次の例があります。
カスタム構成収集に基づくリポジトリ・ルールの作成
この例では、ホスト・タイプのターゲットのサンプルの構成ファイル(この例では、/tmp/foo.xml)を収集するカスタム構成でコンプライアンス・ルールを作成および実行する方法について説明します。
この例では、次のコンテンツでサンプルの/tmp/foo.xmlファイルを作成します。
<some_config> <prop foo="1"/> <prop bar="2"/> </some_config>
このステップには、次の方法が含まれます。
-
カスタム構成の作成
-
カスタムベースのリポジトリ・ルールの作成
-
コンプライアンス標準の作成
-
ターゲットの関連付け
-
結果の表示
カスタム構成を作成するには:
-
「エンタープライズ」メニューから、「構成」、「構成拡張」の順に選択します。
-
「構成拡張」ページから、「作成」をクリックします。「構成拡張の作成」ページが表示されます。
-
「名前」(compliance_ccsなど)、説明(オプション)を入力し、「ターゲット・タイプ」(この例の場合は「ホスト」)を選択します。
-
「ファイルとコマンド」セクションで、「デフォルト・ベース・ディレクトリ」を入力します(ディレクトリとして/tmpを使用します)。
これは例です。実際のターゲットの場合、ターゲットの構成ファイルが含まれるディレクトリにする必要があります。
ノート: カスタム構成によって収集されるすべてのファイルは日次ベースで変更しないようにし、管理者の明示的なアクションによる非常にまれな変更のみにしてください。
-
「追加」をクリックします。
- 「タイプ」列で、「ファイル」を選択します。
- 「ファイル/コマンド」列で、foo.xmlを入力します。「別名」列にfoo.xmlが自動的に入力されます。
ノート: xmlのみ、またはfoo.xml表現のみでなく、任意のファイルを使用できます。カスタム構成は、多くのファイルおよび対応するパーサーをサポートしています。
- 「パーサー」列で、「XMLパーサー(デフォルト)」を選択します。
-
ページの下部にある「保存」をクリックします。
-
-
「カスタム構成」ページで、compliance_cssを強調表示し、「デプロイ」をクリックします。デプロイページが表示されます。
-
「追加」をクリックし、CSSをデプロイする必要があるターゲットを選択します。
-
「検索と選択: ターゲット」ページで、ファイル/tmp/foo.xmlが作成されたホスト・ターゲットを強調表示し、「選択」をクリックします。
-
「デプロイ」ページで「適用」をクリックします。
-
-
「保留中のデプロイメント・アクションの発行」ポップアップで、「はい」を選択します。このアクションにより、デプロイメント・アクションが発行されます。
「デプロイ」ページで、「ステータス」列に「デプロイは成功しました」と表示されるまで「ステータスのリフレッシュ」をクリックしてデプロイのステータスをリフレッシュします。
-
これでデプロイが発行されたので、「取消」をクリックしてページを終了します。(ノート: 前述の「適用」のかわりに「保存」をクリックしていたら、デプロイ・アクションの発行の直後にページが終了していました。)
カスタム構成収集に基づくカスタムベースのリポジトリ・ルールを作成するには:
-
「エンタープライズ」メニューから「コンプライアンス」を選択し、「ライブラリ」を選択します。
-
「コンプライアンス・ライブラリ」ページで、「コンプライアンス標準ルール」タブをクリックします。
-
「作成」をクリックします。
-
「ルールの作成」ポップアップで、「リポジトリ・ルール」を選択し、「続行」をクリックします。
-
「ルールの作成: リポジトリ・ルール: 詳細」ページで、「ルール名」に入力します(compliance_css_ruleなど)。
-
「コンプライアンス・ルールの状態」では「開発」を選択し、「重大度」では「マイナー警告」を選択します。「適用可能対象」では「ホスト」を選択します。ページの右上にある「次」をクリックします。
-
-
「ルールの作成: リポジトリ・ルール: チェック定義(問合せ)」ページで、「モデル問合せ」をクリックします。「新しい検索基準」ページが表示されます。
-
「よく使用される検索基準」の下の「構成アイテム」メニューから「compliance_css (解析済データ)」を選択します。
-
「ホスト」セクションおよび「解析済データ」サブセクションで、「データソース」の「次を含む」にfoo.xmlを入力します。「属性」では、「完全一致」比較演算子を選択し、fooを入力し、サンプル・ファイル内でfooを参照します。(ノート: 「データソース」および「属性」のこれらの式にはワイルドカード文字として%を使用することもできます。)
-
「検索」をクリックし、このフィルタで返された行を表示します。このファイル内の属性fooに対して値1を持つデータが表に表示されます。
-
「OK」 をクリックします。
-
「ルールの作成: リポジトリ・ルール: チェック定義(問合せ)」が再表示されますが、今回は「SQLソース」が表示されます。
-
「次」をクリックします。ノート: 通常、必要に応じて、処理を続行する前に問合せを更新することもできます。
-
-
「ルールの作成: リポジトリ・ルール: チェック定義(違反条件)」ページが表示されます。
-
「情報」列を除くすべての列を「キー」列(「値」、「属性」、「コンテナ」および「データソース名」)として選択します。
-
ページの「条件タイプ」セクションで「単純条件」を選択し、「列名」で「値」を選択し、「比較演算子」を等号(=)に変更します。「デフォルト値」列に1を入力します。「次」をクリックします。
-
-
「ルールの作成: リポジトリ・ルール: テスト」ページで、「ターゲット名」フィールドの横にあるアイコンをクリックします。「検索と選択: ターゲット」ポップアップが表示されます。カスタム構成がデプロイされたホストを特定します。属性を選択して、「選択」をクリックします。
-
「ルールの作成: リポジトリ・ルール: テスト」ページで、「テストの実行」をクリックします。テストが正常に実行されたら、「テストの実行 - 正常に完了しました」という内容の確認が表示されます。
前述のステップ5で違反条件として値1を指定したこと、およびサンプル・ファイルの属性fooの値が1であったことから、テストの実行後に1つの違反が表示されます。「閉じる」をクリックします。
-
「ルールの作成: リポジトリ・ルール: テスト」ページで、「次」をクリックします。
-
「ルールの作成: リポジトリ・ルール: 確認」ページで、追加した情報がすべて正しいことを確認します。「終了」をクリックします。
コンプライアンス標準を作成するには:
-
「エンタープライズ」メニューから「コンプライアンス」を選択し、「ライブラリ」を選択します。
-
「コンプライアンス標準」タブをクリックし、「作成」をクリックします。
-
「コンプライアンス標準の作成」ポップアップで、「名前」フィールドにcompliance_css_csを入力し、「適用可能対象」メニューから「ホスト」を選択し、「標準タイプ」として「リポジトリ」を選択します。「続行」をクリックします。
-
コンプライアンス標準ページに、compliance_css_csコンプライアンス標準に関する情報が表示されます。左側にあるcompliance_css_csを右クリックし、右クリック・メニューで「ルールの追加...」オプションを選択します。
-
「ルール参照を含める」ポップアップで、compliance_css_ruleを選択します。「OK」をクリックします。「保存」をクリックし、compliance_css_csを保存します。
-
「コンプライアンス・ライブラリ」ページに、コンプライアンス標準が作成されたことを示す確認メッセージが表示されます。「OK」をクリックします。
ターゲットを関連付けるには、次の手順に従います。
-
作成したcompliance_css_csを選択します。「ターゲットの関連付け」をクリックします。
-
「コンプライアンス標準へのターゲット・アソシエーション: compliance_css_cs」ページで、「追加」をクリックし、ターゲットを追加します。
-
「検索と選択: ターゲット」ページで、/tmp/foo.xmlが存在するターゲットを選択し、「選択」をクリックします。「OK」をクリックします。
これにより、関連付けを保存するかどうかが尋ねられます。「はい」または「いいえ」をクリックします。これにより、コンプライアンス標準が処理のためにターゲットに対して発行されたことを示す情報メッセージが表示されます。
結果を表示するには、次の手順に従います。
-
「エンタープライズ」メニューから「コンプライアンス」を選択し、「結果」を選択します。
「コンプライアンス結果」ページで、compliance_css_csコンプライアンス標準を選択し、「詳細を表示」をクリックして、作成したコンプライアンス標準の詳細を表示します。
-
compliance_css_ruleに関連付けられた「違反」タブをクリックします。ターゲットは1つ違反に関連付けられています。
-
ツリー内のルール・ノードをクリックして「違反イベント」タブを表示してから、このタブをクリックし、ルールの違反の詳細を表示します。違反表内の違反行をクリックし、違反の詳細を表示します。
エージェント側のコンプライアンス標準ルールと手動ルールの作成
エージェント側のコンプライアンス標準ルールを作成するには、次のステップを実行します。
- 構成拡張を作成します。
- エージェント側のコンプライアンス・ルールを作成します。
- 手動ルールを作成します。
- コンプライアンス標準の作成
- ルールを構成標準に追加します。
- コンプライアンス標準をターゲットに関連付けます。
構成拡張の作成
次のステップを実行して、構成拡張を作成します。
- 「エンタープライズ」メニューから「構成」を選択し、「構成拡張」を選択します。
- 構成拡張ページで、「作成」をクリックします。
- 拡張の名前(たとえば、
DG0142 DBMS Privileged action audit
)を入力します。この名前は、チェック定義ページで使用します。 - ターゲット・タイプに「データベース・インスタンス」を選択します。
- 「SQL」タブを選択します。
- 「加算」をクリックして、最初のSQL文を追加します。
- 「SQL」フィールドで、次のように入力します。
select distinct 'Unauthorized user '||owner||' owns application objects in the database.' value from dba_objects where owner not in ('ANONYMOUS','AURORA$JIS$UTILITY$', 'AURORA$ORB$UNAUTHENTICATED', 'CTXSYS','DBSNMP','DIP','DVF','DVSYS','EXFSYS','LBACSYS','MDDATA', 'MDSYS','MGMT_VIEW','ODM','ODM_MTR', 'OLAPSYS','ORDPLUGINS', 'ORDSYS', 'OSE$HTTP$ADMIN','OUTLN','PERFSTAT', 'PUBLIC','REPADMIN','RMAN','SI_INFORMTN_SCHEMA', 'SYS','SYSMAN','SYSTEM','TRACESVR', 'TSMSYSWK_TEST','WKPROXY','WKSYS', 'WKUSER','WMSYS','XDB', 'OWBSYS', 'SCOTT', 'ORACLE_OCM', 'ORDDATA', 'APEX_030200', 'OWBSYS_AUDIT', 'APPQOSSYS', 'FLOWS_FILES') and owner not in (select grantee from dba_role_privs where granted_role='DBA')
- 別名(たとえば、
DBMS application object ownership
)を入力します。この別名は、この構成拡張の最上部にルールを定義する際に役立ちます。 - 「パーサー」には、データベース問合せパーサーを使用します。
- 「SQL」フィールドで、次のように入力します。
- 「加算」をクリックして、2つ目のSQL文を追加します。
select distinct 'Application object owner account '||owner||' is not disabled.' value from dba_objects, dba_users where owner not in ('ANONYMOUS','AURORA$JIS$UTILITY$', 'AURORA$ORB$UNAUTHENTICATED','CTXSYS','DBSNMP','DIP','DVF', 'DVSYS','EXFSYS','LBACSYS','MDDATA','MDSYS','MGMT_VIEW','ODM', 'ODM_MTR','OLAPSYS','ORDPLUGINS','ORDSYS','OSE$HTTP$ADMIN', 'OUTLN','PERFSTAT','PUBLIC','REPADMIN','RMAN', 'SI_INFORMTN_SCHEMA','SYS','SYSMAN','SYSTEM','TRACESVR', 'TSMSYS', 'WK_TEST','WKPROXY','WKSYS','WKUSER','WMSYS','XDB') and owner in (select distinct owner from dba_objects where object_type <> 'SYNONYM') and owner = username and upper(account_status) not like '%LOCKED%'
- 別名(たとえば、
DBMS application object owner accounts
)を入力します。 - 「パーサー」には、データベース問合せパーサーを使用します。
- 「保存」をクリックし、次に「構成」ボックスで「はい」をクリックします。
エージェント側のコンプライアンス・ルールを作成するには、次の手順に従います。
- 「エンタープライズ」メニューから「コンプライアンス」を選択し、「ライブラリ」を選択します。
- 「コンプライアンス・ライブラリ」で、「コンプライアンス標準ルール」をクリックします。
- 「作成」をクリックします。「ルールの作成」ポップアップで、「エージェント側のルール」を選択します。
- 「続行」をクリックします。
-
「ルールの作成: エージェント側のルール: 詳細」ページで、次の情報を設定します。
- 名前: DBMS application object ownership
- コンプライアンス・ルールの状態: 開発
- 重大度: クリティカル
- 適用可能対象: データベース・インスタンス
- 説明: アプリケーション・オブジェクトは、所有権が承認されたアカウントにより所有される必要があります。
- 原理: データベース・オブジェクトの所有権は、所有するオブジェクトへのアクセス権を他のサブジェクトに割り当てる権限を含めて、所有するオブジェクトに対する完全な権限を意味します。オブジェクトの所有権が管理または制御されていないと、オブジェクトに対する承認されていないアクセスまたは変更が発生する可能性があります。
- 「次」をクリックします。
-
「ルールの作成: エージェント側のルール: チェック定義」ページで、以前に定義した構成拡張と別名を検索します。
ノート:
構成拡張名と別名は、1つに結合されて「構成拡張」の名前と「名前」フィールドに表示されます。この例では、完全な名前は、DG0142 DBMS Privileged action audit-DBMS application object ownershipです。「次」をクリックします。
- 「ルールの作成: エージェント側のルール: テスト」ページで、ターゲットを検索し、「テストの実行」をクリックします。テストが実行中であることを示すポップアップが表示されます。確認ポップアップの「閉じる」をクリックします。
ノート:
違反のあるテスト結果を故意に生成することもできます。たとえば、target type equal to hostをテストして、ホスト・ターゲットを評価すると、違反結果が表示されます。「次」をクリックします。
- 「ルールの作成: エージェント側のルール: 確認」ページで、情報が意図したものであることを確認します。意図したものとは異なる場合、「戻る」をクリックし、必要に応じて修正します。情報が正しい場合は、「終了」をクリックします。
ノート:
コンプライアンス標準ルールは、「終了」をクリックするまで定義されません。ヒント
- コンプライアンス標準ルールが作成されても、自動的には評価されません。コンプライアンス標準にコンプライアンス標準ルールを追加してください。
- ルールが作成された後、ルールに修正処理を割り当てます。
- 「コンプライアンス標準ルール」タブで、作成したばかりのルールを強調表示します。
- 「アクション」メニューから修正処理の割当てを選択します。
- 修正処理の割当てポップアップで、既存の修正処理を選択して「OK」をクリックします。
- これらのステップを2つ目のルールに対して繰り返します。
ノート:
コンプライアンス標準ルールは、「終了」をクリックするまで定義されません。手動ルールの作成
この手動ルールを作成する目的は、自動化できないチェックを追跡し、テスト計画とプロシージャが遵守していることを本番での実装前に確認することです。
手動ルールを作成するには、次の手順に従います。
- 「コンプライアンス・ライブラリ」で、「コンプライアンス標準ルール」をクリックします。
- 「作成」をクリックします。「ルールの作成」ポップアップで、「手動ルール」を選択します。
- 「続行」をクリックします。
- 「手動ルールの作成」ページで、次の情報を指定します。
- 名前: DBMS testing plans and procedures
- コンプライアンス・ルールの状態: Production
- 重大度: 警告
- 適用可能対象: データベース・インスタンス
- 説明: DBMSのインストール、アップグレードおよびパッチをテストするための計画およびプロシージャは、本番での実装前に定義し、遵守する必要があります。
- 原理: 既存のソフトウェアに対する更新とパッチの適用には、セキュリティの強化、製品の機能の強化または製品への機能の追加の意図があります。ただし、残念なことに、更新またはパッチの適用が、本番システムを動作不能にしたり、重大な脆弱性をもたらすことがよくあります。また、一部の更新は、セキュリティ要件を満たさない許容不可能な設定にセキュリティ構成を戻します。これらの理由により、更新とパッチをオフラインでテストしてから本番環境に導入することがよい方法です。
- 推奨: DBMSのインストール、アップグレードおよびパッチをテストするためのプロシージャを開発、文書化および実装してから、本番システムにデプロイします。
- コンプライアンス・メッセージ: DBMSのインストール、アップグレードおよびパッチをテストするための計画およびプロシージャは、本番での実装前に定義し、遵守します。
- 非コンプライアンス・メッセージ: DBMSのインストール、アップグレードおよびパッチをテストするための計画およびプロシージャは、本番での実装前に定義または遵守されません。
- 参照URL: http://iase.disa.mil/stigs/index.html
- ルールのキーワード: セキュリティ
- 「終了」をクリックします。
標準コンプライアンスを作成するには、次のステップに従います。
- 「エンタープライズ」メニューから「コンプライアンス」を選択し、「ライブラリ」を選択します。
- 「コンプライアンス・ライブラリ」ページで、「コンプライアンス標準」をクリックします。
- 「作成」をクリックします。「コンプライアンス標準の作成」ポップアップで、次の項目を指定します。
- 名前: CS1 - DB Check
- 適用可能対象: データベース・インスタンスの選択
- 作成者: SYSMAN
- 標準タイプ: エージェント側
- 「続行」をクリックします
- 「コンプライアンス標準: CS1 - DB Check」ページのナビゲーション・ツリーで、標準を右クリックします。「ルールの追加」を選択します。「ルール参照を含める」で、DBMS application object ownership、DBMS application owner accountsおよびDBMS testing plans and proceduresを選択します。
「OK」をクリックします。
- 「保存」をクリックします。
コンプライアンス標準をターゲットに関連付けるには、次のステップに従います。
- 「エンタープライズ」メニューから「コンプライアンス」を選択し、「ライブラリ」を選択します。
- 「コンプライアンス・ライブラリ」ページで、「コンプライアンス標準」をクリックします。
- 新たに作成した標準(CS1 - DB Check)をハイライト表示し、「ターゲットの関連付け」ボタンをクリックします。
- 「コンプライアンス標準へのターゲット・アソシエーション: CS1 - DB Check」ページで、「追加」をクリックします。
- 1つ以上のターゲット(Oemrep_Databaseなど)を選択します。
- 「選択」をクリックします。「OK」をクリックします。
- 「はい」をクリックして、アソシエーションを保存します。