Linux的安全機制(轉)

ba發表於2007-08-11
Linux的安全機制(轉)[@more@]經過十年的發展,Linux的功能在不斷增強,其安全機制亦在逐步完善。按照TCSEC評估標準,目前Linux的安全級基本達到了C2,更高安全級別的Linux系統正在開發之中。
下面我們來看一看Linux已有的安全機制,這些機制有些已被標準的Linux所接納,有些只是提供了“補丁”程式。

PAM機制

PAM(Pluggable Authentication Modules)是一套共享庫,其目的是提供一個框架和一套程式設計介面,將認證工作由程式設計師交給管理員,PAM允許管理員在多種認證方法之間作出選擇,它能夠改變本地認證方法而不需要重新編譯與認證相關的應用程式。

PAM的功能包括:
● 加密口令(包括DES以外的演算法);
● 對使用者進行資源限制,防止DOS攻擊;
● 允許隨意Shadow口令;
● 限制特定使用者在指定時間從指定地點登入;
● 引入概念“client plug-in agents”,使PAM支援C/S應用中的機器——機器認證成為可能。
PAM為更有效的認證方法的開發提供了便利,在此基礎上可以很容易地開發出替代常規的使用者名稱加口令的認證方法,如智慧卡、指紋識別等認證方法。

入侵檢測系統
入侵檢測技術是一項相對比較新的技術,很少有作業系統安裝了入侵檢測工具,事實上,標準的Linux釋出版本也是最近才配備了這種工具。儘管入侵檢測系統的歷史很短,但發展卻很快,目前比較流行的入侵檢測系統有Snort、Portsentry、 Lids等。
利用Linux配備的工具和從因特網下載的工具,就可以使Linux具備高階的入侵檢測能力,這些能力包括:
● 記錄入侵企圖,當攻擊發生時及時通知管理員;
● 在規定情況的攻擊發生時,採取事先規定的措施;
● 傳送一些錯誤資訊,比如偽裝成其他作業系統,這樣攻擊者會認為他們正在攻擊一個Windows NT 或Solaris系統。

加密檔案系統
加密技術在現代計算機系統安全中扮演著越來越重要的角色。加密檔案系統就是將加密服務引入檔案系統,從而提高計算機系統的安全性。有太多的理由需要加密檔案系統,比如防止硬碟被偷竊、防止未經授權的訪問等。
目前Linux已有多種加密檔案系統,如CFS、TCFS、CRYPTFS等,較有代表性的是TCFS(Transparent Cryptographic File System)。它透過將加密服務和檔案系統緊密整合,使使用者感覺不到檔案的加密過程。TCFS不修改檔案系統的資料結構,備份與修復以及使用者訪問保密檔案的語義也不變。
TCFS能夠做到讓保密檔案對以下使用者不可讀:
● 合法擁有者以外的使用者;
● 使用者和遠端檔案系統通訊線路上的偷聽者;
● 檔案系統伺服器的超級使用者。
而對於合法使用者,訪問保密檔案與訪問普通檔案幾乎沒有區別。

安全審計
即使系統管理員十分精明地採取了各種安全措施,但還會不幸地發現一些新漏洞。攻擊者在漏洞被修補之前會迅速抓住機會攻破儘可能多的機器。雖然Linux不能預測何時主機會受到攻擊,但是它可以記錄攻擊者的行蹤。
Linux還可以進行檢測、記錄時間資訊和網路連線情況。這些資訊將被重定向到日誌中備查。
日誌是Linux安全結構中的一個重要內容,它是提供攻擊發生的唯一真實證據。因為現在的攻擊方法多種多樣,所以Linux提供網路、主機和使用者級的日誌資訊。例如,Linux可以記錄以下內容:
● 記錄所有系統和核心資訊;
● 記錄每一次網路連線和它們的源IP地址、長度,有時還包括攻擊者的使用者名稱和使用的作業系統;
● 記錄遠端使用者申請訪問哪些檔案;
● 記錄使用者可以控制哪些程式;
● 記錄具體使用者使用的每條命令。
在調查網路入侵者的時候,日誌資訊是不可缺少的,即使這種調查是在實際攻擊發生之後進行。

強制訪問控制
強制訪問控制(MAC,Mandatory Access Control)是一種由系統管理員從全系統的角度定義和實施的訪問控制,它透過標記系統中的主客體,強制性地限制資訊的共享和流動,使不同的使用者只能訪問到與其有關的、指定範圍的資訊,從根本上防止資訊的失洩密和訪問混亂的現象。
傳統的MAC實現都是基於TCSEC中定義的MLS策略,但因MLS本身存在著這樣或那樣的缺點(不靈活、相容性差、難於管理等),研究人員已經提出了多種MAC策略,如DTE、RBAC等。由於Linux是一種自由作業系統,目前在其上實現強制訪問控制的就有好幾家,其中比較典型的包括SElinux、RSBAC、MAC等,採用的策略也各不相同。
NSA推出的SELinux安全體系結構稱為 Flask,在這一結構中,安全性策略的邏輯和通用介面一起封裝在與作業系統獨立的元件中,這個單獨的元件稱為安全伺服器。SELinux的安全伺服器定義了一種混合的安全性策略,由型別實施 (TE)、基於角色的訪問控制 (RBAC) 和多級安全(MLS) 組成。透過替換安全伺服器,可以支援不同的安全策略。SELinux使用策略配置語言定義安全策略,然後透過checkpolicy 編譯成二進位制形式,儲存在檔案 /ss_policy中,在核心引導時讀到核心空間。這意味著安全性策略在每次系統引導時都會有所不同。策略甚至可以透過使用 security_load_policy 介面在系統操作期間更改(只要將策略配置成允許這樣的更改)。
RSBAC的全稱是Rule Set Based Access Control(基於規則集的訪問控制),它是根據Abrams和LaPadula提出的Generalized Framework for Access Control(GFAC)模型開發的,可以基於多個模組提供靈活的訪問控制。所有與安全相關的系統呼叫都擴充套件了安全實施程式碼,這些程式碼呼叫中央決策部件,該部件隨後呼叫所有啟用的決策模組,形成一個綜合的決定,然後由系統呼叫擴充套件來實施這個決定。RSBAC目前包含的模組主要有MAC、RBAC、ACL等。
MAC是英國的Malcolm Beattie針對Linux 2.2編寫的一個非常初級的MAC訪問控制,它將一個執行的Linux系統分隔成多個互不可見的(或者互相限制的)子系統,這些子系統可以作為單一的系統來管理。MAC是基於傳統的Biba完整性模型和BLP模型實現的,但作者目前似乎沒有延續他的工作。

防火牆
防火牆是在被保護網路和因特網之間,或者在其他網路之間限制訪問的一種部件或一系列部件。
Linux防火牆系統提供瞭如下功能:
● 訪問控制,可以執行基於地址(源和目標)、使用者和時間的訪問控制策略,從而可以杜絕非授權的訪問,同時保護內部使用者的合法訪問不受影響。
● 審計,對透過它的網路訪問進行記錄,建立完備的日誌、審計和追蹤網路訪問記錄,並可以根據需要產生報表。
● 抗攻擊,防火牆系統直接暴露在非信任網路中,對外界來說,受到防火牆保護的內部網路如同一個點,所有的攻擊都是直接針對它的,該點稱為堡壘機,因此要求堡壘機具有高度的安全性和抵禦各種攻擊的能力。
● 其他附屬功能,如與審計相關的報警和入侵檢測,與訪問控制相關的身份驗證、加密和認證,甚至VPN等。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-947155/,如需轉載,請註明出處,否則將追究法律責任。

相關文章