探索Linux的安全機(jī)制 (1) |
發(fā)布時(shí)間: 2012/8/15 18:15:19 |
經(jīng)過十年的發(fā)展,Linux的功能在不斷增強(qiáng),其安全機(jī)制亦在逐步完善。按照TCSEC評估標(biāo)準(zhǔn),目前Linux的安全級基本達(dá)到了C2,更高安全級別的Linux系統(tǒng)正在開發(fā)之中。 下面我們來看一看Linux已有的安全機(jī)制,這些機(jī)制有些已被標(biāo)準(zhǔn)的Linux所接納,有些只是提供了“補(bǔ)丁”程序。 PAM機(jī)制 PAM(Pluggable Authentication Modules)是一套共享庫,其目的是提供一個(gè)框架和一套編程接口,將認(rèn)證工作由程序員交給管理員,PAM允許管理員在多種認(rèn)證方法之間作出選擇,它能夠改變本地認(rèn)證方法而不需要重新編譯與認(rèn)證相關(guān)的應(yīng)用程序。 PAM的功能包括: PAM為更有效的認(rèn)證方法的開發(fā)提供了便利,在此基礎(chǔ)上可以很容易地開發(fā)出替代常規(guī)的用戶名加口令的認(rèn)證方法,如智能卡、指紋識別等認(rèn)證方法。 入侵檢測系統(tǒng) 入侵檢測技術(shù)是一項(xiàng)相對比較新的技術(shù),很少有操作系統(tǒng)安裝了入侵檢測工具,事實(shí)上,標(biāo)準(zhǔn)的Linux發(fā)布版本也是最近才配備了這種工具。盡管入侵檢測系統(tǒng)的歷史很短,但發(fā)展卻很快,目前比較流行的入侵檢測系統(tǒng)有Snort、Portsentry、 Lids等。 ● 記錄入侵企圖,當(dāng)攻擊發(fā)生時(shí)及時(shí)通知管理員; 加密文件系統(tǒng) 加密技術(shù)在現(xiàn)代計(jì)算機(jī)系統(tǒng)安全中扮演著越來越重要的角色。加密文件系統(tǒng)就是將加密服務(wù)引入文件系統(tǒng),從而提高計(jì)算機(jī)系統(tǒng)的安全性。有太多的理由需要加密文件系統(tǒng),比如防止硬盤被偷竊、防止未經(jīng)授權(quán)的訪問等。 目前Linux已有多種加密文件系統(tǒng),如CFS、TCFS、CRYPTFS等,較有代表性的是TCFS(Transparent Cryptographic File System)。它通過將加密服務(wù)和文件系統(tǒng)緊密集成,使用戶感覺不到文件的加密過程。TCFS不修改文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),備份與修復(fù)以及用戶訪問保密文件的語義也不變。 TCFS能夠做到讓保密文件對以下用戶不可讀: ● 合法擁有者以外的用戶; 而對于合法用戶,訪問保密文件與訪問普通文件幾乎沒有區(qū)別。 安全審計(jì) 即使系統(tǒng)管理員十分精明地采取了各種安全措施,但還會不幸地發(fā)現(xiàn)一些新漏洞。攻擊者在漏洞被修補(bǔ)之前會迅速抓住機(jī)會攻破盡可能多的機(jī)器。雖然Linux不能預(yù)測何時(shí)主機(jī)會受到攻擊,但是它可以記錄攻擊者的行蹤。 Linux還可以進(jìn)行檢測、記錄時(shí)間信息和網(wǎng)絡(luò)連接情況。這些信息將被重定向到日志中備查。 日志是Linux安全結(jié)構(gòu)中的一個(gè)重要內(nèi)容,它是提供攻擊發(fā)生的唯一真實(shí)證據(jù)。因?yàn)楝F(xiàn)在的攻擊方法多種多樣,所以Linux提供網(wǎng)絡(luò)、主機(jī)和用戶級的日志信息。例如,Linux可以記錄以下內(nèi)容: ● 記錄所有系統(tǒng)和內(nèi)核信息; 在調(diào)查網(wǎng)絡(luò)入侵者的時(shí)候,日志信息是不可缺少的,即使這種調(diào)查是在實(shí)際攻擊發(fā)生之后進(jìn)行。 強(qiáng)制訪問控制 強(qiáng)制訪問控制(MAC,Mandatory Access Control)是一種由系統(tǒng)管理員從全系統(tǒng)的角度定義和實(shí)施的訪問控制,它通過標(biāo)記系統(tǒng)中的主客體,強(qiáng)制性地限制信息的共享和流動,使不同的用戶只能訪問到與其有關(guān)的、指定范圍的信息,從根本上防止信息的失泄密和訪問混亂的現(xiàn)象。 傳統(tǒng)的MAC實(shí)現(xiàn)都是基于TCSEC中定義的MLS策略,但因MLS本身存在著這樣或那樣的缺點(diǎn)(不靈活、兼容性差、難于管理等),研究人員已經(jīng)提出了多種MAC策略,如DTE、RBAC等。由于Linux是一種自由操作系統(tǒng),目前在其上實(shí)現(xiàn)強(qiáng)制訪問控制的就有好幾家,其中比較典型的包括SElinux、RSBAC、MAC等,采用的策略也各不相同。 NSA推出的SELinux安全體系結(jié)構(gòu)稱為 Flask,在這一結(jié)構(gòu)中,安全性策略的邏輯和通用接口一起封裝在與操作系統(tǒng)獨(dú)立的組件中,這個(gè)單獨(dú)的組件稱為安全服務(wù)器。SELinux的安全服務(wù)器定義了一種混合的安全性策略,由類型實(shí)施 (TE)、基于角色的訪問控制 (RBAC) 和多級安全(MLS) 組成。通過替換安全服務(wù)器,可以支持不同的安全策略。 SELinux使用策略配置語言定義安全策略,然后通過checkpolicy 編譯成二進(jìn)制形式,存儲在文件 /ss_policy中,在內(nèi)核引導(dǎo)時(shí)讀到內(nèi)核空間。這意味著安全性策略在每次系統(tǒng)引導(dǎo)時(shí)都會有所不同。策略甚至可以通過使用 security_load_policy 接口在系統(tǒng)操作期間更改(只要將策略配置成允許這樣的更改)。 RSBAC的全稱是Rule Set Based Access Control(基于規(guī)則集的訪問控制),它是根據(jù)Abrams和LaPadula提出的Generalized Framework for Access Control(GFAC)模型開發(fā)的,可以基于多個(gè)模塊提供靈活的訪問控制。所有與安全相關(guān)的系統(tǒng)調(diào)用都擴(kuò)展了安全實(shí)施代碼,這些代碼調(diào)用中央決策部件,該部件隨后調(diào)用所有激活的決策模塊,形成一個(gè)綜合的決定,然后由系統(tǒng)調(diào)用擴(kuò)展來實(shí)施這個(gè)決定。RSBAC目前包含的模塊主要有MAC、RBAC、ACL等。 MAC是英國的Malcolm Beattie針對Linux 2.2編寫的一個(gè)非常初級的MAC訪問控制,它將一個(gè)運(yùn)行的Linux系統(tǒng)分隔成多個(gè)互不可見的(或者互相限制的)子系統(tǒng),這些子系統(tǒng)可以作為單一的系統(tǒng)來管理。MAC是基于傳統(tǒng)的Biba完整性模型和BLP模型實(shí)現(xiàn)的,但作者目前似乎沒有延續(xù)他的工作。
本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |