目覚めよ! SELinux
SELinux Policy EditorでSELinuxを簡単に
中村 雄一
日立ソフトウェアエンジニアリング株式会社
技術開発本部 研究部 技師
2006/12/8
SELinuxを簡単に操れるSEEditの威力
SELinuxを使っていて最も困るのは、設定が不足していてアプリケーションが動作しなくなることです。SEEditを使えば、設定の追加および修正が簡単にできます。SEEditで足りない設定を追加する例を見てみましょう。
Wikiの実装として有名なPukiwikiをインストールし(/var/www/html/pukiwikiにインストールしたという前提で以下の話を進めます)、ブラウザからPukiwikiにアクセスすると、Enforcingモードでは、図4左のようなエラーになってしまいます。一方で、Permissiveモードに切り替え(ステータスツールから切り替えます)、もう一度ブラウザからアクセスすると、図4右のように正常にアクセスできます。これから、SELinuxのせいで問題が生じていることが分かります。
図4 (左)設定が不足しているため、Enforcingモードではエラーが発生している (右)SELinuxをPermissiveモードに戻すとアクセスができる |
SEEditが入っていない状態でこれを解決するには、ログを解析し表2にあるような設定を手作業で行う必要があります。
■Cent OS 4での設定方法 | ■Fedora Core 5、6での設定方法 |
●設定ファイルへの記述 type wiki_write_t,file_type,sysadmfile; create_dir_file(httpd_t, wiki_write_t) /var/www/html/pukiwiki/wiki(/.*)? wiki_write_t /var/www/html/pukiwiki/cache(/.*)? wiki_write_t /var/www/html/pukiwiki/backup(/.*)? wiki_write_t /var/www/html/pukiwiki/diff/.*)? wiki_write_t ●コマンド実行 # make reload # restorecon -R /var/www/html/pukiwiki |
●設定ファイルへの記述 policy_module(local, 1.0) type wiki_write_t; files_type(wiki_write_t) require { type httpd_t; type wiki_write_t; }; allow httpd_t wiki_write_t:dir create_dir_perms; allow httpd_t wiki_write_t:notdevfile_class_set create_file_perms; /var/www/html/pukiwiki/wiki(/.*)? wiki_write_t /var/www/html/pukiwiki/cache(/.*)? wiki_write_t /var/www/html/pukiwiki/backup(/.*)? wiki_write_t /var/www/html/pukiwiki/diff/.*)? wiki_write_t ●コマンド実行 # make # semodule -i local # restorecon -R /var/www/html/pukiwiki |
表2 SEEditを使わずにPukiwikiを使うための設定 手作業で設定を行う必要があり、バージョンによって設定方式が違ううえ、必要な知識も多い。 |
SELinuxのバージョンによって設定の書式が異なっているうえ、マクロ、リファレンスポリシー、ポリシー・モジュール、semanageなど、さまざまな前提知識が必要です。設定方法を習得するまでに時間がかかり、この時点でSELinuxをあきらめてしまうユーザーも多いと思われます。
一方、SEEditを使うと簡単に設定を行うことができます。先ほどのコントロールパネルから、「ポリシーを生成」を選択します。
図5 SEEditのポリシー生成画面 |
図5のような画面が現れます。「ポリシーを生成」ボタンを押せば、足りない設定が提示されます。
図6 SEEditが足りないポリシーを提示している |
図6が実行結果の画面です。必要な設定が提示されています。例えば、一番上は、「httpd_tドメインにallow /var/www/html/pukiwiki/diff/* r,w,sという設定をする必要がある」といっています。
「allow /var/www/html/pukiwiki/diff/* r,w,s」というのが、SEEditの特徴であるSPDLの設定書式です。従来のSELinuxの設定書式は、表2のようなぱっと見て分かりにくいものになっていました。「wiki_write_t」のようなSELinuxのラベルを意識する必要もあります。
一方、SPDLでは直感的です。「allow /var/www/html/pukiwiki/wiki/* r,w,s」の意味は、「httpd_tドメインに対し、/var/www/html/pukiwiki/wiki以下へ、読み(r)、書き(w)、ディレクトリ閲覧(s)を許可する」となります。また、SELinuxのラベルも表に出てきません。
さて、ここで提示された設定を本当に追加したい場合は、チェックボックスにチェックを入れます。図7のように、追加される設定が表示されます。これでよければ「セーブし、設定を適用」ボタンを押します。
図7 足りないポリシーを適用する |
もう一度Pukiwikiにアクセスしてみると、今度は正しく動作します。
2/3 |
Index | |
SELinux Policy EditorでSELinuxを簡単に | |
Page1 あなたのLinuxの中にもSELinuxは眠っている SEEditとは まずはSEEditのインストール SEEditはGUIで直感的に理解可能 |
|
Page2 SELinuxを簡単に操れるSEEditの威力 |
|
Page3 裏方に徹するSEEditの働き ドメインの新規作成も簡単 あなたのフィードバックが明日のSEEditを作ります |
関連記事 | |
連載:SELinuxの最新動向 | |
連載:セキュアOS「LIDS」入門 | |
ITmedia エンタープライズ:SELinuxの現状:使いやすさの改善が進むSELinux |
Security&Trust記事一覧 |
- 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)対策の観点から考える。
|
|