




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、selinux酉己置語(yǔ)言SELinux策略配置語(yǔ)言SELinux策略配置語(yǔ)言策略是一套指導(dǎo)SELinux安全引擎計(jì)算安全決策的規(guī)那么,它定義了文件客體的類(lèi)型、進(jìn) 程的域、使用限制進(jìn)入域的角色及訪問(wèn)許可的規(guī)那么表達(dá)式等。策略的源代碼用SELinux配置 語(yǔ)言進(jìn)行描述。1 .主體和客體主體(subject)和客體(object)是指系統(tǒng)中的元素,主體是訪問(wèn)客體的進(jìn)程,客體 是系統(tǒng)中的一類(lèi)實(shí)體,在系統(tǒng)中定義好了30種不同的客體類(lèi)別(class ),每個(gè)class有定義 好的許可。由etc/security/selinux/src/policy/flask/security_dasses中有class
2、的定義, SELinux定義了30個(gè)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每個(gè)dass都定義了操作許可,
3、如:客體file有19個(gè)操作許可,列出如下: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 :限制進(jìn)程域轉(zhuǎn)移下面語(yǔ)句限制進(jìn)程域轉(zhuǎn)移的能力,類(lèi)型轉(zhuǎn)移前后進(jìn)程的角色一致,或者,進(jìn)程有類(lèi)型為privroleoconstrain process transition( rl = r2 or tl = privrole);例2 :限制標(biāo)識(shí)客體下面的語(yǔ)句限制標(biāo)識(shí)客體的能力,即標(biāo)識(shí)客體時(shí),標(biāo)識(shí)前后客體的用戶(hù)身份一致或者標(biāo)識(shí)前 進(jìn)程的域?yàn)閜rivowner。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);標(biāo)識(shí)安全上下文標(biāo)識(shí)安全上下文.給SID定義上下文語(yǔ)5去:sid sidjdentifiers ecurity_contextsid_identifier是以前申明的 SID名,security_context user:role:typeo一些策略庫(kù)預(yù)定義的SID在policy/initial_sid_contexts中,.文件系統(tǒng)的標(biāo)識(shí)行為當(dāng)文件系統(tǒng)被SELinux內(nèi)核掛接(mount)上時(shí),安全服務(wù)器決定給基于filesystem類(lèi)型的 文件系統(tǒng)里的節(jié)點(diǎn)合適的標(biāo)識(shí)行為。一個(gè)files
6、ystem類(lèi)型的標(biāo)識(shí)行為可以用fs_use配置或用 genfs_contexts進(jìn)行配置。如果在策略里沒(méi)有給filesystem類(lèi)型指定標(biāo)識(shí)行為,文件系統(tǒng)的 所有節(jié)點(diǎn)將用unlabeled初始化的SID的安全上下文標(biāo)識(shí)。對(duì)于有唯一且永久的節(jié)點(diǎn)號(hào)的傳統(tǒng)文件系統(tǒng)來(lái)說(shuō),SELinux用一個(gè)永久的標(biāo)識(shí)映射來(lái)決定文 件系統(tǒng)內(nèi)的節(jié)點(diǎn)的安全上下文和文件系統(tǒng)本身的安全上下文。這個(gè)行為用fs_use_psid來(lái)標(biāo) 明,對(duì)于代表管道和socket對(duì)象的偽文件系統(tǒng),SE Linux常指定創(chuàng)立進(jìn)程的上下文給代表對(duì)象的 節(jié)點(diǎn)。這個(gè)行為用fs_use_task來(lái)聲明。其中安全上下文是文件系統(tǒng)本身用到的。pipefs和so
7、ckfs是指哪一種文件系統(tǒng)。對(duì)于代表偽終端和共享內(nèi)存對(duì)象的偽文件系統(tǒng),SE Linux常指定從創(chuàng)立進(jìn)程的上下文和與文 件系統(tǒng)類(lèi)型相關(guān)的上下文中派生出上下文。派生出的上下文由配置中的類(lèi)型轉(zhuǎn)移來(lái)決定。行 為由fs_use_trans來(lái)聲明。.指定文件系統(tǒng)上下文對(duì)于不支持永久標(biāo)識(shí)映射的文件系統(tǒng),或不能用一個(gè)固定的由fs_use定義的標(biāo)識(shí)的文件系 統(tǒng),genfscon配置可用來(lái)指定文件系統(tǒng)或文件路徑或文件的安全上下文。文件系統(tǒng)對(duì)象上 下文與文件系統(tǒng)的根目錄一致。在policy/genfs_contexts中有使用genfscon的例子。genfscon的語(yǔ)法是: genfscon fs_type pa
8、thprefix -file_type context其中,pathprefix是對(duì)象名字的局部路徑名,file_type是可選的文件類(lèi)型定義b, c, d, p, I, s, 或-(看shell命令I(lǐng)s的選項(xiàng))。.網(wǎng)絡(luò)對(duì)象上下文網(wǎng)絡(luò)對(duì)象上下文配置允許為端口、接口和節(jié)點(diǎn)定義安全上下文。其中網(wǎng)絡(luò)接口有兩個(gè)相關(guān)的 安全上下文:接口的上下文和接口上接收到的沒(méi)標(biāo)識(shí)包的默認(rèn)上下文。.文件上下文配置文件上下文配置位于policy/file_contexts目錄下,用來(lái)做永久的標(biāo)識(shí)映射,可以在policy 目錄運(yùn)行make relabel可更新或創(chuàng)立標(biāo)識(shí)映射。boolean及條件描述語(yǔ)句boolean及條件
9、描述語(yǔ)句. booleans是策略中聲明的參數(shù),值是true或fa Ise ,在運(yùn)行時(shí)可以改變的。語(yǔ)法:bool name default.value;例:bool user_ping false;.條件描述語(yǔ)句:if (conditional expression) #有效的策略描述 else #有效的策略描述)例:允許用戶(hù)使用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 .查看和設(shè)置boolean通過(guò)selinuxfs文件系統(tǒng)在/selinux/booleans和 /selinux/commit_pending_bools中人工設(shè)置。用show_bools命令顯示策略boolean的當(dāng)前值。用set_bools命令設(shè)置boolean的值。.安全上下文與安全標(biāo)識(shí)符SELinux給每個(gè)主體和客體定義了一個(gè)安全上下文(security context)。安全上下文 是對(duì)主體或客體安全的描述,其格式為:user:role:type ,如:root:sysadm_r:sysad
11、m_t, 其中root為用戶(hù)ID ( user) , sysadmj為角色I(xiàn)D (role ) , sysadmj為類(lèi)型(type ) ID0 安全上下文代表了SELinux的訪問(wèn)控制屬性。安全標(biāo)識(shí)符(security identifier,簡(jiǎn)稱(chēng)SID ) 是內(nèi)核中激活的安全上下文的序號(hào)。一般情況下,多個(gè)屬性的組合形成類(lèi)型,多個(gè)類(lèi)型的組合形成角色,多個(gè)角色的組合形 成用戶(hù)。有的屬性也可能覆蓋多個(gè)類(lèi)型的范圍,在安全上下文中最重要的是類(lèi)型。在文件系統(tǒng)中的每個(gè)文件或目錄、網(wǎng)絡(luò)的端口等都指定了一個(gè)安全上下文,安全策略那么 給出了各個(gè)安全上下文之間作用的規(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.類(lèi)型和類(lèi)型屬性一個(gè)進(jìn)程的類(lèi)型(type )又稱(chēng)為域dormain ,客體的角色常稱(chēng)為object,。類(lèi)型在策略 管理中是用得最多的局部,特別是在類(lèi)型增強(qiáng)(TE )中。每個(gè)用戶(hù)有相配的角色,角色有 與用戶(hù)組相關(guān)的域類(lèi)型,而域類(lèi)型又指定了對(duì)客體類(lèi)型的訪問(wèn)控制權(quán)限。類(lèi)型的屬性(Type Attributes )是與一組類(lèi)型相關(guān)的概念。它在TE規(guī)那么里可代替類(lèi)型, 類(lèi)型、別名、類(lèi)型的屬性共享同一個(gè)名字
13、空間。類(lèi)型屬性定義的語(yǔ)法如下:type type_namealiasalias_name(s) ,attribl, . attribn;例如:type passwd_exec_t, file_type, sysadmfile, exec_type;其含義是:將屬性file_type、sysadmfile和exejtype定義給類(lèi)型passwd_exec_t。. TE模型和RBAC模型TE模型給進(jìn)程和客體提供了良好的顆??刂啤BAC提供了高層次的簡(jiǎn)化用戶(hù)管理。 SELinux安全模型是TE模型和RBAC模型的聯(lián)合體。TE模型是支持程序運(yùn)行和域轉(zhuǎn)移的強(qiáng)大類(lèi)型控制,主體為運(yùn)行的進(jìn)程,進(jìn)程為域類(lèi)型。
14、 TE訪問(wèn)矩陣定義了域可以訪問(wèn)什么類(lèi)型的客體,還定義了域類(lèi)型轉(zhuǎn)移。SELinux類(lèi)型轉(zhuǎn)移或 訪問(wèn)控制基于一對(duì)安全上下文和類(lèi)型的class。RBAC是基于角色的訪問(wèn)控制(Role-based Access Control)模型,傳統(tǒng)的RBAC模型 是對(duì)角色進(jìn)行授權(quán),然后將一個(gè)或多個(gè)角色分配給一個(gè)授權(quán)用戶(hù)。SELinux的RBAC模型是: 給一個(gè)域類(lèi)型指定授權(quán)然后將域類(lèi)型指定給角色相一個(gè)或多個(gè)角色指定給一個(gè)授權(quán)用戶(hù)。例如:root:sysadm_r:sysadm_t中的sysadm_r就是角色。在每個(gè)安全上下文中有一個(gè) 角色I(xiàn)D ,對(duì)主體來(lái)說(shuō),它代表了主體當(dāng)前的角色,對(duì)客體來(lái)說(shuō),角色典型值為obj
15、ect/ ,角 色對(duì)客體來(lái)說(shuō)沒(méi)意義。TE規(guī)那么的描述TE規(guī)那么的描述主體對(duì)客體的訪問(wèn)在規(guī)那么中需要有四個(gè)要素,分別說(shuō)明如下:源類(lèi)型(source type ):它是主體或者域(一個(gè)進(jìn)程)的類(lèi)型。目標(biāo)類(lèi)型(target type ):它是客體的類(lèi)型。對(duì)象類(lèi)別(class ):它是訪問(wèn)申請(qǐng)的某一類(lèi)別資源,如:file。許可(permission ):表示主體對(duì)客體訪問(wèn)時(shí)允許的操作類(lèi)型。如:read。TE規(guī)那么是策略中的主要局部,它包括1 .屬性的定義屬性(Attribute )是具有相似特征的安全類(lèi)型的組,它是一項(xiàng)工作(如:privmodule ) 的域類(lèi)型或者系統(tǒng)中一類(lèi)客體的所有類(lèi)型(如:pro
16、c.fs ),屬性是從使用者角度考慮的一 項(xiàng)特性屬性名可在策略配置中一直使用,屬性名與類(lèi)型在同一個(gè)名字空間中存在。但一個(gè)屬性 名不能放在安全上下文的類(lèi)型的位置上。屬性對(duì)可選的MLS策略來(lái)說(shuō)很重要,它的定義樣 例如下:attribute domain;#這個(gè)屬性代表了能指定給進(jìn)程的每種類(lèi)型attribute privuser;#代表能改變它的selinux用戶(hù)IDattribute privrole;#代表能改變它的selinux角色I(xiàn)Dattribute privmodule;# 代表能運(yùn)行 mod probeattribute privmem;#代表能訪問(wèn)內(nèi)核內(nèi)存設(shè)備attribute pr
17、oc_fs;#能指定給/proc下文件的所有類(lèi)型下面說(shuō)明一些非常有用的屬性:) dcontent屬性 dcontent將與Apache 的策略相關(guān)的各種類(lèi)型組合在一起。它幫助 Apache 的PHP腳本蘸用 d的帶有content字符的類(lèi)型。) file_type屬性file_type用于指定給文件的所有類(lèi)型,當(dāng)域訪問(wèn)所有的文件類(lèi)型時(shí),使用它是方便 的。屬性file_type包括超過(guò)170種類(lèi)型。)屬性netif_type, port_type和node_type這些屬性與域的網(wǎng)絡(luò)活動(dòng)有關(guān)。netif_type表示與網(wǎng)絡(luò)接口相關(guān)的類(lèi)型,允許策略控制 在一個(gè)接口的發(fā)送、接收和其他操作。) fs_
18、type屬性fs_type標(biāo)識(shí)指定給文件系統(tǒng)的所有類(lèi)型,它允許大多數(shù)域獲得全部文件系統(tǒng)的統(tǒng) 計(jì)信息,一些特殊的域可以掛接任何文件系統(tǒng)。) exec_type屬性exe jty pe是指定給可執(zhí)行條目的所有類(lèi)型的集合。) domain屬性domain用于進(jìn)程的所有類(lèi)型,用來(lái)識(shí)別SELinux的域,在其他類(lèi)型的強(qiáng)制系統(tǒng)中, 域可能與類(lèi)型分開(kāi)使用,在SELinux中,域是具有domain屬性的基本類(lèi)型。這個(gè)屬性允許 規(guī)那么應(yīng)用到所有的域。如:init發(fā)送信號(hào)到所有的進(jìn)程。) reserved_port_type屬性reserved_port_type標(biāo)識(shí)任1可一個(gè)保存網(wǎng)絡(luò)商品的所有類(lèi)型。保存端口的編
19、號(hào)小 于1024。.類(lèi)型的定義類(lèi)型在它使用之前必須定義,定義的語(yǔ)法如下:type aliases attributes;類(lèi)型定義的樣例如下: d_config_t是一個(gè)系統(tǒng)管理文件的類(lèi)型type d_config_t, file_type, sysadmfile; d_port_t是保存的端口,端口號(hào)小于1024type _port_t, port_type, reserved_port_type;域是用于進(jìn)程的類(lèi)型,由它的domain屬性決定類(lèi)型。同一類(lèi)型可以用于進(jìn)程本身和與 之相關(guān)的/proc文件系統(tǒng)中文件。通常,域用作操作的源上下文,域是操作者。域還可用作 客體上下文,如:當(dāng)init給一
20、個(gè)域發(fā)送信號(hào)時(shí),域作為客體。域的數(shù)量和種類(lèi)決定了安全策略的復(fù)雜性。更多的域意味著更好的安全控制,也意味著 配置和維護(hù)的困難。. TE訪問(wèn)向量規(guī)那么(TE Access Vector Rules )訪問(wèn)向量(Access vectors ,AVs )規(guī)那么允許域訪問(wèn)各種系統(tǒng)客體,一個(gè)AV是一套許可。一個(gè)基本的AV規(guī)那么是主體和客體的類(lèi)型對(duì),AV規(guī)那么的語(yǔ)法如下: : 策略強(qiáng)制引擎認(rèn)為所有的AV規(guī)那么由兩個(gè)類(lèi)型、一個(gè)類(lèi)別(class )和一個(gè)訪問(wèn)許可集組 成。AV有以下四種規(guī)那么類(lèi)型,即在以下四種設(shè)置:allow表示允許主體對(duì)客體執(zhí)行允許的操作。neverallow表示不允許主體對(duì)客體執(zhí)行指定的操
21、作。auditallow 表示允許操作并記錄訪問(wèn)決策信息。dontaudit表示不記錄違反規(guī)那么的決策信息,且違反規(guī)那么不影響運(yùn)行。. log消息格式當(dāng)SELinux不允許一個(gè)操作時(shí),將產(chǎn)生一個(gè)給審核log的否決消息,log消息一般記錄在 文件/var/log/messages 中。. TE轉(zhuǎn)移規(guī)那么(TE Transition Rules )域轉(zhuǎn)移運(yùn)行一個(gè)文件,產(chǎn)生一個(gè)運(yùn)行在新域的新進(jìn)程,類(lèi)型轉(zhuǎn)移將一個(gè)新客體標(biāo)識(shí)為不 同于源類(lèi)型的類(lèi)型。類(lèi)型轉(zhuǎn)移的語(yǔ)法如下:type_transition : 域轉(zhuǎn)移語(yǔ)法如下:type_transition : process 類(lèi)型轉(zhuǎn)移規(guī)那么定義了不同域文件的類(lèi)
22、型轉(zhuǎn)移。如果進(jìn)程顯式請(qǐng)求一個(gè)特殊上下文,域轉(zhuǎn) 移默認(rèn)時(shí)能被覆蓋。文件的類(lèi)型轉(zhuǎn)移默認(rèn)時(shí)實(shí)際上從父親繼承,即新的文件從它的父目錄繼承上下文,除非 有一個(gè)明確的規(guī)那么指明它從創(chuàng)立者繼承。例如:目錄/類(lèi)型為user_home_dir_t,策略定義 了在帶有這個(gè)類(lèi)型的目錄中創(chuàng)立的文件用user_home_t標(biāo)識(shí)。. m4宏定義SELinux使用m4宏語(yǔ)言寫(xiě)可重用的策略規(guī)那么。m4宏定義提供了易用的操作組合,它本 身不屬于SELinux策略語(yǔ)言的。RBAC規(guī)那么的描述RBAC規(guī)那么的描述在target策略中,每個(gè)域運(yùn)行在單個(gè)角色,target策略沒(méi)有使用用戶(hù)和角色,但strict 策略中使用了用戶(hù)和角色。
23、.角色的定義角色的定義語(yǔ)法如下:role types ;角色定義樣例如下:#允許管理者角色訪問(wèn)域Idconfigrole sysadm_r types ldconfig_t;角色能包含其他角色,繼承包含的角色的權(quán)限,這種繼承稱(chēng)為角色域化。角色域化沒(méi)有用在targted策略中。角色域化的樣例如下:# mastej吆性承sysadm_rluser_r角色的權(quán)限 dominance role master_r role sysadm_r; role user_r;.角色轉(zhuǎn)移多個(gè)域組成一個(gè)角色,每個(gè)進(jìn)程有一個(gè)角色,它用系統(tǒng)角色system,啟動(dòng)。用戶(hù)在注冊(cè)時(shí) 獲得一個(gè)角色,使用su時(shí)用戶(hù)在獲得新的UI
24、D同時(shí),還獲得新的角色。當(dāng)然,還可以保持 UID不變而改變角色,這種做法較少見(jiàn)。一般域經(jīng)常變化但角色很少變化,特別是在targeted 策略中。改變角色的另一個(gè)方法是角色轉(zhuǎn)移(role.transition ),角色轉(zhuǎn)移用得較少,當(dāng)前 僅用在stricter策略中管理者角色以不同的角色啟動(dòng)后臺(tái),角色轉(zhuǎn)移樣例如下:#當(dāng)一個(gè)管理者執(zhí)行一個(gè)$l_exec_t類(lèi)型的進(jìn)程時(shí),進(jìn)程從sysadm轉(zhuǎn)移到system, role_transition sysadm_r $l_exec_t system_r;角色允許的語(yǔ)法如下:allow ;角色允許的樣例列出如下:#允許角色user_r轉(zhuǎn)移到新角色 allow user_r sysa
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度股份代持與股權(quán)激勵(lì)實(shí)施方案協(xié)議
- 2025年度足療中心員工工資保底與員工滿意度調(diào)查協(xié)議
- 房產(chǎn)證抵押貸款額度調(diào)整協(xié)議(2025年度)
- 2025年度食品包裝設(shè)計(jì)及委托加工合同
- 二零二五年度儲(chǔ)蓄存款業(yè)務(wù)創(chuàng)新激勵(lì)機(jī)制合同
- 二零二五年度銀行賬戶(hù)監(jiān)管協(xié)議:銀行賬戶(hù)資金監(jiān)管與網(wǎng)絡(luò)安全保障合同
- 二零二五年度智能物流件代發(fā)合作協(xié)議
- 二零二五年度體育賽事運(yùn)營(yíng)補(bǔ)充協(xié)議范本
- 二零二五年度茶飲連鎖品牌全國(guó)代理權(quán)獨(dú)家協(xié)議
- 幼兒園學(xué)生人身安全賠償協(xié)議范本2025
- 監(jiān)理大綱維修改造項(xiàng)目
- 中國(guó)著名的塔課件
- 邢臺(tái)市區(qū)土地級(jí)別及基準(zhǔn)地價(jià)表
- 《推薦》500kV輸電線路應(yīng)急處置預(yù)案6個(gè)
- 李小建《經(jīng)濟(jì)地理學(xué)》(電子版)
- 中央空調(diào)安裝施工組織設(shè)計(jì)方案(水、多聯(lián)機(jī))
- 2022年最新蘇教版五年級(jí)下冊(cè)科學(xué)全冊(cè)教案
- 咖啡樹(shù)的修剪方法和技術(shù)_種植技巧
- 小學(xué)四年級(jí)數(shù)學(xué)奧數(shù)應(yīng)用題100題
- [圖文]抽水試驗(yàn)教程-
- 《平方差公式(1)》導(dǎo)學(xué)案
評(píng)論
0/150
提交評(píng)論