第6回 GUIでカスタマイズも簡単! SELinux on CentOS 5.1
面 和毅
サイオステクノロジー株式会社
OSSテクノロジーセンター
開発支援グループ
グループマネージャー
2007/12/20
ポリシーの調整
/var/log/audit/audit.logにSELinuxのポリシー違反のエラーが出力されていますので、「audit2allow」コマンドを用いて必要なallow文を追加していきます。
- audit2allowコマンドでReferenceポリシー用のポリシーを作成するためには、interface_infoファイル(/var/lib/sepolgen/interface_info)が必要です。「sepolgen-ifgen」コマンドを用いて、
# sepolgen-ifgen
で、必要なinterface_infoファイルが生成されます。 -
audit2allowコマンドで追加のポリシーを作成します。CentOS 5.1のSELinuxのログはすべて/var/log/audit/audit.logにありますので、
# cat /var/log/audit/audit.log | audit2allow -R > /root/policies/NRPE.add として、追加のポリシー(NRPE.add)を作成します。NRPE.addファイルの中のNRPE_tファイルの中身は図21のようになっていますので、NRPE_tドメインに関する項だけを残し、それ以外は削除します。この際に可能な限り不要なallow文やマクロ類が入らないように気を付けてください。
(NRPE.addの中身)
require { type unconfined_t;
type unlabeled_t;
--省略--
class file { execute read lock ioctl execute_no_trans write getattr };
}
#============= NRPE_t ==============
allow NRPE_t apmd_t:dir { getattr search };
--省略--
term_list_ptys(NRPE_t)
udev_read_state(NRPE_t)
#============= dhcpc_t ============== <--- 以下は不要
seutil_read_config(dhcpc_t)
seutil_search_default_contexts(dhcpc_t)
#============= ifconfig_t ==============
selinux_get_enforce_mode(ifconfig_t)
seutil_search_default_contexts(ifconfig_t)リスト6 audit2allowにより出力されるポリシー類
- 「system-config-selinux」の「Policy Module」の項でNRPEを選択した状態で「Remove」ボタンを押し、NRPEモジュールをアンロードします。
- 2.で修正したNRPE.addファイルの中身をNRPE.teファイルに追加し、再度/root/policiesディレクトリ内で、
# sh ./NRPE.sh
を実行します。
- 「system-config-selinux」の「Policy Module」の項で、「Add」ボタンを押して更新したNRPE.ppをロードします。
- SELinuxを「Enforcingモード」にして、Nagiosが動作するかを見てみます。system-config-selinuxツールやsetenforceコマンドを用いて、システムをEnforcingモードにすると、図25のようにNRPE_tドメインで動作しているNRPEを用いてシステム情報が取得できていることが分かります。ただ、図19を見ると分かるとおりSELinuxのステータスの取得が失敗している(UNKNOWNとなっている)ことが分かります。
図19 NRPE_DOMAINの確認(クリックで拡大します)
-
NRPE_tでSELinuxのステータスが取得できるように調整します。これには、先ほどのNRPE.teファイルの中に、
selinux_get_enforce_mode(NRPE_t) という一文を加えます。これにより、NRPE_tドメインからSELinuxの情報を取得できるようになります。
図20 SELinuxの情報が取得できている(クリックで拡大します)
このようなインターフェイス(新たに作成したドメインで使用できるライブラリのようなもの)に関しては、selinux-policy-develパッケージに同梱されている/usr/share/selinux/devel/policyhelpを実行するとブラウザが起動して一覧と詳細が確認できますので、そちらを参考にするとよいでしょう。
図21 インターフェイスの一覧(クリックで拡大します) |
こちらにはselinux_get_enforce_modeに関しての説明も記載されています。
図22 selinux_get_enforce_modeの説明(クリックで拡大します) |
GUIツールも充実しているCentOS 5.1を体験すべし!
CentOS 5.1はSELinuxに関する特別な知識がなくても、GUIのツールを用いることにより、比較的簡単に独自のドメインが作成できます。また、そのようなドメイン作成時に必要なドキュメント類に関しても、XMLベースによるマニュアルが充実していますし、管理に関してもGUIツールからほとんどができるようになっています。
もちろん、本来はセキュリティ上問題がないか気を付ける必要があるため、あくまでも「単に動かすなら」ということになります。ぜひ、皆さまも最新の状況を体験してみてください。
3/3 |
Index | |
GUIでカスタマイズも簡単! SELinux on CentOS 5.1 | |
Page1 まずは環境を確認 system-config-selinuxによるポリシーのひな型作成 |
|
Page2 GUIでできちゃう、ポリシーモジュールのコンパイルとロード |
|
Page3 ポリシーの調整 GUIツールも充実しているCentOS 5.1を体験すべし! |
Profile |
面 和毅(おも かずき) サイオステクノロジー株式会社 OSSテクノロジーセンター 開発支援グループ グループマネージャー 学生時代よりUNIXに親しむ。1997年からサーバ構築およびセキュリティ全般を扱う仕事に従事、Linuxを使い始める。 現在はLIDSの普及活動に注力。LIDSユーザ会(LIDS-JP)の立ち上げやLIDS関連文書の日本語化、LIDSを用いたシステム構築の紹介などを行っている。また、サイオステクノロジーでビジネス面でのLIDSの普及活動に注力している。 2005年12月より、LIDS Teamに参加し、LIDSの公式な開発チームの一員として活動している。 |
スイッチ・オン! 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)対策の観点から考える。
|
|