カテゴリー
Linux

#ConoHa5周年 CentOS 7.5 で SELinux をオン(Enforcing)にしてログインもできました♪

ConoHa では CentOS 7.5 で SELinux をオン(enforcing)にすると再起動後、ログインできなくなりました>< – oki2a24 を投稿したところ、次のアドバイスをいただきました。ありがとうございます!

早速、SELinuxの状態を変更する | 2done.org の内容を実践し、うまく行きましたのでその記録を残そうと思います。

ポイント

  • OS 再起動時の SELinux 再ラベル付を行うこと。コマンドは、fixfiles onboot で、ルートディレクトリに .autorelabel が作成されればよい。

作業を行った、対象となるサーバについて

  • VPS: 512MB
  • OS: CentOS 7.5(64bit)
  • root パスワードを設定し、他は、なにも変更しない

SELinux を Disabled から Enforcing に変更する手順

# 確認
getenforce
sestatus

# SELinux を Disabled から Enforcing へ変更
# 設定変更
cp -a /etc/selinux/config /etc/selinux/config.org
sed -i -e 's/SELINUX=disabled/SELINUX=enforcing/' /etc/selinux/config
diff -up /etc/selinux/config.org /etc/selinux/config
# OS再起動時の再ラベル付
fixfiles onboot

# 再起動し、反映
reboot

SELinux を Disabled から Enforcing へ変更、再ラベル付設定をし、OS 再起動しました。

SELinux を Disabled から Enforcing へ変更、再ラベル付設定をし、OS 再起動しました。

ログインでき、バッチリ SELinux もオン (Enforcing) になりました♪

ログインでき、バッチリ SELinux もオン (Enforcing) になりました♪

実は以上の手順は次の isabled から Permissive へ、そして Enforcing へ徐々に変更するやり方の後に行ったものでした。徐々に変更していった記録は次のようになりました。

使ったコマンドまとめ。SELinux を Disabled から Permissive へ、そして Enforcing へと変更する

root で作業します。

# 確認
getenforce
sestatus

# SELinux を Disabled から Permissive へ変更
# 設定変更
cp -a /etc/selinux/config /etc/selinux/config.org
sed -i -e 's/SELINUX=disabled/SELINUX=permissive/' /etc/selinux/config
diff -up /etc/selinux/config.org /etc/selinux/config
# OS再起動時の再ラベル付
fixfiles onboot

# 再起動し、反映
reboot

# SELinux が最後の起動時にアクセスを拒否したことがあるかを確認
grep "SELinux is preventing" /var/log/messages

# SELinux を Permissive から Enforcing へ変更
sed -i -e 's/SELINUX=permissive/SELINUX=enforcing/' /etc/selinux/config

# 再起動し、反映
reboot

## 実践。SELinux を Disabled から Permissive へ、そして Enforcing へと変更する
root でログインし、実際に作業を行っていきました。

SELinux の状態を確認しました。Disabled でした。

SELinux の状態を確認しました。Disabled でした。

Permissive へと変更しました。そして、/etc/selinux/config ファイルを出力してみまして、
SELINUX=permissive
SELINUXTYPE=targeted
となっていることを確認しました。

Permissive へと変更しました。

OS再起動時の再ラベル付、System will relabel on next boot と言われましたので、良さそうです。

OS再起動時の再ラベル付、`System will relabel on next boot` と言われましたので、良さそうです。

そして、再起動しました。

root でログインし、SELinux が最後の起動時にアクセスを拒否したことがあるかを確認してみます。拒否なし、のようです。では今度は、SELinxu を Enforcing にしました。

root でログインし、SELinux が最後の起動時にアクセスを拒否したことがあるかを確認してみます。拒否なし、のようです。

そして再度 OS 再起動してみました。

素晴らしい!今度はしっかりとログインできるようになりましたし、SELinux も オンの Enforcing となっています。!やったぜ!

素晴らしい!今度はしっかりとログインできるようになりましたし、SELinux も オンの Enforcing となっています。!やったぜ!

おわりに

ConoHa でも、SELinux をオンにして使用できることがわかりました!

石川@驚きの白々しさ(@ishikawa84g)さん | Twitter さまには大変お世話になりました、ありがとう存じます!

実際にサーバを構築するには、本投稿の手順をまずはじめに行った後、必要なパッケージを入れていく、という流れが良さそうですね♪

その際、Disabled から Permissive にし、そして Enforcing へ、、、とせずに Disabled から Enforcing に変更すれば良さそうです。

ちなみに、ConoHa 5 周年なんですね。せっかくですので、本投稿はキャンペーンへの応募も兼ねてみようかと思います。

以上です。

コメントを残す