Linux LSM Smack功能简介

本文介绍了Linux安全模块LSM中的Smack策略,包括Smack的内核配置、文件系统挂载、Smackload工具的使用,以及Smack的规则和访问控制功能。Smack提供了一种轻量级的访问控制,通过安全标签实现进程间精细的权限管理,防止非法访问。
摘要由CSDN通过智能技术生成
  1. LSM简介

Linux 中的安全模块LSM是一种轻量级的访问控制框架。用户在执行系统调用时,先通过内核接口依次执行功能性的错误检查,接着进行传统的DAC检查,在访问内核之前通过LSM钩子函数调用LSM,LSM根据具体的访问控制策略来决定方法的合法性,以此来实现访问控制。访问控制的架构图(不传了,其它地方也有):

几个相关概念简介(也是来自copy):

  1. DAC (Discretionary Access Control) 自主访问控制

Linux文件系统中对文件的操作属于DAC,DAC的主要内容包括以下几个概念: 主体、客体、权限(rwx)、所有权(ugo),由客体的属主对自己的客体进行管理,由主体决定是否将自己客体的访问权限授权给其他主体,这种控制方式是自主的。下面的例子看到bigxu用户对xgx管理的客体没有写权限,当bigxu主体对test.c文件进行写操作的时候会被拒绝,xgx用户可以决定test.c能否被bigxu用户写操作这就是DAC.在DAC系统中,文件的所有者是创建这个文件的计算机的使用者,此文件的自主访问控制权限由它的创建者来决定如何设置和分配;

bigxu@bigxu-UC7300-series:/home/xgx/smack/smack_test$ ls -lth test.c

-rw-r--r-- 1 xgx xgx 356 Jul 16 20:13 test.c

bigxu@bigxu-UC7300-series:/home/xgx/smack/smack_test$ whoami

bigxu

bigxu@bigxu-UC7300-series:/home/xgx/smack/smack_test$ echo "a" >> test.c

-bash: test.c: Permission denied

bigxu@bigxu-UC7300-series:/home/xgx/smack/smack_test$ 1234567

 

  1. 2LSM钩子 

LSM框架下的访问策略包括selinux,smack,tomoyo,yama 用户还可以注册自己的钩子函数。每个策略都是通过各自的init函数调用register_security函数来注册,注册到LSM框架的模块被加载成功后,就可以进行访问控制。LSM里面给出了结构体security_operations,里面给出了很多钩子函数,实现了相关钩子函数就可以实现访问控制。

 

 

 

 

2 SMACK简介及内核配置方法

 

LSM框架下的访问策略包括selinux,smack,tomoyo,yama 用户还可以注册自己的钩子函数。每个策略都是通过各自的init函数调用register_security函数来注册,注册到LSM框架的模块被加载成功后,就可以进行访问控制。LSM里面给出了结构体security_operations,里面给出了很多钩子函数,实现了相关钩子函数就可以实现访问控制了。(LSM是软件策略,目前看来与硬件加解密模块无关)。目前信息看smack策略开销小,规则比较全面,策略简单直接,最适合嵌入式系统。

 

2.1内核配置

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值