SELinuxについて / AlmaLinux9.4 on さくらのVPS

アフィリエイト広告を利用しています

このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です

さくらのVPS 2G にAlmaLinux9.4をインストールした覚書です。

今回は、SELinuxについて確認していきたいと思います。

SELinuxの有効・無効には賛否両論あります。

私の考えとしては、WEBサーバを構築する程度のことであれば「基本的に不要」と考えています。
もちろん場合によっては有効にしたほうが良い場合もあります。

それと「基本的に不要」ですが、ノーガード戦法を進めているわけではありません。
ほかのところで補うことができていればOKという考えでもあります。

・・・と考えるくらいには、SELinuxはちょっと複雑すぎません?

なお本番環境で利用される場合はここにある内容だけを鵜呑みにせずセキュリティ専門家に相談されることをお勧めします。

環境

実施日2024-06-17
サーバさくらのVPS 2G
OSAlmaLinux9.4
cat /etc/redhat-release
AlmaLinux release 9.4 (Seafoam Ocelot)

SELinuxの有効化

さくらVPSではデフォルトでSELinuxが停止されています。
さくらVPSのマニュアル(SELinux)も確認ください。

SELinuxを有効にする場合は次の手順で行えます。

また、さくらのVPSでなく独自にインストールした場合は逆にデフォルトでSELinuxが有効になっています。無効化したい場合も下記に載せていますのでご確認ください。

有効化するには、まず「Permissive モード」へ。ログを確認して「Enforcing モード」へと段階的に切り替えます。
これは、いきなり「Enforcing モード」にして詰むのを防ぐためです。

Permissive モードにする

確認

getenforce
Disabled

設定ファイルを編集

vi /etc/selinux/config
vi /etc/sysconfig/selinux
# 従来の▲はエイリアスになっている
SELINUX=permissive
# SELINUX=disabled

過去のCentOSなどとは有効・無効を切り替える方法が異なります。

有効にする

grubby --update-kernel ALL --remove-args selinux

変更した場合は再起動

reboot

Enforcing モードにする

Enforcing にする前に Permissive でのログを確認しておきます。

aureport -a

問題なければ、Enforcing にします。

設定ファイルを編集

vi /etc/selinux/config
SELINUX=enforcing
# SELINUX=permissive
# SELINUX=disabled
# 変更した場合は再起動
reboot

# 確認
getenforce
Enforcing

SELinuxを一時的に無効化したいとき

再起動したときは、設定ファイルの内容に戻ります。
トラブル時に、SELinuxが原因なのか切り分けするために使うことがあるかもしれません。

# 一時的に無効化
setenforce 0

# 一時的に有効化
setenforce 1

SELinuxを恒久的に無効化したいとき

過去のCentOSなどとは有効・無効を切り替える方法が異なります。
/etc/selinux/config は触る必要ありません。/etc/selinux/config に説明が載っています。

# 無効にする
grubby --update-kernel ALL --args selinux=0

# 変更した場合は再起動
reboot

SELinuxの設定ツール

semanage をインストール

dnf install policycoreutils-python-utils