2006年3月に公開されたFedora Core 5からは,大幅に機能刷新されたセキュアOS機能「SELinux」が組み込まれた。本講座では,Fedora CoreでのSELinuxの仕組みや使い方を,これまでSELinuxを使ったことがない人に向けて,分かりやすく解説していく。第3回はいよいよ最新版のSELinuxを使い始める。

 Fedora Core 5に搭載されたSELinuxには,数多くの新機能が盛り込まれた。直ちに全部を把握するのは困難な上,その必要もない。Fedora Core 5のSELinuxでは,「どの程度SELinuxに詳しいか」に応じた使い分けができるためだ。

 具体的には,入門者は「設定はとても簡単だが,セキュリティ・レベルは必要最小限にとどまる」使い方ができるし,上級者は「手間をかけて設定し,セキュリティ・レベルを思う存分高める」使い方ができる。SELinuxの入門レベルから上級レベルにステップアップするための段階を図1に示す。本連載では,このステップに沿ってSELinuxの使い方を紹介していく。

図1●SELinuxを学ぶステップ
図1●SELinuxを学ぶステップ
レベル1からレベル5まで,段階的にマスターしよう。また,新しいSELinuxには,「MCS/MLS」と呼ぶ新機能も追加されている。「MCS/MLS」についても,別途マスターしよう。
[画像のクリックで拡大表示]

enforcingとpermissive

 SELinuxを有効にして使い始めるときにはまず,その動作モードを知る必要がある。動作モードには「enforcing」と「permissive」の2種類がある。

enforcingモード

 SELinuxを有効にしたときの通常の動作モードが,enforcingモードだ。このモードでは,プロセスはポリシー・ファイルに設定された範囲内の権限で動作する。プロセスがポリシーには設定されていないアクセスを試みたときには,そのアクセスは拒否される。同時にアクセスが拒否された事実がログに記録される。つまり,ポリシー・ファイルの設定が,全プロセスに強制(enforce)されている状態だ。

permissiveモード

 一方,permissiveモードでは,プロセスがポリシーには設定されていないアクセスを試みたときには,アクセス拒否の事実はログに記録されるものの,実際にはアクセスは許可(permit)される。つまり,機能的にはSELinuxは無効だが,ログだけはSELinuxが有効なときと同じように記録される。そのため,SELinuxが原因でトラブルが発生したときの解明に役立つ。

SELinuxを有効にして使う

 それでは,SELinuxを有効にする方法とモードの切り替え方法を説明する。ここで紹介する方法は,「セキュリティレベルの設定ツール」のGUI画面からも操作できるが,ここでは,より汎用的なコマンドラインからの操作方法を紹介する。

インストール直後の設定画面

 SELinuxはデフォルト(初期設定)で有効になっている。インストール直後の設定画面(写真1)で,デフォルトの「Enforcing」のままにしておけば,SELinuxが有効になっている。

写真1●インストール直後に表示されるSELinuxの設定画面
写真1●インストール直後に表示されるSELinuxの設定画面
デフォルトの「enforcing」のままにしておけば,SELinuxが有効になる。
[画像のクリックで拡大表示]