LinuCレベル3 303試験の例題と解説
327.2強制アクセス制御
LinuCレベル3 303試験の出題範囲から「327.2 強制アクセス制御」についての例題を解いてみます。今回は、SELinuxについて取り上げます。セキュリティコンテキストのフォーマットについて理解しましょう。
例題
httpdプロセスのセキュリティコンテキストについて、以下の選択肢から正しいフォーマットを選択してください。
- system_u:system_r:httpd_t:s0
- system_r:system_u:httpd_t:s0
- httpd_t:system_u:system_r:s0
- httpd_t:system_r:system_u:s0
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1. system_u:system_r:httpd_t:s0」です。
SELinuxはLinuxのセキュリティを向上させるための機能です。ポリシールールを使用し、プロセスやファイルのアクセスを管理します。
SELinuxが有効な環境では、すべてのプロセスとファイルにどのような操作を許可するかのルールが割り当てられます。これをセキュリティコンテキストと呼びます。
セキュリティコンテキストのフォーマットは以下の通りです。
ユーザ:ロール:タイプ:レベル
ユーザ:
SELinuxはシステムユーザとは別の概念のユーザタイプが存在します。
システムユーザとSELinuxユーザは関連付けられることで操作や権限が割り当てられます。
ロール:
ユーザが実行できる操作や権限を定義します。
タイプ:
プロセスやファイルへのアクセスに対して許可される操作を判定します。
厳密にはプロセスの場合はドメイン、ファイルの場合はタイプと呼ばれます。
レベル:
MLS(Multi-Level Security)、MCS(Multi-Category Security)の属性です。
セキュリティレベルとカテゴリを定義します。
セキュリティコンテキストは、psコマンドやlsコマンドにZオプションをつけることで確認することができます。
$ ps -eZ | grep httpd
system_u:system_r:httpd_t:s0 1228 ? 00:00:00 httpd
$ ls -Z /etc/httpd/conf/httpd.conf
system_u:object_r:httpd_config_t:s0 /etc/httpd/conf/httpd.conf
例題の各選択肢について解説をします。
1. system_u:system_r:httpd_t:s0
正解です。
正しいフォーマットです。
2. system_r:system_u:httpd_t:s0
不正解です。
ユーザとロールの位置が逆になっています。
3. httpd_t:system_u:system_r:s0
不正解です。
タイプが先頭にきています。
4. httpd_t:system_r:system_u:s0
不正解です。
ユーザとタイプの位置が逆になっています。
プロセスやファイルのポリシールールを理解して正しいセキュリティの知識を身に付けましょう。
例題作成者
株式会社デージーネット 経営企画室 加藤 大嗣