【RockyLinux8】SELinux設定

RockyLinux8

本記事では、Rocky Linux 8 における SELinux 設定について解説します。

SELinuxとは

SELinux は、Linux カーネルに組み込まれたセキュリティモジュールです。アクセス制御、監査、強制といった機能を提供し、システムのセキュリティを強化します。

SELinuxの状態を確認

SELinuxの状態を確認するには、getenforce コマンドを使います。

# getenforce
Enforcing                 SELinuxデフォルトは有効な状態
状態説明
EnforcingSElinux有効:ポリシーに違反するアクセスに対してログを記録して拒否します。
PermissiveSElinux有効:ポリシーに違反するアクセスに対してログを記録して許可します。
DisabledSElinux無効:ポリシーに関係なくアクセスが可能です。

SELinuxのモードを一時的に変更

SELinuxのモードを一時的に変更するには、setenforce コマンドを使います。

  • setenforce 0 で Permissive モードになります。再起動すると元に戻ります。
# setenforce 0
# getenforce
Permissive
  • setenforce 1 で Enforcing モードになります。再起動すると元に戻ります。
# setenforce 1
# getenforce
Enforcing

SELinuxのモードを永続的に変更

SELinuxのモードを永続的に変更するには、/etc/selinux/config ファイルを編集します。
SELINUX= の値を enforcing、permissive、disabled のいずれかに設定します。この変更は再起動後に反映されます。

# 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

SELinuxのメリットとデメリット

SELinuxのメリットは、標準的な Linux サービスについてはデフォルト設定でも十分に効果があることです。SELinuxは、プロセスやファイルにコンテキストというラベルを付けて、アクセス権限を細かく制御することができます。これにより不正なアクセスや攻撃を防ぐことができます。

SELinuxのデメリットは、アプリ開発中では初期チューニングが大変だったり、運用中でルール漏れが顕在化し、サービスが動作しなくなるといったところです。SELinuxは、ルールに従わないアクセスを拒否するため、ルールを適切に設定しないと、意図しない動作になる可能性があります。また、ルールの数や内容は複雑で、ログやエラーメッセージも分かりにくい場合があります。

コメント