Nagios NRPEとNagiosプラグインをインストールした後、rsyslogに次のエントリが表示されます。
May 13 14:01:30 wcmisdlin02 kernel: type=1400 audit(1305309690.482:2334): avc: denied { getattr } for pid=3835 comm="sh" path="/usr/bin/Sudo" dev=dm-0 ino=7355981 scontext=unconfined_u:system_r:nrpe_t:s0 tcontext=system_u:object_r:Sudo_exec_t:s0 tclass=file
NRPEを介して実行しようとしているNagiosプラグインがSELinuxによってブロックされているようです。私は何をすべきか?
これはこのエラッタで修正する必要があります: http://rhn.redhat.com/errata/RHBA-2012-0780.html
nrpe_disable_trans
ブール値はオプションではありません:
これらに従うことができます NRPEを許可する独自のポリシーを作成するための指示 。基本的に、これには、NagiosサーバーがスケジュールされたすべてのNRPEチェックを実行するのに十分な時間、許容モードでSELinuxを実行することが含まれます。その後、それらをaudit.logファイルからaudit2allowにパイプできます。これにより、レビューと包含に必要なポリシーが作成されます。
Thomas Bleherのnrpe.teファイル は、独自のポリシーを構築するための有用な開始点または参照としても役立つ可能性があります。
まず、SELinuxが必要かどうかを最初に決定します。 ELベースのものはすべてインストールされ、デフォルトで有効になっていますが、他のディストリビューションではほとんどありません。それはあなたに少しのセキュリティを与えますが、少しの頭痛の種以上のものです、それであなたはそれが欲しいかどうかにかかわらずどちらかの方法で比較検討しなければなりません。そうでない場合は、/ etc/selinux/configで無効にすることができます。ファイル内のコメントは、何をすべきかを正確に教えてくれます。
必要に応じて、下げることもできます。現在強制に設定されている場合は、許容に切り替えて、NRPEを実行できるかどうかを確認できます。また、SELinuxを使用してNRPEを設定する際のウォークスルーをさらに見つけることができる場合があります。正直なところ、私は常にそれがセキュリティの価値があるにはあまりにも多くの煩わしさであることに気付きます。 HTH
編集:nagios用のselinux boolの束はここにあります: http://wiki.centos.org/TipsAndTricks/SelinuxBooleans
AVCメッセージにpath="/usr/bin/Sudo"
が含まれていることに気付きました。これは、プラグインを呼び出すためにSudo
を使用しようとしたときにNRPEがb0rkingしていることを意味します。
これを可能にするためにあなたがしなければならない最初の(しかし決して最後ではありません!)こと:
Sudo setsebool -P nagios_run_Sudo on
(-P
は、ディスク上のポリシーファイルに変更を書き込みます。そのため、再起動後も保持されます。)
これで、プラグインがルートとして実行されます。ただし、プラグインはまだbin_t
ドメインとして実行されているため、複雑なことはほとんどできません(たとえば、nrpe_t
以外のドメインを持つプログラムを実行します)。このドメインは非常に意図的に制限された権限を持っています。/tmp内のファイルに書き込むことさえできません。