系統(tǒng)安全之全面關(guān)心你的UNIX架構(gòu)安全
毋庸置疑,一家公司的Unix架構(gòu)極有可能是其全部IT問(wèn)題的最重要的部分。因?yàn)樗沃愕泥]件系統(tǒng)、Web服務(wù)器,甚至你的最重要的企業(yè)應(yīng)用。雖然Unix系統(tǒng)本身是極其安全的操作系統(tǒng),但在這個(gè)惡意代碼和黑客行為十分猖獗的時(shí)代,我們絕不可以對(duì)Unix架構(gòu)的安全問(wèn)題掉以輕心。本文將討論任何Unix用戶都應(yīng)該清楚的保障Unix安全的關(guān)鍵方法,籍以引起您對(duì)此問(wèn)題的高度重視。
那么,到底有哪些要素組成了Unix架構(gòu)呢?這個(gè)問(wèn)題難以規(guī)定其標(biāo)準(zhǔn)答案,但總體而言,大多數(shù)公司都有面向客戶或公眾的服務(wù)。這些服務(wù)器是“公用的服務(wù)器。任何一個(gè)提供服務(wù)給外部世界的事物都有其特殊性。它們是用戶可以登錄的機(jī)器,這些用戶可以是一個(gè)合法的ISP賬戶,也有可能是一家公司的開(kāi)發(fā)團(tuán)隊(duì)。我們將這些可被登錄的服務(wù)器稱為“登錄服務(wù)器,因而須對(duì)它們特別對(duì)待。還要注意,我們網(wǎng)絡(luò)架構(gòu)中有相當(dāng)多的計(jì)算機(jī)是為其它服務(wù)器提供服務(wù)的,這些服務(wù)器只有超級(jí)用戶可以訪問(wèn)。
公共服務(wù)
首要的問(wèn)題是,您必須看一看所有的可為外部世界提供服務(wù)的服務(wù)器,并思索自己是否真的需要。通常情況下,它們可以置于防火墻之后,或者放在一個(gè)組合式防火墻及代理服務(wù)器之后。舉例來(lái)說(shuō),如果你在四個(gè)WEB服務(wù)器上運(yùn)行一個(gè)面向客戶端的WEB站點(diǎn),那么,減少這些服務(wù)器的暴露程度至最少化是可能的。放置在這些WEB服務(wù)器之前的一個(gè)代理服務(wù)器或一對(duì)冗余代理服務(wù)器可以接受所有的客戶端連接,然后檢查并清理這些服務(wù)。這就是代理服務(wù)器其中所起的作用。代理服務(wù)器夠減輕后端WEB服務(wù)器的風(fēng)險(xiǎn),而且不受Internet的影響和訪問(wèn)。
引起安全問(wèn)題的最經(jīng)常的原因是沒(méi)有及時(shí)打補(bǔ)丁或者未知的服務(wù)。很長(zhǎng)時(shí)間以來(lái),已被人們遺忘的WEB服務(wù)器是那種Apache的老版本或者易受攻擊的PHP腳本服務(wù),因其內(nèi)核已過(guò)時(shí)。對(duì)于災(zāi)難性故障的解決處方也許太普通,不過(guò),如果您的WEB 服務(wù)器隱藏在一個(gè)代理服務(wù)器之后,那么幾乎就沒(méi)有什么遺忘打補(bǔ)丁或服務(wù)的風(fēng)險(xiǎn)。
對(duì)于其它服務(wù)也是同樣的情況。許多站點(diǎn)有一些極端的限制,如防火墻管理員必須驗(yàn)證任何新的網(wǎng)絡(luò)應(yīng)用,并且工作良好。通常情況下,公司網(wǎng)絡(luò)完全開(kāi)放,其WEB應(yīng)用是不安全的,應(yīng)用程序能與之交互的服務(wù)器常常是無(wú)任何理由地可被互聯(lián)網(wǎng)訪問(wèn)。
登錄服務(wù)器
遠(yuǎn)程用戶被限制為只能使用給定的界面,如E-MAIL服務(wù),WEB應(yīng)用或B2B服務(wù)。那些可以訪問(wèn)系統(tǒng)外殼的本地用戶可謂完全無(wú)拘無(wú)束。如果你的系統(tǒng)中恰好有一個(gè)惡意用戶,除非采取極端的措施,他可對(duì)根目錄進(jìn)行訪問(wèn)。至于更新問(wèn)題,特別是那些要求升級(jí)后重啟的內(nèi)核的更新,必須在新內(nèi)核的發(fā)布之日應(yīng)用。總之,操作系統(tǒng)需要強(qiáng)化其穩(wěn)健性。在設(shè)計(jì)架構(gòu)的過(guò)程中,必須特別注意確保用戶只能對(duì)所指定的區(qū)域訪問(wèn)。
如果你的網(wǎng)絡(luò)還有一些可對(duì)某些機(jī)器的根目錄訪問(wèn)的開(kāi)發(fā)人員,那么受到傷害的可能性就會(huì)大增加。開(kāi)發(fā)人員自身成為惡意用戶的可能性也許微乎其微,但絕不能排除其可能性。其實(shí),開(kāi)發(fā)人員不知不覺(jué)安裝的一些怪異的新程序有可能會(huì)損害系統(tǒng)。例如,Slammer 蠕蟲(chóng)的傳播速度極快,原因在于它在Windows系統(tǒng)中通過(guò)網(wǎng)絡(luò)進(jìn)行傳播,該蠕蟲(chóng)利用Microsoft SQL Server2000的緩沖區(qū)溢出漏洞獲得系統(tǒng)控制權(quán),并產(chǎn)生大量隨機(jī)IP地址進(jìn)行攻擊,導(dǎo)致蠕蟲(chóng)的迅速傳播并且形成拒絕服務(wù)攻擊,網(wǎng)絡(luò)帶寬大量地被占用。
其它問(wèn)題
理論上講,企業(yè)計(jì)算機(jī)的大多數(shù)并非面向互聯(lián)網(wǎng)的。假如真是這樣,那么限制用戶的暴露程度是所有公司的最優(yōu)先考慮的事情,我們可以在某種程度上忽略這些服務(wù)器。這些服務(wù)器上的唯一弱點(diǎn)就是其所提供的界面。“假定我的WEB應(yīng)用定期打補(bǔ)丁,就沒(méi)有必要擔(dān)心操作系統(tǒng)自身。確實(shí)有一些人有這樣的觀點(diǎn)。
如果企業(yè)能夠限制對(duì)系統(tǒng)管理的登錄訪問(wèn),這種觀點(diǎn)有可能是正確的。保持應(yīng)用程序的定期補(bǔ)丁也許可以算是安全的措施。但如果一個(gè)安全漏洞僅僅因?yàn)楣芾韱T沒(méi)有考慮到而被遺忘的話,你的整個(gè)架構(gòu)就處于風(fēng)險(xiǎn)之中,而不僅僅是你的一臺(tái)服務(wù)器。一旦攻擊者進(jìn)入了系統(tǒng)內(nèi)部,他一般會(huì)發(fā)現(xiàn)接觸其它服務(wù)器是相當(dāng)簡(jiǎn)單的。
因此,看起來(lái)有兩種可以保障一個(gè)架構(gòu)安全的方法:一是限制暴露程度并期望(只能是期望)想象不到的威脅不會(huì)發(fā)生。二是采取措施保障自身的安全,因而一旦攻擊者試圖滲透你的防御系統(tǒng),卻不能造成任何的危害。實(shí)際情況是,大多數(shù)企業(yè)甚至都不能承認(rèn)其安全策略只能屬于兩種方法的一種。
防火墻是極容易被攻克的,特別是暴露的應(yīng)用程序自身處于危險(xiǎn)之中的時(shí)候。實(shí)際上,一個(gè)表面上看似很安全的防火墻通常會(huì)吸引更多的攻擊者,這不是因?yàn)樗麄兿M邮苁裁刺魬?zhàn),而是因?yàn)樗麄冎老到y(tǒng)是外強(qiáng)中干的。我們要記住,大多數(shù)企業(yè)的外部防御還是很脆弱的。
