眾所周知,操作系統以及數據庫是現代計算機技術中最為底層和核心的軟件系統。那么,企業系統層次的安全問題主要來自于網絡內使用的操作系統的安全和數據庫安全層面上。針對操作系統和數據庫的安全技術林林總總,也體現在應用的不同層面上,本文將從保障企業系統層安全的核心層次出發,著重從安全操作系統、密碼設定策略及數據庫安全技術三方面進行講解,其他的網絡層面和應用層面與他們相關的防護技術將在后續專題中詳細講解。
1、選用安全操作系統
操作系統作為計算機系統的最為基礎和重要的基礎軟件和系統軟件,起著管理計算機資源,直接利用計算機硬件為用戶提供與硬件相關、與應用無關的使用和編程接口的作用。它是上層應用軟件獲得高可靠性以及信息的完整性、保密性的基礎。沒有操作系統安全的支持,就沒有獲得網絡安全的可能。為了保證企業計算機網絡和信息的安全,有必要采用具有較高安全級別的安全操作系統,來作為企業穩固的安全操作平臺。美國國防部(DoD)與1983年推出了著名的TCSEC(Trusted Computer System Evaluation Criteria,可信計算機評估準則),也稱為"橙皮書",是迄今為止評估計算機安全最有名的一個標準。它將計算機信息系統的安全分為四等八個級別,由低到高依次為:D、C1、C2、B1、B2、B3、A1、超A1。按照這個標準,傳統的操作系統,包括UNIX操作系統、Windows操作系統大都處于C級,他們的安全級別不是很高。而許多安全級別高的操作系統,比如Trusted Information Systems、Trusted XENIX、SNS等都處于實驗室階段,尚未投入市場。另外,國內對安全操作系統的研究工作也在如火如荼地進行,我國從上世紀90年代開始研究安全操作系統,到目前已經取得了一些成果。從1993年我國宣布開發成功具有B2 集功能的操作系統,現在已有眾多的公司和科研單位開始注重安全操作系統的研發,比如中科紅旗公司開發的紅旗Linux,南京大學的Softos,國防科大的麒麟安全操作系統,中科安勝公司的安勝操作系統等。
在安全操作系統中,對操作系統進行安全加固和安全理論模型是從根本上解決操作系統安全性問題的兩項非常重要的記述。我們首先談談操作系統安全加固技術,它有如下幾種方法:
(1) 虛擬機法:在現有的操作系統與硬件之間增加一個新的層次,作為安全內核,現有操作系統幾乎可以不作任何變動而成為虛擬機。安全內核的接口基本與原有硬件等價,操作系統本身透明地在安全內核的控制之下,它可以不變地支持現有的應用程序,并且能夠很好地兼容非安全操作系統的將來版本。硬件特性對虛擬機的實現非常關鍵,它要求原系統的硬件和結構都必須要支持虛擬機。因而這種加固方式的局限性比較大。
(2) 增強法:在現有的操作系統基礎上,對原有的內核以及應用程序采用一定的安全策略進行改進,并且加入相應的安全機制,形成新的操作系統內核。這樣增強后的操作系統保持了原來操作系統的用戶接口。這種方法是在已有操作系統基礎上進行的,不是對原有內核的完全地改變,因而受到原有體系結構的限制,難以達到很高的安全級別。但是這種方法并不會破壞原有系統的體系結構,開發代價小,不會影響原系統的運行效率,現在普遍采用的是這種方式。
(3) 仿真法:對現有的操作系統的內核作面向安全策略的修改,然后在安全內核與遠非安全操作系統的用戶接口中嵌入方針程序。那么,我們在建立安全內核的時候,可以不必如第二種方法一樣受到現有應用程序的限制,而且可以完全自由地定義仿真程序于安全內核之間的接口。然而,采用這種方式需要同時設計仿真程序以及安全內核,還要受到元操作系統接口的同時,開發難度大,接口復雜。
操作系統的幾種加固方式
在安全操作系統的理論模型方面,我們通常提到BLP模型。Bell & LaPadula(BLP)模型是由David Bell和Leonard La Padula于1973年提出的安全模型,它同時也是一個狀態機模型。它是定義多級安全性的基礎,被視作基本安全公理。該公理最早是在Multics安全操作系統中得到實施。雖然從商業角度來看,該操作系統并不成功,但是單從安全性角度來看,Multics邁出了安全操作系統設計的第一步,為后來的安全操作系統的研制工作積累了大量豐富的經驗。隨后它又在Secure Xenix、System V/MLS、Tunis、VAX的VMM安全核心等多種安全系統的研制中得到了廣泛的應用。
該模型將計算機信息系統中的實體分為兩部分,主體和客體。凡是實施操作的稱為主體,比如說用戶和進程;而被操作的對象則稱為客體,比如說文件、數據庫等。對主體和客體而言,存在著兩種最重要的安全控制方法,它們是強制存取控制以及自主存取控制方式:
強制存取控制:主要是通過"安全級"來進行,安全級包含"密級"和"部門集"兩方面,密級又分為無密、秘密、機密、絕密四級。為了實施強制型安全控制,主體和客體均被賦予"安全級"。兩者的關系包含下述三點:1)主體的安全級高于課題,當且僅當主體的密級高于客體的密級,且主體的部門集包含客體的部門集;2)主體可以讀客體,當且僅當主體安全級高于或者等于課題;3)主體可以寫客體,當且僅當主體安全級低于或者等于客體。
自主存取控制:主體對其擁有的客體,有權決定自己和他人對該客體應具有怎樣的訪問權限。
在這個模型當中,每個主體有最大安全級和當前安全級,每個客體有一個安全級。主體對客體有四種存取方式:只讀,只寫,執行以及讀寫。該模型當中有兩條很重要的規則(如圖2所示):
(1) 簡單安全特性:是指主體只能夠從下讀、向上寫。為了使主體對客體既能讀又能寫,二者的安全級別必須完全一樣;
(2) *--特性:主體對客體有"只寫"權限,則客體安全級至少和主體的當前安全級一樣高;主體對客體有"讀"權限,則客體安全級應該小于或者等于主體當前安全級;主體對客體有"讀寫"權限,則客體安全級等于主體的當前安全級。
2、操作系統密碼設定
設定登錄密碼是一項非常重要的安全措施,如果用戶的密碼設定不合適,就很容易被破譯,尤其是擁有超級用戶使用權限的用戶,如果沒有良好的密碼,將給系統造成很大的安全漏洞。在多用戶系統中,如果強迫每個用戶選擇不易猜出的密碼,將大大提高系統的安全性。但如果passwd程序無法強迫每個上機用戶使用恰當的密碼,要確保密碼的安全度,就只能依靠密碼破解程序了。
實際上,密碼破解程序是黑客工具箱中的一種工具,它將常用的密碼或者是英文字典中所有可能用來作密碼的字都用程序加密成密碼字,然后將其與Linux系統(/etc/passwd)或者Windows系統的密碼文件(SAM)相比較,如果發現有吻合的密碼,就可以求得明碼了。
在網絡上可以找到很多密碼破解程序,比較有名的程序是crack。用戶可以自己先執行密碼破解程序,找出容易被黑客破解的密碼,先行改正總比被黑客破解要有利。
目前密碼破解程序大多采用字典攻擊以及暴力攻擊手段,而其中用戶密碼設定不當,則極易受到字典攻擊的威脅。很多用戶喜歡用自己的英文名、生日或者賬戶等信息來設定密碼,這樣,黑客可能通過字典攻擊或者是社會工程的手段來破解密碼。所以建議用戶在設定密碼的過程中,應盡量使用非字典中出現的組合字符,并且采用數字與字符相結合、大小寫相結合的密碼設置方式,增加密碼被黑客破解的難度。而且,也可以使用定期修改密碼、使密碼定期作廢的方式,來保護自己的登錄密碼。
具體列出幾條參考原則如下(幾個需要遵循):
口令長度至少為八個字符:口令越長越好。若使用MD5口令,它應該至少有15個字符。若使用DES口令,使用最長長度(8個字符)。
混和大小寫字母:Linux區分大小寫,因此混和大小寫會增加口令的強健程度。
混和字母和數字:在口令中添加數字,特別是在中間添加(不只在開頭和結尾處)能夠加強口令的強健性。
包括字母和數字以外的字符:&、$、和 > 之類的特殊字符可以極大地增強口令的強健性(若使用 DES 口令則不能使用此類字符)。
挑選一個你可以記住的口令:如果你記不住你的口令,那么它再好也沒有用;使用簡寫或其它記憶方法來幫助你記憶口令。
另外,還有一些原則需要牢記(幾個不要):
不要只使用單詞或數字,決不要在口令中只使用單詞或數字。
不要使用現成詞匯:像名稱、詞典中的詞匯、甚至電視劇或小說中的用語,即使在兩端使用數字,都應該避免使用。
不要使用外語中的詞匯:口令破譯程序經常使用多種語言的詞典來檢查其詞匯列表。依賴外語來達到保護口令的目的通常不起作用。
不要使用黑客術語。
不要使用個人信息:千萬不要使用個人信息。如果攻擊者知道你的身份,推導出你所用口令的任務就會變得非常容易。以下是你在創建口令時應該避免使用的信息類型。
不要倒轉現存詞匯:優秀的口令破譯者總是倒轉常用詞匯,因此倒轉薄弱口令并不會使它更安全。
不要筆錄你的口令:決不要把口令寫在紙上。把它牢記在心才更為安全。
不要在所有機器上都使用同樣的口令:在每個機器上使用不同的口令是及其重要的。這樣,如果一個系統泄密了,所有其它系統都不會立即受到威脅3、數據庫安全技術
企業數據庫往往存儲著許多敏感性數據,例如企業機密資料、公司的客戶信息資料等等。"黑客"利用操作系統和數據庫的漏洞,能輕易的獲取你數據庫中的數據(經營策略、客戶資料、設計資料、人事資料等),這些文件一旦被潛在的黑客或競爭對手竊取,必將給國家或企業帶來極大的危害。而且這種危害的嚴重性在于它是潛在的,根本無法被覺察。不像現實社會中物品的失竊,就能很快察覺到,而數據、電子信息一旦被竊,是很難發現的,并且不會留下任何痕跡。也許你的機密資料已經不知不覺的被竊取,落入競爭對手或不法分子的手中,你卻完全不知,數據的失密將對國家的安全和企業的競爭力產生潛在的,無法估量的威脅。針對這種情況,可以從如下幾方面進行安全防護:
(1)數據庫用戶安全管理
企業數據庫是個極為復雜的系統,因此很難進行正確的配置和安全維護,當然,必須首先要保證的就是數據庫用戶的權限的安全性。在企業門戶網站中,當用戶通過Web方式要對數據庫中的對象(表、視圖、觸發器、存儲過程等)進行操作時,必須通過數據庫訪問的身份認證。多數數據庫系統還有眾所周知的默認賬號和密碼,可支持對數據庫資源的各級訪問。因此,很多重要的數據庫系統很可能受到威協。用戶存取權限是指不同的用戶對于不同的數據對象有不同的操作權限。存取權限由兩個要素組成:數據對象和操作類型。定義一個用戶的存取權限就是要定義這個用戶可以在哪些數據對象上進行哪些類型的操作。權限分系統權限和對象權限兩種。系統權限由DBA授予某些數據庫用戶,只有得到系統權限,才能成為數據庫用戶。對象權限是授予數據庫用戶對某些數據對象進行某些操作的權限,它既可由DBA授權,也可由數據對象的創建者授予。
(2)嚴格定義用戶訪問視圖
為不同的用戶定義不同的視圖,可以限制用戶的訪問范圍。通過視圖機制把需要保密的數據對無權存取這些數據的用戶隱藏起來,可以對數據庫提供一定程度的安全保護。實際應用中常將視圖機制與授權機制結合起來使用,首先用視圖機制屏蔽一部分保密數據,然后在視圖上進一步進行授權。
(3)采用數據加密
數據安全隱患無處不在。一些機密數據庫、商業數據等必須防止它人非法訪問、修改、拷貝。為了保證數據的安全,數據加密是應用最廣、成本最低廉而相對最可靠的方法。數據加密是保護數據在存儲和傳遞過程中不被竊取或修改的有效手段。數據加密系統包括對系統的不同部分要選擇何種加密算法、需要多高的安全級別、各算法之間如何協作等因素。在系統的不同部分要綜合考慮執行效率與安全性之間的平衡。因為一般來講安全性總是以犧牲系統效率為代價的。如果要在Internet上的兩個客戶端傳遞安全數據,這就要求客戶端之間可以彼此判斷對方的身份,傳遞的數據必須加密,當數據在傳輸中被更改時可以被發覺。
(4)完善的事務管理和故障恢復機制
事務管理和故障恢復主要是對付系統內發生的自然因素故障,保證數據和事務的一致性和完整性。故障恢復的主要措施是進行日志記錄和數據復制。在網絡數據庫系統中,分布事務首先要分解為多個子事務到各個站點上去執行,各個服務器之間還必須采取合理的算法進行分布式并發控制和提交,以保證事務的完整性。
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯系:億恩小凡
QQ:89317007
電話:0371-63322206
本文出自:億恩科技【www.vbseamall.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]
|