Pandora: Documentation ja: SELinux configuration for Pandora FMS
Contents
1 Pandora FMS のための SELinux 設定
1.1 概要
通常、Pandora のインストールでは SELinux は無効化することをお勧めしています(我々の ISO イメージには追加されてます)。しかし、セキュリティ上の理由から有効化が必要な環境も多くあります。
ここでは、カスタムで SELinux で個々のモジュールのポリシーを作成する方法を示します。
ルールを作成するには、Audit2allow を利用します。必要なアクションを許可するには ___ です。
1.2 Audit2allow のインストール
インストールを開始するまえに、Audit2allow を使うために必要なパッケージをインストールします。
# sudo yum install SELinux-policy-devel # sudo yum install policycoreutils-python
1.3 SELinux ディレクトリの場所
SELinux が返すエラーは、以下にあります。
- /var/log/audit/audit.log
- /var/log/messages
確認をしやすくするために、すでに出ているログを削除し新たなログが出るまで待つことを強くお勧めします。
syslog を停止します。(rsyslog の場合もあります)
# /etc/init.d/syslog stop
audit.log とシステムのメッセージログファイルを削除します。
# rm /var/log/audit/audit.log /var/log/messages
syslog を再開します。
# /etc/init.d/syslog start
1.4 SELinux 設定
SELinux を希望の内容で設定するには、設定ファイルを編集します。
# This file controls the state of SELinux on the system. # SELinux= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELinux=enforcing # SELinuxTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELinuxTYPE=targeted
プログラムの実行に制限を付けるには、SELinux を "enforcing" に設定します(SELinux での実行制限は audit.log で確認します)。別のオプションとしては SELinux を "permissive" に設定します。この場合、実行は制限されませんが、audit.log ファイルにエラーが記録されます。
1.5 ポリシールールを作成するためのエントリーの検索
最新のログを見るにはつぎのようにします。
# tail -f /var/log/audit/audit.log /var/log/messages
次のようないくつかのエラーがみつかります。
# type=AVC msg=audit(1431437562.755:437): avc: denied { write } for pid=1835 comm="httpd" name="collections" dev=dm-0 ino=266621 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:var_spool_t:s0 tclass=dir
これらのエラーを SELinux ルールに変換します。
# grep collections /var/log/audit/audit.log | audit2allow -M pandora
実行すると 2つの新たなファイルが作成されます。
- pandora.pp - pandora.te
新たなルールを有効化するには、次のようにします。
# sudo semodule -i pandora.pp
エラーが出たものをルールに追加する対応を繰り返します。その後、SELinux からエラーの出力がなくなります。
1.6 Pandora FMS の適切な動作に必要なルール
Pandora FMS が実行するすべてのサービスが正しく動作するようにしたい場合は、次の操作を許可するいくつかのルールを作成する必要があります。
- コレクションの作成、更新、削除
- プログラムタスクによるメール送信 (cronジョブ)
- エージェントのリモート設定
逆にいうと、SELinux はこれらの操作に関連するアクションをブロックします。
SELinux が有効化された状態で Pandora FMS を利用するためのルールを追加するには、次のようにします。
# grep -e data_in -e collections -e var_spool_t -e zip -e md5 -e denied /var/log/audit/audit.log | audit2allow -M pandora
その後、ルールを有効化するための前述の対応を行う必要があります。
# sudo semodule -i pandora.pp