最新要闻
- [病娇/逆推]被病娇仙子掌控的我不甘堕落(8)
- 今日问政(142)丨游客反映四姑娘山个别商户态度不好,回应:开展服务提升培训
- 前7个月中国对其他金砖国家进出口同比增长19.1%
- 短中期利好政策持续推出,券商ETF(512000)基金经理&机构如何看券商板块后市行情?
- 8月21日上海地区钴粉报价趋稳
- 亚马逊英国上调当日达订单免配送费门槛
- 特别关心查询入口官网(特别关心)
- 恭喜长沙TEC勇夺2023和平精英职业联赛夏季赛总冠军
- 电动自行车爆燃瞬间有多恐怖?锂电池过充3分钟即可升温900℃
- 三上真司的iPhone被偷了:网友为其出招
- 福建省召开“迁台记忆”档案文献征集保护工作推进会
- 点赞!方昊主动联系,前往工体和球迷一起收tifo
- iPhone 15 系列 USB-C 编织线曝光
- 市场成交|8月21日成都成交新房665套,二手房955套
- 国家重点研发计划青年科学家项目“水中抗生素及抗性基因污染精准治理纳米材料与技术”中期研究交流在海天集团顺利召开
- 资产被冻结,高管被带走,万达也顶不住了?
手机
首药控股:2023年半年度净利润约-9311万元
首届石窟寺保护国际论坛在大足区落下帷幕
- 首药控股:2023年半年度净利润约-9311万元
- 首届石窟寺保护国际论坛在大足区落下帷幕
- 广东横琴减免税27亿元支持企业创新
- 第十八届中国长春电影节“金鹿奖”入围影片名单公布
- 寻找结界原神三 原神结界在哪找
- “报志愿不要听网红忽悠”,张雪峰发言再引争议,网友表示不满
家电
SELinux 入门 pt.1
哈喽大家好,我是咸鱼
(资料图片)
文章《SELinux 导致 Keepalived 检测脚本无法执行》以【keepalived 无法执行检测脚本】为案例向大家简单介绍了关于 SELinux 的一些概念
比如说什么是自主访问控制 DAC 和 强制访问控制 MAC;SELinux 安全上下文的概念等等
那么今天咸鱼将单独写一篇文章向大家专门介绍一下 SELinux
初识 SELinux
SELinux(Security Enhanced Linux,安全增强型 Linux),这玩意由美国国家安全局(NSA)利用 Linux 安全模块(LSM)开发而成
安全增强型 Linux,看名字就感觉是跟安全相关的。 SELinux 是 Linux 内核中的一个模块,用来解决进程与文件资源之间权限相关的一些问题
提到进程与文件资源之间的权限问题,我们脑子里首先想到的应该就是 rwx
权限了吧
- 自主访问控制(Discretionary Access Control, DAC)
在传统的 UNIX 类系统中,文件资源都与特定的用户和群组相关联,并且访问权限通过 rwx
来控制
普通用户想要去读写系统中的文件资源受限于其所属的用户和群组的 rwx
权限
对于 root 用户来说rwx
权限设置是无效的,因为 root 用户拥有完全访问控制权
比如说某个进程想要对文件进行读写时,系统就会根据该进程的属主和属组去比对文件权限,只有通过权限检查才能进一步操作
这种权限控制方式被称为自主访问控制(Discretionary Access Control, DAC)
DAC 是 Linux 操作系统中的一种基本权限控制机制,用于限制用户对系统资源的访问权限
但是后面大家发现 DAC 有许多不足之处:比如说 root 的权限太高了,如果某个恶意进程拿到了 root 权限,那么将是一件很可怕的事情
又或者不小心把某一个文件的权限设置成了 777,那么这个文件就会被任何人任何进程操作
为了弥补 DAC 的一些不足之处,MAC 模型随之诞生
- 强制访问控制(MAC,Mandatory Access Control)
MAC 是 Linux 操作系统中一种更加严格和细粒度的访问控制机制,用于加强对系统资源的保护和控制
它有趣的地方在于可以针对特定的进程与特定的文件资源来管理权限,不仅考虑了前面 DAC 机制中的 rwx
权限、还考虑了更多因素(例如安全策略和标签)
即使你是 root 用户,在使用不同的进程时你所能获取的权限也不一定是 root
SELinux 引用了 MAC ,每个进程和系统资源都有一个特殊的安全性标签,称为 SELinux 上下文(context)
依据这个安全上下文,SELinux 制定了一系列规则,用来限制进程之间如何互相交互以及如何与各类系统资源交互
SELinux 的规则能够精细到是否允许特定用户或进程访问特定资源
举个例子:
使用 SELinux时,httpd 进程能够访问
/var/www/html/
,但是不允许访问/tmp
和/var/tmp/
中的文件即使你的 web 服务器被攻击,黑客控制了 httpd 进程,就算拥有 root 权限也无法访问
/tmp
和/var/tmp/
中的文件
需要注意的是:
- 对于受 SELinux 管制的进程,会先检查 SELinux 策略规则,然后再检查 DAC 规则
- 对于不受 SELinux 管制的进程,仍然会执行 DAC 规则
- 如何看一个进程受不受 SELinux 管制,看它的安全上下文
基础概念
我们知道,SELinux 通过 MAC 的方式来管理进程或用户的权限
即 SELinux 控制的主体是【进程】或【用户】,而【目标】则是该进程或用户能否访问的文件资源
- 主体(subject):SELinux 主要管理的就是进程,一般代指进程
- 目标(object):主体能否访问的目标,一般代指文件资源
- 策略(policy):SELinux 根据特定的服务或应用程序来制定基本的安全策略,以控制进程对文件资源的读写访问;每一个策略都由许多规则组成
关于 SELinux 策略,以 CentOS 7.x 为例:
- targeted:针对网络服务限制较多,本机限制较少。默认的策略
- minimum:由 target 自定义而来,仅针对选择的进程来保护
- mls:完整的 SELinux 限制,限制严格
/etc/selinux/config
# SELINUXTYPE= can take one of three values:# targeted - Targeted processes are protected,# minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection.
安全上下文
我们知道,每个主体进程和目标资源都有一个安全标签,称为 SELinux 安全上下文(Security Context)
SELinux 会根据主体的安全上下文以及目标的安全上下文来决定是否允许主体访问目标,以及允许何种类型的访问
即主体与目标的安全上下文必须一致才能够顺利读写,有点像 DAC 中的 rwx
权限
安全上下文存放在文件的 inode 内,可以通过下面的命令去查看(需要先开启 SELinux)
# 查看目录下文件的安全上下文[root@minion2 ~]# ll -Z... unconfined_u:object_r:admin_home_t:s0 文件1... system_u:object_r:admin_home_t:s0 文件2... unconfined_u:object_r:admin_home_t:s0 文件3
以 unconfined_u:object_r:admin_home_t
为例,可以看到安全上下文主要用冒号分割了三个字段,分别代表三个主要类型
User(用户)
在 SELinux 中,身份是指操作系统中的用户(User)。每个 user 都有一个唯一的身份标识
不同的 user 可以被分配不同的角色(role)和类型(type),以控制他们对系统资源的访问
比如 unconfined_u
(不受限的用户)表示该文件来自于不受限(不受 SELinux 限制)的用户
一般来讲默认的 bash 环境是不受 SELinux 管制的,所以 bash 进程产生的文件 user 大多数为
unconfined_u
不受限用户
比如 system_u
,如果是网络服务所产生或系统服务运行过程中产生的文件,那 user 大部分就是 system_u
role(角色)
角色是 SELinux 中的一个概念,用于定义用户在系统中的角色或角色组
role 可以帮助限制 user 的行为,使其在不同的角色下有不同的权限
通过 role ,就可以知道这个数据是属于进程还是文件资源,_r
表示 role
object_r
(文件或目录)system_r
(进程)
type(类型)
type 是 SELinux 中非常重要的一个概念,它用于对文件、进程等资源进行分类,每个文件、进程都被赋予一个唯一的 type 标识
type 定义了资源可以被哪些进程和用户访问,以及资源可以访问哪些其他资源
这种基于类型的访问控制使得即使用户有相同的权限,但只有在特定的 type 下才能进行访问,从而增强了系统的安全性
type 在文件与进程方面的定义有一些区别:
1)type
:在文件资源(Object)上面称为类型(type)
2)domain
:在主体进程(Subject)上面称为域(domain)
type
与 domain
需要相互适配,该进程才能够顺利读取文件资源
以 crond
为例,先看下 crond
进程的安全上下文内容
# 可以看到 crond 进程的 type(即 domain) 为 crond_t[root@localhost ~]# ps -eZ | grep crondsystem_u:system_r:crond_t:s0-s0:c0.c1023 681 ? 00:00:00 crondsystem_u:system_r:crond_t:s0-s0:c0.c1023 688 ? 00:00:00 atd
再来看下 crond
的执行文件、配置文件等安全上下文内容
# 可以看到文件资源的 type 为 crond_exec_t、system_cron_spool_t[root@localhost ~]# ll -Zd /usr/sbin/crond /etc/crontab /etc/cron.ddrwxr-xr-x. root root system_u:object_r:system_cron_spool_t:s0 /etc/cron.d-rw-r--r--. root root system_u:object_r:system_cron_spool_t:s0 /etc/crontab-rwxr-xr-x. root root system_u:object_r:crond_exec_t:s0 /usr/sbin/crond
当我们执行 /usr/sbin/crond
之后,这个进程的 domain
类型是 crond_t
,能够读取的配置文件则为 system_cron_spool_t
这种类型
如果配置文件的 type 不是 system_cron_spool_t
,就算进程拥有 rwx
权限也无法读取
总结
最后总结一下,SELinux 基于 MAC 模型进一步更加严格和细分地对进程与资源之间的权限进行控制,用于加强对系统资源的保护
在 SELinux 中,有三个重要的概念:
- 主体(subject):SELinux 主要管理的就是进程,一般代指进程
- 目标(object):主体能否访问的目标,一般代指文件资源
- 策略(policy):SELinux 根据特定的服务或应用程序来制定基本的安全策略,以控制进程对文件资源的读写访问;每一个策略都由许多规则组成
SELinux 控制的主体是【进程】或【用户】,而【目标】则是该进程或用户能否访问的文件资源
SELinux 为每个主体进程和目标资源都打上一个安全标签,称为 SELinux 安全上下文(Security Context),它会根据主体的安全上下文以及目标的安全上下文来决定是否允许主体访问目标,以及允许何种类型的访问
即主体与目标的安全上下文必须一致才能够顺利读写,有点像 DAC 中的 rwx
权限
关键词:
SELinux 入门 pt.1
融创中国股价跌破1港元,此前预计上半年亏损最多160亿元
通源石油:公司目前未有与沙特能源部及沙特阿美石油公司联合开发CCUS项目的计划
自八月起,土葬、火葬“一刀切”?中央一号文:农村殡葬需要改革
首药控股:2023年半年度净利润约-9311万元
蓝帆医疗:公司拥有多种规格的防汛抢险包、应急救援包
北京赚钱老家花,一月净赚两万八
上海机场白云机场因传言双双跌停,两机场回应!背后是免税市场格局变天
首届石窟寺保护国际论坛在大足区落下帷幕
[病娇/逆推]被病娇仙子掌控的我不甘堕落(8)
今日问政(142)丨游客反映四姑娘山个别商户态度不好,回应:开展服务提升培训
广东横琴减免税27亿元支持企业创新
第十八届中国长春电影节“金鹿奖”入围影片名单公布
第五届中国质量大会将举行 将发布《成都质量倡议》
前7个月中国对其他金砖国家进出口同比增长19.1%
黑龙江省甘南县发布雷雨大风黄色预警
寻找结界原神三 原神结界在哪找
《机兵大乱战》登陆Steam 肉鸽机甲动作新游
“报志愿不要听网红忽悠”,张雪峰发言再引争议,网友表示不满
消息称Arm 2022财年营收下降1%至26.8亿美元
《好像也没那么热血沸腾》魏翔王智带队赢下快乐
割美国人韭菜,还中国人债,贾跃亭不坑穷人,不卖50万的低价车
【南篱/指南】08.21原油反弹,黄金潜伏!
短中期利好政策持续推出,券商ETF(512000)基金经理&机构如何看券商板块后市行情?
欧英日通胀水平仍不乐观 美国或选择更多加息
增持回购队伍扩容 上市公司传递信心暖流
看好A股中长期配置价值 超千亿元资金借助ETF入市
8月21日华西村涤纶短纤价格上调
8月21日上海地区钴粉报价趋稳
生产a产品领用材料会计分录 领用材料会计分录
大牙烂了只剩一点空壳了怎么办 补牙齿痛不痛
Canon LBP2900驱动程序(canon lbp2900驱动)
男文科生适合读的大专 男文科生学什么专业好
最新!天津大清河洪水预警和应急响应,降级!
西宁:灵活就业人员社保补贴开始申报
三星S24 Ultra渲染图曝光 采用钛金属边框 颜值在线
兴安军分区举办全盟第六届群众性练兵比武竞赛
走进新农村 唱响新生活——扶风县乡村振兴选调生合力小组开展文化振兴帮扶活动
韩国这次丢脸是丢到整个地球村了
中报速递|中海物业上半年收益约72亿港元,同比增长超两成
豫皖“五港联动” 江淮运河九条集装箱航线开航
男高音歌唱家戴玉强任郑州大学河南音乐学院院长
武汉华夏医院不透明消费
10086(关于10086的介绍)
上半年国行Switch人气榜出炉:《只只大冒险》最受欢迎
广州市天河区市场监管局开展隐形眼镜及护理液专项检查
2023中国杏花村国际酒业博览会开幕
DarkandDarker哥布林战士是什么怪物
惠城区教育局:将对南都曝光存在乱象的校外培训机构进行处罚
蒋剑青(关于蒋剑青简述)
鹤壁经济技术开发区:消防救援大队消防知识进军训 应急演练筑平安
岳阳海事聚力船舶污染防治 纵深推进“夏季攻势”
开封市共同缔造推进垃圾分类协商会召开
说说金属元素的一些性质
笔墨书廉洁、清风话家训,武汉花楼社区妇联让清廉之风进社区入人心
汾酒启动“不同贮存环境对清香型白酒品质影响的研究”
2023年08月21日[国产软件]涨停板金字塔
孙宏斌回到大本营
琼岛未来3天,依旧是阳光和雷阵雨搭配!
新款哪吒GT十月上市 CEO张勇:老车主“免费”换
青年人才住房问题怎么解决、旧房改造如何推进、老房加梯申请有什么新渠道?回应→
100元人民币在其他国家能干什么?
泰康人寿保险有限责任公司贵州黔东南中心支公司因存在违法违规行为被国家金融监督管理总局黔东南监管分局行政处罚
AI风起,光大保德信基金深度打造“AI+量化基本面”投资
谢霆锋16岁大儿子Lucas疑似交女友,对方年龄比妈妈张柏芝还大
办以色列商考签证的时候,签证官会问些什么问题呢?会问些很专业的问题吗?
电影《绝地追击》北京首映 真实!残酷!震撼!引全场观众泪目共鸣
三星折叠屏进一步“减重瘦身”
湘西州开展第二轮“两打”专项行动
道县召开打好安全生产翻身战、森林防灭火、城镇燃气和醇基燃料整治暨监管执法工作调度会议
顺丰控股向港交所提交上市申请书
博睿数据一致行动协议不续签 被问询是否为分散减持
亚马逊英国上调当日达订单免配送费门槛
社保从多少岁开始缴纳划算?
强管理 治乱象 树标兵 西安市出租汽车行业启动服务质量提升三年行动
手机游戏手柄怎么用?手机游戏手柄详细介绍 手机游戏手柄使用说明
他吃了一顿饱饭后发现自己没带钱,当了皇帝后,他是如何报恩的?
江西再生稻测产验收 亩产超900公斤
超700亿市值股份明日解禁!联影医疗限售股股东浮盈达19%
郁结于心是滋养肿瘤的沃土,医书的记载不可不信,二者有何关联
暴跌47%!《中国好声音》母公司市值蒸发
打造新阶及青年人专属篮球运动品牌 厦门集美将举行首届“新BA”篮球联赛
特别关心查询入口官网(特别关心)
恭喜长沙TEC勇夺2023和平精英职业联赛夏季赛总冠军
2023山西临汾襄汾县事业单位招聘(教师岗位)资格复审公告
微光股份:部分信托产品逾期兑付
发电侧新型储能如何盘好经济账?
旧桥拆解施工两年多,郑州彩虹桥有望国庆节通车
中广核电力:“20广核电力MTN001”将于8月26日到期兑付
白云机场(600004.SH)澄清:白云机场与中免没有探讨过扣点调整的问题
电动自行车爆燃瞬间有多恐怖?锂电池过充3分钟即可升温900℃
三上真司的iPhone被偷了:网友为其出招
济南第三座万达广场,有最新进展
新化县南山村发放5.58万元奖学助学金
福建省召开“迁台记忆”档案文献征集保护工作推进会
AI主题能否不改长期趋势?浦银安盛投资方案把握“人工智能下半场”
杭州人,你的快递可能是无人车送的
RedmiK70系列已经现身IMEI数据库
那英上海演唱会(一个人的故事-1999年那英演唱歌曲简介)
消费业态不断多元化 千年古镇改造升级迎来新生机