面 和毅
FMAC(Flexible Mandatory Access Control)は、FlaskアーキテクチャとType EnforcementモデルをOpenSolaris上に移植したものになる。
通常のSolarisでは"Trusted Extentions"と呼ばれるパッケージを導入する事により、セキュリティの強化をはかることができる。今回OpenSolaris上でFMACが採用される事により、OpenSolaris上でも現行のSolaris上のセキュリティと同等のレベルの物が実現できるようになる。
OS上でのセキュリティモデルを考える際には、以下の4つの要素を定義する。
これらを用いて「あるサブジェクトがオブジェクトに対してどういうアクセスが「許可」されるか」という形でアクセス制御が行われる。この際に、サブジェクト/オブジェクトとは何か、アクセスの許諾を判定する際に使用される要素は何か、などの考慮が必要になる。そこで、これらを決定する指針となる「セキュリティポリシーモデル」が必要になる。
セキュリティポリシーモデルに関しては様々なものがあるが、Type Enforcementモデルでは
また、SELinux では、様々なセキュリティポリシーをサポートすることを目標に、その設計に「Flask」と呼ばれるアーキテクチャを採用している。このFlask アーキテクチャは
OpenSolaris上での実装「FMAC」は、Linuxでの実装の「SELinux」が使いづらいとユーザ側から認識されてしまっている事を教訓とし、ユーザビリティを向上したシステムを目指している。
FMACのプロジェクト自体は、2008年2月14日からスタートしており、概ね下記のスケジュールに従ってプロジェクトが動いている。
2008年10月時点で、下記のユーティリティ/インターフェースが移植されている。
ユーティリティ
インターフェース
また、ZFS/TEMPFSに対してのファイルセキュリティラベルとアクセス制御が出来るようになっている。
このように、FMAC on OpenSolarisプロジェクトは着々と開発が進んでいる。このFMACが正式版になった暁には、SELinuxの経験のあるエンジニアであればポリシ記述方法等はほとんど代わらないため、比較的導入しやすいセキュリティオプションとなるであろう。
これまでSELinuxではシステム全体でEnforcing/Permissiveを切替えるようになっていた。そのため、特定のサービス用にSELinuxのポリシを追加した際でも、システム全体のモードを変更するため、膨大なログが出力され、かつデバッグに手間が掛かっていた。
しかし新しいSELinuxでは、特定のドメインのみをPermissiveにする事が出来るようになった。これにより、特定のドメイン用のポリシを作成した際に、そのドメインのみをPermissiveモードにする事が出来るため、ポリシのデバッグが簡単に行えるようになっている。
このPermissiveドメインはFedora9から使用可能となっており、
# semanage permissive -a "ドメイン名"
でドメイン単位でPermissiveモードにする事が出来る。
SELinuxを用いたシステムはこれまで一般的なOSのセキュリティ強化として注目されてきた。また、他のいわゆるセキュアOS製品に関しても、DMZ等のセキュリティを確保するべきシステムの強化、また軍事関係などの特殊なセキュリティが要求される場所で使用されてきた。
しかし、今年になってSELinuxやセキュアOSを用いて組み込み系システムを保護しようと言う動きが出て来ている。Linuxだけに関しても、オタワで行われたLinuxWorldでは
といったように、セキュアOSで保護する対象を組み込み系まで広げて来ている。
組み込み系では一般的なOSと違い、元々特殊なインターフェースを使用しているため、セキュアOSのポリシに起因する使い勝手の変更等が意識されにくいことから、比較的受け入れられやすいと思われる。
以上