Rocky Linux 9のSELinux無効化手順

Others,RockyLinux/CentOS

Rocky Linux 9からSELinux無効化手順が変わっています。
パターンに分けてSELinux無効化手順について纏めてみました。

    • setenforceで一時的な無効化
    • grubbyで恒久的な無効化(Disabledモード)
    • configファイルを編集して恒久的な通信許可(Permissiveモード)

※Rocky Linux release 9.2 (Blue Onyx)の仮想マシン(Azure VM)を利用しています。

スポンサーリンク

Rocky Linux 9でSELinuxを無効化

SELinuxの無効化方法が9から変わっている

SELinux の無効化(Red Hat)

Rocky Linux 9からSELinux無効化(Disabledモード)手順が変わっています。
grubbyコマンドを利用してカーネルパラメータを編集する方法に変わっています。

SELinuxの各モードの動作に変更はありません。
Permissiveモードや一時的なSELinux無効化手順については変わってません。

モード 通信 ログ 備考
Enforcing SELinuxポリシーに沿わない通信をブロック 記録される
SELinuxポリシーに沿わない通信
デフォルト
推奨される
Permissive すべての通信を許可 記録される
SELinuxポリシーに沿わない通信
動作確認時等に利用
Disabled すべての通信を許可 記録されない 推奨されない

※Disabledへの変更は推奨されていません。
※SELinuxの無効化自体はセキュリティレベルを下げるものです。実施にあたっては注意が必要です。

setenforceで一時的にSELinuxを無効化(Permissiveモードへ変更)

一時的なSELinux無効化は8までと同様にsetenforceコマンドを利用します。
setenforce 0でPermissiveモードに変更できます。
動作切り分け時などSELinuxのポリシーを無効にして一時的な通信許可が出来ます。

#初期設定確認
[root@test-vm-01 ~]# getenforce
Enforcing

#一時的な無効化
[root@test-vm-01 ~]# setenforce 0
[root@test-vm-01 ~]# getenforce
Permissive

SELinux設定ファイル

SELinuxの設定ファイルは/etc/selinux/configです。
設定ファイルの場所やファイル名は8と同じです。

※8と異なりdisabledモードへ変更する場合はgrubbyコマンドを利用するようconfig内に記載があります。

#SELinux設定ファイル表示
[root@test-vm-01 ~]# cat /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.
# See also:
# https://docs.fedoraproject.org/en-US/quick-docs/getting-started-with-selinux/#getting-started-with-selinux-selinux-states-and-modes
#
# NOTE: In earlier Fedora kernel builds, SELINUX=disabled would also
# fully disable SELinux during boot. If you need a system with SELinux
# fully disabled instead of SELinux running with no policy loaded, you
# need to pass selinux=0 to the kernel command line. You can use grubby
# to persistently set the bootloader to boot with selinux=0:
#
# grubby –update-kernel ALL –args selinux=0
#
# To revert back to SELinux enabled:
#
# grubby –update-kernel ALL –remove-args selinux
#
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

【推奨されません】恒久的な無効化(Disabledモードへ変更)

SELinuxをDisabledモードに変更してSELinuxを恒久的な無効化する手順です。
grubbyコマンドを利用して無効化します。

Disabledモードを使ったSELinux無効化は推奨されていません。
SELinuxの再有効化時は注意が必要です。

SELinux のステータスおよびモードの変更(Red Hat)

システム再起動時にファイルに再ラベル付けされるようする必要あります。
再起動後の動作に問題を起こさない為にEnforcingモードに戻すのではなくPermissiveモードに戻す事が推奨されます。
grubbyコマンド実行とconfig編集を両方実施した後にOSを再起動します。

※Permissiveモードについては次に記載しています。

#epelインストール
[root@test-vm-01 ~]# grubby –update-kernel ALL –args selinux=0
[root@test-vm-01 ~]# getenforce
Enforcing

#再起動後に確認
[root@test-vm-01 ~]# getenforce
Disabled

#再有効化
[root@test-vm-01 ~]#
grubby –update-kernel ALL –remove-args selinux

#再起動時のラベル付与
[root@test-vm-01 ~]# fixfiles -F onboot

#再起動後に確認
[root@test-vm-01 ~]# getenforce
Enforcing

恒久的な無効化(Permissiveモードへ変更)

Permissiveモードへの変更手順です。
8までの手順と同様に/etc/selinux/configを編集します。

    • 変更箇所(22行目)
      • 変更前:SELINUX=Enforcing
      • 変更後:SELINUX=permissive

※DisabledモードではなくPermissiveモードへの変更が推奨されています。

Permissive モードへの変更(Red Hat)

#configファイルを編集(sedコマンド利用)
[root@test-vm-01 ~]# sed -i -e 's/^SELINUX=enforcing/SELINUX=permissive/g’ /etc/selinux/config

#再起動後に確認
[root@test-vm-01 ~]# getenforce
Permissive

※再有効化する場合はSELINUX=permissiveからSELINUX=enforcingに変更します。

最後に

Rocky Linux 9のSELinux無効化や再有効化手順について纏めてみました。
Disabledモードへの変更手順が9から変わっている事や再有効化に注意が必要な点が確認出来ました。

今後も色々試してみたいと思います。

Rocky Linuxの仮想マシン(Azure VM)デプロイから日本語化の手順などについて纏めています。

スポンサーリンク