成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

在SELinux中基于角色的訪問控制(1)
2008-03-03   

基于角色的訪問控制(RBAC)是常用的簡化管理的安全模式,通過給用戶指定角色,然后再給角色授權來實現,RBAC在SELinux中扮演用戶與基礎類型加強模式(TE)之間的抽象層,它提供非常細粒度的訪問控制,但是管理難度并沒有降低,研究如何將SELinux上下文的3部分(策略、內核和用戶空間)協同工作以強制使用RBAC和限制Linux用戶在TE策略中。

在SELinux下安全策略的實施是在基于角色的訪問控制(RBAC)下的類型增強(TE),(SELinux也能實現多級安全(MLS)的實施,MLS在本文范圍之外),類型增強(TE)是最常見的,但也是最不容易理解的,因為它強制實施更細粒度的許可:當某些東西因為異常訪問拒絕而遭到破壞時,類型增強(TE)是最可靠的,在TE中,一個進程的安全域(它的影響超過了系統)是由任務歷史和當前執行的程序決定的

RBAC的概念并不象TE一樣被經常提到,并且因為他與TE集成的原因,總是讓人難以理解,你通常會認為RBAC是按照用戶被分配的角色進行訪問的,從TE方面來說SELinux明確指出了基于角色的訪問,因此SELinux下RBAC的目標是允許基于角色的權限管理,然后限制一個角色的權利域,合成一個有效的安全上下文。

要知道這是如何工作的,請看一個簡單的現金帳簿會計系統是如何使用SELinux提供安全保護的,你將在兩個完全不同的環境(看這兩個環境相關的下載,附錄A)下看到一樣的解決方案:

在developerWorks網站上有一篇文章“從零開始SELinux”介紹了如何從零開始一個SELinux系統,這個系統顯示在內核和用戶空間里的部分是綁定在一起的。

Fedora Core 8 系統,Fedora Core 8 系統(寫本文時的最新版本)展示了SELinux與RBAC是如何高度地集成在一起的。

與角色一起工作

假設你已經要求一個庫房部門部署一套安全登記庫存會計系統,因為每天都進行現金帳簿,最終數量必須同時被出納和經理統計,因此我們首先定義兩個角色,出納和經理,然后我們將角色賦予了需要它的雇員,即賦予出納和經理。

在兩個系統上的策略文件或許會稍微不同,在兩個系統上都使用現金帳簿系統,數據一樣,所有數據存儲在/data目錄下,并且只能通過/bin/register.py程序進行訪問,register.py能同時被經理和出納使用,用于存儲數值,為了保持代碼簡潔,缺少一些特點,出納每天為他自己存儲現金帳簿值,經理能為其他雇員存儲數值,當出納與經理為同一個出納存儲相同的數值時,經理能夠提交這個數值。

在2007/12/12晚上9點,當出納Bob使用register.py存儲了一個數值109.95時,文件/data/cashier_r/bob/12-12-2007被創建,內容是"bob 09:00 109.95.",后來,經理Mary在9:25存儲了一個相同的數值,結果文件/data/cashier_r/bob/12-12-2007被覆蓋,內容為"mary 09:25 109.95.",最后,Mary在晚上9:27提交了這個數值,bob使用register.py提交后創建了文件/data/final/bob/12-12-2007,內容為"mary 09:27 bob mary 109.95."。

如果Bob和Mary對他們的數值都不同意,Mary將不能為Bob提交數值了,他不得不去找Bob協商,除非他們兩個都同意,否則這兩個數值都必須重新計算,重新運行register.py命令用前面的數值再計算一次,新的結果將附加到先前的結果后以便倉庫管理員稍后容易閱讀,bob使用/bin/register.py命令提交時將使用最后的那個數值而不是/data/cashier_r/bob/12-12-2007和/data/mgr_r/bob/12-12-2007。

注意:在這個例子中討論的代碼都為訪問控制需要使用了SELinux,我們的例子簡單地允許所有擁護都能完全往/data目錄下的文件和目錄中進行寫入訪問,在一個真實的部署環境中,你可能會想到使用DAC[譯者注:即傳統的linux權限控制,使用訪問控制列表ACL]許可來進行深度防御,所有經理都希望在/data/mgr_r/bob/和/data/final/bob/目錄下創建文件,牽涉到UNIX組權限的小心使用,但是更簡單的辦法是,完全依靠SELinux來實現強制訪問控制。

首先阻止經理和出納訪問/data目錄下的任何文件,除非通過register.py程序,實際上,Bob將以cashier_t類型登陸到角色cashier_r,但是cashier_t不能讀取/data目錄下的內容,為了能讀取,他必須進入cashier_register_t類型,進入后也只能執行/bin/register.py程序,類似地,Mary將以mgr_t登陸到角色mgr_r,但是他必須進入mgr_register_t類型后才能執行/bin/register.py程序來訪問/data目錄下的內容。

第一個訪問控制實際上發生在登陸的時候,PAM模塊認為Bob必須登陸到cashier_r角色,當在內核中的SELinux類型增強服務器拒絕同意bob_u:cashier_r:cashier_t進入bob_u:cashier_r:cashier_register_t時也會發生,除了執行cashier_exec_t類型的文件,cashier_exec_t是管理員僅僅為/bin/register.py指定的類型。

當register.py拒絕同意出納提交數據或為另一個用戶存儲數據時也會發生,將來通過SELinux策略進行加強,并且內核代碼也會加強策略的控制,它不允許cashier_register_t訪問/data/mgr_r或/data/final目錄下的文件。


共6頁: 1 [2] [3] [4] [5] [6] 下一頁
 第 1 頁:  第 2 頁:部署現金帳簿系統
 第 3 頁:更進一步研究類型增強(1)  第 4 頁:更進一步研究類型增強(2)
 第 5 頁:使用Fedora Core 8(1)  第 6 頁:使用Fedora Core 8(2)

熱詞搜索:

上一篇:用SELinux加強網絡安全(1)
下一篇:誤將系統進程當病毒 Vista受折磨遭崩潰

分享到: 收藏
主站蜘蛛池模板: 美国电影《贵夫人》| 大时代电视剧剧情介绍| 北京卫视电视节目单| xiuren秀人网最新地址| 小镇姑娘电影| 火舞俪人 电影| nhk新闻| 奖励员工的表扬通告怎么写| 香帅传奇| 囚禁空姐| 怎么做发射器| 杨英格| 陈妍希三级露全乳电影| 电影痴汉电车| 齐芳| 陈永标| 宋学士濂文言文翻译| 小小春| 抖音怎么开店卖东西| 动漫推荐深夜| 有毒的欲望:上瘾| 宁波电视台| 创业史全文阅读| 蒋昌义| 红海行动2在线观看西瓜影院| 第一财经电视直播观看| 家电维修资料| 看美女图片| 开创盛世| 暗夜与黎明电视连续剧| 团结就是力量歌词完整| 吉泽明步电影| 七十二小时| 182tv在线视频| 羞羞的影评| 公司减资从1000万减到10万| 深夜影院一级毛片| 张柏芝艳照无删减版| 萧明| 好像也没那么热血沸腾电影免费观看 | christie stevens|