第9回 挑戦! SELinuxでWebアプリもクラスタリング


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


 プライマリからセカンダリに切り替わった際の挙動

 この状態で、プライマリに障害が発生し、セカンダリに切り替わった際にどのようなことが起きるか見てみましょう。プライマリをシャットダウンし、セカンダリ側に強制的に切り替えて、

# ls -lZ

コマンドで/var/www/html/testdirの中身を確認すると、test1、test2ともにunlabeled_tのタイプが付与されています。

[root@secondary ~]# ls -lZ /var/www/html/testdir
-rw-r--r-- apache apache system_u:object_r:httpd_sys_content_t index.html
drwxr-xr-x apache apache system_u:object_r:httpd_sys_content_t LIDS-JP
drwx------ apache apache system_u:object_r:httpd_sys_content_t lost+found
drwxr-xr-x root root system_u:object_r:unlabeled_t test1
drwxr-xr-x root root system_u:object_r:unlabeled_t test2
リスト7 test1、test2にはunlabeled_tが付与されている

 プライマリではtest_1_t、test_2_tを新たに定義してラベル付けを行いましたが、セカンダリの方ではそれらの定義を行っていませんので、セカンダリのマシンからはそれぞれがラベル付けされていないように見えてしまいます。

 しかし、/var/www/html/testdirの中身を確認した際に、同時にリスト8のようなメッセージがコンソールに表示されます。

inode_doinit_with_dentry: context_to_sid(system_u:object_r:test_1_t:s0) returned 22 for dev=sdb1 ino=163841
inode_doinit_with_dentry: context_to_sid(system_u:object_r:test_2_t:s0) returned 22 for dev=sdb1 ino=180225
リスト8 testdirにアクセスした際に出力されるメッセージ

 これはSELinuxのコンテキスト情報が拡張属性に格納されているため、システム上でinode情報の初期化を行う際に、以前のコンテキスト情報を出力してくれるためです(当然、初期化の際にのみ出力されるため、2回目以降のアクセスでは出力されなくなります)。

 この出力結果から、元となるコンテキスト情報までは分かりますが、それ以外の(例えば権限付与などの)ポリシーに関しては情報が得られません。

 結果としては、セカンダリ側でマウントした際には、

  • プライマリ側のみで設定されたタイプが付与されたファイル/ディレクトリは、unlabeled_tとして見える
  • 上記ファイル/ディレクトリにアクセスした際には(初回アクセス時のみシステム上でinode情報の初期化を行うため)、ファイルコンテキスト情報を見ることができる
  • プライマリ側で設定されたタイプに関連付けられたポリシーの情報は、取得することはできない

ということになります。クラスタリングを組むプライマリ側とセカンダリ側では、バージョンやそのほかの設定情報などと同様に、SELinuxのポリシーも同一のものを使用する必要があります。


 次回は、Heartbeatに独自ドメインを設定し、よりSELinuxを有効に活用してセキュリティを高めたシステムにしていきます。

3/3
 

Index
挑戦! SELinuxでWebアプリもクラスタリング
  Page1
LAMPを用いたWebアプリケーションのクラスタリング
DRBD+Heartbeatによるクラスタリング
  Page2
フェイルオーバーの実験
共有ディスクで気を付けるべきSELinuxの権限設定
Page3
プライマリからセカンダリに切り替わった際の挙動


Profile
面 和毅(おも かずき)

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


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

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

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

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


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

注目のテーマ

Security & Trust 記事ランキング

本日 月間