第4回 NRPEプラグインを作って確認「SELinux、異常なし!」


面 和毅
サイオステクノロジー株式会社
OSSテクノロジーセンター
開発支援グループ
グループマネージャー


2007/10/3

 今回は、前回に引き続きNagios+NRPEでSELinuxの状態を監視できるような設定をしてみましょう。さらに、前回インストールしたNRPE用にドメインを作成して、さらにセキュリティを高めたシステムを目指してみましょう。

 前回使用したNagios+NRPEでのシステムを図1に示します。

図1 Nagios+NRPEのシステム

 Nagios+NRPEによるSELinuxの監視

 前回インストールしたNRPEで、マシンB上のNagiosからマシンAのCPU/HDDなどのステータスを監視することができるようになりました。今回は、ここでSELinuxに関する情報も監視できるようにしたいと思います。

図2 Nagiosの出力画面

 Nagiosではデフォルトで用意されているプラグインのほかに、自分で新たにプラグインを作成することができます。プラグイン作成の方法は、sourceforge上にガイドラインがありますのでこれを参考にしましょう。コマンドを実行して表1のステータスを返すようにプログラムを作る必要があります。

番号
ステータス
0
OK
1
Warning
2
Critical
3
Unknown
表1 Nagiosプラグインで返されるべきステータス

 SELinuxの何を監視するか

 SELinuxがオンになっているシステムでは何を監視するべきなのでしょうか。そのような疑問に答えてくれるドキュメントが、Linuxコンソーシアムのセキュリティ部会から、「セキュアOS運用項目(2006年度成果物)」として公開されています。まずはこのドキュメントを参考にしましょう。

 「セキュアOS運用項目」の第4章の「監視・管理すべき事項」の中に、セキュアOS機能(含むSELinux)を用いているシステムで監視・管理するべき項目がまとめられています。それによると、

  1. セキュアOS機能のオン/オフ状態
  2. セキュアOS機能のセキュリティ設定(セキュリティポリシー)
  3. セキュアOS機能が出力するログ

の3つを監視・管理する必要があるようです。これをSELinuxに当てはめると、

  1. SELinuxのオン/オフ状態
  2. SELinuxのポリシーバージョン
  3. SELinuxが出力するログ

の3つになります。これらをNRPEで監視していきましょう。

 これら3つの状態を知ることができるコマンドとして「sestatus」があります。sestatusコマンドを実行すると、上記の3つのほかにも、

  • SELinuxfsをマウントしているディレクトリ
  • 各種SELinuxのポリシーの動作を表すブール値

などの情報が出力されます。このsestatusコマンドを実行し、出力結果やステータスをNagiosサーバに返すようなNRPEのプラグインを作成してあげればよいことになります。

SELinux status:               enabled
SELinuxfs mount:            /selinux
Current mode:                enforcing
Mode from config file:      enforcing
Policy version:                18
Policy from config file:targeted

Policy booleans:
allow_syslog_to_console     inactive
allow_ypbind                     inactive
dhcpd_disable_trans           inactive
httpd_builtin_scripting        active
httpd_disable_trans            inactive
httpd_enable_cgi               active
httpd_enable_homedirs       active
httpd_ssi_exec                  active
httpd_tty_comm               inactive
httpd_unified                    active
mysqld_disable_trans         inactive
named_disable_trans          inactive
named_write_master_zonesinactive
nscd_disable_trans            inactive
ntpd_disable_trans            inactive
pegasus_disable_trans       inactive
portmap_disable_trans       inactive
postgresql_disable_trans    inactive
snmpd_disable_trans          inactive
squid_disable_trans            inactive
syslogd_disable_trans         inactive
use_nfs_home_dirs            inactive
use_samba_home_dirs        inactive
use_syslogng                   inactive
winbind_disable_trans        inactive
ypbind_disable_trans         inactive
zope_disable_trans           inactive
リスト1 sestatusコマンドの出力結果

1/3

Index
NRPEプラグインを作って確認「SELinux、異常なし!」
Page1
Nagios+NRPEによるSELinuxの監視
SELinuxの何を監視するか
  Page2
SELinuxのステータスを返すプラグインの作成
nrpe.cfgファイルの修正
  Page3
NRPE用ドメインの作成
NRPEの動作を確認しよう


スイッチ・オン! SELinux 連載インデックス


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間