Go to main content
Oracle® Solaris 11.3 セキュリティーコンプライアンスガイド

印刷ビューの終了

更新: 2016 年 11 月
 
 

テーラリングのためのパッケージマニフェストを作成する方法

新しいテーラリングを徹底的にテストしたら、新しいルールファイルをインストールするための IPS パッケージを作成できます。パッケージマニフェストは、パッケージ作成の早期の段階です。パッケージ作成の手順については、Oracle Solaris 11.3 でのImage Packaging System を使用したソフトウェアのパッケージ化と配布を参照してください。

  1. 徹底的にテストされたテーラリングをエクスポートします。
    $ pfexec compliance tailor -t basic
    tailoring:basic> export -x -o basic.xccdf.xml
    tailoring:basic> exit

    作成するパッケージは、このファイルをインストールします。

  2. パッケージ名と接尾辞 .p5m を持つマニフェストを作成します。

    ヒント  -  マニフェストは、ホームディレクトリなどの、更新中に上書きされない作業ディレクトリ内に作成してください。

    次の出力は、テーラリングのためのパッケージマニフェストのサンプルテンプレートを示しています。このテーラリングは solaris ベンチマークに基づいているため、このテーラリングパッケージは、solaris ベンチマークをインストールする solaris-policy パッケージに依存します。このマニフェスト内の太字の項目は不変です。長い行は、読みやすさのためにインデントされた 2 行目に続いています。マニフェストでは、改行されません。

    $ pfedit solaris-basic.p5m
    set name=pkg.fmri value=pkg://publisher-name/hierarchical-namepkg-name@mainVersion.revision
    set name=pkg.summary value="summary"
    set name=pkg.description value="description"
    file ./exported-rules-file group=group mode=permissions owner=owner 
        path=usr/lib/compliance/benchmarks/solaris/tailorings/installed-rules-file.xml
    depend fmri=pkg:/security/compliance/benchmark/solaris-policy type=require

    ここで

    • pkg.fmri value= は、パッケージのフルネームを指定します。この名前はユーザーが指定します。パブリッシャー名はオプションです。これはここで指定するか、またはこのパッケージを公開するときに指定できます。

    • pkg.summary value= は、pkg info mainVersion コマンドの Summary フィールドに表示される情報を指定します。このサマリーはユーザーが記入します。

    • pkg.description value= は、pkg info mainVersion コマンドの Description フィールドに表示される情報を指定します。この説明はユーザーが記入します。

    • file は、テーラリングがインストールされている場所を指定します。この指定には、テーラリングのためのルールファイルのソース名とインストールされている名前、最初のスラッシュなしのインストールされているファイルのディレクトリの場所 (usr/lib/compliance/benchmarks/solaris/tailorings)、および DAC 権限が含まれます。DAC の権限と場所は固定です。このパッケージがシステムにインストールするルールファイルの名前はユーザーが指定します。ソースルールファイルは、インストールされているバージョンとは異なる名前にできます。

    • depend は、テーラリングのためのソースベンチマークを提供するパッケージがまだインストールされていない場合は、システムにインストールされることを指定します。このエントリは必須です。

      basic テーラリングは solaris ベンチマークに基づいているため、solaris-policy パッケージは、まだインストールされていない場合はシステムにインストールされます。solaris-policy パッケージは、テーラリングファイルが配置されるディレクトリ /usr/lib/compliance/benchmarks/solaris/tailorings をインストールします。このパッケージの仕様を表示するには、pkg contents -m solaris-policy コマンドを入力します。


      Caution

      注意  -  パッケージマニフェストには、このパッケージが依存するパッケージによってすでに指定されているパスを複製しないでください。


  3. 既存のファイルからマニフェストファイルを作成します。
    1. マニフェストファイルとして次のテキスト例を使用します。

      このサンプルマニフェストでは、example-IT リポジトリの solaris-basic.exportx.xml ファイルがファイル basic.xccdf.xml としてインストールされます。

      set name=pkg.fmri value=pkg://example-IT/security/compliance/tailorings/solaris-basic@1.0
      set name=pkg.summary value="Tailors a basic Solaris compliance assessment for all
          systems"
      set name=pkg.description value="This Solaris basic tailoring is applicable to all
          systems, development and production. All Oracle Solaris systems are expected
          to pass the rules in this tailoring."
      file ./solaris-basic.exportx.xml group=sys mode=0555 owner=root
          path=usr/lib/compliance/benchmarks/solaris/tailorings/basic.xccdf.xml
      depend fmri=pkg:/security/compliance/benchmark/solaris-policy type=require
    2. ファイルを変更して保存します。

      注 -  パッケージマニフェストの内容を入力する場合は注意が必要です。長すぎるために 1 行に表示されていなかった行を確実に結合してください。
使用例 6  Oracle Solaris NFS クライアントのコンプライアンスパッケージのためのパッケージマニフェストの作成

    この例は、NFS クライアントのテーラリングのためのパッケージマニフェストを作成する方法を示しています。ルール選択ファイルのソース名は solaris-Baseline-nfs-client.exportx.xml です。そのインストールされているバージョンは nfs-client.xccdf.xml です。このテーラリングは、solaris ベンチマークの Baseline プロファイルに基づいているため、このパッケージは solaris-policy パッケージに依存します。

  1. テーラリングをエクスポートし、エディタを終了します。

    $ pfexec compliance tailor -t solaris-Baseline-nfs-client
    tailoring:solaris-Baseline-nfs-client> export -x -o sB-nfs-client.exportx.xml
    tailoring:solaris-Baseline-nfs-client> exit
  2. パッケージ名を持つマニフェストを作成し、マニフェストの内容を入力します。

    $ pfedit /home/ooyl/packages/tailorings/solaris-Baseline-nfs-client.p5m
    set name=pkg.fmri value=pkg://corporate-IT/security/compliance/tailorings/
        solaris-Baseline-nfs-client@1.0
    set name=pkg.summary value="An NFS client tailoring for Solaris Baseline systems."
    set name=pkg.description value="This NFS tailoring is an adjunct to the solaris.Baseline
        profile. Assess all NFS client systems with this nfs-client tailoring."
    file ./sB-nfs-client.exportx.xml group=sys mode=0555 owner=root
        path=usr/lib/compliance/benchmarks/solaris/tailorings/nfs-client.xccdf.xml
    depend fmri=pkg:/security/compliance/benchmark/solaris-policy type=require

    注 -  パッケージとしてインストールされたテーラリングは、/usr/lib/compliance/benchmarks/name/tailorings ディレクトリ内に格納されます。
使用例 7  テーラリングからの評価とレポートの作成

この例では、管理者は 2 つのテーラリングパッケージをインストールし、テーラリングテストファイルを保持しています。solaris/ は、インストールされているテーラリングパッケージが solaris ベンチマークに基づいていることを示します。

$ compliance tailor list
solaris/basic
solaris/RKerberos
testBaselinePlus

Compliance Assessor 管理者は、インストールされているテーラリングの評価を実行し、その結果をブラウザに表示します。

  1. 管理者は、両方のテーラリングの評価を実行します。

    $ pfexec compliance assess -t solaris/basic
    Assessment will be named "basic.2015-11-12,10:10"
    Title   The OS version is correct
    Rule    OSC-53005
    Result  pass
    ...
    % compliance report
    /var/compliance/assessments/solaris/basic/basic.2015-11-12,10:10/report.html
    $ pfexec compliance assess -t solaris/RKerberos
    Assessment will be named "RKerberos.2015-11-12,10:20"
    ...
    Title   Service svc:/network/rpc/gss is enabled
    Rule    OSC-62511
    Result  pass
    ...
    $ compliance report
    /var/compliance/assessments/solaris/RKerberos/RKerberos.2015-11-12,11:10/report.html
  2. 管理者は、ブラウザに次のエントリを入力することによってレポートを表示します。

    file:///var/share/compliance/assessments/solaris/basic/basic.2015-11-12,10:10/report.html
    file:///var/share/compliance/assessments/solaris/RKerberos/RKerberos.2015-11-12,11:10/report.html

次のステップ

このパッケージのテストおよび配布を完了するには、Oracle Solaris 11.3 でのImage Packaging System を使用したソフトウェアのパッケージ化と配布を参照してください。テーラリングパッケージには署名するようにしてください。パッケージングユーティリティーには、パッケージマニフェストで使用する可能性のあるその他の属性 (ファセットなど) が含まれています。