SELinux は、セキュリティが強化された Linux オペレーティング システム セキュリティ モジュールであり、その核心は、強制アクセス制御を通じてシステム セキュリティを向上させることです。 SELinux では、ポリシー タイプはセキュリティ ポリシーを定義する重要な部分です。さまざまなニーズとシナリオに応じて、SELinux は 3 つの異なるポリシー タイプ、すなわち MLS (Multi-Level Security)、TE (Type Enforcement)、RBAC (Role-Based Access Control) を提供します。 )。この記事では、これら 3 つの異なるポリシー タイプについて説明し、特定のコード例を通じてそのアプリケーションを示します。
MLS は、SELinux の最も基本的かつ強力なセキュリティ ポリシー タイプの 1 つで、さまざまなレベルのセキュリティ ラベルを実装して、システム内のさまざまなレベルのセキュリティを制御できます。システム データとプロセス間のアクセス権。 MLS ポリシーでは、データの機密性とシステムのセキュリティを確保するために、ファイルやプロセスなどのオブジェクトにさまざまなセキュリティ ラベルが割り当てられます。
以下は、SELinux で MLS ポリシーを作成し、さまざまなレベルのアクセス許可を付与する方法を示す簡単な例です:
# 设置文件安全标签 chcon system_u:object_r:top_secret_file:s0 secret_file.txt # 创建一个进程并设置其安全标签 runcon -t top_secret_process_t my_program
上記のコード例では、chcon と runcon コマンドを渡します。ファイルとプロセスにそれぞれ異なるセキュリティ ラベルを割り当て、それらの間の対話とアクセス許可をこれらのラベルに基づいて制限できます。
TE は SELinux のもう 1 つの重要なポリシー タイプで、アクセス制御ルールを定義することで、プロセス、ファイル、その他のオブジェクト間の操作とアクセス許可を制限します。 TE ポリシー タイプを使用すると、管理者は詳細なアクセス ルールを定義して、システム内の重要なリソースと機密データを保護できます。
以下は、SELinux で TE ポリシーを使用して、機密ファイルへのプロセスのアクセスを制限する方法を示す簡単な例です:
# 创建一个TE策略模块文件 policy_module my_policy 1.0; # 定义规则:允许进程只读访问secret_data文件 allow my_process_t secret_data_t:file {read}; # 编译并加载TE策略模块 checkmodule -M -m -o my_policy.mod my_policy.te semodule_package -o my_policy.pp -m my_policy.mod semodule -i my_policy.pp
上記のコード例では、ポリシー モジュールによって TE を定義します。また、アクセス ルールにより、my_process_t プロセスが Secret_data_t ファイルに対して読み取り専用操作のみを実行するように制限され、システム内の機密データのセキュリティが確保されます。
RBAC は SELinux の 3 番目のポリシー タイプで、ロールベースのアクセス制御を通じてシステム内のさまざまなユーザーとプロセスの権限を管理します。 RBAC ポリシーを使用すると、管理者はさまざまな役割にさまざまなアクセス許可を割り当てることができるため、きめ細かいアクセス許可の管理と制御が実現します。
以下は、SELinux で RBAC ポリシーを使用して、さまざまなロールにさまざまな権限を割り当てる方法を示す簡単な例です。
# 创建一个RBAC角色 semanage login -a -s staff_r -r s0-s0:c0.c102 user1 # 为角色分配权限 semanage user -m -R 'staff_r' staff_t # 将用户分配至角色 semanage login -a -s staff_r -r s0-s0:c0.c102 user2
上記のコード例では、semanage コマンドを使用して作成しました。 RBAC ロール Staff_r が作成され、staff_t 権限がロールに割り当てられ、ユーザー user1 と user2 が Staff_r ロールに割り当てられ、ロールベースのアクセス制御が実装されます。
要約すると、SELinux は、MLS、TE、RBAC という 3 つの異なるポリシー タイプを提供します。これらは、それぞれマルチレベル セキュリティ、必須アクセス制御、およびロールベースのアクセス制御を実装するために使用されます。特定のコード例を通じて、これらのポリシー タイプがどのように適用および実装されるかをより深く理解でき、それによってシステムのセキュリティと管理性が向上します。
以上がSELinux の 3 つのポリシー タイプを学習するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。