金京犬
(安徽郵電職業(yè)技術(shù)學(xué)院 計算機系, 合肥 230031)
以Apache服務(wù)器為例探討SELinux的安全模型
金京犬
(安徽郵電職業(yè)技術(shù)學(xué)院 計算機系, 合肥 230031)
目前,能夠使用的安全操作系統(tǒng)模型較多,主要包括SELinux、AppAHnor安全模型等,針對上述強制性訪問控制模型有所差異.美國安全局發(fā)布集成在Linux內(nèi)核中訪問SELinux控制機制,SELinux借助RBAC模型、TE模型對主體和客體設(shè)計合理的安全策略,合理解決自主訪問控制脆弱性不靈活性等問題.以Apache服務(wù)器為例介紹SELinux的安全模型,深入研究SELinux體系結(jié)構(gòu)、安全模型等內(nèi)容,表述SELinux如何增加系統(tǒng)策略的靈活性,從而確保通用操作系統(tǒng)的安全.
Apache服務(wù)器;SELinux;安全模型
隨著信息化技術(shù)的快速發(fā)展,計算機廣泛應(yīng)用到社會生活各個方面,采用計算機對信息實施加工和處理成為必不可少的手段.由于網(wǎng)絡(luò)的日益發(fā)展,開放式網(wǎng)絡(luò)安全問題更加突出,信息安全性受到多數(shù)人的重視和關(guān)注.由于網(wǎng)絡(luò)技術(shù)的日益發(fā)展,網(wǎng)絡(luò)病毒、黑客攻擊等情況層出不窮,傳統(tǒng)的殺毒軟件無法適應(yīng)時代發(fā)展的需求,導(dǎo)致防護工作力不從心.
目前,主流的操作系統(tǒng)使用自主訪問控制確保系統(tǒng)穩(wěn)定性和安全性,根據(jù)用戶標志、屬主權(quán)限判斷是否執(zhí)行方案.這種機制的缺點在于忽視用戶角色、程序可信性等內(nèi)容,因此無法提供恰當?shù)陌踩U?為改革傳統(tǒng)MAC控制系統(tǒng)的不足之處,美國安全局設(shè)計一種新型的安全機制(SELinux),并將其當做標準模塊集成在Linux內(nèi)核中.Linux操作系統(tǒng)提供滿足多種安全要求的targeted配置,用來保護系統(tǒng)的網(wǎng)絡(luò)服務(wù).文中以Apache服務(wù)器為例,研究SELinux的結(jié)構(gòu)框架、安全模型和策略,滿足操作系統(tǒng)對其安全性的要求.
圖1 SELinux整體框架結(jié)構(gòu)圖
SELinux作為FLASK架構(gòu)在Linux內(nèi)核中實現(xiàn)效果,F(xiàn)LASK架構(gòu)屬于比較靈活、細粒度強制性訪問控制機制.SELinux成功把安全策略和實施效果相互分離.改變安全策略時并不會影響系統(tǒng)其他部件,此時制定策略非常容易.其中,安全策略與某個通用接口均封裝在安全服務(wù)器獨立組件內(nèi),其通用接口作為連接安全服務(wù)器和系統(tǒng)其他各部分相互訪問的接口,在客體管理器組件內(nèi)執(zhí)行策略實施,具體架構(gòu)如圖1所示.
客戶管理器由用戶進程接收到基于某個客體的訪問請求,隨之詢問安全服務(wù)器判定是否允許其請求.安全服務(wù)器讀取已有的安全策略配置,做出準確判斷后將結(jié)果返回至客體管理器,客體管理器依據(jù)判斷結(jié)果執(zhí)行下一步操作.SELinux安全服務(wù)器可支持多類安全策略模型,在默認狀況下SELinux定義為混合安全策略,主要包括類型增強、可選多級安全策略等部分組成,該策略從安全服務(wù)器引導(dǎo)過程中進行讀取.安全服務(wù)器作為Linux內(nèi)核的獨立組件,能夠定制一系列安全措施.主體A對客體B執(zhí)行訪問操作時,客體管理器根據(jù)主、客體安全上下文,設(shè)計相對應(yīng)的安全通用接口.通過安全服務(wù)器獲得所需的安全策略,隨之根據(jù)策略選擇接受或拒絕對客體發(fā)出的訪問請求.默認設(shè)置下,主體不允許訪問客體,只有明確允許訪問策略方可實施訪問.為降低客體服務(wù)器的執(zhí)行速度,F(xiàn)lask模型提供相應(yīng)的向量緩存組件,主要用來緩解服務(wù)器的訪問規(guī)則,客體管理器可直接讀取相應(yīng)的規(guī)則.SELinux體系主客體運行流程如圖2.
圖2 主體與客體運行流程圖
2.1 Apache服務(wù)器簡述
Web服務(wù)器也稱作HTTP服務(wù)器,它是Internet上使用頻繁率最高、最常見的服務(wù)器之一,Web服務(wù)器能夠為用戶提供網(wǎng)頁瀏覽、論壇訪問等服務(wù).一般情況下,用戶通過Web瀏覽器訪問相應(yīng)的信息資源,無需關(guān)注與技術(shù)相關(guān)的細節(jié),并設(shè)計良好的交互界面.目前,Web服務(wù)器成為Internet上最大的計算機群,Web服務(wù)器的數(shù)量日益增多,導(dǎo)致Web服務(wù)器軟件市場競爭力更加激烈.本文以使用最頻繁的Web服務(wù)器軟件——Apache為例展開研究.Apache屬于免費的軟件,Apache允許各個領(lǐng)域、地區(qū)的人對其提供新特性.如果將新代碼提供至Apache Group后,Apache Group對其具體內(nèi)容進行測試和質(zhì)量檢查.如果檢驗者滿意,該代碼會集成到Apache發(fā)行版本中.
2.2 設(shè)計合理的TE模型
TE過程模型先以FORTRAN源代碼形式提供給控制系統(tǒng),主要用來描述裝置、能量、物料的非線性關(guān)系.TE模型主要用來設(shè)計裝置控制方案,非線性控制、過程故障診斷等方面.TE模型也是SELinux安全模型的主要部分,依照安全等價性將主體和客體劃分為多個組,每個組均稱作一個類型(type).如,把Apache服務(wù)器內(nèi)的hnpd進程設(shè)定為類型(htqxi_t),文件客體為(httpd_exec_t),以上分組與主客體內(nèi)容無關(guān).從客體層面來說,若它們由某組主體依據(jù)同一種方式展開訪問操作,那么上述客體處在安全等價狀態(tài).同樣,如果某個主體和其他主體均為相同權(quán)限,這些為等價的.
模型使用某一個安全屬性type表示進程域或客體的類型,使得SELinttx可根據(jù)Flask模型明確相應(yīng)的權(quán)限.同時,TE模型明確設(shè)置類型轉(zhuǎn)換規(guī)則,基于域-類型狀態(tài)下,TE模型會建立相對應(yīng)的規(guī)則,為域訪問類型賦予一定的權(quán)限,合理控制系統(tǒng)方案操作情況.如:以targeted為研究實例,其源代碼設(shè)計3條規(guī)則,域httpd_t訪問類型設(shè)定相應(yīng)的權(quán)限值.源代碼編譯完成后形成二進制文件,開啟系統(tǒng)時裝載至內(nèi)核空間,從而組成相應(yīng)的策略庫.客體管理器根據(jù)上述控制規(guī)則快速進行安全裁決,對進程和客體提供所需的保護.
2.3 設(shè)計RBAC模型
RBAC是美國Sandhu教授等人提出的角色訪問控制模型,該模型靈活性、較強,容易管理,可依據(jù)用戶的各項需求,借助不同的配置便于展開自主和強制性訪問控制.RBAC的設(shè)計思想為:安全管理人員依據(jù)需要定義的各類角色,并配置相應(yīng)的訪問權(quán)限,對用戶根據(jù)責任、資歷為其指派相應(yīng)的角色.角色作為域與用戶之間的層次,導(dǎo)致域被授予針對性的角色.借助RBAC模型及時降低管理的復(fù)雜性和不必要開銷,滿足企業(yè)對系統(tǒng)安全性的要求.但是,為域設(shè)計的訪問權(quán)限由TE模型實現(xiàn),以上方法將RBAC模型便于管理、TE模型有效保護相互結(jié)合,安全管理效果較好.
2.4 設(shè)定特權(quán)程序權(quán)限
特權(quán)程序權(quán)限時常被用來破壞系統(tǒng)的安全性,SELinux配置實例以通用為目的,挑選一般認為不安全因素的特權(quán)程序并對其設(shè)定單獨域,借助對域權(quán)限的合理控制,促使特權(quán)程序僅具有正常運行最小權(quán)限.對配置策略進行設(shè)計時,可依據(jù)具體應(yīng)用環(huán)境對特權(quán)程序進行限制,具體配置策略如下:
Allow sendmaiLt_smtp-port-t:tep_socket name-bind;
Allowsendmail_t mail_spool_t:file
{treat read write unlink};
fread search add name remove_name};
Allowsendmail_t mqueue_spoolt:dir
{read searchadd_name remove name}.
設(shè)定的第一條規(guī)則允許sendmail對SMTP端口進行綁定操作,隨之兩條規(guī)則允許sendmail管理mail_spool目錄,最下邊的兩條規(guī)則sendmail管理mail_squeue目錄.即使采用sendmail缺陷,其訪問資產(chǎn)局限在策略定義目錄內(nèi),達到限定特權(quán)程序的效果.
雖然SELinux為主體和客體合理設(shè)計靈活通用的訪問策略,盡量滿足多數(shù)系統(tǒng)管理工作要求.但對某些服務(wù)來說,SELinux復(fù)雜性使得部分系統(tǒng)管理人員不敢下手.事實上,有些管理人員時常禁用SELinux機制達到簡化管理的目的.文中選用Linux系統(tǒng)內(nèi)最復(fù)雜的的Apache服務(wù)器為例闡述SELinux的工作原理,促使系統(tǒng)管理員可以充分理解并利用SELinux提升整個系統(tǒng)的安全性.
假定用戶在瀏覽器上輸入地址http:∥192.168.1.3/-ton/index.htrnl,其IP地址為192.168.1.3Linux系統(tǒng)上網(wǎng)頁文件index.html.想要實現(xiàn)這個操作,本系統(tǒng)Apache服務(wù)器的hnpd必須讀取/home/tom/public_-htnd目錄下index.htnd,并將其發(fā)送給Web用戶的瀏覽器.因此,Linux系統(tǒng)要依據(jù)httpd進程的用戶標志和客體、index.html文件的屬主權(quán)限對其DAC安全許可檢查.若讀取操作借助DAC的安全檢查,依據(jù)Flask模型SELinux實施以下操作.客體管理器有效收集主體、客體安全上下文,將這些上下文發(fā)送至安全服務(wù)器內(nèi),后者查詢有關(guān)訪問策略.例如“httpd_User_content_t作為類型httpd_user_contnet_t的別名,此時,安全服務(wù)器可以在策略文件內(nèi)找出域httpd_t訪問類型htqxl_sys_content_t定義的訪問規(guī)則.同時,客體管理器可依據(jù)安全策略展開安全裁決,若安全策略允許主體對客體的操作,這個操作方可進行.反之,如果測量不允許主體開展這項操作,操作要求遭到拒絕,并在系統(tǒng)日志上增加一個或多個AVC拒絕記錄.這時,系統(tǒng)管理人員可適當修改安全上下文或策略規(guī)劃,確保這項操作順利完成.
總之,加強操作系統(tǒng)安全需采用強制性訪問控制,但單一的安全模型無法滿足現(xiàn)實操作環(huán)境復(fù)雜安全需求.因此,設(shè)計通用的解決方案尤為重要.SELinux安全結(jié)構(gòu)能夠清晰地將策略裁決組件和實施組件進行分割,支持多種策略模型和動態(tài)改變.借助SELinux策略配置文件輕易修改和擴展策略,根據(jù)具體需求制定相應(yīng)的策略,在一定程度上提升系統(tǒng)安全性.
[1] 高深.龍廣在線web服務(wù)性能測試及其優(yōu)化方法[J].活力,2013,23(12):30.
[2] 王雷.一種強制訪問控制機制的審計方法[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2013,10(2):13-15.
[3] 楊嘉,曾慶凱.基于信息流的程序權(quán)限控制技術(shù)[J].計算機工程與設(shè)計,2013,34(1):23-27.
[4] 王金龍,宋斌,丁銳,等.Node.js:一種新的Web應(yīng)用構(gòu)建技術(shù)[J].現(xiàn)代電子技術(shù),2015,11(6):70-73.
[5] 周軍宏.Centos7中支持虛擬用戶vsftpd服務(wù)的配置[J].電腦知識與技術(shù),2015,11(30):41-42.
[6] 郭慶濤,孫強強,李永攀,等.高性能網(wǎng)絡(luò)服務(wù)器框架的研究與實現(xiàn)[J].計算機工程,2013,23(12):70-74,78.
[7] 郭光,張嚴心.基于自校正分散控制的Web服務(wù)器比例延遲保證[J].計算機應(yīng)用,2014,34(4):973-976.
[8] 李燕萍,丁其鵬.SELinux在網(wǎng)絡(luò)服務(wù)安全中的研究與分析[J].現(xiàn)代計算機(專業(yè)版),2014,31(20):32-34.
[9] 郭濤,翟高壽.基于有色Petri網(wǎng)的SELinux安全策略自動化分析[J].信息安全與技術(shù),2013,4(11):35-40.
[10]劉洋,邵旭東,潘程達,等.立體安全防御系統(tǒng)TDSD-Droid的實現(xiàn)[J].計算機科學(xué),2013,40(z2):228-234,250.
[11]胡偉,姬東耀.基于信息流模型的TCB完整性策略分析方法與工具[J].武漢大學(xué)學(xué)報(理學(xué)版),2013,59(5):431-437.
[12]張濤,張勇,寧戈,等.基于SELinux強制訪問控制的進程權(quán)限控制技術(shù)研究與實現(xiàn)[J].信息網(wǎng)絡(luò)安全,2015,20(12):34-41.
[責任編輯 王新奇]
Taking Apache Server as An Example toDiscuss the Security Model of SELinux
JIN Jing-quan
(Department of Computer Science, Anhui Post and Telecommunications College, Hefei 230031, China)
At present, there are many security operating system models that can be used, including SELinux, AppAHnor security model and so on, but the mandatory access control model is different. National Security Agency (NSA) release integrated access to SELinux control mechanism in the Linux kernel, SELinux designs a reasonable security strategy for the main body and the object with the help of RBAC model and TE model, therefore the problems of vulnerability and inflexibility of the independent access control are reasonably solved. In this paper, the Apache Server is took as an example to introduce the security model of SELinux, The paper deeply studies the SELinux system structure, security model and so on, and expresses the SELinux how to increase the flexibility of the system policy. Eventually, the security of the general operating system is ensured.
Apache server; SELinux; security model
1008-5564(2016)05-0044-04
2016-01-19
安徽省高校自然科學(xué)
“企業(yè)Linux服務(wù)器的安全應(yīng)用研究”(KJ2016A382)
金京犬(1982—),男,安徽安慶人,安徽郵電職業(yè)技術(shù)學(xué)院計算機系講師,碩士,主要從事嵌入式研究.
TP393.08
A