KYSEC 安全机制配置

基于 KySec 安全框架的系统加固指南

KYSEC 简介

KYSEC(Kylin Security)是银河麒麟操作系统内置的内核级安全机制,它类似于 SELinux,但更专注于程序执行控制文件完整性保护三权分立。默认情况下,它处于“强制模式”,会拦截所有未经过签名的程序执行。

1. 安全状态管理

1

查看当前状态

getstatus

输出详解:

KySec status: enabled # KYSEC 总开关:已启用
Execution control: warning # 执行控制:警告模式(仅记录不拦截)
Net control: warning # 网络控制:警告模式
File protect: enabled # 文件保护:已启用
Kmod protect: enabled # 内核模块保护:已启用
Three protect: enabled # 三权分立:已启用
Process protect: enabled # 进程保护:已启用
2

三种安全模式

  • Normal (强制模式):系统默认均处于此模式。严格拦截所有违规操作(如运行未授权脚本、修改受保护文件),适合生产环境。
  • Warning (警告模式):允许违规操作,但会弹出授权窗口(图形界面下)或记录日志。通常用于开发调试或排查问题。
  • Softmode (软模式):放行所有操作,仅记录审计日志。
3

模式切换指令

# 切换到强制模式(严格保护)
sudo setstatus -f normal

# 切换到警告/软模式(开发调试)
sudo setstatus -f softmode

细粒度控制: 您也可以只针对某一项功能进行开关:

# 关闭执行控制(允许运行任意程序)
sudo setstatus -f exectl off

# 关闭网络控制
sudo setstatus -f netctl off

2. 白名单与标记配置 (kysec_set)

在强制模式下,只有被标记为“可信”的程序才能运行。如果您的业务程序被拦截,需要将其添加到白名单。

1

添加程序到执行白名单

使用 -n exectl 参数设置执行权限标记。

# 语法:kysec_set -n exectl -v [标记] [文件路径]

# 示例:将脚本设置为“可信”(允许执行)
sudo kysec_set -n exectl -v trusted /opt/myapp/start.sh

常用标记:trusted (手动信任), verified (已签名), original (原始文件)。一般手动添加使用 trusted 即可。

2

设置文件保护

保护关键配置文件不被篡改。

# 将文件设置为只读保护
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: 是的。通过系统包管理器安装的软件通常会自动打上 verifiedoriginal 标记,无需额外配置即可运行。

Q: 如何永久关闭 KYSEC?(不推荐)

A: 如果必须彻底关闭(如在完全隔离的内网环境),需修改 grub 启动参数。
编辑 /etc/default/grub,在 GRUB_CMDLINE_LINUX 中添加 kysec_security=off,然后执行 update-grub (或 grub2-mkconfig...) 并重启。