6.4. カスタム File Integrity Operator の設定


6.4.1. FileIntegrity オブジェクト属性の表示

Kubernetes カスタムリソース (CR) の場合と同様に、oc explain fileintegrity を実行してから、以下を使用して個別の属性を参照できます。

$ oc explain fileintegrity.spec
$ oc explain fileintegrity.spec.config

6.4.2. 重要な属性

表6.1 重要な spec および spec.config 属性
属性説明

spec.nodeSelector

AIDE Pod が該当ノードでスケジュール対象にするために使用する、ノードのラベルと一致する必要があるキーと値のペアのマップ。通常は、node-role.kubernetes.io/worker: "" がすべてのワーカーノードで AIDE をスケジュールし、node.openshift.io/os_id: "rhcos" がすべての Red Hat Enterprise Linux CoreOS (RHCOS) ノードでスケジュールする単一のキーと値のペアのみを設定します。

spec.debug

ブール値の属性。true に設定すると、AIDE デーモンセットの Pod で実行されるデーモンは追加の情報を出力します。

spec.tolerations

カスタムテイントを持つノードにスケジュールする容認を指定します。指定されない場合は、デフォルトの容認 (Toleration) が適用され、これにより容認はコントロールプレーンノード (別名マスターノード) で実行できます。

spec.config.gracePeriod

AIDE 整合性チェックの間に一時停止する秒数。ノード上で AIDE チェックを頻繁に実行すると、多くのリソースが消費する可能性があるため、間隔をより長く指定することができます。デフォルトは 900 (15 分) です。

maxBackups

ノードで保持する re-init 化プロセスから残った AIDE データベースとログのバックアップの最大数。この数を超える古いバックアップは、デーモンによって自動的に削除されます。

spec.config.name

カスタム AIDE 設定を含む configMap の名前。省略した場合、デフォルトの設定が作成されます。

spec.config.namespace

カスタム AIDE 設定を含む configMap の namespace。設定されていない場合、FIO は RHCOS システムに適したデフォルト設定を生成します。

spec.config.key

namenamespace で指定された設定マップに実際の AIDE 設定を含むキー。デフォルト値は aide.conf です。

6.4.3. デフォルト設定の確認

デフォルトの File Integrity Operator 設定は、 FileIntegrity CR と同じ名前で設定マップに保存されます。

手順

  • デフォルトの設定を確認するには、以下を実行します。

    $ oc describe cm/worker-fileintegrity

6.4.4. デフォルトの File Integrity Operator 設定について

以下は、設定マップの aide.conf キーの抜粋です。

@@define DBDIR /hostroot/etc/kubernetes
@@define LOGDIR /hostroot/etc/kubernetes
database=file:@@{DBDIR}/aide.db.gz
database_out=file:@@{DBDIR}/aide.db.gz
gzip_dbout=yes
verbose=5
report_url=file:@@{LOGDIR}/aide.log
report_url=stdout
PERMS = p+u+g+acl+selinux+xattrs
CONTENT_EX = sha512+ftype+p+u+g+n+acl+selinux+xattrs

/hostroot/boot/    	CONTENT_EX
/hostroot/root/\..* PERMS
/hostroot/root/   CONTENT_EX

FileIntegrity インスタンスのデフォルト設定は、以下のディレクトリー下にあるファイルの範囲を指定します。

  • /root
  • /boot
  • /usr
  • /etc

以下のディレクトリーは対象外です。

  • /var
  • /opt
  • /etc/ 下の一部の OpenShift 固有の除外対象

6.4.5. カスタム AIDE 設定の指定

DBDIRLOGDIRdatabase、および database_out などの AIDE 内部動作を設定するエントリーは Operator によって上書きされます。Operator は、整合性に関する変更の有無についてすべてのパスを監視できるよう接頭辞を /hostroot/ に追加します。これにより、コンテナー化された環境用にカスタマイズされない既存の AIDE 設定を再使用や、ルートディレクトリーからの開始がより容易になります。

注記

/hostroot は、AIDE を実行する Pod がホストのファイルシステムをマウントするディレクトリーです。設定を変更すると、データベースの再初期化がトリガーされます。

6.4.6. カスタム File Integrity Operator 設定の定義

この例では、worker-fileintegrity CR に提供されるデフォルト設定に基づいてコントロールプレーンノード (別名マスターノード) で実行されるスキャナーのカスタム設定を定義することに重点を置いています。このワークフローは、デーモンセットとして実行されているカスタムソフトウェアをデプロイし、そのデータをコントロールプレーンノードの /opt/mydaemon の下に保存する場合に役立ちます。

手順

  1. デフォルト設定のコピーを作成します。
  2. デフォルト設定を、監視するか、除外する必要があるファイルで編集します。
  3. 編集したコンテンツを新たな設定マップに保存します。
  4. spec.config の属性を使用して、FileIntegrity オブジェクトを新規の設定マップにポイントします。
  5. デフォルト設定を抽出します。

    $ oc extract cm/worker-fileintegrity --keys=aide.conf

    これにより、編集可能な aide.conf という名前のファイルが作成されます。この例では、Operator のパスの後処理方法を説明するために、接頭辞なしで除外ディレクトリーを追加します。

    $ vim aide.conf

    出力例

    /hostroot/etc/kubernetes/static-pod-resources
    !/hostroot/etc/kubernetes/aide.*
    !/hostroot/etc/kubernetes/manifests
    !/hostroot/etc/docker/certs.d
    !/hostroot/etc/selinux/targeted
    !/hostroot/etc/openvswitch/conf.db

    コントロールプレーンノードに固有のパスを除外します。

    !/opt/mydaemon/

    その他のコンテンツを /etc に保存します。

    /hostroot/etc/	CONTENT_EX
  6. このファイルに基づいて設定マップを作成します。

    $ oc create cm master-aide-conf --from-file=aide.conf
  7. 設定マップを参照する FileIntegrity CR マニフェストを定義します。

    apiVersion: fileintegrity.openshift.io/v1alpha1
    kind: FileIntegrity
    metadata:
      name: master-fileintegrity
      namespace: openshift-file-integrity
    spec:
      nodeSelector:
          node-role.kubernetes.io/master: ""
      config:
          name: master-aide-conf
          namespace: openshift-file-integrity

    Operator は指定された設定マップファイルを処理し、結果を FileIntegrity オブジェクトと同じ名前の設定マップに保存します。

    $ oc describe cm/master-fileintegrity | grep /opt/mydaemon

    出力例

    !/hostroot/opt/mydaemon

6.4.7. カスタムのファイル整合性設定の変更

ファイル整合性の設定を変更するには、生成される設定マップを変更しないでください。その代わりに、spec.namenamespace、および key 属性を使用して FileIntegrity オブジェクトにリンクされる設定マップを変更します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.