第24章 カーネル整合性サブシステムの拡張、カスタマイズ、およびトラブルシューティング
さまざまなセキュリティー要件と実稼働環境に対応するために、カーネル整合性サブシステムを拡張、カスタマイズ、トラブルシューティングします。
24.1. IMA 評価用の適切な参照値の生成 リンクのコピーリンクがクリップボードにコピーされました!
IMA 評価ルールを含む IMA ポリシーをデプロイする前に、そのルールによって管理されるすべてのファイルに、security.ima 拡張属性に格納された有効な参照値があることを確認してください。これらの参照値が欠落している場合、IMA によってシステムの正常な起動が妨げられたり、ファイルへのアクセスが拒否されたりする可能性があります。
# ima-appraise-file </path/to/file>
24.1.1. イミュータブルなファイルの適切な参照として IMA 署名を追加する リンクのコピーリンクがクリップボードにコピーされました!
整合性検証をサポートするために、イミュータブルなファイルの信頼できる参照値として IMA 署名を使用します。この方法を使用すると、有効な署名を持つファイルだけがアクセスされるようになるため、システムのセキュリティーとコンプライアンスが強化されます。
前提条件
- IMA 評価ルールを含む IMA ポリシーを作成した。
手順
rpm-plugin-imaをインストールします。$ sudo dnf install rpm-plugin-ima -yqこれにより、パッケージのインストール、再インストール、またはアップグレード時に、パッケージファイルの IMA 署名が
security.xattrに自動的に保存されます。すべてのパッケージを再インストールします。
$ sudo dnf reinstall "*" -yこれにより、すべてのパッケージの
security.xattr拡張属性が確実に更新されます。dracut の整合性モジュールを有効にすると、起動時に
/etc/keys/ima内の正式な IMA コード署名鍵が自動的に読み込まれます。$ sudo dracut -f
検証
署名が
security.ima拡張属性に正しく保存されていることを確認します。$ # evmctl ima_verify -k /etc/keys/ima/redhatimarelease-10.der /usr/lib/systemd/systemd keyid d3320449 (from /etc/keys/ima/redhatimarelease-10.der) key 1: d3320449 /etc/keys/ima/redhatimarelease-10.der /usr/lib/systemd/systemd: verification is OK $ # evmctl ima_verify -k /etc/keys/ima/redhatimarelease-10.der /bin/bash keyid d3320449 (from /etc/keys/ima/redhatimarelease-10.der) key 1: d3320449 /etc/keys/ima/redhatimarelease-10.der /bin/bash: verification is OK ...
24.1.2. ミュータブルなファイルの適切な参照値を生成する リンクのコピーリンクがクリップボードにコピーされました!
時間の経過とともに変化する可能性のあるファイルの整合性を維持するには、必要に応じて参照値を生成し、更新します。これにより、システムがミュータブルなファイルの信頼性を正確に検証し、不正な変更を防止できるようになります。
前提条件
- システムの root 権限がある。
- IMA 評価ルールを含む IMA ポリシーを作成した。
- IMA 評価用の適切な参照値を生成した。
- セキュアブートが無効になっている。
手順
オプション: 選択した IMA 評価ポリシーを有効にします。カスタムポリシーのみを使用する場合は、この手順をスキップしてください。組み込みの
ima_policy=appraise_tcbを例として使用します。# grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="ima_policy=appraise_tcb"s390xシステムの場合は、さらに以下を実行します。# zipl
ima_appraise=fixカーネルコマンドラインパラメーターを追加して、IMA 評価の修正モードを有効にします。# grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="ima_appraise=fix"s390xシステムの場合は、さらに以下を実行します。# zipl
システムを再起動します。
# rebootオプション: カスタム IMA ポリシーを読み込みます。
# echo <path_to_your_custom_ima_policy> > /sys/kernel/security/ima/policyシステム全体のラベルを付け直します。
# find / -fstype xfs -type f -uid 0 -exec head -c 0 '{}' \;ima_appraise=fixカーネルコマンドラインパラメーターを削除して、IMA 評価の修正モードをオフにします。# grubby --update-kernel=/boot/vmlinuz-$(uname -r) --remove-args="ima_appraise=fix"s390xシステムの場合は、さらに以下を実行します。# zipl
- セキュアブートが無効になっている場合は有効にします。