SELinux
Fedora CoreOS hadir dengan SELinux yang diaktifkan dalam mode penegakan (enforcing mode).
Perubahan kebijakan
Perubahan boolean kebijakan dan penambahan modul SELinux didukung di Fedora CoreOS. Namun, kami tidak menyertakan semanage dan tidak ada mekanisme tambahan di Butane maupun dukungan langsung di Ignition untuk melakukan operasi tersebut. Lihat fedora-coreos-tracker#701 untuk detail lebih lanjut.
Berikut contoh cara mengatur boolean SELinux melalui unit systemd yang dijalankan setiap kali boot:
variant: fcos
version: 1.7.0
systemd:
units:
- name: setsebool.service
enabled: true
contents: |
[Service]
Type=oneshot
ExecStart=setsebool container_manage_cgroup true
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Mengatur ulang kebijakan SELinux ke pengaturan bawaan
Jika Anda mengalami masalah tak terduga dengan SELinux, mungkin disebabkan oleh modifikasi kebijakan lokal.
systemd-resolved[755]: Failed to symlink /run/systemd/resolve/stub-resolv.conf: Permission denied
audit[755]: AVC avc: denied { create } for pid=755 comm="systemd-resolve" name=".#stub-resolv.confc418434d59d7d93a" scontext=system_u:system_r:systemd_resolved_t:s0 tcontext=system_u:object_r:systemd_resolved_var_run_t:s0 tclass=lnk_file permissive=0
Anda dapat memeriksa status kebijakan SELinux dengan perintah berikut:
$ sudo ostree admin config-diff | grep -E 'selinux/.*/policy'
M selinux/targeted/active/policy.linked
M selinux/targeted/active/policy.kern
M selinux/targeted/policy/policy.31
A selinux/targeted/policy/policy.30
Jika perintah ini menampilkan daftar entri, berarti kebijakan SELinux Anda telah dimodifikasi dari pengaturan bawaan.
Anda memiliki dua opsi untuk mengatur ulang kebijakan SELinux ke pengaturan bawaan:
-
Lakukan redeploy sistem dari artefak Fedora CoreOS terbaru.
-
Pulihkan kebijakan bawaan secara manual
Untuk memulihkan kebijakan bawaan:
-
Buat cadangan kebijakan Anda saat ini:
sudo cp -al /etc/selinux{,.bak} -
Pulihkan kebijakan SELinux bawaan:
sudo rsync --archive --links --verbose --delete /usr/etc/selinux/ /etc/selinux/Setelah menjalankan perintah ini, keluaran dari
sudo ostree admin config-diff | grep -E 'selinux/.*/policy'tidak lagi menunjukkan bahwa kebijakan telah dimodifikasi. -
Terakhir, muat ulang kebijakan SELinux atau mulai ulang sistem Anda:
sudo semodule -R
Menonaktifkan SELinux
Kami tidak mendukung penonaktifan SELinux di Fedora CoreOS. Lihat rpm-ostree#971. Juga lihat diskusi di fedora-coreos-docs#439.
Mengatur SELinux dalam mode permisif
Kami tidak menyarankan untuk mengatur seluruh sistem dalam mode permisif (misalnya setenforce 0). Sebagai gantinya, Anda dapat mengatur SELinux agar permisif hanya untuk satu aplikasi dengan membuat modul kebijakan CIL.
Sebagai contoh untuk domain wireguard_t:
$ cat permissive-wireguard.cil
(typepermissive wireguard_t)
Anda kemudian dapat memuat modul ini dengan perintah:
sudo semodule -i permissive-wireguard.cil
Dan menghapusnya setelah tidak lagi diperlukan dengan perintah:
sudo semodule -r permissive-wireguard
Lihat juga diskusi di fedora-coreos-docs#439.
Want to help? Learn how to contribute to Fedora Docs ›