第6回 GUIでカスタマイズも簡単! SELinux on CentOS 5.1
面 和毅
サイオステクノロジー株式会社
OSSテクノロジーセンター
開発支援グループ
グループマネージャー
2007/12/20
今回は、実際にCentOS 5でNagiosプラグイン用のポリシーを作成してみることにより、CentOS 4からSELinux部分がどのように変わったのかを見ていきましょう。
はじめに環境のアップデートですが、CentOS 5.1が2007年12月4日付でリリースされましたので、以降はCentOS 5.1を使用します。この連載は実運用環境を前提に解説していますが、メジャーバージョンアップであるCentOS 4→CentOS 5に比べてパッチレベルでのアップデートであるCentOS 5→CentOS 5.1では影響も少なく、実際の運用でもアップデートを適用することは可能かと思います。
まずは環境を確認
第3回、第4回でお話ししたような、Nagiosでの運用監視のネットワークに、CentOS 5.1を追加した場合を想定します。
図1 Nagios環境構成図 |
NagiosプラグインとNRPEのインストールと設定方法は、第3回、第4回で説明した手順をそのまま用います。マシンC上にNagios Plugins(2007年12月時点ではnagios-plugins-1.4.10.tar.gz)とNRPE(2007年12月時点ではnrpe-2.10.tar.gz)をインストールします。xinetdを用いてNRPEを起動しますので、そちらの設定も同様に過去の記事を参考にして行います。
第4回のときと同じく、
- SELinuxのON/OFF状態
- SELinuxのバージョン
- SELinuxが出力するログ
をNagiosを用いて監視しましょう。
図2 Nagiosの管理画面 |
第3回のときと同じく、NRPE用のドメインを作成しない場合には、NRPEはinetd_tドメインで動作します。また今回、NRPEがどのドメインで動作しているのかを確認するために、“ps axZ”の結果を返す簡単なスクリプトを用意し、「NRPE_DOMAIN」としてnagios上から確認しています。これは、NRPEがxined経由で起動されるため常駐していないので、Nagios経由でシステム情報を確認していない際には“ps axZ”でもプロセスが出力されないためです。
CentOS 5.1のマシン上でステータスを取得するスクリプト(/usr/local/nagios/libexec/check_nrpe_domain.pl)としてリスト1のスクリプトを使用します。
#! /usr/bin/perl $STATE_OK = 0; $STATE_WARNING = 1; $STATE_CRITICAL = 2; $STATE_UNKNOWN = 3; $STATE_DEPENDENT= 4; chomp($NRPE_DOMAIN = `/bin/ps axZ | grep nrpe`); print "$NRPE_DOMAIN\n"; exit $STATE_OK; |
リスト1 check_nrpe_domain.plの内容 |
CentOS 5.1上でのnrpe.cfgの変更点をリスト2、Nagiosサーバ上での変更点をリスト3に示します。
command[check_selinux_granted]=/usr/local/nagios/libexec/check_log -F /var/log/messages -O /tmp/selinux_granted_log -q "avc: granted" #この行を追加 command[check_nrpe_domain]=/usr/local/nagios/libexec/check_nrpe_domain.pl |
リスト2 CentOS 5.1上の変更点 |
# Nagiosの設定に下記の定義を追加 define service{ use local-service ; Name of service template to use host_name centos5 service_description NRPE-disk check_command check_nrpe!check_hda1 } |
リスト3 Nagiosサーバ上での変更点 |
NRPE_DOMAINの詳細は図3になります。
図3 NRPE_DOMAINの出力詳細 |
system-config-selinuxによるポリシーのひな型作成
NRPE用ドメインを作成するために、CentOS 5.1では「ポリシーモジュール」を作成します。このポリシーモジュールのひな型を作成するために「system-config-selinux」を使用します。以下のステップに従って作成していきます。
- system-config-selinuxを起動し、「Policy Module」の項を選びます。
図4 system-config-selinux画面でPolicy Moduleを選択
- 「新規」というボタンをクリックすると、「SELinux Policy Generation Tool」が起動します。
図5 SELinux Policy Generation Tool起動画面
- アプリケーションの名前と実行ファイルを選択します。ここで入力した「アプリケーションの名前_t」がプロセスのドメイン名になります。今回は、名前を「NRPE」とし、実行ファイルを/usr/local/nagios/bin/nrpeとしています。
図6 アプリケーションの選択。今回は「NRPE」という名称で作成する
- アプリケーションのタイプを指定します。今回はxinetd経由で起動されますので、「inetd」を選択します。
図7 アプリケーションのタイプの指定
- ネットワーク入力用のネットワークポートとプロトコルを選択します。TCP Portsで「5666」とします。
図8 ネットワーク入力の設定
- ネットワーク出力用のネットワークポートとプロトコルを選択します。TCP Portsで「5666」とします。
図9 ネットワーク出力の設定
- アプリケーションの特徴を選択します。NRPEはnagiosユーザーで動作しますので、一番下のチェックボックスにチェックをします。
図10 アプリケーションの特徴を指定
- アプリケーションが生成されたら、書き込みを行うファイルやディレクトリを選択します。今回は特に書き込みを行いませんので、選択しません。
図11 アプリケーションが書き込むファイルの選択。今回は選択しない
- ポリシーのひな型をどのディレクトリに生成するかを選択します。今回の例では「/root/policies」に生成することにします。
図12 ポリシーのひな型を出力するディレクトリの指定
- ポリシーファイルのひな型を生成する旨の確認メッセージが出てきますので、「適用」ボタンをクリックします。
図13 確認メッセージ
- 生成したファイルの説明と一覧が出力されます。
図14 生成したファイルの一覧
以上の手順により、/root/policies以下にNRPEドメイン用のポリシーのひな型として
- NRPE.te Typeルール
- NRPE.fc ファイルコンテキスト情報
- NRPE.if インターフェイスファイル
- NRPE.sh ポリシーモジュール生成用のシェルスクリプト
が作成されました。
[root@localhost ~]# ls -l /root/policies/ total 32 -rw-r--r-- 1 root root 78 Dec 6 15:24 NRPE.fc -rw-r--r-- 1 root root 474 Dec 6 15:24 NRPE.if -rw-r--r-- 1 root root 137 Dec 6 15:24 NRPE.sh -rw-r--r-- 1 root root 551 Dec 6 15:24 NRPE.te |
リスト4 ひな型のファイル類 |
1/3 |
Index | |
GUIでカスタマイズも簡単! SELinux on CentOS 5.1 | |
Page1 まずは環境を確認 system-config-selinuxによるポリシーのひな型作成 |
|
Page2 GUIでできちゃう、ポリシーモジュールのコンパイルとロード |
|
Page3 ポリシーの調整 GUIツールも充実しているCentOS 5.1を体験すべし! |
スイッチ・オン! SELinux 連載インデックス |
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。
|
|