CentOS Stream 8
Sponsored Link

SELinux : 動作モードの設定2021/03/02

 
SELinux (Security-Enhanced Linux) の基本操作/設定です。
SELinux を設定することにより、各種リソースへの強制アクセス制御 (MAC - Mandatory Access Control) 機能が利用可能となります。
[1] SELinux が現在利用可能かどうかは、現在の動作モードを表示することで確認できます。
(システムインストール時のデフォルト動作モードは Enforcing)
# 現在の動作モード表示

[root@dlp ~]#
getenforce

Enforcing
# enforcing   ⇒  MAC 有効な状態 (デフォルト)
# permissive  ⇒  ポリシーに従って監査ログの記録のみを行う (アクセス拒否はしない)
# disabled    ⇒  無効な状態

# 以下でも確認可 ([Current mode] 行が該当)

[root@dlp ~]#
sestatus

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      33
[2] [permissive] ⇔ [enforcing] の動作モード切り替えは [setenforce] コマンドで変更可能です。
ただし、システム再起動すると元々の設定に戻ります。また [disabled] への一時的な切り替えはできません。
[root@dlp ~]#
getenforce

Enforcing
# [setenforce 0] で [Permissive] に切り替え

[root@dlp ~]#
setenforce 0

[root@dlp ~]#
getenforce

Permissive
# [setenforce 1] で [Enforcing] に切り替え

[root@dlp ~]#
setenforce 1

[root@dlp ~]#
getenforce

Enforcing
[3] 動作モードを恒久的に変更する場合は設定ファイルで設定します。
[root@dlp ~]#
vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
# 設定する動作モードに変更
SELINUX=enforcing
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

# 変更後はシステム再起動

[root@dlp ~]#
[4] 動作モードが無効な状態 (disabled) から 有効な状態 (enforcing/permissive) に変更する場合は、リラべリングが必要になります。 これは、無効な状態の時に作成されたファイルは SELinux のラベル付けが行われていないため、それらについても SELinux によるアクセス制御を有効にするためには、後述する SELinux コンテキストと呼ばれる情報でラベル付けをする必要があるためです。 リラべリングは、システム再起動時の起動中に実行されますが、相応の時間がかかるため注意が必要です。
# 以下のように設定して再起動すると次回起動時にリラべリングされる

[root@dlp ~]#
touch /.autorelabel

[root@dlp ~]#
関連コンテンツ