6.4. MLS でのユーザークリアランスの確立


SELinux ポリシーを MLS に切り替えた後に、制限のある SELinux ユーザーにマッピングすることで、セキュリティークリアランスレベルをユーザーに割り当てる必要があります。デフォルトでは、セキュリティークリアランスが指定されているユーザーには以下が適用されます。

  • 機密レベルが高いオブジェクトを読み取ることはできません。
  • 機密レベルが異なるオブジェクトに書き込むことはできません。

前提条件

  • SELinux ポリシーが mls に設定されている。
  • SELinux モードが Enforcing に設定されている。
  • policycoreutils-python-utils パッケージがインストールされている。
  • SELinux の制限のあるユーザーに割り当てられているユーザー:

    • 非特権ユーザーの場合、user_u (以下の手順では example_user) に割り当てられます。
    • 特権ユーザーの場合、staff_u (以下の手順では staff) に割り当てられます。
重要

MLS ポリシーがアクティブな時に、ユーザーが作成されていることを確認します。他の SELinux ポリシーで作成されたユーザーは MLS で使用できません。

手順

  1. 必要に応じて、SELinux ポリシーにエラーを追加しないようにするには、Permissive SELinux モードに切り替えてください。切り替えることでトラブルシューティングが容易になります。

    # setenforce 0

    permissive モードでは、SELinux はアクティブなポリシーを適用せず、Access Vector Cache (AVC) メッセージをログに記録するだけです。このログは、トラブルシューティングやデバッグに使用できます。

  2. SELinux ユーザー staff_u のクリアランスの範囲を定義します。たとえば、このコマンドは、クリアランスの範囲を s1 から s15 に、デフォルトのクリアランスレベルを s1 に設定します。

    # semanage user -m -L s1 -r s1-s15 staff_u
  3. ユーザーのホームディレクトリー用の SELinux ファイルコンテキスト設定エントリーを生成します。

    # genhomedircon
  4. ファイルセキュリティーコンテキストをデフォルトに復元します。

    # restorecon -R -F -v /home/
    Relabeled /home/staff from staff_u:object_r:user_home_dir_t:s0 to staff_u:object_r:user_home_dir_t:s1
    Relabeled /home/staff/.bash_logout from staff_u:object_r:user_home_t:s0 to staff_u:object_r:user_home_t:s1
    Relabeled /home/staff/.bash_profile from staff_u:object_r:user_home_t:s0 to staff_u:object_r:user_home_t:s1
    Relabeled /home/staff/.bashrc from staff_u:object_r:user_home_t:s0 to staff_u:object_r:user_home_t:s1
  5. ユーザーにクリアランスレベルを割り当てます。

    # semanage login -m -r s1 example_user

    ここで、s1 は、ユーザーに割り当てられたクリアランスレベルに置き換えます。

  6. ユーザーのホームディレクトリーのラベルをユーザーのクリアランスレベルに付け直します。

    # chcon -R -l s1 /home/example_user
  7. 必要に応じて、SELinux モードを Permissive に切り替えた場合は、すべてが想定通りに動作することを確認したら、SELinux モードを Enforcing モードに戻します。

    # setenforce 1

検証

  1. ユーザーが正しい SELinux ユーザーにマッピングされ、クリアランスレベルが正しく割り当てられていることを確認します。

    # semanage login -l
    Login Name      SELinux User         MLS/MCS Range        Service
    __default__     user_u               s0-s0                *
    example_user    user_u               s1                   *
    …
  2. MLS 内のユーザーとしてログインします。
  3. ユーザーのセキュリティーレベルが正しく機能していることを確認します。

    警告

    検証に使用するファイルには、設定が間違っており、ユーザーが実際に認証なしにファイルにアクセスできてしまう場合に備え、機密情報を含めないようにしてください。

    1. ユーザーが機密レベルの高いファイルを読み取れないことを確認します。
    2. ユーザーが同じ機密レベルのファイルに書き込めることを確認します。
    3. ユーザーが機密レベルの低いファイルを読み取れることを確認します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.