はじめに
システム管理者として、あなたは Linux システムのセキュリティを維持する責任があります。その重要な要素の一つが、セキュリティポリシーを強制する強制アクセス制御(MAC)メカニズムである SELinux(Security-Enhanced Linux)の管理です。プロセスがポリシーに違反するアクションを試みると、SELinux はそのアクションを拒否し、Access Vector Cache(AVC)拒否ログを記録します。このチャレンジでは、標準的な RHEL ツールを使用して、一般的な SELinux ポリシー違反を診断し解決する方法を学びます。これは RHCSA 試験において極めて重要なスキルです。
SELinux ポリシー違反の診断と対処
シナリオ
システム上の Web サーバーは、ユーザーのホームディレクトリ(例:~/public_html ディレクトリ)からコンテンツを配信するように設定されています。しかし、ユーザーから「Web ページにアクセスできず、Forbidden(閲覧禁止)エラーが表示される」という報告がありました。あなたはこれが SELinux の問題であると推測しました。あなたのタスクは、SELinux のログを調査してポリシー違反を特定し、Web サーバーが意図通りに機能するように適切な修正を適用することです。
タスク
- システムの監査ログ(Audit logs)を調査し、最近の SELinux AVC 拒否を特定してください。
- 拒否メッセージを分析して、どのアクションがブロックされたのか、およびどの SELinux ブール値(Boolean)で問題を解決できるかを確認してください。
- 適切な SELinux ブール値を変更し、Web サーバーがユーザーのホームディレクトリにアクセスできるように許可してください。
- システムの再起動後も設定が維持されるよう、ポリシーの変更を永続化させてください。
要件
- すべてのコマンドは
labexユーザーとして実行してください。管理者権限が必要な場合はsudoを使用してください。 - 変更が必要な SELinux ブール値は
httpd_enable_homedirsです。 - 変更は必ず永続化させてください。
ヒント
- 監査ログを照会するには
ausearchコマンドを使用します。-m avcオプションを使用すると、AVC メッセージのみをフィルタリングできます。 ausearchの出力に注意深く目を通してください。多くの場合、拒否を解決するためのsetroubleshootからの提案が含まれています。- SELinux ブール値の値を変更するには
setseboolコマンドを使用します。変更を永続化するには-Pフラグを使用します。 getseboolコマンドを使用すると、ブール値の現在の状態を確認できます。
まとめ
このチャレンジでは、日常的な SELinux ポリシー違反を診断し対処する方法を学びました。ausearch を使用して監査ログの AVC 拒否を検査し、出力を解釈して根本原因を特定し、setsebool -P を使用して永続的なポリシー変更を適用する練習を行いました。このワークフローを習得することは、RHEL 上でシステムのセキュリティを管理するために不可欠であり、RHCSA 試験でテストされる基本的なスキルです。



