Rocky Linux 9のSELinux無効化手順

Others,RockyLinux/CentOS

Rocky Linux 9でのSELinux無効化方法の紹介です。

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

#一時的な無効化
[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モードに変更してSELinuxを恒久的な無効化する手順です。
grubbyコマンドを利用して無効化します。
grubbyコマンド実行実施した後にOSを再起動します。

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

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

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

#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モードに変更して恒久的に通信許可

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

#再起動後に確認
[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ユーザーの設定手順について紹介しています。

 

スポンサーリンク