免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 125836 | 回复: 54
打印 上一主题 下一主题

[内核入门] SELinux需求分析 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-08 11:15 |只看该作者 |倒序浏览
大家好!
    我是一名实习生,刚接触SELinux不久。
    刚来公司,领导安排我和另外一名实习生,利用SELinux增强linux 系统的安全性。领导也没给我们明确的需求,他让我们研究SELinux常见的应用,然后,自己定需求,再去实现这些需求。
    之前,我只是学习了SELinux 的系统架构,以及一些基本的策略语句语法。但对于如何去设计具体的实例应用,自己还很困惑。
    求大家给点宝贵的建议!谢谢!

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
2 [报告]
发表于 2014-07-08 14:21 |只看该作者
用户需求通常是站在用户的角度提的。
但这种通过已有功能来倒推需求的话,通常只需要把selinux的基本功能整理一下,梳理成需求就可以了,这就流于形式了。。。

论坛徽章:
0
3 [报告]
发表于 2014-07-08 15:16 |只看该作者
回复 2# humjb_1983


    嗯,谢谢,您是从宏观的角度给出的一个建议。但我们之前都是学习一些理论方面的知识,没有动手去配置策略,所以,对具体的操作,感觉无从下手。

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
4 [报告]
发表于 2014-07-08 17:24 |只看该作者
可以去找一些具体的案例,看看selinux到底能干嘛。。

论坛徽章:
20
CU大牛徽章
日期:2013-04-17 11:48:26羊年新春福章
日期:2015-03-10 22:39:202015年中国系统架构师大会
日期:2015-06-29 16:11:282015亚冠之平阳省
日期:2015-07-31 09:19:042015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-09-30 06:20:002015亚冠之柏太阳神
日期:2015-10-19 20:29:5915-16赛季CBA联赛之天津
日期:2016-11-29 14:03:4315-16赛季CBA联赛之北控
日期:2016-12-24 20:51:492015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-12 20:58:532014年中国系统架构师大会
日期:2014-10-14 15:59:00
5 [报告]
发表于 2014-07-08 17:57 |只看该作者
我给你一些需求:
1. 不允许所有的用户访问/etc/passwd文件。
2. 你自己创建一个进程,让所有用户在SELinux开启时都无法kill掉这个进程
3. 在/opt/openoffice目录下,安装openoffice,/opt/openoffice谁都不能访问
4. 在用户层通过命令,可以开启或是关闭SELinux的某个勾子函数

1.2.3 需求通过修改安全策略需求,4 需求编写程序来实现,不仅有用户层的修改,还有内核层的修改

论坛徽章:
0
6 [报告]
发表于 2014-07-10 10:16 |只看该作者
回复 4# humjb_1983


    恩,谢谢,我先去收集一些。

论坛徽章:
0
7 [报告]
发表于 2014-07-10 10:17 |只看该作者
回复 5# beyondfly


    恩,非常感谢,这样,我的目标会更明确了。

论坛徽章:
3
双鱼座
日期:2013-09-04 19:47:39天蝎座
日期:2013-12-11 20:30:532015年亚洲杯之澳大利亚
日期:2015-04-20 00:28:02
8 [报告]
发表于 2014-07-16 00:19 |只看该作者
    首先你可以假设你有一个程序 1)这个应用程序默认存放在那个目录下 ,我给这个文件打什么样的Label,执行这个程序后会切换到哪个域 2) 这个程序执行时会不会Fork,能不能接收信号。如果会fork,能接收信号,就必须写授权语句授权 3)这个应用程序能不能卸载驱动,能不能挂载文件系统等等.  
    每一步都需要考虑。我有一次写一个授权应用程序执行的策略模块,就因为没有授权指定域访问/proc/<pid>文件的权限,结果执行程序总是提示权限拒绝。
     
    其次确定你selinux要用在哪里?是在嵌入式产品上,还是在桌面环境上。

    如果是桌面环境,就直接学习selinux社区开发的reference policy。可以说社区已经提供了大部分应用程序的SElinux策略,你所做的就是为自己需要的应用程序加一个新的模块,只要调用其他模块提供的接口。可实现简单策略模块如1)只有A用户能够打开文件C,只有B用户能打开文件D。A用户执行的进程能够访问文件C,B用户打开的进程能够访问D。 或者2)所有用户都可以执行程序C,但执行后的进程不继承用户的域,自动切换到特定域,以此限制程序的权限 。3)限制进程加载卸载驱动。相关资料参考Dan walsh的博客, Reference policy的官网,RP手册。

    如果是嵌入式环境,在你动手写策略模块之前,则要学习怎么移植selinux到目标平台中,然后考虑是裁剪NSA的Example Policy还是裁剪Reference policy来满足嵌入式环境的基本需求。基本可以说要靠自己动手来丰衣足食。SEAndroid和大部分嵌入式设备都使用NSA的Example policy来进行裁剪。相关资料可参考 Security Enhanced Linux on Embedded Systems, 或者 SEAndroid的相关文档。

评分

参与人数 1可用积分 +6 收起 理由
send_linux + 6

查看全部评分

论坛徽章:
20
CU大牛徽章
日期:2013-04-17 11:48:26羊年新春福章
日期:2015-03-10 22:39:202015年中国系统架构师大会
日期:2015-06-29 16:11:282015亚冠之平阳省
日期:2015-07-31 09:19:042015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-09-30 06:20:002015亚冠之柏太阳神
日期:2015-10-19 20:29:5915-16赛季CBA联赛之天津
日期:2016-11-29 14:03:4315-16赛季CBA联赛之北控
日期:2016-12-24 20:51:492015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-12 20:58:532014年中国系统架构师大会
日期:2014-10-14 15:59:00
9 [报告]
发表于 2014-07-16 09:21 |只看该作者
回复 8# kiongf


    顶,哥们是大陆地区为数不多开发过SELinux的人。

论坛徽章:
3
双鱼座
日期:2013-09-04 19:47:39天蝎座
日期:2013-12-11 20:30:532015年亚洲杯之澳大利亚
日期:2015-04-20 00:28:02
10 [报告]
发表于 2014-07-17 21:20 |只看该作者
回复 9# beyondfly


    我才刚入门...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP