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