SuperAPI AI 工具集

selinux-knowledge-patch

安全与审计

查看项目

更新于 10-16 01:35

技能介绍

用途:在修改 SELinux 策略、重打文件系统标签、配置容器隔离、启用发行版策略或管理 MLS 之前,按平台与策略类型查阅对应参考。

主要能力与要点:

  • 用户空间工具与重打标签:已移除的接口、secilcheck、CIL 转换、xperms、restorecon、setfiles、restorecond、mcstrans 及构建流程。sandbox 与 seunshare 不再接受 -k 或 --kill,需按上下文终止进程时可用 killall -Z;checkpolicy 不再接受旧式 fscon;audit2why 要求 Python 3;CIL classperm 至少需一条权限。
  • 安全前提:改动前先确认发行版与版本、已安装策略类型(如 targeted、mls)、当前为 enforcing、permissive 还是 disabled,以及能否接受完整重打标签并重启。不要假设装了 SELinux 二进制就等于有受支持策略;改策略类型或重新启用后不要立刻强制,应先重打标签、在 permissive 下检查拒绝日志,再进入强制。
  • 重打标签:库调用方可传 SELINUX_RESTORECON_SKIP_MULTILINK 拒绝多硬链接文件;restorecond 始终启用该保护。setfiles -A 的作用是禁用 SELINUX_RESTORECON_ADD_ASSOC,并非开启多链接保护。检测到只读文件系统时 restorecon 记录错误并继续。直接托管 restorecond 时用 restorecond -F。
  • 容器策略:SLE Micro 默认容器策略拒绝容器数据之外的访问(含绑定挂载的主机路径),但允许全部网络。可用 Udica 结合容器检查 JSON 生成并安装最小权限模块,再以 --security-opt 指定生成的类型启动。当前支持 Incus 管理容器及嵌套容器;overlay 目录转换会标为 container_ro_file_t。deny_ptrace 为 false 时才允许 container_runtime_domain 使用 ptrace。
  • RHEL MLS:RHEL 10 MLS 无 unconfined 模块,root 也受约束,不应在运行 X 的系统中使用;先从 permissive 安装并激活,请求开机完整重打标签后重启,再查拒绝日志:dnf install selinux-policy-mls;在 /etc/selinux/config 设 SELINUX=permissive、SELINUXTYPE=mls;fixfiles -F onboot;reboot;ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR -ts recent -i。远程管理需在首次 MLS 启动前启用 ssh_sysadm_login。newrole -l 会开嵌套 shell,仅对 /etc/selinux/mls/contexts/securetty_types 列出的终端类型有效,SSH 默认不安全。mlsfilewrite 的自动提升不是持久文件上下文,restorecon 会还原,需用 semanage fcontext -a -r 持久化。禁用 sysadm_secadm 前要准备可进入 secadm_r 的 staff_u 账户,用 semodule -d 而非 -r。
  • 发行版策略:新版 openSUSE Tumbleweed ISO 默认选 enforcing,minimalVM 也启用;SLE Micro 6.0 提供受支持 targeted 策略并支持 /etc/selinux/.autorelabel 开机重打标签;SLES 15 SP7 只提供框架、二进制与库,无默认策略,生产需自建策略。

限制:具体启动参数、重打标签标记与支持边界需查阅对应参考;未提供者暂未说明。