SELinux

SELinux untuk Pemula menggunakan CentOS

SELinux untuk Pemula menggunakan CentOS
Dibangunkan oleh NSA untuk mencegah akses dan pencerobohan jahat, Linux atau SELinux yang Disempurnakan Keamanan adalah ciri kawalan akses lanjutan yang disertakan dengan distro Linux yang paling moden. SELinux didefinisikan sebagai sistem Kawalan Akses Mandatori (MAC) yang dikembangkan sebagai pengganti sistem Kawalan Akses Discretionary (DAC).

SELinux nampaknya menakutkan dan sangat sukar untuk dilaksanakan dalam kebanyakan sistem moden. Namun, mengkonfigurasi SELinux mempunyai faedah besar baik dalam menegakkan keselamatan dan menyelesaikan masalah.

Tutorial ini akan membincangkan pelbagai konsep yang dilaksanakan oleh SELinux dan meneroka pelbagai kaedah praktikal untuk melaksanakan SELinux.

CATATAN: Sebelum kita mulai, ada baiknya kita menggunakan perintah dalam tutorial ini sebagai pengguna root atau pengguna dalam kumpulan sudoers.

Pasang Pakej SELinux

Mari kita pasang pelbagai pakej SELinux, yang pada gilirannya akan membantu bekerja dengan dasar SELinux.

Sebelum kita memasang pakej SELinux, ada baiknya kita mengesahkan yang dipasang pada sistem semasa.

Dalam kebanyakan pemasangan pengedaran REHL, beberapa pakej dipasang secara lalai. Pakej ini merangkumi:

  1. setools - pakej ini digunakan untuk memantau log, dasar pertanyaan, dan pengurusan fail konteks.
  2. polisycoreutils-python - menyediakan utiliti teras python untuk menguruskan SELinux
  3. polisycututils - pakej ini juga menyediakan utiliti untuk menguruskan SELinux.
  4. mcstrans - mcstrans menyediakan daemon terjemahan SELinux, yang menterjemahkan pelbagai peringkat menjadi format mudah yang dapat difahami dengan mudah.
  5. setools-console - serupa dengan setools.
  6. Selinux-policy - ia memberikan rujukan untuk mengkonfigurasi polisi SELinux
  7. Selinux-polisi-sasaran - serupa dengan SELinux-polisi
  8. Libselinux-utils - SELinux utiliti libselinux yang membantu mengurus SELinux
  9. Setroubleshoot-server - alat untuk menyelesaikan masalah SELinux

Untuk mengesahkan pakej mana yang sudah terpasang di sistem anda, anda boleh menggunakan perintah rpm -qa dan memasukkan hasilnya ke grep untuk SELinux sebagai:

rpm -qa | grep selinux
libselinux-utils-2.9-4.el8_3.x86_64
rpm-plugin-selinux-4.14.3-4.el8.x86_64
selinux-polisi-disasarkan-3.14.3-54.el8_3.2.noarch
python3-libselinux-2.9-4.el8_3.x86_64
selinux-polisi-3.14.3-54.el8_3.2.noarch
libselinux-2.9-4.el8_3.x86_64

Ini akan memberi anda output dari semua pakej yang dipasang untuk sokongan SELinux

Sekiranya tidak semua paket SELinux dipasang pada sistem anda, gunakan yum untuk memasangnya seperti yang ditunjukkan dalam arahan di bawah:

yum pasang polisycututils polisycututils-python-uts selinux-policy selinux-kebijakan-target libselinux-utils setroubleshoot-server setools setools-console mcstrans

Mod dan Negeri SELinux

Mari kita mula bermain dengan SELinux, khususnya mod SELinux.

Mod SELinux

Apabila diaktifkan, SELinux boleh menjadi tiga mod yang mungkin:

Mod Penguatkuasaan

Sekiranya mod SELinux ditegakkan, ia akan memastikan bahawa tidak ada akses yang tidak sah ke sistem oleh pengguna atau proses yang ditolak. Mod penguatkuasaan juga menyimpan catatan percubaan akses tanpa kebenaran.

Mod Permisif

Mod permisif bertindak seperti keadaan SELinux yang diaktifkan sebahagiannya. Dalam mod ini, tidak ada akses yang ditolak kerana SELinux tidak menerapkan kebijakannya dalam mod ini. Walau bagaimanapun, mod permisif menyimpan catatan percubaan pelanggaran dasar. Mod ini sangat cekap untuk diuji sebelum mengaktifkannya sepenuhnya kerana pengguna dan komponen masih dapat berinteraksi dengan sistem tetapi masih mengumpulkan log. Ini membolehkan anda menyempurnakan sistem anda dengan cara yang anda fikirkan sesuai.

Mod Dilumpuhkan

Mod kurang upaya juga boleh dilihat sebagai keadaan kurang upaya di mana SELinux dilumpuhkan dan tidak menawarkan Keselamatan.

Negeri SELinux

Setelah SELinux dipasang pada sistem. Ia boleh mempunyai keadaan binari: diaktifkan dan dilumpuhkan. Untuk melihat keadaan SELinux, gunakan arahan:

mendapatkan tenaga
Kurang Upaya

Output di atas menunjukkan bahawa SELinux sedang dilumpuhkan.

Anda juga dapat menggunakan perintah sestatus seperti gambar di bawah:

sestatus
Status SELinux: dilumpuhkan

Dayakan dan Lumpuhkan SELinux

Negeri dan konfigurasi SELinux dikendalikan oleh fail Konfigurasi yang terletak di / etc / selinux / config. Anda boleh menggunakan arahan kucing untuk melihat isinya.

cat / etc / selinux / config
#Fail ini mengawal keadaan SELinux pada sistem.
# SELINUX = boleh mengambil salah satu daripada tiga nilai berikut:
#enforcing - Dasar keselamatan SELinux dikuatkuasakan.
#permissive - SELinux mencetak amaran dan bukannya menguatkuasakan.
#disabled - Tiada polisi SELinux dimuat.
SELINUX = menguatkuasakan
# SELINUXTYPE = boleh mengambil salah satu daripada tiga nilai berikut:
# disasarkan - Proses yang disasarkan dilindungi,
# minimum - Pengubahsuaian dasar yang disasarkan. Hanya proses terpilih yang dilindungi.
# mls - Perlindungan Keselamatan Tahap.
SELINUXTYPE = disasarkan

Dari output di atas, kami mempunyai dua arahan utama yang diaktifkan. Arahan SELINUX menentukan mod di mana SELinux dikonfigurasi. Arahan SELINUXTYPE menentukan set polisi SELinux. Secara lalai, SELinux menggunakan dasar yang disasarkan yang membolehkan anda menyesuaikan kebenaran kawalan akses. Polisi lain adalah keselamatan bertingkat atau MLS.

Anda mungkin dapati, dasar minimum dalam beberapa versi.

cd / etc / selinux /
[ls -l
jumlah 4
-rw-r - r-- 1 root root 548 16 Feb 22:40 konfigurasi
drwxr-xr-x 1 root root 4096 16 Feb 22:43 mls
-rw-r - r-- 1 root root 2425 21 Jul 2020 semanage.pengesahan
drwxr-xr-x 1 root root 4096 16 Feb 22:40 disasarkan

Mari kita lihat bagaimana mengaktifkan SELinux pada sistem. Sebaiknya tetapkan mod SELINUX terlebih dahulu ke permisif dan tidak dipaksakan.

nano / etc / selinux / config

Sekarang edit arahan SELINUX sebagai:

SELINUX = permisif

Setelah anda menyimpan fail, keluarkan sistem but semula.

but semula

CATATAN: Kami sangat mengesyorkan menetapkan arahan SELINUX ke permisif sebelum menguatkuasakan SELinux.

Sebaik sahaja anda menghidupkan semula sistem, periksa log yang dilaporkan oleh SELinux di / var / log / message.

Seterusnya, pastikan anda tidak mempunyai kesalahan dan tegakkan SELinux dengan menetapkan arahan untuk menegakkan di / etc / selinux / config

Akhirnya, anda dapat melihat status SELinux menggunakan arahan sestatus:

Status SELinux: diaktifkan
Pemasangan SELinuxfs: / sys / fs / selinux
Direktori root SELinux: / etc / selinux
Nama polisi yang dimuat: disasarkan
Mod semasa: menguatkuasakan
Mod dari fail konfigurasi: ralat (Berjaya)
Status MLS dasar: diaktifkan
Status deny_unknown: dibenarkan
Pemeriksaan perlindungan memori: sebenarnya (selamat)
Versi dasar kernel maksimum: 31

Anda juga boleh menggunakan perintah setenforce untuk beralih antara pelbagai mod SELinux. Sebagai contoh, untuk menetapkan mod ke permisif, gunakan perintah:

setenforce permisif

Mod ini bersifat sementara dan akan dipulihkan ke mod dalam fail konfigurasi selepas reboot.

status sestatus SELinux: diaktifkan
Pemasangan SELinuxfs: / sys / fs / selinux
Direktori root SELinux: / etc / selinux
Nama polisi yang dimuat: disasarkan
Mod semasa: permisif
Mod dari fail konfigurasi: menegakkan
Status MLS dasar: diaktifkan
Status deny_unknown: dibenarkan
Pemeriksaan perlindungan memori: sebenarnya (selamat)
Versi dasar kernel maksimum: 31

Dasar dan Konteks SELinux

Untuk mengelakkan kekeliruan bagi pemula SELinux, kami tidak akan menyelami bagaimana polisi SELinux dilaksanakan tetapi hanya menyentuhnya untuk memberi anda idea.

SELinux berfungsi dengan melaksanakan dasar keselamatan. Dasar SELinux merujuk kepada peraturan yang digunakan untuk menentukan hak akses untuk setiap objek dalam sistem. Objek merujuk kepada pengguna, proses, fail, dan peranan.

Setiap konteks ditentukan dalam bentuk pengguna: peranan: jenis: tahap.

Sebagai contoh, buat direktori di direktori rumah anda dan lihat konteks keselamatan SELinux seperti yang ditunjukkan dalam arahan di bawah:

mkdir ~ / linuxhint_dir
ls -Z ~ / | grep linuxhint

Ini akan memaparkan output seperti gambar di bawah:

unconfined_u: object_r: user_home_t: s0 linuxhint_dir

Anda juga boleh mencari direktori lain dengan konteks keselamatan seperti:

sistem: _u: object_r: user_home_t: s0

Anda mungkin menyedari output di atas mengikuti sintaks pengguna: role: type: level.

Kesimpulannya

Itu adalah tutorial pemula untuk SELinux menggunakan CentOS 8. Walaupun tutorial ini dirancang untuk pemula, lebih dari cukup untuk membuat kaki anda berjalan di SELinux dan menghilangkan sifat menakutkan SELinux.

Terima kasih kerana membaca.

Buat semula butang tetikus anda secara berbeza untuk perisian yang berbeza dengan X-Mouse Button Control
Mungkin anda memerlukan alat yang dapat mengubah kawalan tetikus anda dengan setiap aplikasi yang anda gunakan. Sekiranya ini berlaku, anda boleh menc...
Kajian Tetikus Tanpa Wayar Microsoft Sculpt Touch
Saya baru-baru ini membaca mengenai Sentuhan Microsoft Sculpt tetikus tanpa wayar dan memutuskan untuk membelinya. Setelah menggunakannya sebentar, sa...
Trackpad dan Mouse Pointer pada skrin Windows AppyMouse untuk Tablet Windows
Pengguna tablet sering kehilangan penunjuk tetikus, terutama ketika mereka biasa menggunakan komputer riba. Telefon pintar dan tablet skrin sentuh dil...