保障IISWeb服務(wù)器安全堵住一切漏洞
來源:程序員人生 發(fā)布時(shí)間:2013-11-17 01:38:50 閱讀次數(shù):2670次
保障Web服務(wù)器的安全可能是令I(lǐng)T部門最頭疼的問題之一。每當(dāng)想到系統(tǒng)防御中存在著漏洞,這些漏洞允許外部人員訪問我們的網(wǎng)絡(luò)和數(shù)據(jù),我們就會(huì)利用自己的最大努力盡可能地將系統(tǒng)的對(duì)外暴露完全關(guān)閉。而且我們不太可能將Web服務(wù)器與網(wǎng)絡(luò)的其它部分完全分離開,雖然這樣會(huì)極大地減少可能的風(fēng)險(xiǎn)。更別說,這臺(tái)機(jī)器需要與非常敏感的數(shù)據(jù)進(jìn)行交互,這些數(shù)據(jù)你是絕對(duì)不可能使其受到破壞的。
如果你喜歡微軟的產(chǎn)品,你可能選擇使用微軟的Web服務(wù)器產(chǎn)品─IIS(Internet Information Services)。雖然Apache無疑是響應(yīng)HTTP響應(yīng)請(qǐng)求的最重要的軟件產(chǎn)品。(根據(jù)Netcraft的每月調(diào)查,Apache占有超過50%市場(chǎng)份額),IIS在的Web服務(wù)器中約占三分之一。
使用IIS這種較為流行的、容易得到的、容易安裝的產(chǎn)品有著另外一面,那就是黑客們?cè)缇蜏?zhǔn)備好了如何對(duì)它進(jìn)行訪問,而且他們可以找到各種各樣的方法來利用系統(tǒng)的漏洞。不幸的是,IIS從一開始就沒有真正地提供一個(gè)Web服務(wù)器所要求的安全水平,因此那些對(duì)IIS情有獨(dú)鐘的人需要當(dāng)心了!
在此,我們假定你是在Windows Server 2003中使用IIS 6.0,如果你沒有使用該軟件,建議你用這個(gè)版本。你最好使用一個(gè)正確配置的Windows Server 2003/IIS 6,而不是使用其以前的版本?!?
最基本的安全
在采取措施之前,需要從一些基本的問題開始,特別是一些基本的規(guī)則需要對(duì)所有的服務(wù)器實(shí)施。例如,確保你已經(jīng)為你的Web服務(wù)器準(zhǔn)備了良好的備份和恢復(fù)過程,以求使“巖機(jī)”時(shí)間最小化,而且你的Web服務(wù)器要位于一個(gè)堅(jiān)固的、受監(jiān)視的、最新的防火墻之后。定期監(jiān)視服務(wù)器的日志,并且在安全更新可用時(shí)立即安裝之?!?
當(dāng)然,最重要的規(guī)則就是最簡(jiǎn)單的:如果你不需要它,就不要用它!現(xiàn)在IIS已經(jīng)不再是默認(rèn)安裝了,因此如果因?yàn)槟阋婚_始就安裝了一個(gè)本不需要的服務(wù),而導(dǎo)致有人攻擊了你的系統(tǒng)你可不要后悔莫及?!?
只要可能,要讓服務(wù)器只負(fù)責(zé)Web頁面。如果預(yù)算允許的話,應(yīng)該盡可能地將服務(wù)器的職責(zé)進(jìn)行分離。例如,讓一臺(tái)計(jì)算機(jī)作為域控制器,另一臺(tái)作為SQL 服務(wù)器等等。如果你的預(yù)算不允許,就要確保讓管理層徹底明白,這種省錢之道有可能會(huì)導(dǎo)致嚴(yán)重的后果?!?
進(jìn)一步的安全
好了,這樣一來你就需要設(shè)置一臺(tái)主機(jī)掌管公共訪問的Web站點(diǎn)而且你確定要使用IIS這種Web服務(wù)器。假使你已經(jīng)安裝了所有的可用的補(bǔ)丁,改變了管理員的登錄名(不再是administrator,而是一個(gè)不容易猜測(cè)的名稱),而且你還為其創(chuàng)建了一個(gè)不是過于簡(jiǎn)單的口令,卸載了你絕對(duì)不需要的任何程序或服務(wù),并且將你的Web服務(wù)器放在一個(gè)DMZ的合理位置。這是一個(gè)很好的開始,不過還遠(yuǎn)遠(yuǎn)不夠?!?
默認(rèn)情況下,IIS 6.0是被鎖定的。雖然默認(rèn)安裝只能將靜態(tài)的頁面內(nèi)容提供給訪問者(ASP.NET 和 FrontPage Server Extensions 需要手動(dòng)設(shè)置啟用),Windows系列產(chǎn)品簡(jiǎn)單易用的另外一面是容易受到利用,不管是出于什么目的。要解決這個(gè)問題,可以下載并運(yùn)行Microsoft Baseline Security Analyzer (MBCA)。MBCA會(huì)查看你的系統(tǒng)并比較徹底地發(fā)現(xiàn)一些錯(cuò)誤的安全設(shè)置,希望在別有用心的人發(fā)現(xiàn)之前你能解決這些問題。
還有一點(diǎn),IIS不僅僅是一個(gè)Web服務(wù)器,而是一個(gè)互聯(lián)網(wǎng)服務(wù)的整套組件。FTP、SMTP,NNTP和其它的服務(wù)也都包含在這個(gè)組件中?!?
默認(rèn)地,匿名用戶能夠以一個(gè)名為IUSR_yourcomputername的用戶名訪問你的系統(tǒng)。要確保你正使用NTFS(這要遠(yuǎn)比FAT32安全),而且要保證NTFS對(duì)這種用戶的訪問權(quán)限可能的嚴(yán)格。只有在不得不為匿名用戶放開寫權(quán)限時(shí),你才能這樣做?!?
所有這些都假定我們正在談?wù)摰氖且粋€(gè)可被公眾訪問的web服務(wù)器。如果你的機(jī)器只能被已知的用戶訪問,你就應(yīng)該完全禁用匿名用戶的訪問,并且考慮只允許特定的IP地址的連接。如果你對(duì)此不太了解,可到微軟的網(wǎng)點(diǎn)找到相關(guān)的鏈接,根據(jù)其易于操作的文檔進(jìn)行。
“隱藏信息”成就的安全
首先,需要強(qiáng)調(diào),我并不是提倡通過隱藏某些信息作為防御的唯一手段。只通過隱藏這種手段,與沒有采用什么安全措施沒有什么兩樣。然而,如果將其與本文介紹的其它的方法結(jié)合起來,它就會(huì)很有用處。如果用這種手段能夠阻止25%的可能的黑客,這不是很有意義的事情嗎?
記住,黑客用以攻擊的手段與其所檢測(cè)到的Web服務(wù)器的版本是息息相關(guān)的。如果你能隱藏正在使用IIS的這個(gè)事實(shí),那么,你就會(huì)挫敗一些攻擊者的險(xiǎn)惡居心,這要比在發(fā)現(xiàn)攻擊之后再進(jìn)行阻止要強(qiáng)多了。
真得感謝微軟,其IIS 6.0并沒有允許遠(yuǎn)程用戶通過一個(gè)簡(jiǎn)單的與80端口的telnet請(qǐng)求而使其得到IIS的版本。不過,還是有些細(xì)節(jié)會(huì)透露出使用的是IIS軟件。例如,默認(rèn)的“under construction”(正在建設(shè)中……)頁面(只要安裝了IIS就會(huì)創(chuàng)建)就會(huì)提及“IIS”這個(gè)名稱,正如默認(rèn)的錯(cuò)誤頁面(404,etc)所顯示的那樣。因此,立即修改這些文件并隱藏這種信息!
此外,如果這不是一個(gè)可被公共訪問的服務(wù)器,可以考慮將IIS與一個(gè)非標(biāo)準(zhǔn)的端口綁定。一種簡(jiǎn)單的攻擊方法會(huì)首先確定80端口是否可用。不過,如果某個(gè)家伙如果掃描你計(jì)算機(jī)的所有端口試圖找到IIS,你可能會(huì)花費(fèi)額外一些時(shí)間來檢測(cè)和阻礙這種攻擊。
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)