KYSEC 安全机制配置
基于 KySec 安全框架的系统加固指南
KYSEC 简介
KYSEC(Kylin Security)是银河麒麟操作系统内置的内核级安全机制,它类似于 SELinux,但更专注于程序执行控制、文件完整性保护、三权分立。默认情况下,它处于“强制模式”,会拦截所有未经过签名的程序执行。
1. 安全状态管理
查看当前状态
getstatus
输出详解:
KySec status: enabled # KYSEC 总开关:已启用
Execution control: warning # 执行控制:警告模式(仅记录不拦截)
Net control: warning # 网络控制:警告模式
File protect: enabled # 文件保护:已启用
Kmod protect: enabled # 内核模块保护:已启用
Three protect: enabled # 三权分立:已启用
Process protect: enabled # 进程保护:已启用
三种安全模式
- Normal (强制模式):系统默认均处于此模式。严格拦截所有违规操作(如运行未授权脚本、修改受保护文件),适合生产环境。
- Warning (警告模式):允许违规操作,但会弹出授权窗口(图形界面下)或记录日志。通常用于开发调试或排查问题。
- Softmode (软模式):放行所有操作,仅记录审计日志。
模式切换指令
# 切换到强制模式(严格保护)
sudo setstatus -f normal
# 切换到警告/软模式(开发调试)
sudo setstatus -f softmode
细粒度控制: 您也可以只针对某一项功能进行开关:
# 关闭执行控制(允许运行任意程序)
sudo setstatus -f exectl off
# 关闭网络控制
sudo setstatus -f netctl off
2. 白名单与标记配置 (kysec_set)
在强制模式下,只有被标记为“可信”的程序才能运行。如果您的业务程序被拦截,需要将其添加到白名单。
添加程序到执行白名单
使用 -n exectl 参数设置执行权限标记。
# 语法:kysec_set -n exectl -v [标记] [文件路径]
# 示例:将脚本设置为“可信”(允许执行)
sudo kysec_set -n exectl -v trusted /opt/myapp/start.sh
常用标记:trusted (手动信任), verified (已签名),
original (原始文件)。一般手动添加使用 trusted 即可。
设置文件保护
保护关键配置文件不被篡改。
# 将文件设置为只读保护
sudo kysec_set -n protect -v readonly /etc/my.conf
3. 关键保护机制说明
| 机制名称 | 说明 |
|---|---|
| Execution Control (exectl) | 程序执行控制。禁止非白名单、未签名的二进制文件或脚本运行,防范恶意代码。 |
| File Protect (fprotect) | 文件完整性保护。锁定系统关键文件(/bin, /sbin 下的文件),防止被病毒感染或恶意替换。 |
| Kmod Protect | 内核模块保护。禁止加载未签名的内核模块,防止 Rootkit 攻击。 |
| Three Protect | 三权分立。将超级管理员权限分散为:系统管理员、安全管理员、审计管理员,互相制约。 |
常见问题解答
Q: 可以在 /tmp 目录下执行脚本吗?
A: 默认情况下 KYSEC 会拦截 /tmp 目录下的执行权限,因为这常是病毒落脚点。建议将脚本移动到
/opt 或 /usr/local/bin 等标准目录,并使用 kysec_set 添加白名单。
Q: yum/apt 安装的软件会自动信任吗?
A: 是的。通过系统包管理器安装的软件通常会自动打上 verified 或 original
标记,无需额外配置即可运行。
Q: 如何永久关闭 KYSEC?(不推荐)
A: 如果必须彻底关闭(如在完全隔离的内网环境),需修改 grub 启动参数。
编辑 /etc/default/grub,在 GRUB_CMDLINE_LINUX 中添加
kysec_security=off,然后执行 update-grub (或
grub2-mkconfig...)
并重启。