Portal:MicroOS/SELinux

跳转到:导航搜索

SELinux 是 Linux 的一项安全增强功能,它允许用户和管理员更多地控制访问控制。

它由在启动时加载到系统上的策略组成,该策略限制了用户和应用程序对资源的访问。

快速入门

安装 openSUSE MicroOS 后,只需运行

 transactional-update setup-selinux

并重新启动系统。

sestatus 的输出应如下所示:

 SELinux status:                 enabled
 SELinuxfs mount:                /sys/fs/selinux
 SELinux root directory:         /etc/selinux
 Loaded policy name:             targeted
 Current mode:                   enforcing
 Mode from config file:          enforcing
 Policy MLS status:              enabled
 Policy deny_unknown status:     allowed
 Memory protection checking:     requested (insecure)
 Max kernel policy version:      31

配置

内核命令行选项

SELinux 只能通过内核命令行选项在启动期间启用或禁用。从用户空间禁用它的已弃接口已被禁用。

  • 以强制模式启用 SELinux:security=selinux selinux=1
  • 以宽容模式启用 SELinux:security=selinux selinux=1 enforcing=0
  • 禁用 SELinux:selinux=0

可以通过编辑 /etc/default/grub 中的 GRUB_CMDLINE_LINUX_DEFAULT 并运行 transactional-update grub.cfg 来更改启动参数。

Icon-warning.png
警告: 在使用禁用 SELinux 启动后,您必须再次进行自动标记,否则未标记的文件可能导致系统无法启动!

配置文件

配置文件 /etc/selinux/config 包含

  • SELINUX=[enforcing|permissive] 用于配置强制或宽容模式。
  • SELINUXTYPE=targeted 用于指定要加载的策略。目前仅支持 targeted

文件系统重新标记

在启动期间,可以重新标记文件系统。有两种方法可以在下一次重新启动期间启动此过程:touch /etc/selinux/.autorelabel 并重新启动,或在下一次重新启动时使用 autorelabel 内核命令行选项。

标准文件 /.autorelabel 无法使用,因为根文件系统是只读的,因此不可写入。要强制重新标记所有文件,请使用 echo "-F" > /etc/selinux/.autorelabel

本地 ssh 转发

要使用 ssh 转发连接到本地 vnc 服务器、虚拟机或容器,您需要启用此 SELinux 选项

setsebool -P nis_enabled 1

请注意,相关的 sshd 选项(例如 AllowTcpForwarding)默认情况下已启用,无需更改。另请参阅:SDB:SELinux

bind9 / named 无法启动

更新:SELinux 团队于 2024 年 8 月 26 日决定在目标策略中默认启用 named_write_master_zones 布尔值

SELinux 不允许 named 写入 master zones0 (请参阅错误报告)

这意味着,如果您在之后设置了系统,则不应发生此错误。如果您在之前设置了系统,则默认情况下会将其设置为默认值,但您的本地配置仍然会禁用该布尔值。因此,您需要通过以下方式启用它:

setsebool -P named_write_master_zones 1


容器

使用 podman 或 docker 的卷

  • :z 将使用共享标签重新标记,以便其他容器可以读取和写入该卷。
  • :Z 将使用私有标签重新标记,以便只有此特定容器可以读取和写入该卷。

文档

邮件列表

openSUSE 的 SELinux 邮件列表是:selinux@lists.opensuse.org

要订阅,请访问 https://lists.opensuse.org/manage/lists/selinux.lists.opensuse.org/ 或发送邮件至 selinux-join@lists.opensuse.org

列表存档:https://lists.opensuse.org/archives/list/selinux@lists.opensuse.org