Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Apakah tiga mod kerja SELinux?

Apakah tiga mod kerja SELinux?

青灯夜游
青灯夜游asal
2023-02-13 10:04:136187semak imbas

SELinux mempunyai tiga mod kerja: Dilumpuhkan, Permisif dan Penguatkuasaan. Dalam mod Lumpuhkan, SELinux dimatikan dan kaedah kawalan akses DAC lalai digunakan. Dalam mod Permisif, SELinux didayakan, tetapi peraturan dasar keselamatan tidak dikuatkuasakan akses masih dibenarkan apabila peraturan dasar keselamatan harus menolak akses. Dalam mod Penguatkuasaan, SELinux dimulakan dan semua peraturan dasar keselamatan dikuatkuasakan.

Apakah tiga mod kerja SELinux?

Persekitaran pengendalian tutorial ini: sistem linux7.3, komputer Dell G3.

Apakah itu SELinux

SELinux, singkatan daripada Security Enhanced Linux, iaitu Linux yang dipertingkatkan keselamatan, Dibangunkan bersama oleh Agensi Keselamatan Kebangsaan A.S. (NSA) dan agensi keselamatan lain (seperti SCC Corporation), ia bertujuan untuk meningkatkan keselamatan sistem pengendalian Linux tradisional dan menyelesaikan pelbagai isu kebenaran dalam sistem Kawalan Akses Budi Bicara (DAC) dalam sistem Linux tradisional ( Seperti kebenaran root terlalu tinggi, dsb.).

Projek SELinux adalah sumber terbuka di bawah lesen GPL pada tahun 2000. SELinux secara beransur-ansur menjadi popular apabila Red Hat memasukkan SELinux dalam pengedaran Linuxnya. Kini, SELinux telah digunakan secara meluas oleh banyak organisasi, dan hampir semua kernel Linux versi 2.6 dan ke atas telah menyepadukan fungsi SELinux.

Pemula boleh memahami SELinux dengan cara ini Ia adalah modul berfungsi yang digunakan pada Linux untuk meningkatkan keselamatan sistem.
Kami tahu bahawa dalam sistem Linux tradisional, kebenaran lalai adalah untuk mengawal kebenaran membaca, menulis dan melaksanakan pemilik, kumpulan dan lain-lain fail atau direktori Kaedah kawalan ini dipanggil kawalan akses budi bicara (DAC ) kaedah ; dalam SELinux, sistem Kawalan Akses Mandatori (MAC) digunakan, iaitu untuk mengawal sama ada proses mempunyai hak akses kepada fail atau direktori pada sistem fail tertentu, dan Asas untuk menentukan sama ada proses boleh mengakses fail atau direktori bergantung pada banyak peraturan dasar yang ditetapkan dalam SELinux.

Bercakap mengenai perkara ini, pembaca perlu memahami ciri-ciri kedua-dua sistem kawalan akses ini secara terperinci:

  • Kawalan Akses Budi Bicara (DAC) ialah kaedah kawalan akses lalai Linux, yang menentukan sama ada akses boleh dilakukan berdasarkan identiti pengguna dan kebenaran rwx identiti pada fail dan direktori. Walau bagaimanapun, kami juga menemui beberapa masalah dalam penggunaan sebenar kawalan akses DAC:
    Kebenaran root terlalu tinggi, dan kebenaran rwx tidak berkesan untuk pengguna root Sebaik sahaja pengguna root dicuri atau pengguna root sendiri salah beroperasi , semuanya akan menentang pengguna akar Ancaman maut kepada sistem Linux.
    Kebenaran lalai Linux adalah terlalu mudah Ia hanya mempunyai identiti pemilik, kumpulan yang mereka miliki dan orang lain Keizinan hanya mempunyai kebenaran membaca, menulis dan melaksanakan, yang tidak sesuai dengan kebenaran pembahagian dan penetapan.
    Peruntukan kebenaran yang tidak munasabah akan membawa kepada akibat yang serius, seperti menetapkan 777 kebenaran untuk fail atau direktori sensitif dalam sistem, atau menetapkan kebenaran khas - Keizinan SetUID untuk fail sensitif, dsb.
  • Kawalan Capaian Mandatori (MAC) mengawal akses proses tertentu kepada sumber fail sistem melalui peraturan dasar lalai SELinux. Dalam erti kata lain, walaupun anda seorang pengguna root, jika anda menggunakan proses yang salah semasa mengakses sumber fail, anda tidak akan dapat mengakses sumber fail.

Dengan cara ini, SELinux mengawal bukan sahaja pengguna dan kebenaran, tetapi juga proses. Sumber fail yang boleh diakses oleh setiap proses, dan proses yang boleh diakses oleh setiap sumber fail, ditentukan oleh dasar peraturan SELinux.

Perhatikan bahawa dalam SELinux, kebenaran lalai Linux masih berkesan, maksudnya, untuk pengguna boleh mengakses fail, kebenaran pengguna diperlukan untuk mematuhi kebenaran rwx. , dan pengguna juga dikehendaki Proses mematuhi peraturan SELinux.

Walau bagaimanapun, terdapat begitu banyak proses dan begitu banyak fail dalam sistem Jika anda menetapkan dan menentukannya secara manual, beban kerja akan menjadi terlalu besar. Oleh itu, SELinux menyediakan banyak peraturan dasar lalai, yang agak lengkap Kami akan mempelajari cara melihat dan mengurus peraturan dasar ini kemudian.

Untuk memberi pemahaman yang jelas kepada pembaca tentang peranan yang dimainkan oleh SELinux, berikut ialah contohnya. Katakan kelemahan ditemui dalam apache, membenarkan pengguna jauh mengakses fail sensitif sistem (seperti /etc. /bayang). Jika SELinux didayakan dalam Linux kami, maka, kerana proses perkhidmatan apache tidak mempunyai kebenaran untuk mengakses /etc/shadow, akses pengguna jauh ke fail /etc/shadow melalui apache akan disekat oleh SELinux, yang melindungi Linux.

Mod kerja SELinux (Dilumpuhkan, Permisif dan Penguatkuasaan)

Berdasarkan kaedah kawalan akses yang digunakan oleh sistem Linux tradisional, penggunaan tambahan SELinux boleh meningkatkan sistem keselamatan. Jadi, bagaimanakah SELinux berfungsi?

Sebelum menerangkan mod kerja SELinux, mari kita jelaskan beberapa konsep dahulu.

1.Subjek : Ia ialah proses yang ingin mengakses sumber fail atau direktori. Untuk mendapatkan sumber, proses asas adalah seperti berikut: pengguna memanggil arahan, arahan menjana proses, dan proses mengakses fail atau sumber direktori. Dalam sistem kawalan capaian budi bicara (keizinan lalai Linux), subjek yang dikawal oleh kebenaran ialah pengguna dalam sistem kawalan capaian mandatori (SELinux), subjek yang dikawal oleh peraturan dasar ialah prosesnya;
2. Objek (Objek) : Konsep ini agak jelas, ia adalah sumber fail atau direktori yang perlu diakses.
3. Dasar : Terdapat sejumlah besar proses dan fail dalam sistem Linux, jadi bilangan peraturan SELinux yang mengehadkan sama ada proses boleh mengakses fail adalah lebih rumit Jika setiap peraturan memerlukan pentadbir kepada tetapan secara manual, ketersediaan SELinux akan menjadi sangat rendah. Nasib baik, kami tidak perlu mentakrifkan peraturan secara manual SELinux mentakrifkan dua dasar secara lalai. Dua dasar lalai adalah seperti berikut:

  • -disasarkan: Ini ialah dasar lalai SELinux Dasar ini mengehadkan perkhidmatan rangkaian dan mempunyai sedikit sekatan pada sistem setempat. Strategi ini sudah memadai untuk kami.
  • -mls: Strategi perlindungan keselamatan berbilang peringkat, strategi ini lebih ketat.

4. Konteks Keselamatan : Setiap proses, fail dan direktori mempunyai konteks keselamatan tersendiri Sama ada proses itu boleh mengakses fail atau direktori bergantung pada Adakah konteks keselamatan ini sepadan? Jika konteks keselamatan proses sepadan dengan konteks keselamatan fail atau direktori, proses itu boleh mengakses fail atau direktori. Sudah tentu, untuk menentukan sama ada konteks keselamatan proses sepadan dengan konteks keselamatan fail atau direktori, anda perlu bergantung pada peraturan dalam dasar.

Sebagai contoh, kita perlu mencari pasangan Lelaki boleh dianggap sebagai subjek, dan wanita adalah sasaran. Sama ada seorang lelaki boleh mengejar seorang wanita (sama ada subjek boleh mengakses sasaran) bergantung terutamanya pada sama ada personaliti dua orang itu sesuai (sama ada konteks keselamatan subjek dan sasaran sepadan). Walau bagaimanapun, sama ada personaliti dua orang itu sesuai perlu dinilai berdasarkan keadaan tertentu seperti tabiat hidup, tingkah laku, persekitaran keluarga, dan lain-lain. (Sama ada padanan konteks keselamatan perlu ditentukan melalui peraturan dalam polisi).

Mari lukis gambarajah skematik untuk menunjukkan hubungan antara konsep ini, seperti yang ditunjukkan dalam Rajah 1.

Apakah tiga mod kerja SELinux?
Rajah 1 Konsep berkaitan mod pengendalian SELinux

Jelaskan rajah ini: Apabila subjek ingin mengakses sasaran, jika SELinux dimulakan dalam sistem, Capaian subjek permintaan terlebih dahulu perlu sepadan dengan dasar yang ditakrifkan dalam SELinux. Jika proses mematuhi peraturan yang ditakrifkan dalam dasar, akses dibenarkan Pada masa ini, konteks keselamatan proses boleh dipadankan dengan konteks keselamatan sasaran jika perbandingan gagal, akses ditolak dan cache vektor akses disalurkan melalui AVC (Access Vector Cache) Terutamanya digunakan untuk merekod semua statistik akses yang berkaitan dengan SELinux) dan menjana maklumat penafian akses. Jika konteks keselamatan sepadan, fail sasaran boleh diakses secara normal. Sudah tentu, sama ada fail sasaran boleh benar-benar diakses pada akhirnya bergantung pada sama ada pengguna yang mencipta proses (subjek) mempunyai kebenaran membaca, menulis dan melaksanakan yang munasabah pada fail sasaran.

Apabila kami menguruskan SELinux, kami biasanya hanya > mengubah suai konteks keselamatan fail atau direktori supaya ia sepadan atau tidak sepadan dengan konteks keselamatan proses mengakses untuk mengawal proses . Sama ada sumber fail atau direktori boleh diakses dan peraturan khusus dalam dasar jarang diubah suai kerana terdapat terlalu banyak peraturan dan ia terlalu rumit untuk diubah suai. Walau bagaimanapun, kami boleh menentukan secara manual sama ada peraturan berkuat kuasa untuk mengawal pengaktifan dan penyahaktifan peraturan.

Mod kerja SELinux

SELinux menyediakan 3 mod kerja: Dilumpuhkan, Permisif dan Penguatkuasaan, dan setiap mod sesuai untuk sistem Linux yang disediakan oleh Keselamatan faedah yang berbeza.

  • Lumpuhkan mod kerja (mod mati)

Dalam mod Lumpuhkan, SELinux dimatikan dan akses DAC lalai kaedah kawalan digunakan. Mod ini berguna untuk persekitaran yang tidak memerlukan keselamatan yang dipertingkatkan.

Sebagai contoh, jika aplikasi yang sedang berjalan berfungsi dengan baik dari perspektif anda, tetapi menjana sejumlah besar mesej penolakan SELinux AVC, akhirnya ia mungkin mengisi fail log dan menyebabkan sistem tidak dapat digunakan. Dalam kes ini, penyelesaian yang paling mudah adalah untuk melumpuhkan SELinux, tetapi anda juga boleh menetapkan konteks keselamatan yang betul pada fail yang diakses oleh aplikasi anda.

Perlu diambil perhatian bahawa sebelum melumpuhkan SELinux, anda perlu mempertimbangkan sama ada SELinux boleh digunakan semula pada sistem Jika anda memutuskan untuk menetapkannya kepada Penguatkuasaan atau Permisif pada masa hadapan, sistem akan secara automatik melepasi penandaan proses semula fail SELinux. .

Cara untuk mematikan SELinux juga sangat mudah. ​​Hanya edit fail konfigurasi /etc/selinux/config dan tukar SELINUX= dalam teks kepada SELINUX=disabled Selepas memulakan semula sistem, SELinux akan dilumpuhkan.

  • Mod kerja permisif (mod permisif)

Dalam mod Permisif, SELinux didayakan, tetapi peraturan dasar keselamatan dan tidak dikuatkuasakan. Apabila peraturan dasar keselamatan harus menolak akses, akses masih dibenarkan. Walau bagaimanapun, mesej dihantar ke fail log yang menunjukkan bahawa akses harus dinafikan.

Mod Permisif SELinux digunakan terutamanya dalam situasi berikut:
Semak peraturan dasar SELinux semasa
Uji aplikasi baharu untuk melihat kesan peraturan dasar SELinux apabila digunakan pada program ini;
Selesaikan masalah di mana perkhidmatan atau aplikasi tertentu tidak lagi berfungsi dengan betul di bawah SELinux.

Dalam sesetengah kes, arahan audit2allow boleh digunakan untuk membaca log audit SELinux dan menjana peraturan SELinux baharu untuk secara selektif membenarkan tingkah laku yang dinafikan, dan ini juga merupakan kes di mana SELinux tidak dilumpuhkan Berikut ialah cara cepat untuk mendapatkan aplikasi anda berfungsi pada sistem Linux.

  • Menguatkuasakan mod kerja (mod paksa)

Seperti yang dapat dilihat daripada nama mod ini, dalam Enforced mod , SELinux dimulakan dan semua peraturan dasar keselamatan dikuatkuasakan.

Cadangan berkaitan: "Tutorial Video Linux"

Atas ialah kandungan terperinci Apakah tiga mod kerja SELinux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn