版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、selinux酉己置語言SELinux策略配置語言SELinux策略配置語言策略是一套指導SELinux安全引擎計算安全決策的規(guī)那么,它定義了文件客體的類型、進 程的域、使用限制進入域的角色及訪問許可的規(guī)那么表達式等。策略的源代碼用SELinux配置 語言進行描述。1 .主體和客體主體(subject)和客體(object)是指系統(tǒng)中的元素,主體是訪問客體的進程,客體 是系統(tǒng)中的一類實體,在系統(tǒng)中定義好了30種不同的客體類別(class ),每個class有定義 好的許可。由etc/security/selinux/src/policy/flask/security_dasses中有class
2、的定義, SELinux定義了30個class ,列出如下:security process system capability filesystemfile dir fd lnk_file chr_file blk_file sock_filefifo_file socket tcp_socke tudp_socket msgq semmsgshm ipcnode netif netlink_socket packet_socketkey_socket rawip_socket unix_stream_socketunix_dgram_socket passwd每個dass都定義了操作許可,
3、如:客體file有19個操作許可,列出如下:ioctl read write create getattr setattr lock relabelfromrelabelto append unlink link rename execute swaponquotaon mounton execute_no_trans entrypointu2 op user_setrl op role_setr2 op role_settl op type_sett2 op type_set表示式中的操作符有not、and、or、二、!二等,role_op還包括dominance (域化)操作符。下面是限制
4、的樣例:例1 :限制進程域轉移下面語句限制進程域轉移的能力,類型轉移前后進程的角色一致,或者,進程有類型為privroleoconstrain process transition( rl = r2 or tl = privrole);例2 :限制標識客體下面的語句限制標識客體的能力,即標識客體時,標識前后客體的用戶身份一致或者標識前 進程的域為privowner。constrain dir_file_class_set create relabelto relabelfrom (ul = u2 or tl = privowner);constrain socket_class_set cre
5、ate relabelto relabelfrom (ul = u2 or tl = privowner);標識安全上下文標識安全上下文.給SID定義上下文語5去:sid sidjdentifiers ecurity_contextsid_identifier是以前申明的 SID名,security_context user:role:typeo一些策略庫預定義的SID在policy/initial_sid_contexts中,.文件系統(tǒng)的標識行為當文件系統(tǒng)被SELinux內(nèi)核掛接(mount)上時,安全服務器決定給基于filesystem類型的 文件系統(tǒng)里的節(jié)點合適的標識行為。一個files
6、ystem類型的標識行為可以用fs_use配置或用 genfs_contexts進行配置。如果在策略里沒有給filesystem類型指定標識行為,文件系統(tǒng)的 所有節(jié)點將用unlabeled初始化的SID的安全上下文標識。對于有唯一且永久的節(jié)點號的傳統(tǒng)文件系統(tǒng)來說,SELinux用一個永久的標識映射來決定文 件系統(tǒng)內(nèi)的節(jié)點的安全上下文和文件系統(tǒng)本身的安全上下文。這個行為用fs_use_psid來標 明,對于代表管道和socket對象的偽文件系統(tǒng),SE Linux常指定創(chuàng)立進程的上下文給代表對象的 節(jié)點。這個行為用fs_use_task來聲明。其中安全上下文是文件系統(tǒng)本身用到的。pipefs和so
7、ckfs是指哪一種文件系統(tǒng)。對于代表偽終端和共享內(nèi)存對象的偽文件系統(tǒng),SE Linux常指定從創(chuàng)立進程的上下文和與文 件系統(tǒng)類型相關的上下文中派生出上下文。派生出的上下文由配置中的類型轉移來決定。行 為由fs_use_trans來聲明。.指定文件系統(tǒng)上下文對于不支持永久標識映射的文件系統(tǒng),或不能用一個固定的由fs_use定義的標識的文件系 統(tǒng),genfscon配置可用來指定文件系統(tǒng)或文件路徑或文件的安全上下文。文件系統(tǒng)對象上 下文與文件系統(tǒng)的根目錄一致。在policy/genfs_contexts中有使用genfscon的例子。genfscon的語法是: genfscon fs_type pa
8、thprefix -file_type context其中,pathprefix是對象名字的局部路徑名,file_type是可選的文件類型定義b, c, d, p, I, s, 或-(看shell命令Is的選項)。.網(wǎng)絡對象上下文網(wǎng)絡對象上下文配置允許為端口、接口和節(jié)點定義安全上下文。其中網(wǎng)絡接口有兩個相關的 安全上下文:接口的上下文和接口上接收到的沒標識包的默認上下文。.文件上下文配置文件上下文配置位于policy/file_contexts目錄下,用來做永久的標識映射,可以在policy 目錄運行make relabel可更新或創(chuàng)立標識映射。boolean及條件描述語句boolean及條件
9、描述語句. booleans是策略中聲明的參數(shù),值是true或fa Ise ,在運行時可以改變的。語法:bool name default.value;例:bool user_ping false;.條件描述語句:if (conditional expression) #有效的策略描述 else #有效的策略描述)例:允許用戶使用pingbool user_ping false;if (user_ping) domain.autoJransCunpriV-Userdomain, ping_exec_t, ping_t)# allow access to the terminalallow pi
10、ng_t ttyfileptyfile: chr_file rw_file_perms;)3 .查看和設置boolean通過selinuxfs文件系統(tǒng)在/selinux/booleans和 /selinux/commit_pending_bools中人工設置。用show_bools命令顯示策略boolean的當前值。用set_bools命令設置boolean的值。.安全上下文與安全標識符SELinux給每個主體和客體定義了一個安全上下文(security context)。安全上下文 是對主體或客體安全的描述,其格式為:user:role:type ,如:root:sysadm_r:sysad
11、m_t, 其中root為用戶ID ( user) , sysadmj為角色ID (role ) , sysadmj為類型(type ) ID0 安全上下文代表了SELinux的訪問控制屬性。安全標識符(security identifier,簡稱SID ) 是內(nèi)核中激活的安全上下文的序號。一般情況下,多個屬性的組合形成類型,多個類型的組合形成角色,多個角色的組合形 成用戶。有的屬性也可能覆蓋多個類型的范圍,在安全上下文中最重要的是類型。在文件系統(tǒng)中的每個文件或目錄、網(wǎng)絡的端口等都指定了一個安全上下文,安全策略那么 給出了各個安全上下文之間作用的規(guī)那么。例如:Spo I icy/f i Ie_c
12、o ntexts/prog ra m/ch root.f c,文件ch root的安全上下文被定 義如下:/usr/sbin/chroot system_u:object_r:chroot_exec_t.類型和類型屬性一個進程的類型(type )又稱為域dormain ,客體的角色常稱為object,。類型在策略 管理中是用得最多的局部,特別是在類型增強(TE )中。每個用戶有相配的角色,角色有 與用戶組相關的域類型,而域類型又指定了對客體類型的訪問控制權限。類型的屬性(Type Attributes )是與一組類型相關的概念。它在TE規(guī)那么里可代替類型, 類型、別名、類型的屬性共享同一個名字
13、空間。類型屬性定義的語法如下:type type_namealiasalias_name(s) ,attribl, . attribn;例如:type passwd_exec_t, file_type, sysadmfile, exec_type;其含義是:將屬性file_type、sysadmfile和exejtype定義給類型passwd_exec_t。. TE模型和RBAC模型TE模型給進程和客體提供了良好的顆??刂?。RBAC提供了高層次的簡化用戶管理。 SELinux安全模型是TE模型和RBAC模型的聯(lián)合體。TE模型是支持程序運行和域轉移的強大類型控制,主體為運行的進程,進程為域類型。
14、 TE訪問矩陣定義了域可以訪問什么類型的客體,還定義了域類型轉移。SELinux類型轉移或 訪問控制基于一對安全上下文和類型的class。RBAC是基于角色的訪問控制(Role-based Access Control)模型,傳統(tǒng)的RBAC模型 是對角色進行授權,然后將一個或多個角色分配給一個授權用戶。SELinux的RBAC模型是: 給一個域類型指定授權然后將域類型指定給角色相一個或多個角色指定給一個授權用戶。例如:root:sysadm_r:sysadm_t中的sysadm_r就是角色。在每個安全上下文中有一個 角色ID ,對主體來說,它代表了主體當前的角色,對客體來說,角色典型值為obj
15、ect/ ,角 色對客體來說沒意義。TE規(guī)那么的描述TE規(guī)那么的描述主體對客體的訪問在規(guī)那么中需要有四個要素,分別說明如下:源類型(source type ):它是主體或者域(一個進程)的類型。目標類型(target type ):它是客體的類型。對象類別(class ):它是訪問申請的某一類別資源,如:file。許可(permission ):表示主體對客體訪問時允許的操作類型。如:read。TE規(guī)那么是策略中的主要局部,它包括1 .屬性的定義屬性(Attribute )是具有相似特征的安全類型的組,它是一項工作(如:privmodule ) 的域類型或者系統(tǒng)中一類客體的所有類型(如:pro
16、c.fs ),屬性是從使用者角度考慮的一 項特性屬性名可在策略配置中一直使用,屬性名與類型在同一個名字空間中存在。但一個屬性 名不能放在安全上下文的類型的位置上。屬性對可選的MLS策略來說很重要,它的定義樣 例如下:attribute domain;#這個屬性代表了能指定給進程的每種類型attribute privuser;#代表能改變它的selinux用戶IDattribute privrole;#代表能改變它的selinux角色IDattribute privmodule;# 代表能運行 mod probeattribute privmem;#代表能訪問內(nèi)核內(nèi)存設備attribute pr
17、oc_fs;#能指定給/proc下文件的所有類型下面說明一些非常有用的屬性:) dcontent屬性 dcontent將與Apache 的策略相關的各種類型組合在一起。它幫助 Apache 的PHP腳本蘸用 d的帶有content字符的類型。) file_type屬性file_type用于指定給文件的所有類型,當域訪問所有的文件類型時,使用它是方便 的。屬性file_type包括超過170種類型。)屬性netif_type, port_type和node_type這些屬性與域的網(wǎng)絡活動有關。netif_type表示與網(wǎng)絡接口相關的類型,允許策略控制 在一個接口的發(fā)送、接收和其他操作。) fs_
18、type屬性fs_type標識指定給文件系統(tǒng)的所有類型,它允許大多數(shù)域獲得全部文件系統(tǒng)的統(tǒng) 計信息,一些特殊的域可以掛接任何文件系統(tǒng)。) exec_type屬性exe jty pe是指定給可執(zhí)行條目的所有類型的集合。) domain屬性domain用于進程的所有類型,用來識別SELinux的域,在其他類型的強制系統(tǒng)中, 域可能與類型分開使用,在SELinux中,域是具有domain屬性的基本類型。這個屬性允許 規(guī)那么應用到所有的域。如:init發(fā)送信號到所有的進程。) reserved_port_type屬性reserved_port_type標識任1可一個保存網(wǎng)絡商品的所有類型。保存端口的編
19、號小 于1024。.類型的定義類型在它使用之前必須定義,定義的語法如下:type aliases attributes;類型定義的樣例如下: d_config_t是一個系統(tǒng)管理文件的類型type d_config_t, file_type, sysadmfile; d_port_t是保存的端口,端口號小于1024type _port_t, port_type, reserved_port_type;域是用于進程的類型,由它的domain屬性決定類型。同一類型可以用于進程本身和與 之相關的/proc文件系統(tǒng)中文件。通常,域用作操作的源上下文,域是操作者。域還可用作 客體上下文,如:當init給一
20、個域發(fā)送信號時,域作為客體。域的數(shù)量和種類決定了安全策略的復雜性。更多的域意味著更好的安全控制,也意味著 配置和維護的困難。. TE訪問向量規(guī)那么(TE Access Vector Rules )訪問向量(Access vectors ,AVs )規(guī)那么允許域訪問各種系統(tǒng)客體,一個AV是一套許可。一個基本的AV規(guī)那么是主體和客體的類型對,AV規(guī)那么的語法如下: : 策略強制引擎認為所有的AV規(guī)那么由兩個類型、一個類別(class )和一個訪問許可集組 成。AV有以下四種規(guī)那么類型,即在以下四種設置:allow表示允許主體對客體執(zhí)行允許的操作。neverallow表示不允許主體對客體執(zhí)行指定的操
21、作。auditallow 表示允許操作并記錄訪問決策信息。dontaudit表示不記錄違反規(guī)那么的決策信息,且違反規(guī)那么不影響運行。. log消息格式當SELinux不允許一個操作時,將產(chǎn)生一個給審核log的否決消息,log消息一般記錄在 文件/var/log/messages 中。. TE轉移規(guī)那么(TE Transition Rules )域轉移運行一個文件,產(chǎn)生一個運行在新域的新進程,類型轉移將一個新客體標識為不 同于源類型的類型。類型轉移的語法如下:type_transition : 域轉移語法如下:type_transition : process 類型轉移規(guī)那么定義了不同域文件的類
22、型轉移。如果進程顯式請求一個特殊上下文,域轉 移默認時能被覆蓋。文件的類型轉移默認時實際上從父親繼承,即新的文件從它的父目錄繼承上下文,除非 有一個明確的規(guī)那么指明它從創(chuàng)立者繼承。例如:目錄/類型為user_home_dir_t,策略定義 了在帶有這個類型的目錄中創(chuàng)立的文件用user_home_t標識。. m4宏定義SELinux使用m4宏語言寫可重用的策略規(guī)那么。m4宏定義提供了易用的操作組合,它本 身不屬于SELinux策略語言的。RBAC規(guī)那么的描述RBAC規(guī)那么的描述在target策略中,每個域運行在單個角色,target策略沒有使用用戶和角色,但strict 策略中使用了用戶和角色。
23、.角色的定義角色的定義語法如下:role types ;角色定義樣例如下:#允許管理者角色訪問域Idconfigrole sysadm_r types ldconfig_t;角色能包含其他角色,繼承包含的角色的權限,這種繼承稱為角色域化。角色域化沒有用在targted策略中。角色域化的樣例如下:# mastej吆性承sysadm_rluser_r角色的權限 dominance role master_r role sysadm_r; role user_r;.角色轉移多個域組成一個角色,每個進程有一個角色,它用系統(tǒng)角色system,啟動。用戶在注冊時 獲得一個角色,使用su時用戶在獲得新的UI
24、D同時,還獲得新的角色。當然,還可以保持 UID不變而改變角色,這種做法較少見。一般域經(jīng)常變化但角色很少變化,特別是在targeted 策略中。改變角色的另一個方法是角色轉移(role.transition ),角色轉移用得較少,當前 僅用在stricter策略中管理者角色以不同的角色啟動后臺,角色轉移樣例如下:#當一個管理者執(zhí)行一個$l_exec_t類型的進程時,進程從sysadm轉移到system, role_transition sysadm_r $l_exec_t system_r;角色允許的語法如下:allow ;角色允許的樣例列出如下:#允許角色user_r轉移到新角色 allow user_r sysa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川西南航空職業(yè)學院《視傳藝術考察》2023-2024學年第一學期期末試卷
- 2024年花卉產(chǎn)業(yè)扶貧項目合作合同協(xié)議3篇
- 二零二五年度按揭貸款房屋改造貸款合同范本2篇
- 2024影視行業(yè)人才中介服務合同
- 二零二五版戶外廣告牌制作、安裝與維護全流程服務合同3篇
- 紹興文理學院元培學院《影視動畫海報設計》2023-2024學年第一學期期末試卷
- 個人所得稅代扣代繳協(xié)議(2024年版)
- 二零二五年度水泥管行業(yè)市場競爭策略合同
- 二零二五年度專業(yè)安保公司員工勞動合同范本2篇
- 山東輕工職業(yè)學院《期貨投資》2023-2024學年第一學期期末試卷
- 2023年德宏隴川縣人民法院招聘聘用制書記員考試真題及答案
- 第四章-國防動員
- 酒店行業(yè)pest模型分析
- 汽車經(jīng)營計劃書
- 2024屆山東省濱州無棣縣聯(lián)考物理九上期末綜合測試試題含解析
- 兩高環(huán)境污染罪司法解釋解讀
- 部編版小學六年級語文上冊第六單元集體備課記錄表
- 肩袖損傷的護理查房課件
- 財務情況說明書
- 無人值守汽車衡解決方案
- 動脈瘤介入術后護理查房課件
評論
0/150
提交評論