第51章 SELinux ポリシーのカスタマイズ
51.1. はじめに
Red Hat Enterprise Linux の以前のリリースでは、
selinux-policy-targeted-sources
パッケージをインストールしてから、/etc/selinux/targeted/src/policy/domains/misc
ディレクトリーに local.te
ファイルを作成する必要がありました。audit2allow ユーティリティーを使用して、AVC メッセージを allow ルールに変換し、ポリシーを再構築して再読み込みできます。
この問題は、新しいポリシーパッケージがリリースされるたびに、ローカルポリシーを保持するために Makefile を実行する必要があるという問題がありました。
Red Hat Enterprise Linux 5 では、このプロセスは完全に改訂されています。sources rpm パッケージは完全に削除され、ポリシーパッケージはカーネルと同様に処理されます。ポリシーの構築に使用されるソースを確認するには、ソース rpm
selinux-policy-XYZ.src.rpm
をインストールする必要があります。selinux-policy-devel
パッケージも追加されており、さらにカスタマイズ機能が提供されます。
51.1.1. モジュールポリシー
Red Hat Enterprise Linux では、モジュールポリシー の概念が導入されています。これにより、ベンダーはオペレーティングシステムポリシーとは別に SELinux ポリシーを提供できます。また、管理者は、次のポリシーインストールについて考慮せずに、ポリシーに対するローカルの変更を行うことができます。追加された最も重要なコマンドは semodule です。
semodule は、モジュールのインストール、アップグレード、一覧表示、および削除など、SELinux ポリシーモジュールの管理に使用されるツールです。また、semodule を使用して、モジュールストアからのポリシーの再ビルドを強制したり、他のトランザクションを実行せずにポリシーの再読み込みを強制することもできます。semodule は、semodule_package によって作成されたモジュールパッケージに作用します。通常、これらのファイルには .pp 接尾辞(ポリシーパッケージ)がありますが、これはいずれの方法でも義務付けられていません。
51.1.1.1. ポリシーモジュールの一覧表示
システムのポリシーモジュールを一覧表示するには、semodule -l コマンドを使用します。
~]# semodule -l
amavis 1.1.0
ccs 1.0.0
clamav 1.1.0
dcc 1.1.0
evolution 1.1.0
iscsid 1.0.0
mozilla 1.1.0
mplayer 1.1.0
nagios 1.1.0
oddjob 1.0.1
pcscd 1.0.0
pyzor 1.1.0
razor 1.1.0
ricci 1.0.0
smartmon 1.1.0
注記
このコマンドは、インストールされているベースポリシーモジュールを一覧表示しません。
/usr/share/selinux/targeted/
ディレクトリーには、多数のポリシーパッケージ(*.pp)ファイルが含まれます。これらのファイルは selinux-policy
rpm に含まれており、ポリシーファイルの構築に使用されます。