银河麒麟KYSEC安全机制详解

发布于:2025-07-15 ⋅ 阅读:(22) ⋅ 点赞:(0)

简介

KYSEC是基于kysec安全标记对`执行程序、脚本文件、共享库、内核模块`进行保护的一种安全机制。除了系统默认集成的执行程序、脚本文件、共享库、内核模块,任何外来的该4种文件,如拷贝、移动、下载、重新编译生成等,都必须添加到麒麟安全管理工具的相应白名单列表中,才能执行调用。会对白名单列表中的文件进行保护,保护文件不被修改、移动、删除。

安全模式

KYSEC有三种安全模式:

强制模式(Normal):出现违规操作时,不止会审计记录该操作,还会阻止该操作的运行;
警告模式(Warning):出现违规操作时,会弹出麒麟安全授权认证框进行授权;
软模式(Softmode):出现违规操作时,只会审计记录该操作,而不会阻止该操作的运行。

使用操作介绍

GUI界面操作

设置->安全中心->应用保护


点击进入之后如图(需要root权限才能进行设置):

SHELL界面操作

查看当前kysec的相关安全状态

getstatus

getstatus
KySec status: enabled

exec control : warning  #当前执行控制功能状态为警告;
net control  : warning  #前网络控制功能状态为警告;
file protect : on       #当前文件保护功能为开启;
kmod protect : on       #当前内核模块保护功能为开启;
three admin  : off      #当前三权分立状态为关闭;
process protect: on     #当前进程保护功能为开启;
device control: on      #当前块设备控制功能为开启;
ipt control  : on
kid protect  : off
program blklist: off
eperm control: off

修改当前Kysec的相关安全状态

setstatus

# 设置Kysec安全状态为软/强制/警告模式;
sudo setstatus softmode/norma/warning
 
# 关闭执行控制功能状态(默认:warning):
sudo setstatus -f exectl off
 
# 开启执行控制功能状态(默认:warning):
sudo setstatus -f exectl on
 
# 关闭内核模块保护功能(默认:on):
sudo setstatus -f kmod off
 
# 关闭文件保护功能(默认:on):
sudo setstatus -f fpro off

查看Kysec安全标记

kysec_get 

kysec_get /usr/sbin/kysec_get
/usr/sbin/kysec_get: none:none:original:9999

Usage:kysec_get [ -r ] [ -n LABEL_NAME ] PATH1 PATH2 ...
      kysec_get -p PID
      kysec_get --package PACKAGE_NAME
         -r: get kysec label recursively for directories
         -n: get the specified label only, label_name can be kid, exectl, protect or userid
         -p: get the label for process PID
         --package: get the label for a installed package
         -h: show help information.

kysec_get参数说明:

参数 含义
-r 递归查看目录下所有文件的安全标签
-n LABEL_NAME 指定要查看的标签类型,如 kid、exectl、protect、userid
-p PID 查看某个进程(通过进程ID)的安全标签
--package PACKAGE_NAME 查看某个已安装软件包中所有文件的标签
-h 显示帮助信息

kysec标签说明:

配置Kysec安全标记

kysec_set 

kysec_set [-r] -n exectl/protect/userid -v 标记符号 file
例如:
sudo kysec_set -n exectl -v original /tmp/ls
Usage:kysec_set [ -r ] -n LABEL_NAME -v LABEL_VALUE  PATH1 PATH2 ...
      kysec_set -n LABEL_NAME -v LABEL_VALUE  -f FILE_PATH
      kysec_set -n LABEL_NAME -v LABEL_VALUE  --package PACKAGE_NAME
      kysec_set -n LABEL_NAME -x PATH1 PATH2 ...
      kysec_set -n kid PATH1 PATH2 ...
         -r: set kysec label recursively, work for directories only
         -n: set the specified label type only, it can be kid, exectl, protect or userid
         -v: new label value, label_value veris depends on label_name
         -f: set kysec label for files listed in FILE_PATH, one file path per line
         --package: set all the files' kysec labels for a installed package
         -x: clear kysec label specified by label_name
         -h: show help information.

kysec_set参数说明


网站公告

今日签到

点亮在社区的每一天
去签到