银河麒麟KYSEC安全机制详解

简介

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

安全模式

KYSEC有三种安全模式:

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

使用操作介绍

GUI界面操作

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

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

SHELL界面操作

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

bash 复制代码
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的相关安全状态

bash 复制代码
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安全标记

bash 复制代码
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安全标记

bash 复制代码
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参数说明

相关推荐
wanhengidc1 天前
云手机 数据网络安全防护
安全·web安全
专业开发者1 天前
近距离检测功能亮点
网络·tcp/ip·安全
是喵斯特ya1 天前
java反序列化漏洞解析+URLDNS利用链分析
java·安全
他是龙5511 天前
第40天:JavaEE安全开发SpringBoot JWT身份鉴权与打包部署(JAR&WAR)
spring boot·安全·java-ee
测试人社区-千羽1 天前
生物识别系统的测试安全性与漏洞防护实践
运维·人工智能·opencv·安全·数据挖掘·自动化·边缘计算
网络研究院1 天前
2026年智能体人工智能的激增引发新的网络安全风险
网络·人工智能·安全·web安全·ai
缘友一世1 天前
计算系统安全速成之内存布局与缓冲区溢出攻击【4】
安全·系统安全·计算机系统
Bruce_Liuxiaowei1 天前
从系统安全角度方面看注册表项Windows NT与Windows的区别
windows·安全·系统安全
-大头.1 天前
Java泛型实战:类型安全与高效开发
java·开发语言·安全