第7回 Multi Level Securityでより厳密なポリシーを実現する
古田 真己サイオステクノロジー株式会社
インフラストラクチャービジネスユニット
Linuxテクノロジー部
OSSテクノロジーグループ
2006/10/21
前回のMulti Category Security(MCS)の続きとして、今回はSELinux Referenceポリシーの新機能であるMulti Level Security(MLS)の取り扱い方を解説したいと思います。
MLSはMCSと同じく、標準のポリシー(Strict/Targeted)に対するオプションとして導入されます。MCSにおいてはカテゴリ別のアクセスを実現していましたが、今回紹介するMLSはこのカテゴリに加えてさらに上下関係がプラスされます。(第5回の図1と図2を参照してください)
MLS〜国防/軍隊向けのセキュリティ〜
SELinuxのMLSは非常に厳密で、それゆえ扱いにくい国防/軍事対応の強固なセキュリティを提供します。詳細は前回のMLSとMCSの比較表をご覧ください。
|
|||||||||
MCSとMLSの住み分け(第6回より) |
MLSの記法
MLSが適用されたセキュリティコンテキストを次に示します。ハイフンを挟んで左側がデフォルト、右側がクリアランスとなっているのはMCSと同じです。
図1 MLSのセキュリティコンテキスト |
MCSでは左側のデフォルトも右側のクリアランスもs0から始まっていましたが【注1】、MLSではsの次の数字は0〜15の16段階の値を取ります。
これがMLSで使われるセキュリティレベルと呼ばれるアクセス階層で、s0からs15に向かってだんだんと機密レベルが上昇し、重要度が高いものを示しています。
【注1】 MCSではセキュリティの階層構造がなく、すべてのサブジェクトとオブジェクトはs0のセキュリティレベルで表されます。MCSで区別に用いられるのはカテゴリのみです。 |
MLSとMCSは何が違うのか
前回、MCSはMLSのサブセットです、と説明しましたがその内容を示したのが下の図になります。
図2 MLSとMCSとの比較図 MLSのセキュリティレベルをs0に固定し、簡略化したものがMCSである |
MLSを使う
今回もFedora Core(FC)を使用して説明しますが、FCのデフォルトはTargeted(Targeted-MCS)ポリシーです。そのためMLSを使用するためには、ちょっとした準備が必要です。
今回はFedora Core 6 Test3(FC6T3)を使用して説明します。インストールはFTPで公開されているFC-6-Test3-i386-DVD.isoを使用しました。GUIのインストーラで起動し、英語のロケール、パッケージグループから‘Office and Productivity’を外したほかは、標準構成で行っており、特に手を加えていません。
MLSで作業する場合の基本的な注意ですが、SELinuxのMLSはStrictポリシと組み合わせて設定されています。
Targeted(targeted-mcs) | いままでのTargetedに加えMCSによるカテゴリでのアクセス制御 |
Strict(strict-mcs) | いままでのStrict+MCSによる制御 |
MLS(strict-mls) | いままでのStrict+MLSによる制御 |
図3 FC6のMLS |
MLSを設定するための準備
MLSで作業するためには2回再起動を行う必要があります。まずは、SELinux設定ファイルである/etc/selinux/configに以下のように設定します。
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=permissive ←‘permissive’にしておくことが重要 # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=mls |
図4 /etc/selinux/configの設定(起動1回目) |
MLSを使用するためには、readahead_earlyサービスを自動起動しないように設定し、ランレベル3で起動するように変更します。readahead_earlyサービスの停止は必ず行ってください(筆者の環境ではMLS環境で正常動作せず、メモリをどんどん消費し、ついにはOOM Killerが発動しました)。
その後、SELinuxのポリシー設定をPermissiveモード、ポリシー設定をMLSにしたら、‘touch /.autorelabel’を行い、再起動します。これで次回起動時に、自動的にMLS用のラベル付けがファイルシステムに適用されてから起動します。
[root@vmfc5 ~]# vi /etc/selinux/config ←図4のように設定します [root@vmfc5 ~]# checkconfig readahead_early off ←MLS環境で正常動作しないため [root@vmfc5 ~]# vi /etc/inittab ←起動するランレベルを5から3へ変更します [root@vmfc5 ~]# touch /.autorelabel [root@vmfc5 ~]# reboot |
図5 起動1回目の手順 |
再起動したら、再度/etc/selinux/configを編集して‘SELINUX=permissive’を‘SELINUX=enforcing’に変更して2回目の再起動を行います。
2回目の再起動後、起動時にいろいろとエラーが出ますが、取りあえず起動を確認したら準備完了です。
1/2 |
Index | |
Multi Level Securityでより厳密なポリシーを実現する | |
Page1 MLS〜国防/軍隊向けのセキュリティ〜 MLSの記法 MLSとMCSは何が違うのか MLSを使う MLSを設定するための準備 |
|
Page2 MLSの実際 MLSの特徴をつかむ |
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)対策の観点から考える。
|
|