SELinux的研究和實踐

前言熄浓,這篇文章是操作系統(tǒng)安全的大作業(yè),分享是一種美德

SELinux分析報告

一.SELinux的基礎(chǔ)理論

SELinux是一種Linux的內(nèi)核模塊,本質(zhì)是Linux的一個安全子系統(tǒng)宾娜,本質(zhì)是改進了對內(nèi)核對象的服務(wù)的訪問控制锉走,改進了對進程初始化,繼承和程序執(zhí)行的訪問控制术徊,改進了對文件系統(tǒng)本刽,目錄和打開文件描述的訪問控制還改進了對端口,信息和網(wǎng)絡(luò)接口的訪問控制,總而言之就是最大限度減少系統(tǒng)中服務(wù)進程可以訪問的資源子寓,通過政策和規(guī)則規(guī)定 訪問資源對象暗挑,通過安全上下文來決定主體進程是否有權(quán)利進行訪問。SELinux的基本原則是MAC機制斜友,其主要采用的手段是RBAC(基于角色的訪問控制機制)和TE(類型加強),MLS(多級安全)炸裆,基于標(biāo)識的訪問控制(IBAC),在SELinux當(dāng)中每一條訪問都要經(jīng)過訪問規(guī)則的允許鲜屏,而訪問規(guī)則存儲在訪問策略當(dāng)中烹看,訪問策略又是由源代碼(用戶配置文件)進行編譯之后生成的二進制文件存放到內(nèi)存當(dāng)中,內(nèi)核通過在內(nèi)存中的策略庫進行使用

SELinux內(nèi)核的體系主要是兩個體系組成墙歪,一個是LSM听系,其作用是通過HOOK函數(shù)組成安全控制框架,一個是FLASK其作用是安全策略到訪問控制的轉(zhuǎn)換

在實際情況下虹菲,一個操作首先是通過DAC的ACL驗證靠胜,接著通過SELinux權(quán)限認證

過程如下首先策略強制服務(wù)會檢查AVC當(dāng)中是否有策略的決策緩存,如果有就直接得到結(jié)果毕源,如果沒有那么收集主體和客體手機安全上下文浪漠,然后將安全上下文發(fā)送給安全服務(wù)器,安全服務(wù)器負責(zé)決策霎褐,決策返回給AVC進行緩存并返回給策略強制服務(wù)器址愿。

判斷途徑如下:



下面說一說FLASK的主要組成,其分為兩個服務(wù) 一個是客體管理負責(zé)客體安全上下文和執(zhí)行實施策略決定冻璃,另外一個是安全服務(wù)器响谓,用來產(chǎn)生策略決定

安全服務(wù)必須滿足RBAC(基于角色的訪問控制機制)和TE(類型加強),MLS(多級安全),基于標(biāo)識的訪問控制(IBAC)策略

其中RBAC和IBAC不用說省艳,是兩種訪問控制的方法娘纷,其中TE是將主體和客體定義一個類型,詳細說說MLS

MLS給用戶提供了不同等級安全水平來訪問系統(tǒng)跋炕,采用的安全模型是BLP模型(組織低級別讀取高級別的安全數(shù)據(jù))赖晶,

安全上下文有安全標(biāo)識(SID)和用戶ID,角色辐烂,MLS分級等

SELinux 的工作圖



二.探尋SELinux其中的配置

查看是否開啟SELinux


默認是沒有開啟的

從SELinux的工作模式說起

Enforcing:強制模式遏插。違反SELinux 規(guī)則的行為將被阻止,無法繼續(xù)操作并記錄到日志中纠修。

permissive:寬容模式胳嘲。違反 SELinux 規(guī)則的行為只會記錄到日志中。還可以繼續(xù)操作

disabled:關(guān)閉 SELinux扣草。

SELinux 工作模式可以在?/etc/selinux/config?中設(shè)定了牛。


這其中提到了日志吁系,日志的服務(wù)進程是auditd.service ,這個服務(wù)將保存所產(chǎn)生的日志文件白魂,所以不關(guān)閉

打開selinux


查看SELinux的配置狀態(tài)


查看SELinux當(dāng)中的規(guī)則


查看進程中的安全上下文


其中system_u 是USER字段用來記錄身份

system_r 是程序的ROLE字段

再后面的字段是程序的TYPE字段,表示這個程序?qū)儆谀欠N字段的

最后的s0是安全級別


SELinux的接口配置文件

Avc的代碼在avc.c當(dāng)中上岗,與服務(wù)器接口定義 avc_ss.h當(dāng)中福荸,hook函數(shù)定義avc.h當(dāng)中






查看一個策略中的文件結(jié)構(gòu)



查看proc當(dāng)中的安全上下文


Current代表的是當(dāng)前安全上下文,prev代表的是上次執(zhí)行前是的上下文肴掷,exec代表的是下一次的安全上下文

查看默認的安全上下文




查看一個安全策略的源代碼




查看SELinux的日志


這樣查看太麻煩了使用工具進行查看






三.探究SELinux實際對系統(tǒng)的影響

1.修改上下文對文件訪問的影響

修改上下文


因為這兩個文件的類型不同敬锐,所以在執(zhí)行服務(wù)的時候會造成進程和文件之間的上下文不匹配的情況造成a.html不能訪問




為了讓我們的a.html能夠訪問,在這里修改a.html的上下文和b的上下文一樣


使用chcon進行修改之后再進行訪問


訪問成功



[if !supportLists]2.?[endif]通過配置SELinux來配置對FTP服務(wù)器的影響

查看SELinux策略

getsebool -a 發(fā)現(xiàn)是關(guān)閉的


匿名登錄ftp發(fā)現(xiàn)在ftp設(shè)置好的情況下是不能創(chuàng)建新的文件夾

這個時候的vsftp.conf當(dāng)中的內(nèi)容




關(guān)閉SELinux并修改目錄權(quán)限可以成功


證明和SELinux有關(guān)

那么如何在開啟SELinux的情況下開啟ftp匿名創(chuàng)建文件夾呢呆瞻?

此時不能匿名上傳的根本原因是/var/ftp/pub 文件夾沒有寫入的功能


修改此時的文件夾的上下文


發(fā)現(xiàn)成功可以成功寫入新的文件


四.參考文獻

NSA —— SELinux 官方介紹

Linux 中國 —— SELinux 入門

鳥哥的Linux私房菜:基礎(chǔ)學(xué)習(xí)篇 第四版 —— SELinux 初探

Linux安全體系分析與編程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末台夺,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子痴脾,更是在濱河造成了極大的恐慌颤介,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赞赖,死亡現(xiàn)場離奇詭異滚朵,居然都是意外死亡,警方通過查閱死者的電腦和手機前域,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門辕近,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人匿垄,你說我怎么就攤上這事移宅。” “怎么了椿疗?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵漏峰,是天一觀的道長。 經(jīng)常有香客問我变丧,道長芽狗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任痒蓬,我火速辦了婚禮童擎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘攻晒。我一直安慰自己顾复,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布鲁捏。 她就那樣靜靜地躺著芯砸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上假丧,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天双揪,我揣著相機與錄音,去河邊找鬼包帚。 笑死渔期,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的渴邦。 我是一名探鬼主播疯趟,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼谋梭!你這毒婦竟也來了信峻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤瓮床,失蹤者是張志新(化名)和其女友劉穎盹舞,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體隘庄,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡矾策,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了峭沦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贾虽。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖吼鱼,靈堂內(nèi)的尸體忽然破棺而出蓬豁,到底是詐尸還是另有隱情,我是刑警寧澤菇肃,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布地粪,位于F島的核電站,受9級特大地震影響琐谤,放射性物質(zhì)發(fā)生泄漏蟆技。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一斗忌、第九天 我趴在偏房一處隱蔽的房頂上張望质礼。 院中可真熱鬧,春花似錦织阳、人聲如沸眶蕉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽造挽。三九已至碱璃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間饭入,已是汗流浹背嵌器。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留谐丢,地道東北人嘴秸。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像庇谆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子凭疮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • SELinux的基本概念設(shè)置SELinux 一饭耳、SELinux的基本概念 (一)定義: SELinux:Secur...
    哈嘍別樣閱讀 555評論 0 1
  • 1.SELinux: Secure Enhanced Linux ? DAC:Discretionary Acce...
    尛尛大尹閱讀 699評論 0 1
  • SELinux的有四種工作類型:(不同版本不同類型) strict:centos5,每個進程都受到selinux的...
    beeworkshop閱讀 1,333評論 0 1
  • 龍江秋韻二首(新韻) 其一 秋紅夏綠興安美执解,山遠林深野鹿肥寞肖。 群鳥回旋尋舊夢,輕煙繚繞試新炊衰腌。 花團棧道環(huán)環(huán)景新蟆,光...
    海岳行ZMZ9595閱讀 491評論 6 3
  • 上一回,我們介紹了右蕊,常用的單查詢SQL琼稻,這里,我們介紹下饶囚,怎樣進行關(guān)聯(lián)查詢帕翻,就是join的使用數(shù)據(jù)庫使用表信息:t...
    橘貓吃不胖閱讀 2,091評論 0 53