麒麟系统安全管理工具kysec机制详解

这篇具有很好参考价值的文章主要介绍了麒麟系统安全管理工具kysec机制详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

DAC访问控制

Linux下有多种权限控制的机制,常见的有:DAC(Discretionary Access Control)自主式权限控制和MAC(Mandatory Access Control)强制访问控制。

Linux上传统的访问控制标准是自主访问控制Discretionary Access Control(DAC)。在这种形式下,一个软件或守护进程以User ID(UID)或Set owner User ID(SUID)的身份运行,并且拥有该用户的目标(文件、套接字、以及其它进程)权限。这使得恶意代码很容易运行在特定权限之下,从而取得访问关键的子系统的权限。

另一方面,强制访问控制Mandatory Access Control(MAC)基于保密性和完整性强制信息的隔离以限制破坏。该限制单元独立于传统的Linux安全机制运作,并且没有超级用户的概念。

麒麟系统安全管理工具kysec机制详解

MAC强制访问控制机制

Apparmor

AppArmor(Application Armor)是Linux内核的一个安全模块,AppArmor允许系统管理员将每个程序与一个安全配置文件关联,从而限制程序的功能。简单的说,AppArmor是与SELinux类似的一个访问控制系统,通过它你可以指定程序可以读、写或运行哪些文件,是否可以打开网络端口等。作为对传统Unix的自主访问控制模块的补充,AppArmor提供了强制访问控制机制,它已经被整合到2.6版本的Linux内核中。

Apparmor是Ubuntu自带的强制访问机制。

Apparmor有两种工作模式:enforcement、complain/learning

Enforcement – 在这种模式下,配置文件里列出的限制条件都会得到执行,并且对于违反这些限制条件的程序会进行日志记录。

Complain – 在这种模式下,配置文件里的限制条件不会得到执行,Apparmor只是对程序的行为进行记录。例如程序可以写一个在配置文件里注明只读的文件,但Apparmor不会对程序的行为进行限制,只是进行记录。

那既然complain不能限制程序,为什么还需要这种模式呢,因为——如果某个程序的行为不符合其配置文件的限制,可以将其行为记录到系统日志,并且可以根据程序的行为,将日志转换成配置文件。

当然我们可以随时对配置文件进行修改,选择自己需要的模式。

服务状态

    • service  apparmor  status        查看apparmor服务状态

配置文件模式管理

    • aa-status                         查看系统所有apparmor文件的模式
    • aa-enforce filename                 设置apparmor文件为强制模式
    • aa-complain filename              设置apparmor文件为软模式

SELinux

安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。

当一个主体Subject(如一个程序)尝试访问一个目标Object(如一个文件),SELinux安全服务器SELinux Security Server(在内核中)从策略数据库Policy Database中运行一个检查。基于当前的模式mode,如果 SELinux 安全服务器授予权限,该主体就能够访问该目标。如果SELinux安全服务器拒绝了权限,就会在/var/log/messages中记录一条拒绝信息。

SELinux 安全策略:

  • Targeted安全策略 — 只有目标网络进程(dhcpd,httpd,named,nscd,ntpd,portmap,snmpd,squid,以及 syslogd)受保护;
  • ukmcs安全策略 — 比targeted严格,进行TE管理员分权控制;
  • ukmls安全策略 — 多级安全保护,该策略准则为“禁止上读下写”(即低级不能读高级,高级不能读低级,只能同级写同级);

执行sestatus,可查看当前使用的安全策略。

SELinux 有三个模式(可以由用户设置)。这些模式将规定 SELinux 在主体请求时如何应对。这些模式是:

  • Enforcing 强制— SELinux 策略强制执行,基于 SELinux 策略规则授予或拒绝主体对目标的访问
  • Permissive 宽容— SELinux 策略不强制执行,不实际拒绝访问,但会有拒绝信息写入日志
  • Disabled 禁用— 完全禁用SELinux

执行getenforce,可查看当前SELinux的模式。

SELinux 安全模式设置:

  • sudo setenforce 0           设置软模式(如果启用三权分立,则secadm执行)
  • sudo setenforce 1           设置强制模式
  • getenforce                      查看安全模式

SELinux安全标记:

  • id -Z                                查看用户标记
  • ps auxZ                          查看进程标记
  • ls -Z filename                 查看文件标记
  • touch /.autorelabel         创建selinux安全标记文件,重启后系统将重新初        始化selinux安全标记

SELinux 安全策略(如果启用三权分立,则secadm执行):

  • semodule -l                           查看系统已加载的安全模块
  • semodule -i  *.pp                  加载 * 安全模块;
  • semodule -r *                        卸载 * 安全策略模块;

SELinux安全开关:

  • getsebool -a                          查看系统所有开关状态
  • setsebool user_ping 0/1        设置开关为关/开

SELinux 安全策略规则:

  • sesearch  -A  -s  sysadm_t  -t  user_tmp_t  -c file
  • // 查看sysadm_t标记的进程对user_tmp_t 标记的file客体有哪些allow允许规则

KYSEC

KYSEC是基于kysec安全标记对执行程序、脚本文件、共享库、内核模块进行保护的一种安全机制。

除了系统默认集成的执行程序、脚本文件、共享库、内核模块,任何外来的该4种文件,如拷贝、移动、下载、重新编译生成等,都必须添加到麒麟安全管理工具的相应白名单列表中,才能执行调用。

会对白名单列表中的文件进行保护,保护文件不被修改、移动、删除。

getstatus            查看当前Kysec的相关安全状态

麒麟系统安全管理工具kysec机制详解

  • 第一行Kysec status表示当前Kysec状态为normal;
  • 第二行exec control表示当前执行控制功能状态为警告;
  • 第三行net control表示当前网络控制功能状态为警告;
  • 第四行file protect表示当前文件保护功能为开;
  • 第五行kmod protect表示当前内核模块保护状态为开;
  • 第六行three protect表示当前三权分立状态为关;
  • 第七行process protect表示当前进程保护功能为开。
  • 只有当相应功能的状态为开(on)时,其所控制的功能配置才能生效

 文章来源地址https://www.toymoban.com/news/detail-455290.html

  • sudo setstatus softmode/normal         设置kysec安全状态为软/强制模式;
  • sudo setstatus -f exectl off                   关闭执行控制功能状态;
  • sudo setstatus -f exectl on                    开启执行控制功能状态;
  • sudo setstatus -f kmod off                    关闭内核模块保护功能状态;
  • sudo setstatus -f fpro off                       关闭文件保护功能状态;

KYSEC安全标记:

麒麟系统安全管理工具kysec机制详解

麒麟系统安全管理工具kysec机制详解

配置KYSEC安全标记:

  • kysec_set [-r] -n exectl/protect/userid -v 标记符号 file
  • 设置文件或目录的kysec安全标记;exectl对应执行控制标记,protect对应文件保护标记,userid对应文件身份标记;(strict安全模式时,只有secadm可以执行)
  • sudo kysec_set -n exectl -v original /tmp/ls   (已存在/tmp/ls文件)

关于kysec介绍

一、麒麟V10服务器

1、麒麟安全管理工具 #图形化安全配置工具

麒麟系统安全管理工具kysec机制详解

服务器默认没有开启,打开后提示如下图 #只能通过命令开启kysec模块

麒麟系统安全管理工具kysec机制详解

 

2、开启kysec模块 #服务器默认没有开启,切换kysec级别重启生效

开启命令:security-switch --set default #kysec默认级别default

安全级别:default、strict、custom,详细参数如下图

麒麟系统安全管理工具kysec机制详解

开启kysec模块后,就可以打开图形化安全管理工具

麒麟系统安全管理工具kysec机制详解

麒麟系统安全管理工具kysec机制详解

 

3、设置安全控制项 #先开启kysec模块

设置命令:setstatus Softmode | Normal | Warning

说明:强制模式(Normal):出现违规操作时,不止会审计记录该操作,还会阻止该操作的运行;

警告模式(Warning):出现违规操作时,会弹出麒麟安全授权认证框进行授权;

软模式(Softmode):出现违规操作时,只会审计记录该操作,而不会阻止该操作的运行。

麒麟系统安全管理工具kysec机制详解

查看命令:getstatus #查看是否开启kysec及控制模块

未开启kysec

麒麟系统安全管理工具kysec机制详解

开启kysec默认级别,默认模块

麒麟系统安全管理工具kysec机制详解

遗留:开启kysec模块,如何关闭?

 

二、麒麟V10桌面

1、麒麟安全管理工具 #图形化安全配置工具

位置:计算机右键属性——更新——安全中心

麒麟系统安全管理工具kysec机制详解

 

2、开启kysec模块 #服务器默认没有开启,切换kysec级别重启生效

通过命令或者图形化工具选择kysec级别和关闭kysec模块

开启命令:security-switch --set default #kysec默认级别default

安全级别:default、strict、custom,详细参数如下图

麒麟系统安全管理工具kysec机制详解

关闭kysec模块

关闭命令:setstatus disable

图形化工具操作如下图

麒麟系统安全管理工具kysec机制详解

 

3、设置安全控制项 #先开启kysec模块

设置命令:setstatus disable | enable | softmode

麒麟系统安全管理工具kysec机制详解

查看命令:getstatus #查看是否开启kysec及控制模块

未开启kysec

麒麟系统安全管理工具kysec机制详解

开启kysec默认级别,默认模块

麒麟系统安全管理工具kysec机制详解

 

kysec机制

1.1 kysec白名单访问控制状态控制

所有用户可以执行getstatus,查看当前白名单访问控制(kysec)的状态:

麒麟系统安全管理工具kysec机制详解

sudo组用户、root用户(三权分立下为secadm用户)可以执行setstatus设置kysec状态:

麒麟系统安全管理工具kysec机制详解

执行setstatus enable/softmode/disable,修改本次系统kysec的运行模式。其中enable安全模式会阻止非法程序的执行,Softmode模式只会在日志中记录非法程序的执行,而不会阻止该程序的执行。disable模式本次系统将临时关闭kysec,任何程序都可以正常执行,下次启动时可恢复到系统设定的kysec安全模式;

执行 setstatus disable/softmode/enable -p将在修改本次kysec运行模式的永久修改下次启动时ksyec的运行模式;

执行 setstatus -f < exect | netctl > <off | enforcing | warning> 用于设置白名单执行控制/应用联网控制模块的安全状态,其安全状态可设置为off(关闭)、enforcing(强制模式)、warning(警告模式,将弹出授权窗口在未允许的程序运行/联网时弹出授权窗口需要用户授权确认),添加-p参数,将在修改本次安全状态的同时永久修改下次系统启用kysec时的安全状态;

执行setstatus -f < fpro | ppro> <off | on> 用于设置文件保护/进程防护的的状态为关闭/打开。

 

1.2 kysec白名单访问控制初始化

在系统安装完成后,首次开机时,对整个文件系统进行扫描,会给整个文件系统的可执行程序、共享库文件、可执行脚本以及内核模块打上初始化标记original,并对系统设定的部分应用程序打上其他合法白名单标记,完成系统白名单的初始化过程。

加入到白名单列表的可执行程序、共享库文件、可执行脚本系统允许其被执行和调用,加入到白名单列表的内核模块系统允许其被加载。

1.3 kysec主动标记功能

系统能够对非法外来的可执行程序、共享库文件、可执行脚本、内核模块进行主动识别和标记。

可使用kysec_get -n exectl <Filepath>命令查看对应文件的白名单标记,非法外来的可执行程序、共享库文件、可执行脚本,其白名单标记为unkown。

当白名单列表中受信任的可执行程序、共享库文件、可执行脚本、内核模块被篡改时,进行主动识别和标记。

麒麟系统安全管理工具kysec机制详解

kysec执行控制管控

对于外来非法的可执行程序、共享库文件、可执行脚本,系统将不允许其被执行和调用。只有通过管理员添加到白名单列表,或者关闭麒麟安全机制,才可以执行和被调用。

管理员可以通过执行kysec_set -n exectl -v original/verified/trusted/kysoft <Filepath>,将对应的可执行程序、共享库文件、可执行脚本加入到执行控制白名单列表。也可以执行kysec_set -n exectl -v unknown Filepath,将已加入到执行控制白名单列表中的可执行程序、共享库文件、可执行脚本设置为未认证,此时系统将禁止其运行和被调用。

麒麟系统安全管理工具kysec机制详解

麒麟系统安全管理工具kysec机制详解

各标记类型区别如下:

unknown:未知文件标记,该标记不可执行

original:系统原始文件标记,该标记可执行

verified:第三方可执行标记,该标记可执行

kysoft:可信安全标记,该标记可执行

trusted:可信安全标记,拥有该标记的程序对文件进行修改时,文件的标记不变,该标记可执行。

1.4 kysec文件保护管控

系统管理员可以将需要完整性保护的文件加入到文件保护白名单列表中,可以防止对应文件被删除、修改以及移动等操作。

系统管理员可以通过执行kysec_set -n protect -v readonly <Filepath>将需要保护的文件加入到文件保护列表。可以通过执行kysec_set -n protect -v none <Filepath>,将该文件从文件保护列表移除。

麒麟系统安全管理工具kysec机制详解

1.5 kysec内核模块管控

对于外来非法、被篡改的内核模块,系统将不允许其被加载。只有通过管理员添加到白名单列表,或者关闭麒麟安全机制,其才可以该加载。

管理员可以通过执行kysec_set -n exectl -v original/verified/trusted/kysoft <Filepath>,将对应的内核模块加入到内核模块保护白名单列表。也可以执行kysec_set -n exectl -v unknown Filepath,将已加入到内核模块保护白名单列表中的内核模块设置为未认证,此时系统将禁止其被加载。

管理员可以执行kysec_kmod -a <Filepath>,对已加入到内核保护列表的内核模块开启防卸载保护,此时该模块不可以被卸载。管理员可以执行kysec_kmod -d <Filepath>,对已开启防卸载保护的内核模块关闭防卸载保护。

各标记类型区别如下:

unknown:未知文件标记,该标记不可的模块不可被加载执行

original:系统原始文件标记,该标记可以被加载

verified:第三方可执行标记,该标记可以被加载

kysoft:可信安全标记,该标记可以被加载

trusted:可信安全标记,拥有可以被加载。

 

1.6 kysec应用联网控制

应用联网控制功能:控制应用程序的联网,该功能被启用后。

对于已添加到应用联网控制列表的应用程序,将会根据该应用程序在列表中配置的联网策略决定是否允许该应用程序联网;

对于不在应用联网控制列表的应用程序,当联网控制设置为禁止时,不在应用联网控制列表的应用程序将被禁止连接网络;设置为警告时,不在应用联网控制列表的应用程序在联网时将弹出联网授权窗口,在授权窗口可以选择本次允许/允许/禁止,来对该应用程序联网进行控制,并根据用户的选择将该应用程序加入到应用联网控制列表中并配置所选择的联网策略:当选择“允许”时,该应用程序将永久性允许联网,当选择“本次允许”时系统仅允许该应用程序本次连接网络,下次该应用程序启动连接网络时将会继续弹出联网授权窗口,当选择“禁止”时该应用程序将被永久禁止连接网络;

当应用联网控制功能设置为“关闭时”,所有应用程序均可以连接网络。

sudo组用户(三权分立下为secadm用户)执行setstatus -f netctl enforcing/warning/off,分别设置应用联网状态开关为禁止/警告/关闭。

sudo组用户(三权分立下为secadm用户)可以通过安全中心--网络保护--应用程序联网,设置应用联网控制状态,具体操作详见安全中心章节介绍。

 

1.7 kysec进程防护

  1. 进程防护安全机制

进程防护功能包括进程防杀死类型和关键进程状态监控类型,可以根据实际需求,对不同的应用程序设置不同的防护类型。

两种类型进程防护区别如下:

 进程防杀死:当把应用程序加入到进程防杀死列表,系统将禁止该程序进程被杀死(当进程号为1的进程发出kill信号时不受控制)。                                                                                                   

 关键进程状态监控:当把应用程序加入到关键进程状态监控列表,系统将对该程序的进程状态进行监控,并对其进行防杀死控制,当发现列表中某个进程退出状态变成DEAD或ZOMBIE或者该进程主动退出时,将会调用核外程序进行关机或锁屏等(具体操作根据配置文件来决定)。

当系统启动时,系统自动同步进程防杀死、关键进程状态监控列表到内核中,内核程序启动对进程防护列表中应用进程的防护。

  1. 进程防护相关操作

进程防护属于kysec的子模块,通过getstatus 可以查看kysec以及进程防护process protect子模块的状态,当kysec的状态为enabled,且process protect状态为on时,进程防护才生效:

麒麟系统安全管理工具kysec机制详解

root用户、sudo组用户执行可以执行以下命令进行相关安全操作:

setstatus enable可以开启kysec

setstatus -f ppro on用于开启进程防护

setstatus -f ppro off用户关闭进程防护

kysec_ppro -a <Filepath> subs/key 将应用程序加入到进程防护列表,其中subs代表进程防杀死类型,Filepath为应用程序的路径,key代表关键进程状态监控类型。

kysec_ppro -u <Filepath> subs/key 更新进程防护程序的防护类型;

kysec_ppro -d <Filepath> 将进程防护程序从进程防护列表移除;

  1. 进程防护相关配置

/sys/kernel/security/kysec/ppro,可以查看当前进程防护状态,1代表打开,0代表关闭。

/sys/kernel/security/kysec/ppro_info,可以查看当前进程防护列表各类型防护程序的数量:

麒麟系统安全管理工具kysec机制详解

通过kysec_ppro -a/u/d等更新进程防护列表后,可以通过/etc/kysec/ppro/ppro.xml查看进程防护列表。

root/sudo组用户可以通过/etc/kysec/ppro/ppro.conf配置关键进程状态监控对应的防护动作。其中配置为lock时会锁定屏幕,配置为logout会注销用户,配置为poweroff时会触发关机,配置为reboot时会重启系统。该配置修改后无需重启系统立即生效。

麒麟系统安全管理工具kysec机制详解

 

 

到了这里,关于麒麟系统安全管理工具kysec机制详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全——Webshell管理工具

    一、什么是Webshell    二、中国菜刀的使用 从靶机(IP:192.168.30.35)的DVWA网站上传文件, 1、菜刀的界面 2、新建一个“一句话木马文件”,名字为phpma.php 3、登录靶机的DVWA网站,调成Low级别,并到File Upload关卡,上传刚刚创建好的phpma.php文件, 注:要把路径记住     3、在菜

    2024年02月02日
    浏览(45)
  • 安全生产管理系统助力企业安全细化管理

    安全生产管理系统利用完整的安全生产管理体系,结合信息化、数字化和智能化等技术手段,将安全生产过程中的各个环节进行有效整合,使安全管理更加科学、规范和高效。 安全生产管理系统可以对企业安全生产进行全面、细致的管理。它能够实现对企业安全生产活动的全

    2024年02月06日
    浏览(55)
  • Web安全-Behinder(冰蝎)Webshell管理工具使用

    点击页面右侧\\\"releases\\\",进入工具的版本下载页面。 在个人终端安装JDK1.8环境的情况下,下载zip压缩包后打开Behinder.jar即可 类别 运行环境要求 客户端 jre8+ 服务端 .net 2.0+;php 5.3-7.4;java 6+ 冰蝎(behinder)是一款动态二进制加密网站管理客户端。也叫做webshell管理工具,第一代w

    2024年02月13日
    浏览(44)
  • 内网安全管理系统(保密管理系统)

    在当今信息化的时代,企业的内网已经成为其核心资产的重要组成部分。 随着企业的快速发展和信息化程度的提升,内网安全问题日益凸显,如何保障内网的安全和机密信息的保密性,已经成为企业亟待解决的问题。 内网安全管理系统(保密管理系统)是一种集成了先进的

    2024年01月20日
    浏览(56)
  • Web安全-Godzilla(哥斯拉)Webshell管理工具使用

    点击页面右侧\\\"releases\\\",进入工具的版本下载页面。 在个人终端安装JDK1.8环境的情况下,下载jar包后打开即可 Payload类型 运行环境要求 JavaDynamicPayload java1.0及以上 CShapDynamicPayload .net2.0及以上 PhpDynamicPayload 4.3.0及以上 AspDynamicPayload 全版本 哥斯拉由Java语言开发,内置了3种Paylo

    2024年02月13日
    浏览(36)
  • 2023软件测试工具大全(自动化、接口、性能、安全、测试管理)

    目录 前言 一、自动化测试工具 Selenium Appium TestComplete 二、接口测试工具 Postman SoapUI JMeter 三、性能测试工具 LoadRunner JMeter Gatling 四、安全测试工具 Burp Suite OWASP ZAP Nmap 五、测试管理工具 TestRail JIRA TestLink 总结 软件测试是保障软件质量的重要环节,而现代化的软件开发过程中

    2024年02月16日
    浏览(125)
  • Web安全-AntSword(中国蚁剑)Webshell管理工具使用

    蚂剑工具的下载分为两个部分,一个是项目核心源码antSword,另一个是加载器AntSword-Loader。我们依次进行下载,并且进行说明 先点击进入antSword,点击页面右侧\\\"releases\\\",进入工具的源码下载页面进行源码下载。 而后点击进入AntSword-Loader,点击页面右侧\\\"releases\\\",进入加载器下

    2024年02月12日
    浏览(40)
  • 安全狗云原生安全-云甲·云原生容器安全管理系统

    随着云计算的快速发展,容器技术逐渐成为主流。然而,随着容器的普及,安全问题也日益突出。为了解决这一问题,安全狗推出了云原生容器安全管理系统——云甲。 云甲是安全狗云原生安全的重要组成部分,它采用了先进的云原生技术,为容器提供了全面的安全保障。

    2024年02月04日
    浏览(46)
  • 施工现场安全管理系统

    伴随着社会发展,各行各业都十分注重安全生产管理;建筑施工行业,由于施工环境具有复杂性、危险源较多、施工人员素质参差不齐等因素,导致安全事故时有发生;凡尔码施工安全管理系统,灵活根据施工现场管理要求搭建安全管理各个模块;通过系统确保各项安全管理

    2024年02月03日
    浏览(55)
  • 焊接安全管理系统

           1范围        为了规范现场动火管理工作,提高动火安全监控水平,使动火安全管理工作规范化、制度化、标准化,避免发生火灾事故,保障动火工作中的人身和设备安全,特制定本办法。        焊接安全管理系统是德州迪格特电子科技有限公司研发的一款具有便

    2024年02月03日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包