7 SELinux學習筆記 約束

2021-07-05 03:46:58 字數 1685 閱讀 2953

一、約束語句(constrain statement)

約束語句可以讓我們在安全上下文的三個元素(使用者、角色、源/目標型別)中作任意限制,其包含三個元素:1.應用約束的客體類別;2.對應受約束客體類別的許可;3.約束的布林表示式;其中約束表示式比較域(主體,源)程序的上下文和客體(目標)的上下文,或直接使用明確的名字進行比較,如型別或角色識別符號。

完整的約束語法如下:constrain 類別集 許可集 表示式;

約束表示式關鍵字:

t1,r1,u1 分別是源型別,角色和使用者

t2,r2,u2 分別是目標型別,角色和使用者

約束表示式語法還支援下列操作符:

= = 相等或是„的成員

!= 不相等或不是„的成員

eq (角色關鍵字)等於

dom (角色關鍵字)優先於

a domby b (角色關鍵字)b優先a

incomp (角色關鍵字)無可比性

案例1:

constrain process transition (u1==u2);//域轉換過程中需要transition許可,此約束作了進一步限制,且被應用到process客體類別當中。那麼表示式中u1==u2表示安全上下文的域和客體的使用者標識要保持一致。總的來說即要求所有的域轉換,主客體使用者識別符號要保持一致。

案例2:

constrain process transition (r1 == r2) ;//要求所有的域轉換,主客體角色識別符號需保持一致。

案例1和案例2的約束都是應用到相同的客體類別和許可因此可以合併為一條約束語句,如下:constrain process transition (u1 == u2 and r1 == r2) ;

案例3:

constrain process transition (u1 == u2 or t1 == privuser) ;

constrain process transition (r1 == r2 or t1 == privrole) ;

t1 指的是源型別(如果使用了 t2,那就指的是目標型別),第一條

語句指出, 只要源型別具有 privuser 屬性, 就允許在域轉換過程中改變使用者識別符號, 同樣,

只要源型別具有 privrole 屬性,就可以在域轉換過程中改變角色識別符號。

二、標記轉換約束

唯一支援validatetrans約束的客體時檔案系統客體,如檔案、目錄、裝置檔案等。與constrain不同,validatetrans語句允許你將某個客體的新安全上下文和舊安全上下文聯絡起來。在validatetrans語句中又增加了新的關鍵字,如t3,r3和u3,分別代表程序安全上下文的型別、角色、使用者。*1代表舊安全上下文,*2代表新安全上下文。為了防止與constrain語句混淆這裡提示大家,constrain語句中t1代表源型別,t2代表目標型別。而在validatetrans語句中t3代表源程序型別,t2代表新型別,t1代表舊型別。

案例1:假設策略中型別user_tmp_t用於沒有經過驗證的使用者程式的臨時檔案,我們要確保具有特權的域可以改變所有檔案標記,而不是偶爾重新標記型別為user_tmp_t的檔案到乙個更高階的型別:

validatetrans ( t2 != shadow_t or t1 !=user_tmp_t );//首先使用了乙個普通檔案和乙個符號鏈結檔案(lnk_file),因為我們不想某些人使用鏈結代替檔案。然後表示式中禁止某個域型別被授權可以重新標記乙個使用者臨時檔案的型別為shadow密碼檔案的型別。

SELinux學習筆記

1.selinux的開發原因是由於系統使用者或管理員對系統資源 檔案,裝置,埠.的誤用 如開放過大許可權 在不正確的位置開放了許可權 導致的系統漏洞,這一 方面是人為原因,另一方面是系統本來的資源 使用者的直接許可權管理方式的缺陷。selinux使用了mac 委任訪問控制 的方式管理許可權 2.se...

SElinux 學習筆記 例子實現

測試環境介紹 作業系統 fedora 22 mate fedora 21 環境搭建 root yum install y policycoreutils python policycoreutils devel selinux policy devel setools hddtemp git vim...

MySQL學習筆記 約束

1.約束是在表上強制執行的資料檢驗規則,約束主要用於保證資料庫的完整性。2.當表中資料有相互依賴性時,可以保護相關的資料不被刪除。3.大部分資料庫支援下面五類完整性約束 not null非空 unique key唯一值 primary key主鍵 foreign key外來鍵 check檢查 4.約...