Red Hat Training

A Red Hat training course is available for RHEL 8

6.5. MLS でのファイル機密レベルの変更

MLS SELinux ポリシーでは、ユーザーは自分の機密レベルのファイルしか変更できません。これは、クリアランスレベルが低いユーザーに極秘情報が公開されないようにすること、またクリアランスレベルの低いユーザーが機密レベルの高いドキュメントを作成できないようにすることが目的です。ただし、管理者は、ファイルをより高いレベルで処理するなど、ファイル区分を手動で増やすことができます。

前提条件

  • SELinux ポリシーが mls に設定されている。
  • SELinux モードが Enforcing に設定されている。
  • セキュリティー管理者権限が割り当てられている。以下のいずれかに割り当てます。

    • secadm_r ロール。
    • sysadm_secadm モジュールが有効になっている場合は、sysadm_r ロール。sysadm_secadm モジュールはデフォルトで有効になっています。
  • policycoreutils-python-utils パッケージがインストールされている。
  • クリアランスレベルが割り当てられているユーザー。詳細については、「MLS でユーザーのクリアランスレベルを設定する」を参照してください。

    この例では ユーザー1はクリアランスレベルs1です。

  • 分類レベルが割り当てられ、自分がアクセスできるファイル。

    この例では /パス/ト/ファイルは分類レベルs1です。

手順

  1. ファイルの区分レベルを確認します。

    # ls -lZ file
    -rw-r-----. 1 User1 User1 user_u:object_r:user_home_t:s1 0 12. Feb 10:43 /path/to/file
  2. ファイルのデフォルトの区分レベルを変更します。

    # semanage fcontext -a -r s2 /path/to/file
  3. ファイルの SELinux コンテキストのラベルを強制的につけ直します。

    # restorecon -F -v /path/to/file
    Relabeled /path/to/file from root:object_r:user_home_t:s0 to user_u:object_r:user_home_t:s2

検証

  1. ファイルの区分レベルを確認します。

    # ls -lZ file
    -rw-r-----. 1 User1 User1 user_u:object_r:user_home_t:s2 0 12. Feb 10:53 /path/to/file
  2. オプション: クリアランスが低いユーザーがファイルを読み込めないことを確認します。

    $ cat /path/to/file
    cat: file: Permission denied