Rocky Linux 9のSELinux無効化手順

Others,Rocky Linux/CentOS

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

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

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

スポンサーリンク

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を無効化する方法は、Rocky Linux 8までと同じです。
setenforceコマンドを利用し、setenforce 0でPermissiveモードに変更できます。
動作切り分けなどの際に、SELinuxのポリシーを一時的に無効化してアクセス許可することができます。

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

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

# 一時的にSELinuxを無効化
[root@test-vm-01 ~]# setenforce 0

# SELinuxを無効化したのちに設定内容を確認
[root@test-vm-01 ~]# getenforce
Permissive

SELinuxの設定ファイルを確認

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

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

SELinuxをDisabledモードに変更して恒久的に無効化する手順です。
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モードにすると、SELinuxポリシー違反によるアクセスがブロックされなくなります。
Rocky Linux 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

※再有効化する場合は、/etc/selinux/configのSELINUX=permissiveをSELINUX=enforcingに変更します。

—広告—

最後に

今回は、Rocky Linux 9におけるSELinuxの無効化や再有効化手順についてまとめました。
Disabledモードへの変更手順がRocky Linux 9から変更されていることや、再有効化の際には注意が必要である点が確認できました。

引き続き、いろいろ試してみたいと思います。

Rocky Linuxの仮想マシンをAzure環境で作成する手順や日本語化設定などについて紹介しています。
Rocky Linux8でのSELinux無効化手順も紹介しています。

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

 

スポンサーリンク