Pelabelan File SELinux
Semua file, direktori, perangkat, dan proses memiliki konteks keamanan (atau label) yang terkait dengannya. Untuk file, konteks ini disimpan dalam atribut yang diperluas dari sistem file. Masalah dengan SELinux sering muncul dari sistem file yang salah label. Jika Anda melihat pesan kesalahan yang berisi file_t , itu biasanya merupakan indikator yang baik bahwa Anda memiliki masalah dengan pelabelan sistem file.
Ada beberapa cara untuk menamai ulang sistem file:
- Buat file /.autorelabel dan reboot.
- Tampilan Status di GUI SELinux menyediakan opsi untuk memberi label ulang pada reboot berikutnya.
- Tiga utilitas baris perintah, restorecon, setfiles, dan fixfiles, beri label ulang file.
Konteks SELinux
Konteks SELinux berisi informasi tambahan seperti pengguna SELinux, peran, jenis, dan level. Keputusan kontrol akses pada proses, pengguna Linux, dan file didasarkan pada informasi konteks ini. Kontrol akses didasarkan pada informasi di bawah ini:
- Pengguna SELinux :Pengguna Linux dipetakan ke pengguna SELinux.
- Peran :Atribut RBAC yang bertindak sebagai perantara antara domain dan pengguna SELinux
- Jenis :Atribut TE yang mendefinisikan domain untuk proses
- Tingkat :Informasi opsional; atribut MLS dan MCS
Melihat informasi konteks SELinux
Melihat informasi konteks SELinux tentang file
Untuk melihat informasi konteks sistem file dari baris perintah, gunakan "ls –Z ” perintah:
# ls -Z -rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg -rw-r--r--. root root system_u:object_r:admin_home_t:s0 initial-setup-ks.cfgCATATAN :Informasi ini juga disimpan di direktori /etc/selinux/[SELINUXTYPE]/contexts/files.
Melihat informasi konteks SELinux tentang proses
Untuk melihat informasi konteks SELinux tentang proses, gunakan tombol “ps –Z ” perintah:
# ps -Z LABEL PID TTY TIME CMD unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 6617 pts/0 00:00:00 sudo unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 6623 pts/0 00:00:00 su unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 6624 pts/0 00:00:00 bash unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 8188 pts/0 00:00:00 ps
Melihat informasi konteks SELinux tentang pengguna
Untuk melihat konteks SELinux yang terkait dengan pengguna Linux Anda, gunakan "id –Z ” perintah:
# id -Z unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Konteks SELinux ditampilkan dengan menggunakan sintaks berikut:
user:role:type:level
Mengubah Jenis File Konteks
Gambar disk mesin virtual KVM dibuat di /var/lib/libvirt/images direktori secara default. SELinux mengharuskan file gambar memiliki virt_image_t label yang diterapkan pada mereka. Anda dapat menggunakan perintah “ls –dZ” untuk mengonfirmasi bahwa label ini diterapkan ke direktori /var/lib/libvirt/images:
# ls -dZ /var/lib/libvirt/images drwx--x--x. root root system_u:object_r:virt_image_t:s0 /var/lib/libvirt/images
Anda dapat menggunakan direktori yang berbeda untuk image mesin virtual Anda, tetapi Anda perlu menambahkan direktori baru ke kebijakan SELinux Anda dan memberi label ulang terlebih dahulu. Langkah-langkah berikut digunakan untuk menambahkan direktori /kvmimages ke kebijakan SELinux yang ditargetkan dan memberi label ulang direktori:
# semanage fcontext -a -t virt_image_t "/kvmimages(/.*)?"
Perintah di atas menambahkan direktori /kvmimages ke kebijakan SELinux dengan menambahkan baris ke file berikut:
# cat /etc/selinux/targeted/contexts/files/file_contexts.local /kvmimages(/.*)? system _u:object_r:virt_image_t:s0
Anda masih perlu mengatur konteks keamanan baru pada direktori dan semua file dalam direktori. Anda dapat menggunakan salah satu dari perintah berikut untuk mengubah konteks SELinux pada direktori /kvmimages,:
- file perbaikan :Memperbaiki konteks keamanan pada sistem file
- konfigurasi pemulihan :Menyetel ulang konteks keamanan pada satu atau beberapa file
- setfile :Menginisialisasi konteks keamanan pada satu atau beberapa file
Setiap perintah ini membaca file di /etc/selinux/targeted/contexts/files direktori. Contoh berikut menunjukkan konteks SELinux sebelum menjalankan perintah restorecon:
# ls -dZ /kvmimages drwx--x--x. root root system_u:object_r:unlabeled_t:s0 /var/lib/libvirt/images
Perhatikan bahwa jenis SELinux diatur ke unlabeled_t . Contoh berikut menjalankan perintah restorecon untuk mengubah jenis seperti yang didefinisikan di /etc/selinux/targeted/contexts/files/file_contexts.local berkas:
# restorecon -R -v /kvmimages
# ls -dZ /var/kvmimages drwx--x--x. root root system_u:object_r:virt_image_t:s0 /kvmimages
Ada juga SELinux Booleans yang mempengaruhi KVM saat diluncurkan oleh libvirt. Dua dari Boolean ini terdaftar sebagai berikut:
- virt_use_nfs :Izinkan virt untuk mengelola file NFS.
- virt_use_samba :Izinkan virt untuk mengelola file CIFS.
Boolean ini harus diaktifkan saat menggunakan NFS atau SAMBA, masing-masing, untuk menyimpan image disk mesin virtual. Ada tambahan SELinux Boolean yang mempengaruhi KVM. Beberapa di antaranya adalah sebagai berikut:
# getsebool -a | grep virt staff_use_svirt --> off unprivuser_use_svirt --> off virt_read_qemu_ga_data --> off virt_rw_qemu_ga_data --> off virt_sandbox_use_all_caps --> on virt_sandbox_use_audit --> on virt_sandbox_use_fusefs --> off virt_sandbox_use_mknod --> off virt_sandbox_use_netlink --> off virt_sandbox_use_sys_admin --> off virt_transition_userdomain --> off virt_use_comm --> off virt_use_execmem --> off virt_use_fusefs --> off virt_use_nfs --> on virt_use_rawip --> off virt_use_samba --> off virt_use_sanlock --> off virt_use_usb --> on virt_use_xserver --> offApa itu Pengguna SELinux dan Bagaimana Memetakan Pengguna Linux ke Pengguna SELinux