FedoraサーバーでSELinuxを有効にした際の検証プロセスについて,以下の手順と注意点をまとめました。
SELinuxの有効化とモードの設定
内部サーバーのセキュリティ強化のため,SELinuxを有効にしてPermissiveモードでの検証を行いましたが,今回発生した不具合と対処方法を示します。
SELinuxの有効化手順
1.grubbyコマンドを使用してSELinuxを有効化
SELinuxを有効化したい場合,以下のコマンドを使用します。
grubby --update-kernel ALL --remove-args selinux
2.SELinuxのPermissiveモードへの切り替え
SELinuxを有効にしてもいきなりファイルアクセスが制限されないよう,Permissiveモードで動作検証します。これはSELinuxの設定ファイルを編集することで行います。
vi /etc/selinux/config
SELINUX=enforcing
↓
SELINUX=permissive
予期せぬリブートの問題
SELinuxの初回有効化時,ファイルの再ラベリングが自動的に行われるため,その影響でシステムがリブートを繰り返す現象が発生しました。ログによると,/dev
以下でのエラーや,一部の手動で作成したサービスがリブート時に問題を引き起こしていたようです。
対処方法:手動での再ラベリング
1.レスキューモードでの起動
ブートローダーのメニュー画面でレスキューモードの位置で「e
」キーを押し,編集画面から「F10
」でブートを開始します。
2.手動ラベリングの実行
root権限でログインし,次のコマンドを使って手動で再ラベリングを行います。
/sbin/fixfiles -f -F relabel
reboot
3.再起動後の確認
正常に起動できることを確認し,Permissiveモードでの検証を続けます。
結果と考察
手動の再ラベリングによって,Permissiveモードでのシステムの安定起動が確認できました。なお、手動で作成したサービスや/dev
以下のファイルに起因するSELinux関連のエラーが発生する場合には,上記の再ラベリングの作業をする必要があると考えられます。
SELinuxの設定はかなり難しいと感じていますが,今後いつか設定方法をご報告できたらと思います。