Rocky Linux 9のSELinux無効化手順

Others,RockyLinux/CentOS

Rocky Linux 9からSELinux無効化方法が変更されています。
一時的な無効化と恒久的な無効化に分けて手順を確認します。
恒久的な設定については、SELinux無効化(Disabledモード)と通信許可(Permissiveモード)の場合の手順を紹介します。

    • 一時的な無効化
      • setenforceコマンドで一時的にSELinuxを無効化
    • 恒久的な無効化
      • grubbyコマンドを使用して恒久的にSELinuxを無効化(Disabledモード)
      • configファイルを編集して恒久的に通信許可設定(Permissiveモード)

※手順の確認にはAzure上に作成したRocky Linux release 9.2 (Blue Onyx)の仮想マシンを使用しています。
※SELinuxの無効化や通信許可はセキュリティレベルを下げるものであり、推奨されていません。実施する際は十分ご注意ください。

スポンサーリンク

Rocky Linux 9でSELinuxを無効化

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

SELinux の無効化(Red Hat)

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

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

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

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

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

※OSを再起動すると設定は元に戻ります。

#デフォルトの設定内容を確認
[root@test-vm-01 ~]# getenforce
Enforcing

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

SELinuxの設定ファイル

SELinuxの設定ファイルは/etc/selinux/configです。
設定ファイルの場所やファイル名は8と同じです。
8と異なるのはdisabledモードへ変更する場合の手順です。
9の場合は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

【危険です】grubbyコマンドで恒久的にSELinuxを無効化(Disabledモード)

SELinuxをDisabledモードに変更して恒久的に無効化する手順です。
grubbyコマンドを利用して無効化を行います。
grubbyコマンドの実行後、OSを再起動します。

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

SELinux のステータスおよびモードの変更(Red Hat)
SELinux states and modes(Fedora Linux)

システムを再起動する際、ファイルの再ラベル付けが行われるようにする必要があります。
Disabledモードを再有効化する場合は、Enforcingモードに戻すのではなく、Permissiveモードに戻すことが推奨されています。
Enforcingモードに戻すと、動作に問題が発生し、OSが起動しなくなる場合があるためです。

#grubbyコマンドでSELinuxを無効化(オプションの"-“は2つです)
[root@test-vm-01 ~]# grubby –update-kernel ALL –args selinux=0
[root@test-vm-01 ~]# getenforce
Enforcing

#OS再起動後にSELinuxの設定を確認
[root@test-vm-01 ~]# getenforce
Disabled

#grubbyコマンドでSELinuxの設定を再有効化(オプションの"-“は2つです)
[root@test-vm-01 ~]# grubby –update-kernel ALL –remove-args selinux

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

#OS再起動後にSELinuxの設定を確認
[root@test-vm-01 ~]# getenforce
Enforcing

設定ファイルでPermissiveモードに変更して恒久的に通信許可

SELinuxをPermissiveモードへの変更手順です。
Permissiveモードにすると通信自体がブロックされる事が無くなります。
8までの手順と同様に/etc/selinux/configを編集します。

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

検証やSELinuxのポリシー確認等で通信許可を行う場合は、DisabledモードではなくPermissiveモードへの変更が推奨されています。

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

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

#OS再起動後にSELinuxの設定を確認
[root@test-vm-01 ~]# getenforce
Permissive

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

最後に

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

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

Azure上でのRocky Linuxの仮想マシンデプロイから日本語化の手順などについて紹介しています。
Rocky Linux8でのSELinux無効化手順も記載しています。

Rocky Linuxの仮想マシンを例に仮想マシン作成後のrootユーザーの設定手順について紹介しています。

 

スポンサーリンク