NT系統的安全策略-- 徐 彬 賀蘊普 劉雪寧 中國科學院廣州化學研究所 當年WINDOWSNT剛剛推出的時候,人們還在懷疑這樣一個原代碼非公開性的操作系統如何能占領服務器市場,但隨著1996年NT4.0的推出,越來越多的使用者開始使用NT來構建自己的網絡平台,WINDOWS NT的優點也慢慢被人們所發現:使用簡單、圖形化界面友好、穩定性也可以接受(較之WINDOWS系列的不穩定而言)、開發工具完善等。今年WINDOWS2000的發布更加堅定了微軟搶占服務器市場的決心,特別是WINDOWS 2000 ADVANCE SERVER,WINDOWS 2000 DATACENTER及群集技術的推出更是說明了微軟決心要進軍高端服務器市場,與UNIX和LINUX三分天下。 但是,僅僅是使用簡單是不夠的,作為一個安全級別為C2級以及原代碼非公開性的操作系統,NT從一推出來便漏洞百出。NT4.0從推出至今已有了6個服務升級包(微軟不好意思稱之為補丁),每一個都有幾十兆之巨,下載的時候令人痛苦萬分。NT系統的安全性不好是因為其復雜的結構和源代碼不對外公開,整個操作系統只有微軟自己可以修改,不象LINUX及多種UNIX系統,內核的源碼是公開的,當一個安全性問題或漏洞被發現後,全球許多優秀的程序員都可以參與修改,使得LINUX、UNIX系統的錯誤很快被修正。所以當NT的漏洞被發現後,人們首先看到的是MICROSOFT安全公告上的長篇大論的解釋或是讓你刪除出問題的組件,隨後就是耐心的等待,直到補丁或服務升級包的推出。 WINDOWS 2000的推出並沒有改變NT系統安全性不好的問題,讓我們一起來看看WINDOWS 2000安裝時出現的一個漏洞:在Windows 2000安裝過程中未對ADMIN$進行保護,也就是說當安裝過程中第一次輸入管理員密碼到下一次重新啟動前,任意網絡用戶都可以不用密碼而通過直接連接ADMIN$共享來訪問系統,即在網絡共享輸入:\\服務器名\ADMIN$ 從而進入系統。所以建議大家在安裝WINDOWS 2000的時候物理隔斷服務器的網絡連接。 從上面的例子可以看出,Windows NT系列並不是令人放心的系統,我們需要了解NT系統的漏洞,了解黑客的入侵方式,定出我們的安全策略。 一、NT系統的漏洞 1. 密碼: 對任何人來講,較短的密碼都是極不安全的,Windows NT的密碼實際上沒有以文件形式保存,而是一些雜亂的暗碼夾雜在某些文件的內部。已經發現包含有NT密碼的文件有8個,包括\WINNT\rapair\sam._,這個文件中包含管理員的密碼,以及\WINNT\system32\inetsrv\ MetaBase.bin,這個文件中包含有IUSR_ComputerName等帳號的密碼。破解NT的密碼有許多小工具,比如L0phtCrack這個小軟件,從菜單中選取注冊表獲取信息或從SAM文件中獲取信息,對於六位數密碼(不包含特殊字符),一般情況下20分鐘內可以解出來(當然,破解機器的速度不能太慢)。所以對於管理員的密碼,最好是8-9位,而且要帶有特殊字符。 2. IIS: Internet Information Server是一個很好用的WEB和FTP服務平台,由於IIS與ASP腳本語言及ACTIVEX控件緊密結合,用戶可以在服務器端用簡單的腳本作出功能強大的數據庫查詢及動態WEB頁面,另外IIS也提供了遠程管理的功能,使用戶通過WEB可以對IIS進行管理。雖然IIS簡單好用,但是漏洞百出。我們知道ASP腳本語言的一大好處是無法查看源代碼,所有的ASP腳本均在服務器端執行,客戶端得到的是程序執行的結果,得不到ASP腳本的源代碼,這在一定程度上保護了開發者的利益。但是IIS3的一個經典漏洞便暴露了ASP腳本的源代碼,只要在浏覽器裡加上幾個特殊字符,便可以看到源碼,如(假設要訪問的文件為),在浏覽器地址框內敲入紅框內的內容,即可在查看源碼中看到整個ASP源碼。當然,這個漏洞已被補上,但現在已知能查看ASP源碼的漏洞已有六個,真是令人防不勝防。下面我們來看看最近的一些典型的漏洞: (1)shtml.dll的問題 在NT4 Frontpage Extention以及WINDOWS2000的"_vti_bin" 的虛擬目錄下有一個文件shtml.dll,目的是用來浏覽smart HTML文件。如果在windows2000上安裝Frontpage,將在web根目錄下創建一個 "_vti_bin" 的虛擬目錄,shtml.dll是位於該目錄下的文件之一。當我們要訪問的文件不存在的時候,例如訪問一個根本不存在的aaa.html,則會返回一個錯誤信息,而其中也會包含WEB的本地路徑信息。獲取WEB的本地路徑信息對黑客來說是一件開心的事,是他准備入侵系統所做的准備工作中的重要一步。更糟的是由於注意到shtml.dll對較長的帶html後綴的文件名都會進行識別和處理,利用這一點,可以對IIS服務器執行DOS攻擊。 D.O.S(Denial of Service):拒絕服務攻擊,是指一個用戶占據了大量的共享資源,使系統沒剩余的資源給其它用戶再提供服務的一種攻擊方式。拒絕服務攻擊的結果可以降低系統資源的可用性,這些資源可以是CPU、CPU時間、磁盤空間、Mode、打印機、甚至是系統管理員的時間,往往是減少或者失去服務。 拒絕服務攻擊是針對IP實現的核心進行的,它可以出現在任何一個平台之上。 利用shtml.dll的漏洞,通過編制一小段的D.O.S攻擊程序,便可以使目標的資源耗盡。 建議:禁止 /_vti_bin 目錄遠程訪問。 (2) 過長的ida後綴使IIS5.0服務崩潰 這也是一個典型的D.O.S漏洞,對於IIS4 SP4以及IIS5,只要在所要訪問的URL後面粘貼25K的字符,如:…….(25k)…ida,然後加上後綴ida,就會使IIS的服務停止。 建議:將無用的應用程序映射刪除。 (3)關於MSADC目錄下的兩個漏洞 兩個漏洞均為IIS4的漏洞,IIS4若安裝了范例文件則會在/wwwroot下生成/msadc目錄,其中有兩個文件帶來了漏洞: Showcode.asp:這是一個ASP的范例文件,通過它我們可以查看ASP源碼甚至是系統配置文件。例如我們想要看的是test.asp: Msadcs.dll: 這是一個允許通過web遠程訪問ODBC,獲取系統的控制權的文件,微軟為此發布過補丁,但沒有徹底解決問題,黑客可以通過該文件通過vb函數調用VbBusObj請求或shell,從而獲得系統最高權限。 建議:刪除MSADC目錄及Msadcs.dll。 (4) 微軟的動態庫文件與Netscape 在裝有Frontpage Extion Server的IIS 服務器上,有兩個動態庫文件 dvwssr.dll,mtd2lv.dll被發現有後門,所謂後門也就是程序開發者設計程序時留下的供自己日後可隨意訪問系統的入口,一般是有口令的,這個後門的功能是允許用戶遠程讀取asp、asa和CGI程序的源代碼,但要求解碼後才能發揮讀取asp等源程序的功能,有趣的是這個後門的密碼竟然是"Netscape engineers are weenies!"。微軟的操作系統已經不止一次被人發現有後門了,但是密碼如此有攻擊性確實少見。另一方面,發展我們中國自己的操作系統是勢在必行了。
建議:刪除dvwssr.dll。 二、黑客的入侵方式 黑客經常端坐在電腦面前,廢寢忘食,他們大部分的時間是在尋找主機,查找漏洞,然後進入你的系統。但是黑客不完全等於入侵者,好的黑客會幫你查找系統的漏洞,然後告訴你解決方法,但我們不能期望只碰到善意的黑客,我們必須了解黑客入侵的方法(由於本文並不是黑客教程,故具體操作內容從略): 1. 查找指紋 這是入侵的最重要的一步,首先使用的工具是PING。查找想要入侵的一段IP地址,如果沒有任何機器,再換一段,直到找到目標。然後判斷它是否是NT服務器?你可以這樣判斷 (1) Telnet遠程登錄到它的21號端口(ftp),看它是不是顯示nt信息。 (2) 檢查一下服務器是否只是說它在運行什麼(檢查它們的頁面)。 (3) 試一下NBTSTAT -A [ip address]看它的回應。如果未出錯,並出現相關的共享信息,就可以得到結果了。 然後就是用一些端口掃描器掃描目標機器所運行的服務,從而判斷從那一個端口進攻。 2. 尋找漏洞 運行類似letmein.exe這樣的程序可以對目標機器的帳號進行攻擊,並取得相應的密碼。另一個方法是由NBTSTAT -A [ip address]得到目標機器詳細的共享目錄,然後編輯本地文件c:\windows\lmhosts(LMHOSTS文件是一個包含NetBIOS到IP地址映射的簡單文本文件),將目標主機IP解析加入,然後嘗試連接目標機的共享邏輯盤。SNIFFER也是黑客常用的工具,用SNIFFER可以分析各種信息包可以很清楚的描述出網絡的結構和使用的機器,由於它接受任何一個在同一網段上傳輸的數據包,所以也就存在著SNIFFER可以用來捕獲密碼,EMAIL信息,秘密文檔等一些其他沒有加密的信息。所以這成為黑客們常用的擴大戰果的方法,奪取其他主機的控制權。當然最容易入侵的是IIS及FTP,黑客可以用自制的小程序監聽IIS及FTP,發現未加密的密碼,以及如上文所講的利用IIS及FTP的已公開的漏洞,逐個嘗試進行入侵。 3. 入侵系統 能入侵系統的人不一定都是壞人,但典型的破壞者入侵後會更改你的首頁,竊取你的帳號密碼,下載你硬盤的重要資料,在你的系統裡放入木馬程序,運行DOS攻擊程序,或利用你的機器作為向別人發動攻擊的中轉站。 三、安全策略 為了防止惡意的入侵,我們必須定出詳細的安全策略: 1.硬件或軟件的防火牆是必須的,同時也是有效的,防火牆可以抵擋大部分的惡意進攻,也可以記錄進出網絡的每一個包的簡要信息,為日後查找入侵記錄提供了方便。但防火牆並不是買回來就擺在那裡,它需要細心的配置和升級。 2. 硬盤最好Format 成NTFS格式,經常看看一些安全站點,使用最新的Service Pack,並時常打一些微軟發布的小補丁。 3. 刪除不必要的網絡共享,可以命令net share /d。那些為了管理而設置的共享,如C$,D$,ADMIN$,刪除後重啟就又共享了,,所以必須通過修改注冊表的方法來實現,對NT4,可以修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Services\LanmanServer\Parameters 的 AutoShareServer