29
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SELinux 覚書

Last updated at Posted at 2015-11-18

SELinux の有効化

  1. /etc/selinux/config の SELINUX の値を enforcing に書き換える。
  2. sestatus で設定の記述に誤りがないかを確認する。
  3. fixfiles on boot を実行する。
  4. OS を再起動する。

Note:
標準で AppArmor や TOMOYOLinux 等の
アクセス制限機能が有効になっている場合は、
それらを無効化しなければならない。

設定ファイル

/etc/selinux/config
SELINUX={enforcing | permissive | disabled}
SELINUXTYPE=使用するポリシーセット

SELINUXTYPE

既定値は targeted 。
targeted ポリシーセットは、攻撃対象として
狙われやすいアプリケーションのみを SELinux の制御下に置く。

Note:
存在しないポリシーセットを指定するとカーネルパニックが発生する。
カーネルパニックが発生した場合は、
起動時に grub オプションへ selinux=0 を指定することで
SELinux を Disabled 状態で起動することができる。

セキュリティポリシーの構成

TE ファイル

セキュリティポリシーの本体。
セキュリティコンテキストの定義やアクセス許可を記述する。

FC ファイル

定義したセキュリティコンテキストをデフォルトで
どのファイル(パス)へ付与するかを記述する。

IF ファイル

他のドメインがモジュール内で定義したセキュリティコンテキストを
使用する為のインターフェイスを記述する。

コマンド

getenforce

SELinux の状態を確認する。

Enforcing

SELinux が有効になっており、実際のアクセス制限を行う状態。
セキュリティポリシーに従ってシステムコールの実行可否を
判断 / 制御し、アクセス拒否した際のログを出力する。

Permissive

SELinux は有効になっているが、実際のアクセス制限は行わない状態。
セキュリティポリシーに従ってシステムコールの実行可否を
判断するが制御は行わず、アクセス拒否のログだけを出力する。

Disabled

SELinux が無効になっている状態。
アクセス制限 / ログ出力 / 新規ファイルやプロセスに対して
セキュリティポリシーを適用しない。

setenforce{0 | 1}

SELinux の状態を変更する。

0=Permissive
1=Enforcing

sestatus

設定ファイルの設定を含めた状態を確認する。
設定ファイルの記述に誤りがないかを確認することができる。

Current mode

現在の状態を表す。

Mode from config file

設定ファイルで設定された状態を表す。

sesearch

システムに適用されているセキュリティポリシーを検索する。
TE ファイルを読み解くことなくアクセス権限を知ることができる。

semanage fcontext -l

FC ファイルの定義内容を確認する。

ls -Z

ファイルのセキュリティコンテキストを確認する。

ps -Z

プロセスのセキュリティコンテキストを確認する。

id -Z

ログインユーザのセキュリティコンテキストを確認する。

chcon

一時的にセキュリティコンテキストを付与する。
chcon で付与したセキュリティコンテキストは
SELinux を有効化する際に初期化される。

restorecon

システムを起動したまま SELinux の有効化を実行する。

29
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
28

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?