银河麒麟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参数说明

相关推荐
乾元8 分钟前
如何把 CCIE / HCIE 的实验案例改造成 AI 驱动的工程项目——从“实验室能力”到“可交付系统”的完整迁移路径
大数据·运维·网络·人工智能·深度学习·安全·机器学习
GC_ESD27 分钟前
为芯片穿上“防弹衣”:PERC如何守护先进制程下的ESD安全
安全
acrelgxy30 分钟前
从被动响应到主动预警:安科瑞门店电气安全全景管控方案
安全·电能管理系统·电力监控系统·智能电力仪表
南行*1 小时前
MSF安全开发
安全·网络安全·系统安全·ruby
dalerkd14 小时前
忙里偷闲叙-谈谈最近两年
网络·安全·web安全
牛三金15 小时前
匿踪查询沿革-Private Information Retrieval(PIR)
算法·安全
xixixi7777715 小时前
量子通信是当前信息安全和通信领域最前沿、最具变革性的技术之一
安全·信息安全·量子计算·通信·量子通信·密钥·传输
WLJT12312312316 小时前
守护自然与滋养民生的绿色之路
大数据·安全
C++ 老炮儿的技术栈16 小时前
什么是通信规约
开发语言·数据结构·c++·windows·算法·安全·链表
五仁火烧17 小时前
生产环境中配置了接口3000后,不能启动,改成8080后就可以
linux·网络·安全·vue