GNU/Linux >> Belajar Linux >  >> Cent OS

Cara mengkonfigurasi selinux di Cent OS

Pengantar

Security Enhanced Linux atau SELinux adalah mekanisme kontrol akses canggih yang dibangun ke dalam sebagian besar distribusi Linux modern. Ini awalnya dikembangkan oleh Badan Keamanan Nasional AS untuk melindungi sistem komputer dari gangguan dan gangguan berbahaya. Seiring waktu, SELinux dirilis dalam domain publik dan berbagai distribusi telah memasukkannya ke dalam kode mereka

Banyak administrator sistem menganggap SELinux sebagai wilayah yang belum dipetakan. Topiknya bisa tampak menakutkan dan terkadang cukup membingungkan. Namun, sistem SELinux yang dikonfigurasi dengan benar dapat sangat mengurangi risiko keamanan, dan mengetahui sedikit tentangnya dapat membantu Anda memecahkan masalah pesan kesalahan terkait akses. Dalam tutorial ini kita akan belajar tentang konsep di balik SELinux – paket, perintah, dan file konfigurasinya

Menginstal Paket SELinux

Sejumlah paket digunakan di SELinux. Beberapa diinstal secara default. Berikut adalah daftar untuk distribusi berbasis Red Hat:

  • policycoreutils (menyediakan utilitas untuk mengelola SELinux)
  • policycoreutils-python (menyediakan utilitas untuk mengelola SELinux)
  • kebijakan-selinux (menyediakan kebijakan referensi SELinux)
  • selinux-policy-targeted (menyediakan kebijakan bertarget SELinux)
  • libselinux-utils (menyediakan beberapa alat untuk mengelola SELinux)
  • server pemecahan masalah (menyediakan alat untuk menguraikan pesan log audit)
  • alat (menyediakan alat untuk pemantauan log audit, kebijakan kueri, dan manajemen konteks file)
  • setools-console (menyediakan alat untuk pemantauan log audit, kebijakan kueri, dan manajemen konteks file)
  • mcstrans (alat untuk menerjemahkan berbagai level ke format yang mudah dipahami)

Beberapa di antaranya sudah terpasang. Untuk memeriksa paket SELinux apa yang diinstal pada sistem CentOS 7 Anda, Anda dapat menjalankan beberapa perintah seperti di bawah ini (dengan istilah pencarian yang berbeda setelah grep ) sebagai pengguna root:

rpm -qa | grep selinux

Outputnya akan terlihat seperti ini:

libselinux-utils-2.2.2-6.el7.x86_64
libselinux-2.2.2-6.el7.x86_64
selinux-policy-targeted-3.12.1-153.el7.noarch
selinux-policy-3.12.1-153.el7.noarch
libselinux-python-2.2.2-6.el7.x86_64

Anda dapat melanjutkan dan menginstal semua paket dengan perintah di bawah ini (yum hanya akan memperbarui yang sudah Anda miliki), atau hanya yang Anda temukan hilang dari sistem Anda:

yum install policycoreutils policycoreutils-python selinux-policy selinux-policy-targeted libselinux-utils setroubleshoot-server setools setools-console mcstrans

Sekarang kita harus memiliki sistem yang memuat semua paket SELinux.

Mode SELinux

Saatnya untuk mulai bermain-main dengan SELinux, jadi mari kita mulai dengan mode SELinux. Pada satu waktu, SELinux dapat berada di salah satu dari tiga mode yang mungkin:

  • Menegakkan
  • Permisif
  • Dinonaktifkan

Dalam mode penegakan, SELinux akan menerapkan kebijakannya pada sistem Linux dan pastikan setiap upaya akses tidak sah oleh pengguna dan proses ditolak. Penolakan akses juga ditulis ke file log yang relevan. Kami akan berbicara tentang kebijakan SELinux dan log audit nanti.

Mode permisif seperti keadaan semi-enabled. SELinux tidak menerapkan kebijakannya dalam mode permisif, jadi tidak ada akses yang ditolak. Namun setiap pelanggaran kebijakan masih dicatat dalam log audit. Ini adalah cara yang bagus untuk menguji SELinux sebelum menerapkannya.

Mode dinonaktifkan sudah cukup jelas – sistem tidak akan berjalan dengan keamanan yang ditingkatkan.

Memeriksa Mode dan Status SELinux

Kita dapat menjalankan getenforce perintah untuk memeriksa mode SELinux saat ini.

getenforce

SELinux saat ini harus dinonaktifkan, sehingga output akan terlihat seperti ini:

Disabled

Kami juga dapat menjalankan sestatus perintah:

sestatus

Ketika SELinux dinonaktifkan, output akan menunjukkan:

SELinux status:        disabled

File Konfigurasi SELinux

File konfigurasi utama untuk SELinux adalah /etc/selinux/config. Kita dapat menjalankan perintah berikut untuk melihat isinya:

cat /etc/selinux/config

Outputnya akan terlihat seperti ini:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Ada dua arahan dalam file ini. Direktif SELINUX menentukan mode SELinux dan dapat memiliki tiga kemungkinan nilai seperti yang telah kita bahas sebelumnya.

Mengaktifkan dan Menonaktifkan SELinux

Mengaktifkan SELinux cukup sederhana; tetapi tidak seperti menonaktifkannya, harus dilakukan dalam proses dua langkah. Kami berasumsi bahwa SELinux saat ini dinonaktifkan, dan Anda telah menginstal semua paket SELinux dari bagian sebelumnya.

Sebagai langkah pertama, kita perlu mengedit /etc/selinux/config file untuk mengubah arahan SELINUX ke mode permisif.

vi /etc/sysconfig/selinux
...
SELINUX=permissive
...

Menyetel status ke permisif pertama diperlukan karena setiap file dalam sistem perlu diberi label konteksnya sebelum SELinux dapat diterapkan. Kecuali semua file diberi label dengan benar, proses yang berjalan di domain terbatas mungkin gagal karena tidak dapat mengakses file dengan konteks yang benar. Ini dapat menyebabkan proses boot gagal atau dimulai dengan kesalahan. Kami akan memperkenalkan konteks dan domain nanti di tutorial.

Sekarang lakukan reboot sistem:

reboot

Proses reboot akan melihat semua file di server berlabel konteks SELinux.

Pada fase kedua, kita perlu mengedit file konfigurasi untuk mengubah direktif SELINUX dari permisif untuk menegakkan di /etc/sysconfig/selinux berkas:

...
SELINUX=enforcing
...

Selanjutnya, reboot server lagi.

reboot

Setelah server kembali online, kita dapat menjalankan sestatus perintah untuk memeriksa status SELinux. Sekarang seharusnya menampilkan lebih banyak detail tentang server:

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          error (Success)
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

Cent OS
  1. Bagaimana cara menginstal Bugzilla 5.0 di CentOS 7

  2. Cara Mengonfigurasi Daftar Abu-abu di SmarterMail

  3. Cara mengonfigurasi IMAP dengan SSL

  1. Cara Konfigurasi OpenSSH di CentOS 7

  2. Bagaimana Cara Menonaktifkan SELinux di CentOS?

  3. Cara menginstal dan mengkonfigurasi "setroubleshootd" di CentOS/RHEL

  1. Cara menonaktifkan SElinux di CentOS 7

  2. Cara menonaktifkan SELinux di CentOS 8

  3. Cara Menonaktifkan SELinux di CentOS 7