统信uos桌面版默认未启用selinux,系统级强制访问控制由dac主控,辅以主机勒索防护、pam会话策略与apparmor应用策略实现;需通过apparmor与安全中心组合配置近似selinux语义的控制。

统信UOS桌面版默认未启用SELinux,其系统级强制访问控制由DAC主控,辅以主机勒索防护、PAM会话策略与AppArmor应用策略实现;若需配置近似SELinux语义的系统级访问控制,必须绕过SELinux路径,转向AppArmor与安全中心模块的组合配置。
确认AppArmor是否已启用并加载
统信UOS 2022及后续版本已集成AppArmor框架,但服务可能未自动启动或内核模块未加载。
打开终端,执行命令:systemctl status apparmor,观察输出中是否显示 active (exited) 或 active (running)。
若状态为 inactive 或 failed,说明服务未运行;此时需先检查内核模块:lsmod | grep apparmor。无任何输出表示AppArmor未被内核支持,该情况在统信UOS标准发行版中极少见,但若发生,说明当前内核未编译AppArmor支持,【无法通过常规方式启用】。
如有模块输出,执行:sudo systemctl enable --now apparmor 启用并立即启动服务。
为关键系统程序配置AppArmor策略文件
AppArmor策略以文本文件形式存于 /etc/apparmor.d/,需手动编写或启用预置模板。
方法一:启用默认策略(推荐初用)
执行:sudo aa-enforce /etc/apparmor.d/usr.bin.firefox(以firefox为例),该命令将对应策略设为强制模式。
若提示“no profile for”,说明该程序尚无策略文件,需先生成:sudo aa-autodep firefox 自动推导依赖路径,再执行 sudo aa-genprof firefox 启动交互式策略构建流程——按提示操作允许/拒绝各文件访问、网络连接等行为,最后保存退出。
方法二:部署企业级白名单策略
编辑策略文件:sudo nano /etc/apparmor.d/usr.sbin.nginx,在 { } 块内添加明确路径规则,例如:/var/www/** r, 表示只读访问所有子目录,/var/www/html/** rwk, 表示对html目录下文件可读写并创建套接字。
策略修改后必须重载:sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.nginx,否则变更不生效。
通过安全中心启用主机勒索防护作为替代强制控制层
该模块提供文件路径+进程行为双维度拦截,效果接近SELinux的type enforcement,且无需修改内核。
第一步:启动安全中心 → 病毒查杀 → 主机勒索防护 → 开启防护开关。
第二步:点击高级设置 → 受保护目录 → 添加关键系统路径:/etc、/boot、/usr/bin、/usr/lib。
第三步:在可信进程列表中,仅保留 systemd、dbus-daemon、dde-file-manager 等系统核心进程;其余进程默认处于拦截状态,首次运行时会弹窗提示并阻断写入行为。
注意:添加目录后需点击“确定”保存,否则不生效;【/etc目录必须包含在受保护列表中,否则无法拦截恶意修改配置文件的行为】。
配置PAM实现登录级访问约束
此方式在用户认证阶段嵌入资源限制逻辑,适用于统一管控多用户终端会话。
① 切换至TTY终端(Ctrl+Alt+F4),用sudo权限账户登录。
② 编辑PAM认证配置:sudo nano /etc/pam.d/common-auth,在末尾新增一行:auth [default=bad success=ok] pam_time.so。
③ 创建时间策略文件:sudo nano /etc/security/time.conf,写入规则:*;Al0000-2400;Al0000-2400;tty1&&tty2;and;/bin/bash;,表示仅允许所有用户在tty1/tty2终端全天启动bash。
④ 保存退出,重启图形界面(Ctrl+Alt+F7 或执行 sudo systemctl restart lightdm)使策略生效。
这一步完成后,非tty1/tty2终端登录将直接拒绝shell启动,且不显示错误提示——这是PAM time模块的默认行为,无需额外调试。











