[學習記錄]SELinux自定義策略初步


這篇文章主要記錄了我如何學習selinux自訂策略的,相關內容在網絡上非常零散,自己也走了很多彎路,所以專門寫了這么篇文章作為整理。

 

這里先提一句,關於selinux的配置,網上最容易搜索到的是對selinux程序的配置,例如開關,以及對某種協議的控制,這些內容在我之前整理selinux管理工具種有提到,是相對表面的selinux配置,本文的配置是從編寫自定義的策略模塊,並裝載,因此管理粒度更細。

 

按照慣例這里先附上一些參考資料的網站

來自selinuxwiki的一些相關內容,wiki里可參考的內容其實非常多,但網站導航不太行,很難找    https://selinuxproject.org/page/RefpolicyWriteModule

這個是wiki的github頁面,官方稍微做了一些整理,但是內容感覺沒有wiki多,不過還是有一定參考價值的https://github.com/SELinuxProject/refpolicy/wiki/GettingStarted

這個是slinux的一個refpolicy項目,希望構架一個普遍安全的策略https://github.com/SELinuxProject/refpolicy

 

我采用的是centos7環境

在開發selinux策略之前,千萬不要忘記安裝selinux的開發包

yun install selinux-policy-devel

 

編寫規則其實非常簡單,

1.首先准備好一個空的文件夾作為工作目錄

2.創建一個.te文件,內容如下,僅作參考

 

 

 第一句policy_module是一句官方定義好的宏指令

第二句和第三句是定義了兩種類型,test1_t為進程類型,test1_exec_t為可執行文件類型

第四句為規則,允許test1_t類型對test1_exec_t類型的文件進行read_file_perms的操作,后者也是個宏指令,包含若干具體操作類型

3.創建一個.fc文件,內容如下

 

 

主要是對給定的路徑設置一個安全上下文

 

4.然后就可以准備編譯了,首先我們要在當前目錄下獲取一個makefile文件,安裝完最開始提到的開發包后,centos中可以在如下目錄找到

/usr/share/selinux/devel/Makefile

拷貝到當前文件夾下,make就會自動生成

 

 

test2是我隨手創建的空文件夾,test1.if是一個接口相關的文件夾,我們可以自己定義,這里由於我們沒有定義,所以自動生成了,還有存儲臨時文件夾tmp,最后也是最重要的文件test1.pp這個就是編譯后的模塊了

可以運行

semodule -i test1.pp    #裝載模塊
semodule -l               #列出已裝載的所有模塊
semodule -r test1     #卸載指定模塊

 

至此我們的第一步就算是邁出來了。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM