统信uos桌面版默认不启用selinux且无官方支持,应采用apparmor与安全中心组合实现强制访问控制:先启用apparmor服务,再为关键程序配置策略;同时通过安全中心开启主机勒索防护、设置受保护目录与可信进程,并可选配pam登录约束。

统信UOS桌面版默认不启用SELinux,也不提供官方支持的SELinux配置路径。服务器访问控制若需实现强制访问控制(MAC),应基于实际系统环境选择适配方案:在统信UOS上优先使用AppArmor + 安全中心组合;在CentOS/RHEL等支持SELinux的发行版上,则可直接启用并配置SELinux。
一、统信UOS服务器环境用AppArmor实现强制访问控制
统信UOS 2022及后续版本已集成AppArmor框架,但服务默认未启动,策略也需手动加载或生成。
检查AppArmor状态
打开终端执行:systemctl status apparmor
若显示inactive或failed,再运行:lsmod | grep apparmor
有输出说明内核已支持,执行:sudo systemctl enable --now apparmor-
为关键服务配置策略
例如保护Nginx:sudo nano /etc/apparmor.d/usr.sbin.nginx
添加最小权限规则:/var/www/** r, /var/www/html/** rwk, /var/log/nginx/** rw, network inet stream, capability setuid,
加载并生效策略
修改后必须重载:sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.nginx
查看是否生效:sudo aa-status | grep nginx启用默认策略(快速起步)
对Firefox等桌面应用:sudo aa-enforce /etc/apparmor.d/usr.bin.firefox
若提示“no profile for”,先生成:sudo aa-autodep firefox→sudo aa-genprof firefox
二、RHEL/CentOS类服务器启用SELinux强制模式
这类系统原生支持SELinux,配置后可对进程、文件、端口实施标签化管控。
确认当前状态
getenforce→ 应返回Enforcingsestatus -v→ 检查SELinux status: enabled和Current mode: enforcing-
永久启用强制模式
编辑/etc/selinux/config:SELINUX=enforcing SELINUXTYPE=targeted
检查GRUB参数无
selinux=0或enforcing=0,必要时更新引导:grub2-mkconfig -o /boot/grub2/grub.cfg
若此前为disabled,重启前执行:sudo touch /.autorelabel 验证策略落地
重启后运行:ls -Z /etc/passwd→ 查看文件是否有安全上下文(如system_u:object_r:etc_t:s0)
出现AVC拒绝日志时,用以下命令分析:ausearch -m avc -ts recent | audit2why
三、通过安全中心强化主机级访问控制(统信UOS特有)
这是统信UOS替代SELinux的实用路径,聚焦目录保护与进程可信管理。
打开安全中心 → 主机勒索防护 → 开启防护开关
在“受保护目录”中添加:
/etc、/boot、/usr/bin等关键路径在“可信进程”中仅保留:
systemd、dbus-daemon、sshd等系统服务
其余第三方进程默认拦截写入与执行配合PAM实现登录级约束(可选)
编辑/etc/pam.d/common-auth,末尾加:auth [default=bad success=ok] pam_time.so
再配置/etc/security/time.conf,限制用户仅能在指定TTY启动shell
四、容器场景下的策略延伸(如Docker)
无论宿主机用AppArmor还是SELinux,容器都可继承或叠加策略:
AppArmor容器策略
宿主机加载自定义Profile后:docker run --security-opt apparmor=my-profile nginx
Profile中禁止敏感路径(如/proc/*/mem)、限制网络类型(network inet tcp)SELinux容器策略
启动时指定上下文:docker run --security-opt label=type:container_t nginx
或自动分配MCS类别实现跨容器隔离:docker run --security-opt label=level:s0:c1,c2 nginx
不复杂但容易忽略











