SELinux ialah modul keselamatan sistem pengendalian Linux yang dipertingkatkan keselamatan Terasnya adalah untuk meningkatkan keselamatan sistem melalui kawalan akses mandatori. Dalam SELinux, jenis dasar adalah bahagian penting dalam menentukan dasar keselamatan Mengikut keperluan dan senario yang berbeza, SELinux menyediakan tiga jenis dasar yang berbeza, iaitu MLS (Multi-Level Security), TE (Type Enforcement), RBAC ( Role-Based Access Control. ). Artikel ini akan meneroka tiga jenis dasar yang berbeza ini dan menunjukkan penggunaannya melalui contoh kod tertentu. . Dalam dasar MLS, label keselamatan yang berbeza diberikan kepada objek seperti fail dan proses untuk memastikan kerahsiaan data dan keselamatan sistem.
# 设置文件安全标签 chcon system_u:object_r:top_secret_file:s0 secret_file.txt # 创建一个进程并设置其安全标签 runcon -t top_secret_process_t my_program
Dalam contoh kod di atas, kami menetapkan fail dan proses melalui arahan chcon dan runcon masing-masing Label keselamatan yang berbeza adalah dicipta supaya interaksi dan hak akses antara mereka boleh dihadkan berdasarkan label ini.
TE (Penguatkuasaan Jenis)
TE ialah satu lagi jenis dasar penting dalam SELinux Ia mengehadkan operasi dan kebenaran akses antara proses, fail dan objek lain dengan mentakrifkan peraturan kawalan akses. Jenis dasar TE membolehkan pentadbir mentakrifkan peraturan capaian terperinci untuk melindungi sumber kritikal dan data sensitif dalam sistem.
# 创建一个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
Dalam contoh kod di atas, kami telah mengehadkan akses kepada fail sensitif dengan mentakrifkan modul dasar TE dan peraturan akses. Proses my_process_t hanya boleh melaksanakan operasi baca sahaja pada fail secret_data_t, dengan itu memastikan keselamatan data sensitif dalam sistem.
RBAC (Kawalan Akses Berasaskan Peranan)
RBAC ialah jenis dasar ketiga dalam SELinux, yang menguruskan kebenaran pengguna dan proses yang berbeza dalam sistem melalui kawalan akses berasaskan peranan. Dasar RBAC membenarkan pentadbir untuk memberikan kebenaran yang berbeza kepada peranan yang berbeza, dengan itu mencapai pengurusan dan kawalan kebenaran yang terperinci.
# 创建一个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
Dalam contoh kod di atas, kami mencipta RBAC role staff_r melalui arahan semanage dan menugaskan Peranan ini diberikan kebenaran staff_t, dan kemudian pengguna user1 dan user2 diberikan kepada peranan staff_r, dengan itu melaksanakan kawalan akses berasaskan peranan.
Ringkasnya, SELinux menyediakan tiga jenis dasar berbeza: MLS, TE dan RBAC, yang digunakan untuk melaksanakan keselamatan berbilang peringkat, kawalan akses mandatori dan kawalan akses berasaskan peranan masing-masing. Melalui contoh kod khusus, kami dapat memahami dengan lebih baik cara jenis dasar ini digunakan dan dilaksanakan, dengan itu meningkatkan keselamatan dan kebolehurusan sistem.
Atas ialah kandungan terperinci Kaji tiga jenis dasar SELinux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!