简介
KYSEC是基于kysec安全标记对`执行程序、脚本文件、共享库、内核模块`进行保护的一种安全机制。除了系统默认集成的执行程序、脚本文件、共享库、内核模块,任何外来的该4种文件,如拷贝、移动、下载、重新编译生成等,都必须添加到麒麟安全管理工具的相应白名单列表中,才能执行调用。会对白名单列表中的文件进行保护,保护文件不被修改、移动、删除。
安全模式
KYSEC有三种安全模式:
强制模式(Normal):出现违规操作时,不止会审计记录该操作,还会阻止该操作的运行;
警告模式(Warning):出现违规操作时,会弹出麒麟安全授权认证框进行授权;
软模式(Softmode):出现违规操作时,只会审计记录该操作,而不会阻止该操作的运行。
使用操作介绍
GUI界面操作
设置->安全中心->应用保护
点击进入之后如图(需要root权限才能进行设置):
SHELL界面操作
查看当前kysec的相关安全状态
getstatus
getstatus
KySec status: enabledexec 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:9999Usage: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参数说明