第6回 新しく追加されたMulti Category Security

古田 真己
サイオステクノロジー株式会社
インフラストラクチャービジネスユニット
Linuxテクノロジー部
OSSテクノロジーグループ
2006/8/16

 今回からはSELinux Referenceポリシーの新機能であるMulti Category Security(MCS)の取り扱いを解説します。

 MCSはオプションとして提供される機能で、アクセス制御対象のオブジェクトにカテゴリを設定してカテゴリ別のアクセスを実現します。

図1 MCSの概念

 MCSは企業向けのセキュリティ機能

 MCSは企業向けのセキュリティを提供します。MCSを説明するうえで必要なのは、同じくオプション機能のMLS(Multi Level Security)との比較です。それぞれの機能は下記の表のとおりです。

セキュリティレベルによる情報保護機能
MCS
MLS
機密情報を役職別に持つことを想定しているか?(Sensitivity)
×
機密情報を部署別に持つことを想定しているか?(Categories)
MCSとMLSの住み分け

 MCSはカテゴリ別(≒部署別)のみですが、MLSはレベル別(≒役職別)とカテゴリ別(≒部署別)の両方を保護する機能を持っています。MCSは、MLSのカテゴリ部分をうまく利用して、セキュリティをさらに高めたものです。MLSは幅広い、そしてより細かな制御が可能ですが、その分運用・管理が難しくなっています。

 MLSがその威力を十分に発揮できそうな分野として国防が挙げられます。しかし、企業ユースでは、MLSの厳格な管理よりもMCSの運用・管理のしやすさを重視する傾向が高いでしょう。

 前述のとおり、MCSはMLSのサブセットに当たる機能です。その元となっているMLSの位置付けはISO/IEC 15408のLSPP(Labeled Security Protection Profile)に相当する機能で、高いセキュリティを保証するものです。

 SELinuxのMCSはそのMLSのセキュリティレベルからカテゴリ別アクセス制御を抜き出したものになり、これからの企業に必要なものとなるでしょう。

【ISO/IEC 15408】
ISO/IEC 15408は「Common Criteria(CC)」と呼ばれる国際的なITセキュリティ基準です。日本でこれに基づいて評価・認証されたシステムは情報基盤強化税制により平成18〜19年度は減税対象になっています。
http://www.soumu.go.jp/menu_04/zeisei/051215_5.html#1_1

 MCSを使うために

 MCSはTargetedポリシー、またはStrictポリシーと組み合わせて設定します。前回までに行ったようにポリシーを一からセットアップする場合は、いままでどおりMCSを設定しない運用も可能です。

 MCSを使うためにはFedora Core 5(FC5)以上が必要です。すでにFC5でTargetedポリシーを使っているのであれば、MCSによるカテゴリでのアクセス制御が加わり「targeted-mcs」となります。

Targeted(targeted-mcs) いままでのTargetedに加えMCSによるカテゴリでのアクセス制御
Strict(strict-mcs) いままでのStrict+MCSによる制御
MLS(strict-mls) いままでのStrict+MLSによる制御

 では、FC5を使って実際のセットアップ・運用方法を考えてみましょう。

 MCSで増えた「SystemLow-SystemHigh」という表示

 MCS(targeted)が有効になったFC5では、セキュリティコンテキストの最後に見慣れない「SystemLow-SystemHigh」という表示が追加されます。

[root@vmfc5 ~]# id -Z
root:system_r:unconfined_t:SystemLow-SystemHigh

 これはMCSのセキュリティレベルのトランスレーション(翻訳)が行われた後の状態を示しています。現在の自分のプロセス(bash)のコンテキストを保持している/proc/self/attr/currentを確認すると、実際のセキュリティコンテキストは以下のようになっていることが分かります。

[root@vmfc5 targeted]# cat /proc/self/attr/current
root:system_r:unconfined_t:s0-s0:c0.c255

 これは/etc/selinux/targeted/setrans.confに記載された名前で、以下のように定義されています。

[root@vmfc5 targeted]# cat -n /etc/selinux/targeted/setrans.conf
1 #
2 # Multi-Category Security translation table for SELinux
3 #
4 # Uncomment the following to disable translation libary
5 # disable=1
6 #
7 # Objects can be categorized with 0-256 categories defined by the admin.
8 # Objects can be in more than one category at a time.
9 # Categories are stored in the system as c0-c255. Users can use this
10 # table to translate the categories into a more meaningful output.
11 # Examples:
12 # s0:c0=CompanyConfidential
13 # s0:c1=PatientRecord
14 # s0:c2=Unclassified
15 # s0:c3=TopSecret
16 # s0:c1,c3=CompanyConfidentialRedHat
17 s0=
18 s0-s0:c0.c255=SystemLow-SystemHigh
19 s0:c0.c255=SystemHigh

 /proc/self/attr/currentで確認したセキュリティコンテキストに「s0-s0:c0.c255」という表示がありましたが、これが18行目の設定に従って「SystemLow-SystemHigh」とトランスレートされているわけです。

1/2

Index
新しく追加されたMulti Category Security
Page1
MCSは企業向けのセキュリティ機能
MCSを使うために
MCSで増えた「SystemLow-SystemHigh」という表示
  Page2
MCSのセキュリティレベルと表記法
MCSのアクセスモデル
実際の動作における設定方法
MCSの実運用での生かし方


Security&Trust記事一覧


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

注目のテーマ

Security & Trust 記事ランキング

本日 月間