LinuCレベル3 303試験の例題と解説

327.2強制アクセス制御

今回は303試験の試験範囲から「327.2 強制アクセス制御」についての例題を解いてみます。

■トピックの概要
このトピックの内容は以下の通りです。

<327.2 強制アクセス制御>
重要度 4

<説明>
SELinux全般の知識があること。

<主要な知識範囲>
・SELinuxの設定
・TE、RBAC、MAC、およびDACの概念と使用方法

<重要なファイル、用語、ユーティリティ>
・fixfiles/setfiles
・newrole
・setenforce/getenforce
・selinuxenabled
・semanage
・sestatus
・/etc/selinux/
・/etc/selinux.d/

■例題
SELinuxについての説明として間違っているものを選びなさい。

1. SELinuxを利用すると、root権限に対してもアクセス制御が行える
2. SELinuxが有効かどうかはgetenforceコマンドで確認できる
3. SELinuxを無効にするにはsetenforceコマンドを使用する
4. コンテキストやポリシーなどを操作するにはsemanageコマンドを使用する

※この例題は実際のLinuC試験とは異なります。


解答と解説

答えは3. SELinuxを無効にするにはsetenforceコマンドを使用する です。

SELinuxはLinuxカーネルに備えられているアクセス制御機構として、root権限に対してもアクセス制御が行える「強制アクセス制御 (MAC)」を提供します。

SELinuxでは、ファイルなどに対して「コンテキスト」を設定し、プロセスなどの「サブジェクト」がファイルなどの「オブジェクト」に対して行える操作ルールを定義しています。ルールのことを「ポリシー」と呼んでいます。たとえば、Webサーバー(サブジェクト)がアクセスできるファイル(オブジェクト)についてポリシーが定義されており、許可されているコンテキストが与えられていないファイルはWebサーバーはアクセスできないことになります。

SELinuxはカーネルの機能のため、有効、無効を切り替えるにはシステムの再起動を伴います。現在の状態はgetenfoceコマンドで取得できます。setenforceコマンドは有効な状態のうち、アクセス制御を強制している状態である「Enforcing」と、ポリシーは適用しているがアクセスは許可する「Permissive」の切り替えのために使います。Permissiveの状態でも、ポリシーに違反するとログに書き込まれるので、設定後のテストや、トラブル発生時の切り分けに利用できます。

SELinuxの設定変更にはsemanageコマンドやgetseboolコマンド、setseboolコマンドなど様々なコマンドが用意されています。状況に応じて使い分けが必要なので、まずはポリシーをまとめて設定変更が可能な「ブーリアン」による制御あたりから始めてみるとよいでしょう。

ページトップへ