SELinux

SELinux untuk Pemula menggunakan CentOS

SELinux untuk Pemula menggunakan CentOS
Dikembangkan oleh NSA untuk mencegah akses dan penyusupan yang jahat, Security-Enhanced Linux atau SELinux adalah fitur kontrol akses lanjutan yang disertakan dengan sebagian besar distro Linux modern. SELinux didefinisikan sebagai sistem Mandatory Access Control (MAC) yang dikembangkan sebagai pengganti sistem Discretionary Access Control (DAC).

SELinux bisa tampak menakutkan dan sangat sulit untuk diterapkan di sebagian besar sistem modern. Namun, mengonfigurasi SELinux memiliki manfaat besar baik dalam menegakkan keamanan dan pemecahan masalah.

Tutorial ini akan membahas berbagai konsep yang diterapkan oleh SELinux dan mengeksplorasi berbagai metode praktis dalam mengimplementasikan SELinux.

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

Instal Paket SELinux

Mari kita menginstal berbagai paket SELinux, yang pada gilirannya akan membantu untuk bekerja dengan kebijakan SELinux.

Sebelum kita melanjutkan untuk menginstal paket SELinux, ada baiknya kita memverifikasi yang diinstal pada sistem saat ini.

Di sebagian besar instalasi distribusi REHL, beberapa paket diinstal secara default. Paket-paket ini meliputi:

  1. setools - paket ini digunakan untuk memantau log, kebijakan kueri, dan manajemen file konteks.
  2. policycoreutils-python - menyediakan utilitas inti python untuk mengelola SELinux
  3. policycoreutils - paket ini juga menyediakan utilitas untuk mengelola SELinux.
  4. mcstrans - mcstrans menyediakan daemon terjemahan SELinux, yang menerjemahkan berbagai level ke dalam format mudah yang dapat dipahami dengan mudah.
  5. setools-console - mirip dengan setools.
  6. Selinux-policy - menyediakan referensi untuk mengonfigurasi kebijakan SELinux
  7. Selinux-policy-targeted - mirip dengan SELinux-policy
  8. Libselinux-utils - SELinux utilitas libselinux yang membantu mengelola SELinux
  9. Setroubleshoot-server - alat untuk memecahkan masalah SELinux

Untuk memverifikasi paket mana yang sudah diinstal pada sistem Anda, Anda dapat menggunakan perintah rpm -qa dan menyalurkan 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-policy-targeted-3.14.3-54.el8_3.2.noarch
python3-libselinux-2.9-4.el8_3.x86_64
selinux-policy-3.14.3-54.el8_3.2.noarch
libselinux-2.9-4.el8_3.x86_64

Ini akan memberi Anda output dari semua paket yang diinstal untuk dukungan SELinux

Jika tidak semua paket SELinux terinstal di sistem Anda, gunakan yum untuk menginstalnya seperti yang ditunjukkan pada perintah di bawah ini:

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

Mode dan Status SELinux

Mari kita mulai bermain dengan SELinux, khususnya, mode SELinux.

SELinux Mode

Saat diaktifkan, SELinux dapat menjadi tiga mode yang memungkinkan:

Mode Penegakan

Jika mode SELinux diterapkan, itu akan memastikan bahwa tidak ada akses tidak sah ke sistem oleh pengguna atau proses mana pun yang ditolak. Mode penegakan juga menyimpan log dari setiap upaya akses yang tidak sah.

Mode Permisif

Mode permisif bertindak seperti status SELinux yang diaktifkan sebagian. Dalam mode ini, tidak ada akses yang ditolak karena SELinux tidak menerapkan kebijakannya dalam mode ini. Namun, mode permisif menyimpan catatan setiap upaya pelanggaran kebijakan. Mode ini sangat efisien untuk pengujian sebelum mengaktifkannya sepenuhnya karena pengguna dan komponen masih dapat berinteraksi dengan sistem tetapi masih mengumpulkan log. Ini memungkinkan Anda untuk menyempurnakan sistem Anda dengan cara yang Anda inginkan.

Mode Dinonaktifkan

Mode dinonaktifkan juga dapat dilihat sebagai status dinonaktifkan di mana SELinux dinonaktifkan dan tidak menawarkan Keamanan apa pun.

SELinux Serikat

Setelah SELinux diinstal pada sistem. Itu dapat memiliki status biner: diaktifkan dan dinonaktifkan. Untuk melihat status SELinux, gunakan perintah:

dapatkan kekuatan
Dengan disabilitas

Output di atas menunjukkan bahwa SELinux saat ini dinonaktifkan.

Anda juga dapat menggunakan perintah sestatus seperti yang ditunjukkan di bawah ini:

status
Status SELinux: dinonaktifkan

Aktifkan dan Nonaktifkan SELinux

Status dan konfigurasi SELinux ditangani oleh file Konfigurasi yang terletak di /etc/selinux/config. Anda dapat menggunakan perintah cat untuk melihat isinya.

cat /etc/selinux/config
#File ini mengontrol status SELinux pada sistem.
#SELINUX= dapat mengambil salah satu dari tiga nilai berikut:
#enforcing - kebijakan keamanan SELinux diberlakukan.
#permissive - SELinux mencetak peringatan alih-alih menegakkan.
#disabled - Tidak ada kebijakan SELinux yang dimuat.
SELINUX=menegakkan
#SELINUXTYPE= dapat mengambil salah satu dari tiga nilai berikut:
# ditargetkan - Proses yang ditargetkan dilindungi,
# minimum - Modifikasi kebijakan yang ditargetkan. Hanya proses yang dipilih yang dilindungi.
# mls - Perlindungan Keamanan Multi Level.
SELINUXTYPE=ditargetkan

Dari output di atas, kami memiliki dua arahan utama yang diaktifkan. Arahan SELINUX menentukan mode di mana SELinux dikonfigurasi. Arahan SELINUXTYPE menentukan set kebijakan SELinux. Secara default, SELinux menggunakan kebijakan bertarget yang memungkinkan Anda untuk menyesuaikan izin kontrol akses. Kebijakan lainnya adalah keamanan Multilevel atau MLS.

Anda mungkin menemukan, kebijakan minimum di 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.konf
drwxr-xr-x 1 root root 4096 16 Feb 22:40 ditargetkan

Sekarang mari kita lihat cara mengaktifkan SELinux di sistem. Sebaiknya atur dulu mode SELINUX ke permisif dan tidak dipaksakan.

nano /etc/selinux/config

Sekarang edit arahan SELINUX sebagai:

SELINUX = permisif

Setelah Anda menyimpan file, lakukan reboot sistem.

mulai ulang

CATATAN: Kami sangat menyarankan untuk mengatur arahan SELINUX ke permisif sebelum menerapkan SELinux.

Setelah Anda mem-boot ulang sistem, periksa log yang dilaporkan oleh SELinux di /var/log/messages.

Selanjutnya, pastikan Anda tidak memiliki kesalahan dan terapkan SELinux dengan mengatur arahan untuk ditegakkan di /etc/selinux/config

Terakhir, Anda dapat melihat status SELinux menggunakan perintah sestatus:

Status SELinux: diaktifkan
Pemasangan SELinuxfs: /sys/fs/selinux
Direktori root SELinux: /etc/selinux
Nama kebijakan yang dimuat: ditargetkan
Mode saat ini: menegakkan
Mode dari file konfigurasi: kesalahan (Berhasil)
Status MLS kebijakan: diaktifkan
Kebijakan penolakan_status tidak diketahui: diizinkan
Pemeriksaan perlindungan memori: aktual (aman)
Versi kebijakan kernel maks: 31

Anda juga dapat menggunakan perintah setenforce untuk beralih di antara berbagai mode SELinux. Misalnya, untuk mengatur mode ke permisif, gunakan perintah:

setenforce permisif

Mode ini bersifat sementara dan akan dikembalikan ke satu di file konfigurasi setelah reboot.

sestatus status SELinux: diaktifkan
Pemasangan SELinuxfs: /sys/fs/selinux
Direktori root SELinux: /etc/selinux
Nama kebijakan yang dimuat: ditargetkan
Mode saat ini: permisif
Mode dari file konfigurasi: menegakkan
Status MLS kebijakan: diaktifkan
Kebijakan penolakan_status tidak diketahui: diizinkan
Pemeriksaan perlindungan memori: aktual (aman)
Versi kebijakan kernel maks: 31

Kebijakan dan Konteks SELinux

Untuk menghindari kebingungan bagi pemula SELinux, kami tidak akan membahas lebih dalam tentang bagaimana kebijakan SELinux diterapkan tetapi cukup menyentuhnya untuk memberi Anda gambaran.

SELinux bekerja dengan menerapkan kebijakan keamanan. Kebijakan SELinux mengacu pada aturan yang digunakan untuk menentukan hak akses untuk setiap objek dalam sistem. Objek mengacu pada pengguna, proses, file, dan peran.

Setiap konteks didefinisikan dalam bentuk user:role:type:level.

Misalnya, buat direktori di direktori home Anda dan lihat konteks keamanan SELinux-nya seperti yang ditunjukkan pada perintah di bawah ini:

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

Ini akan menampilkan output seperti yang ditunjukkan di bawah ini:

unconfined_u:object_r:user_home_t:s0 linuxhint_dir

Anda juga dapat menemukan direktori lain dengan konteks keamanan sebagai:

system:_u:object_r:user_home_t:s0

Anda mungkin menyadari bahwa output di atas mengikuti sintaks dari user:role:type:level.

Kesimpulan

Itu tadi tutorial pemula untuk SELinux menggunakan CentOS 8. Meskipun tutorial ini dirancang untuk pemula, itu lebih dari cukup untuk membuat kaki Anda berjalan di SELinux dan menghilangkan sifat SELinux yang mengintimidasi.

Terima kasih telah membaca.

Petakan ulang tombol mouse Anda secara berbeda untuk perangkat lunak yang berbeda dengan Kontrol Tombol X-Mouse
Mungkin Anda membutuhkan alat yang dapat membuat kontrol mouse Anda berubah dengan setiap aplikasi yang Anda gunakan. Jika demikian, Anda dapat mencob...
Ulasan Mouse Nirkabel Microsoft Sculpt Touch
Saya baru-baru ini membaca tentang Microsoft Sculpt Touch mouse nirkabel dan memutuskan untuk membelinya. Setelah menggunakannya untuk sementara waktu...
Trackpad dan Mouse Pointer di Layar AppyMouse untuk Tablet Windows
Pengguna tablet sering melewatkan penunjuk mouse, terutama ketika mereka terbiasa menggunakan laptop. Layar sentuh Smartphone dan tablet hadir dengan ...