SELinux ポリシー違反の診断と対処

Red Hat Enterprise LinuxBeginner
オンラインで実践に進む

はじめに

システム管理者として、あなたは 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 試験でテストされる基本的なスキルです。