第一:怎麼裝
一、 版本的選擇
筆者強烈建議:在語言不成為障礙的情況下,請一定使用英文版。要知道,微軟的產品是以"漏洞加補丁(Bug & Patch)"而著稱的,中文版的Bug遠遠多於英文版,而補丁一般還會遲至少半個月(也就是說一般微軟公布了漏洞後你的服務器還會有半個月處於無保護狀態)。
二、 組件的定制
WIN2K在默認情況下會安裝一些常用的組件,但是正是這個默認安裝是非常危險的,根據安全原則"最少的服務+最小的權限=最大的安全" ,只安裝確實需要的服務即可。這裡特別提醒注意的是:"Indexing Service"、"FrontPage 2000 Server Extensions"、" Internet Service Manager"這幾個危險服務。
三、 管理應用程序的選擇
選擇一個好的遠程管理軟件是非常重要的事,這不僅僅是安全方面的要求,也是應用方面的需要。WIN2K的Terminal Service是基於RDP(遠程桌面協議)的遠程控制軟件,它的速度快,操作方便,比較適合用來進行常規操作。但是,Terminal Service也有其不足之處,由於它使用的是虛擬桌面,再加上微軟編程的不嚴謹,當你使用Terminal Service進行安裝軟件或重啟服務器等與真實桌面交互的操作時,往往會出現哭笑不得的現象,例如:使用Terminal Service重啟微軟的認證服務器(Compaq, IBM等)可能會直接關機。所以,為了安全起見,建議再配備一個遠程控制軟件作為輔助,和Terminal Service互補,如PcAnyWhere就是一個不錯的選擇。
四、 分區和邏輯盤的分配
至少建立兩個分區,一個系統分區,一個應用程序分區。這是因為,微軟的IIS(Internet Ihformation Server)經常會有漏洞,如果把系統和IIS放在同一個驅動器會導致系統文件的洩漏,甚至讓入侵者遠程獲取管理權。
推薦建立三個邏輯驅動器,第一個用來裝系統和重要的日志文件;第二個放IIS;第三個放FTP,這樣無論IIS或FTP出了安全漏洞都不會直接影響到系統目錄和系統文件。
五、 安裝順序的選擇
不要覺得只要能裝上系統,就算完事了,其實WIN2K的安裝順序是非常重要的。
首先,要注意接入網絡的時間。WIN2K在安裝時有一個漏洞,就是在輸入Administrator的密碼後,系統會建立"$ADMIN"的共享,但是並沒有用剛輸入的密碼來保護它,這種情況一直會持續到計算機再次啟動。在此期間,任何人都可以通過"$ADMIN"進入系統;同時,只要安裝一完成,各種服務就會自動運行,而這時的服務器還到處是漏洞,非常容易從外部侵入。因此,在完全安裝並配置好WIN2K Server之前,一定不要把主機接入網絡。
其次,注意補丁的安裝。補丁應該在所有應用程序安裝完之後再安裝,因為補丁程序往往要替換或修改某些系統文件,如果先安裝補丁的話可能無法起到應有的效果。
第二:怎麼設
即使正確地安裝了WIN2K Server,系統也有很多漏洞,還需要進一步進行細致的配置。
一、 端口
端口是計算機和外部網絡相連的邏輯接口,也是計算機的第一道屏障,端口配置正確與否直接影響到主機的安全。
二、 IIS
IIS是微軟的組件中問題最多的一個,平均兩三個月就要出一個漏洞,而微軟的IIS默認安裝又實在不敢恭維,所以IIS的配置是我們的重點。
首先,刪除C盤下的Inetpub目錄,在D盤建一個Inetpub,在IIS管理器中將主目錄指向D:\Inetpub。
其次,把IIS安裝時默認的scripts等虛擬目錄也一概刪除,如果你需要什麼權限的目錄可以以後再建(特別注意寫權限和執行程序的權限)。
然後是應用程序的配置。在IIS管理器中把無用映射都統統刪除(當然必須保留如ASP、ASA等)。在IIS管理器中"主機→屬性→WWW服務編輯→主目錄配置→應用程序映射",然後開始一個個刪吧。接著再在應用程序調試書簽內,?quot;腳本錯誤消息"改為"發送文本"。點擊"確定"退出時別忘了讓虛擬站點繼承剛才設定好的屬性。
最後,為了保險起見,可以使用IIS的備份功能,將剛剛的設定全部備份下來,這樣就可以隨時恢復IIS的安全配置。還有,如果怕IIS負荷過高導致服務器死機,也可以在性能中打開CPU限制,如將IIS的最大CPU使用率限制在70%。
三、 賬號安全
首先,WIN2K的默認安裝允許任何用戶通過空用戶得到系統所有賬號和共享列表,這本來是為了方便局域網用戶共享資源和文件的,但是,同時任何一個遠程用戶也可以通過同樣的方法得到你的用戶列表,並可能使用暴力法破解用戶密碼給整個網絡帶來破壞。很多人都只知道更改注冊表Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous = 1來禁止空用戶連接,實際上WIN2K的本地安全策略裡(如果是域服務器就是在域服務器安全和域安全策略裡)就有這樣的選項RestrictAnonymous(匿名連接的額外限制),其中有三個值:
"0":None, Rely on default permissions(無,取決於默認的權限)
"1":Do not allow enumeration of SAM accounts and shares(不允許枚舉SAM賬號和共享)
"2":No access without explicit anonymous permissions(沒有顯式匿名權限就不允許訪問)
"0"這個值是系統默認的,沒有任何限制,遠程用戶可以知道你機器上所有的賬號、組信息、共享目錄、網絡傳輸列表(NetServerTransportEnum)等,對服務器來說這樣的設置非常危險。"1"這個值是只允許非NULL用戶存取SAM賬號信息和共享信息。"2"這個值只有WIN2K才支持,需要注意的是,如果使用了這個值,就不能再共享資源了,所以還是推薦把數值設為"1"比較好。
四、 安全日志
這裡需要注意:WIN2K的默認安裝是不開任何安全審核的!那麼就應該到"本地安全策略→審核策略"中打開相應的審核,這裡需要說明的是,審核項目如果太少的話,你萬一想查看的時候發現沒有記錄那就一點辦法都沒有,但是審核項目如果太多,不僅會占用大量的系統資源,而且你也可能根本沒空去全部看完,這樣就失去了審核的意義。推薦的審核如下:
"賬戶管理"、"登錄事件"、"策略更改"、"系統事件"、"賬戶登錄事件"需要把"成功"和"失敗"都打開;"對象訪問"、"特權使用"、"目錄服務訪問"就只打開"失敗"。
與之相關的還有,在"賬戶策略→密碼策略"中設定:"密碼復雜性要求啟用","密碼長度最小值6位","強制密碼歷史5次","最長存留期 30天";在"賬戶策略→賬戶鎖定策略"中設定:"賬戶鎖定3次錯誤登錄","鎖定時間20分鐘","復位鎖定計數20分鐘"等。
Terminal Service的安全日志默認也是不啟用的,可以在"Terminal Service Configration(遠程服務配置)→權限→高級"中配置安全審核,一般來說只要記錄登錄、注銷事件就可以了。
五、 目錄和文件權限
為了控制好服務器上用戶的權限,同時也為了預防以後可能的入侵和溢出,還必須非常小心地設置目錄和文件的訪問權限。NT的訪問權限分為:讀取、寫入、讀取及執行、修改、列目錄、完全控制。在默認的情況下,大多數的文件夾對所有用戶(Everyone這個組)是完全敞開的(Full Control),你需要根據應用的需要進行權限重設。在進行權限控制時,請記住以下幾個原則:
1. 權限是累計的,如果一個用戶同時屬於兩個組,那麼他就有了這兩個組所允許的所有權限。
2. 拒絕的權限要比允許的權限高(拒絕策略會先執行)。如果一個用戶屬於一個被拒絕訪問某個資源的組,那麼不管其他的權限設置給他開放了多少權限,他也一定不能訪問這個資源。
3. 文件權限比文件夾權限高。
4. 利用用戶組來進行權限控制是一個成熟的系統管理員必須具有的優良習慣。
5. 只給用戶真正需要的權限,權限的最小化原則是安全的重要保障。
6. 預防ICMP攻擊:ICMP的風暴攻擊和碎片攻擊也是NT主機比較頭疼的攻擊方法,其實應付的方法也很簡單,WIN2K自帶一個Routing & Remote Access工具,這個工具初具路由器的雛形。在這個工具中,我們可以輕易地定義輸入輸出包過濾器。如設定輸入ICMP代碼255丟棄就表示丟棄所有的外來ICMP報文。
第三:要注意
實際上,安全和應用在很多時候是矛盾的,因此,你需要在其中找到平衡點,畢竟服務器是給用戶用的,如果安全原則妨礙了系統應用,那麼這個安全原則也不是一個好的原則。
網絡安全是一項系統工程,它不僅有空間的跨度,還有時間的跨度。很多朋友(包括部分系統管理員)認為進行了安全配置的主機就是安全的,其實這裡有個誤區,我們只能說一台主機在一定的情況下一定的時間內是安全的,隨著網絡結構的變化、新的漏洞的發現、管理員和用戶的操作,主機的安全狀況是隨時隨地變化著的,只有讓安全意識和安全制度貫穿整個過程才能做到真正的安全。