Next: 2 SPDLによる設定の構造
Up: SPDL仕様書 ver 2.1.
Previous: Contents
Contents
Subsections
seeditのポリシーファイル, Simplified Policy(/etc/seedit/policy)は、SPDLという書式で書かれています。
SPDLコンパイラ(seedit-converterコマンド。seedit-loadコマンドの中で呼び出
されます)によって、SPDLは普通のSELinuxのポリシー書式に変換され、設定が反映さ
れます。
SPDLの主な機能は、ラベルの隠蔽(パス名ベースの設定)と、パーミッションの
絞りこみです。
- ラベルの隠蔽
通常のSELinuxでは、ラベルをリソースに付与し、ラベルを使って
設定する必要があります。ラベルの管理、ラベルとリソースの対応付け
の把握が繁雑でした。一方、
SPDLでは、ラベルは隠蔽されています。ファイル名やポート
番号などのリソース名を指定して設定できます。
- パーミッションの絞りこみ
SELinuxには、数百のパーミッションが存在していました。一方SPDLでは、
パーミッションを除去したり、統合することによって、パーミッション
の数を絞りこんでいます。セキュリティ上の影響が極力少なくなるよう
配慮し、絞りこんでいます。
「パーミッション除去」とは、そのパーミッションが全ドメインに許可
されるようにし、実質そのパーミッションに関するアクセス制御が働か
ないようにすることです。
「パーミッション統合」は、複数のパーミッションを一つのパーミッショ
ンとして扱うことです。どんなパーミッションが除去され、統合されて
いるのかは、
http://seedit.sourceforge.net/doc/permission_integrate/にありま
す。
SPDLは、次のような設定を行うことができます。
- アプリケーションへのドメイン付与
ドメインを割り当てるには、SELinuxのドメイン遷移を設定する必要があ
ります。ドメイン遷移の設定には、2種類の要素が用意されています。
domain_transという諸式は普通のドメイン遷移の諸式です。
programは、簡略版の書式です。
- RBAC
RBACをサポートしています。role, user文を使うことで設
定できます。
- ファイルアクセス制御
allow/deny 文は、通常ファイルへのアクセス制御設定です。デバ
イスファイル関連としては、 allowdev文があります。 allowtmpは、一時ファイルの保護に使います。
- ネットワークアクセス制御
allownet文で設定できます。
- IPC(プロセス間通信)の制御
allowcom文で、IPCおよびシグナルのアクセス制御設定ができます。
- Keyのアクセス制御
allowkey文は、プロセス毎の鍵領域のアクセス制御に使います。
- その他の特権
その他の、重大なOSの操作については、allowpriv文で設定します。
ドメインは、デフォルトでは、全て拒否されます。
- ドメイン
ドメインは、SELinuxと同じです。ドメインは、プロセスにドメイン遷移で割り
当てられます。
- ロール
SPDLのロールは、単純化されています。ユーザシェルに付与されるドメインと
同じ意味です。SPDLでは、アクセス制御設定をロールに対して行いますが、
実際は、ユーザシェルのドメインに対して権限が与えられています。例を
見てみましょう。sysadm_rロールに対して許可された権限は、ログイン
後のユーザーシェルのドメインsysadm_tに許可されます。
SPDLから生成されるSELinuxのポリシでは, role 全てのロール 全て
のタイプ;のような設定がされています。
- 非制限(unconfined)ドメイン
unconfinedドメインとは、全ての権限が許可されたドメインのことをいい
ます。つまり、このようなドメインが付与されたプロセスは実質SELinux
のアクセス制御を受けません。allowpriv all;と設定されたドメイ
ンはunconfinedドメインとなります。
Yuichi Nakamura
2006-12-27