第3回 SELinuxのお行儀を監視する――MRTG/Nagios編


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

 Nagios Pluginsのインストール

 では、Nagios Pluginをインストールしましょう。

  1. まずクライアント上にNagiosのPluginをインストールします。Nagiosのダウンロードサイトから「Nagios Plugins(2007年7月時点ではnagios-plugins-1.4.9.tar.gz)」をダウンロードします。
  2. 適当なディレクトリで展開し、
    # ./configure
    # make all
    を行います。
  3. rootユーザーになり、
    # make install
    を行います。デフォルトでは/usr/local/nagios/libexec以下にインストールされます。

 NRPEのインストール

 次に、NRPEをインストールします。

  1. 同様にNagiosのダウンロードサイトからNRPEをダウンロードします(2007年7月時点ではnrpe-2.8.1.tar.gzです)。
  2. 適当なディレクトリで展開し、
    # ./configure
    # make all
    を行います。
  3. rootユーザーになり、
    # make install-plugin
    # make install-daemon
    # make install-daemon-config
    を実行します。このとき、デフォルトでは/usr/local/nagios以下にNRPE関係のファイルがインストールされます。
  4. さらに、xinetdを用いてNRPEを起動するため、
    # make install-xinetd
    を実行します。
  5. /etc/xinetd.d/nrpeファイルを編集します。
    only_from = 127.0.0.1
    となっていますので、接続を許可するIPアドレスを記載します。
  6. /etc/servicesファイルにNRPEデーモンが使用するポート(5666/tcp)を追記します。
    nrpe 5666/tcp # NRPE
    などのように記載します。
  7. xinetdを再起動します。
  8. NRPEがきちんと動作するかをチェックします。クライアント上で、
    # /usr/local/nagios/libexec/check_nrpe -H localhost
    と入力し、NRPEのバージョンが表示されれば、NRPEがきちんと動作しています。
  9. クライアント上にてパケットフィルタリングを設定している場合には、5666/tcpへの外部からの通信を許可するように設定します。system-configu-securitylevelなどを使用して、5666/tcpへの通信を許可します。

 nrpe.cfgファイルの編集

 /usr/local/nagios/etc/nrpe.cfgファイルを編集して、監視をする項目に対するコマンドを定義します。ここで、各コマンドに対する定義を見てみましょう。例えばcommandは、

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10

という行を用いて定義されています。この行では、右辺のプラグインと引数を表すものとして、check_usersというコマンドを定義しています。

 ここで定義されたコマンドは、Nagiosサーバのmynetwork.cfgファイルで使用されます。

 例えば、クライアント上で上記のようにcheck_usersが定義されている場合に、Nagiosサーバ上のmynetwork.cfgファイルで下記のようにcheck_commandの項のcheck_nrpe!以降の部分にcheck_usersコマンドを記載します。これにより、下記のhost_nameで定義されているホスト上で、最終的にcheck_usersプラグインを(引数 -w 5 -c 10付きで)実行することになります。

define service{
        use                        local-service   ; Name of service template to use
        host_name              plone2
        service_description  NRPE-users
        check_command      check_nrpe!check_users
        }
リスト6 mynetwork.cfgの内容

 Nagiosサーバ上での設定ファイルの変更

 Nagiosサーバ上の設定ファイルを修正して、NRPEで実行したいプラグインを設定します。例ではmynetwork.cfgファイルとします。これはnagios.cfgファイル中で、

cfg_file=/usr/local/nagios/etc/mynetwork.cfg

などとして定義されているものになります。mynetwork.cfgファイルにクライアント上で監視したいコマンドを定義していきます。

 今回の例では、check_nrpeコマンドを用いてクライアント上でcheck_usersプラグインを実行します。

 Nagios+NRPEシステムでの結果

 最終的にNagios+NRPEによる監視の結果ですが、こちらも前述のSNMP+MRTGでの結果と同様に、SELinuxを有効にしている状態でもNagiosによる監視には問題ないようです。SELinuxでのエラーも特に出力されていません。

図5 Nagiosでの監視も問題は発生していない

 次回は、今回の続きとしてNRPEでSELinuxの状態を監視する方法を紹介し、さらにNRPE用のドメインを作成してさらにクライアント上のセキュリティを強化したいと思います。

3/3
 

Index
SELinuxのお行儀を監視する――MRTG/Nagios編
  Page1
「SELinuxはトラブルの元」は都市伝説です
SNMP+MRTGによる監視
SNMP+MRTGの結果
  Page2
SNMP+MRTGでSELinuxが問題になる場合
Nagios+NRPEによる監視
Page3
Nagios Pluginsのインストール
NRPEのインストール
nrpe.cfgファイルの編集
Nagiosサーバ上での設定ファイルの変更
Nagios+NRPEシステムでの結果


Profile
面 和毅(おも かずき)

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


学生時代よりUNIXに親しむ。1997年からサーバ構築およびセキュリティ全般を扱う仕事に従事、Linuxを使い始める。

現在はLIDSの普及活動に注力。LIDSユーザ会(LIDS-JP)の立ち上げやLIDS関連文書の日本語化、LIDSを用いたシステム構築の紹介などを行っている。また、サイオステクノロジーでビジネス面でのLIDSの普及活動に注力している。

2005年12月より、LIDS Teamに参加し、LIDSの公式な開発チームの一員として活動している。

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


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

注目のテーマ

Security & Trust 記事ランキング

本日 月間