第10章 fapolicyd を使用したアプリケーションの拒否および許可
fapolicyd フレームワークを使用して、システムセキュリティーの向上に役立つアプリケーション許可リストソリューションを実装します。ルールセットに基づいてアプリケーションの実行を許可または拒否するポリシーを設定して有効にすることで、効率的に悪意のある一般的に知られていないソフトウェアや、害を及ぼす可能性のあるソフトウェアの実行を回避できます。
10.1. fapolicyd フレームワークの構造 リンクのコピーリンクがクリップボードにコピーされました!
fapolicyd ソフトウェアフレームワークは、ユーザー定義のポリシーに基づいてアプリケーションの実行を制御します。このフレームワークは、最適な方法で、システム上で信頼されていないアプリケーションや悪意のあるアプリケーションを実行されないようにします。
- コンポーネントと信頼
fapolicydフレームワークには次のコンポーネントがあります。-
fapolicydサービス -
fapolicydコマンドラインユーティリティー (fapolicyd-cliコマンドやfagenrulesスクリプトなど) -
fapolicydRPM プラグイン
管理者は、パス、ハッシュ、MIME タイプ、または信頼に基づいて、任意のアプリケーションの
allowおよびdeny実行ルールを定義できます。その際に、監査を行うオプションも指定できます。fapolicydフレームワークにより、信頼の概念が導入されます。アプリケーションは、システムパッケージマネージャーによって正しくインストールされ、その結果としてシステム RPM データベースに登録されると、信頼できるものとみなされます。fapolicydデーモンは、RPM データベースを信頼できるバイナリーとスクリプトのリストとして使用します。fapolicydRPM プラグインは、DNF または RPM パッケージマネージャーによって処理されるすべてのシステム更新を登録します。プラグインは、このデータベースの変更をfapolicydデーモンに通知します。アプリケーションを追加する他の方法では、カスタムルールを作成し、fapolicydサービスを再起動する必要があります。詳細は、システムで
man -k fapolicydコマンドを使用すると表示されるfapolicyd関連の man ページを参照してください。-
- 設定ファイルとディレクトリー
fapolicydサービス設定は、次の構造を持つ/etc/fapolicyd/ディレクトリーにあります。-
/etc/fapolicyd/fapolicyd.trustファイルには、信頼できるファイルのリストが含まれています。/etc/fapolicyd/trust.d/ディレクトリーで複数の信頼ファイルを使用することもできます。 -
/etc/fapolicyd/rules.d/ディレクトリーには、allowおよびdeny実行ルールを含むファイルが含まれています。fagenrulesスクリプトは、これらのコンポーネントルールファイルを/etc/fapolicyd/compiled.rulesファイルにマージします。 -
fapolicyd.confファイルには、デーモンの設定オプションが含まれています。このファイルは、主にパフォーマンス調整の目的で役に立ちます。
-
- Rules
/etc/fapolicyd/rules.d/のルールは、それぞれ異なるポリシーゴールを表す複数のファイルで整理されます。対応するファイル名の先頭の数字によって、/etc/fapolicyd/compiled.rulesでの順序が決まります。Expand 10
言語ルール
20
dracut 関連のルール
21
アップデーターのルール
30
パターン
40
ELF ルール
41
共有オブジェクトルール
42
信頼された ELF ルール
70
信頼された言語ルール
72
シェルルール
90
実行拒否ルール
95
オープン許可ルール
詳細情報と例は、
fapolicydパッケージとともにインストールされる/usr/share/doc/fapolicyd/ディレクトリーのドキュメント、/usr/share/fapolicyd/sample-rules/README-rulesファイル、およびシステム上のfapolicyd.rules(5)およびfagenrules(8)man ページを参照してください。- 整合性チェック
fapolicyd整合性チェックには、次のいずれかの方法を使用できます。- File-size チェック
- SHA-256 ハッシュの比較
- Integrity Measurement Architecture (IMA) サブシステム
デフォルトでは、
fapolicydは整合性チェックを行いません。ファイルサイズに基づいた整合性チェックは高速ですが、攻撃者はファイルの内容を置き換え、そのバイトサイズを保持することができます。SHA-256 チェックサムの計算とチェックがより安全ですが、システムのパフォーマンスに影響します。fapolicyd.confのintegrity = imaオプションを使用するには、実行可能ファイルが含まれているすべてのファイルシステムで、ファイルの拡張属性 (xattrとも呼ばれます) がサポートされている必要があります。