以下是我們認(rèn)為應(yīng)該處于“自動”啟動狀態(tài)的基本服務(wù):
DNS Client:如果服務(wù)器需要主動與其它服務(wù)器進(jìn)行通信,就需要這個(gè)服務(wù)。許多Web服務(wù)器僅僅是對請求進(jìn)行應(yīng)答而自身并不發(fā)出請求,這時(shí)就不需要DNS Client了。
Event Log:事件日志,用于記錄程序和 Windows 發(fā)送的事件消息。事件日志包含對診斷問題有所幫助的信息,可以在“事件查看器”中查看報(bào)告。
Logical Disk Manager:邏輯磁盤管理器監(jiān)視狗服務(wù),用于管理本地磁盤驅(qū)動器和可移動設(shè)備。
Network Connections:管理“網(wǎng)絡(luò)和撥號連接”文件夾中對象,在其中可以查看局域網(wǎng)和遠(yuǎn)程連接。
Protected Storage:提供對敏感數(shù)據(jù)(如私鑰)的保護(hù)性存儲,以便防止未授權(quán)的服務(wù)、過程或用戶對其的非法訪問。
Remote Procedure Call (RPC):遠(yuǎn)程過程調(diào)用服務(wù),用于在一個(gè)系統(tǒng)上使用程序執(zhí)行遠(yuǎn)程系統(tǒng)上的指令或程序。
Security Accounts Manager (SAM):安全賬號管理服務(wù),用于維護(hù)本地用戶帳戶的安全信息。
Windows Management Instrumentation(WMI):Windows管理器,提供系統(tǒng)管理信息,如果沒有它,就沒有可訪問的管理控制臺來執(zhí)行系統(tǒng)管理。
Windows Management Instrumentation Driver Extensions:Windows管理器驅(qū)動器擴(kuò)展,也是MMC所要求的,用于與驅(qū)動程序間交換系統(tǒng)管理信息。
以下是我們認(rèn)為應(yīng)該處于“手動”啟動狀態(tài)的基本服務(wù):
Logical Disk Manager Administrative Service:邏輯硬盤管理器管理服務(wù),是磁盤管理請求的系統(tǒng)管理服務(wù)。
World Wide Web Publishing Service:WWW發(fā)布服務(wù),用于向Web 站點(diǎn)設(shè)置的特定端口(通常是80)發(fā)布Web內(nèi)容。
4、強(qiáng)化SAM數(shù)據(jù)庫的保護(hù)
SAM數(shù)據(jù)庫就是系統(tǒng)賬戶數(shù)據(jù)庫,其中的內(nèi)容屬于一等機(jī)密,再怎么保護(hù)也不為過。默認(rèn)狀態(tài)下,SAM 是用本地存儲的啟動關(guān)鍵字來加密的,這個(gè)關(guān)鍵字中包含一個(gè)雜亂信息代碼,它在啟動過程中被處理進(jìn)而將賬戶數(shù)據(jù)庫解密并存儲在內(nèi)存中,從而被系統(tǒng)訪問。加密關(guān)鍵字的默認(rèn)存儲地點(diǎn)可以用Win2K命令行工具syskey.exe來修改:
因此,為了保護(hù)SAM數(shù)據(jù)庫的安全,管理員可以使用這個(gè)工具將雜亂信息代碼轉(zhuǎn)移到軟盤上,并注意為這個(gè)軟盤制作多個(gè)備份,放置到一個(gè)非常安全的地方。如果這個(gè)軟盤丟失或損壞,就無法重新啟動服務(wù)器了,因?yàn)樵贈]有其它辦法可以對用戶賬戶和口令數(shù)據(jù)庫進(jìn)行解密。
另外,我們還應(yīng)該對SAM數(shù)據(jù)庫添加口令復(fù)雜性的要求,這是通過啟動“本地安全策略”工具并啟用其中的“密碼必須符合復(fù)雜性要求”來完成的:
5、確定Web站點(diǎn)的口令訪問策略
訪問Web 站點(diǎn)的不同內(nèi)容可能需要不同的口令,考慮到相應(yīng)的行為并設(shè)計(jì)好對策將極大地減少許多安全隱患。例如:服務(wù)器是只作為公共信息站點(diǎn)使用嗎?它允許不同權(quán)限的用戶訪問受保護(hù)的數(shù)據(jù)嗎?站點(diǎn)要求用戶向其提交數(shù)據(jù)嗎?......通常,我們可以對所有的Internet服務(wù)器都執(zhí)行相同的基本安全配置,然后再根據(jù)具體服務(wù)類型,進(jìn)一步做出特殊安全設(shè)置。比如:如果服務(wù)器只是為公司提供一個(gè)Web上的存在,那最好就只允許匿名訪問,這樣就避免了服務(wù)器與客戶之間的口令傳遞,并降低了攻擊者探測服務(wù)器口令的可能性。
6、消除空連接安全漏洞
在Win2K中存在一種可能性:攻擊者可以使用一個(gè)所謂的空賬號登錄到系統(tǒng)、建立一個(gè)空對話,從而獲取服務(wù)器上用戶和組賬號情況列表以及服務(wù)器上的所有共享資源列表。呵呵,空手套賬號?。∽屵@個(gè)“空手”真正落空的方法是修改注冊表相關(guān)項(xiàng)目,方法分別是:
禁止空連接獲取賬號信息:修改的鍵值及取值是
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA,REG_DWORD,1
注意:有些服務(wù)可能要使用空連接在網(wǎng)絡(luò)上完成與其它服務(wù)器和系統(tǒng)通信的任務(wù),所以如果修改注冊表后發(fā)現(xiàn)這些服務(wù)工作不正常了,那就再修改回來吧。摸著石頭過河嗎!
禁止空連接獲取共享資源:修改的鍵值及取值是
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\RestrictNullSessAccess,REG_DWORD,1
當(dāng)這個(gè)值設(shè)置為1時(shí),空連接用戶將不能訪問任何共享;如果設(shè)置為0,那么空連接用戶就可以連接到所有對Everyone組共享的程序或打印機(jī)上。
注意:修改這個(gè)鍵值可能會影響空連接對Named Pipes(名字管道)的訪問。Named Pipes就是一個(gè)系統(tǒng)上的程序與另一個(gè)不同系統(tǒng)上的程序通訊的功能。在Win2K中設(shè)置了許多named pipes,例如Winreg以IPC機(jī)制允許在一個(gè)客戶機(jī)器上運(yùn)行Regedit并訪問遠(yuǎn)程服務(wù)器的注冊表文件,Netlogon通過一個(gè)named pipe使用RPC連接來進(jìn)行登錄認(rèn)證,SMB (Server Message Blocks)使用named pipes進(jìn)行網(wǎng)絡(luò)上服務(wù)器之間的通訊。注冊表中有關(guān)于空連接可以使用的named pipes列表,鍵值如下:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\NullSessionPipes
我們可以根據(jù)需要對以上列表中的字符串進(jìn)行去除,但同樣請注意:如果發(fā)現(xiàn)有些服務(wù)工作不正常,請?jiān)傩薷幕貋怼?br>
7、去除對其他操作系統(tǒng)的支持
Win2K可以很好地支持其他操作系統(tǒng),允許例如OS/2和POSIX的應(yīng)用程序向服務(wù)器發(fā)送請求以執(zhí)行代碼。這種功能通常叫做Win2K的子系統(tǒng)。Win2K的子系統(tǒng)一般情況下不會用到,但卻是一個(gè)很大的安全漏洞,應(yīng)該采取措施堵住它。關(guān)閉這個(gè)漏洞的最簡單方法是去掉這個(gè)子系統(tǒng),使它們無法使用。放心,這不會給Win2K服務(wù)器或IIS帶來任何問題,因?yàn)樗鼈兪窃赪in32子系統(tǒng)中運(yùn)行的。
禁止OS/2和POSIX要通過刪除相關(guān)文件和改寫相關(guān)注冊表鍵值來完成,步驟如下:
刪除“\%systemroot%\system32\os2”文件夾及其中所有內(nèi)容。
刪除“\HKLM\Software\Microsoft\OS/2 Subsystem for NT”下面所有的子鍵。
刪除“\HKLM\System\CurrentControlSet\Control\Session Manager\Environment”中的值Os2LibPath。
清除“\HKLM\System\CurrentControlSet\Control\Session Manager\Subsystems”中Optional的內(nèi)容,但是保留值Optional的名字。
刪除“\HKLM\System\CurrentControlSet\Control\Session Manager\SubSystems ”中的值Os/2 和Posix。
重新啟動。
8、合理調(diào)整頁面文件的設(shè)置
需要處理的另一個(gè)問題是頁面文件(page file)在系統(tǒng)上的存放位置。當(dāng)應(yīng)用程序或系統(tǒng)程序需要訪問物理RAM時(shí),Win2K使用頁面文件作為應(yīng)用程序代碼的臨時(shí)保存區(qū)。因此,硬盤驅(qū)動器上必須有足夠的空間供頁面文件使用,否則就會導(dǎo)致系統(tǒng)崩潰。避免出現(xiàn)這種情況的方法有:
在系統(tǒng)上盡可能多安裝RAM??捎玫奈锢鞷AM越多,系統(tǒng)運(yùn)行的效率越高。
將所有的操作系統(tǒng)文件放置在自己的分區(qū)。這個(gè)分區(qū)中應(yīng)該只包含操作系統(tǒng)文件和一個(gè)至少相當(dāng)于物理RAM大小的頁面文件。當(dāng)系統(tǒng)遭遇一個(gè)STOP錯(cuò)誤時(shí),這個(gè)頁面文件允許系統(tǒng)創(chuàng)建一個(gè)crashdump文件。
至少在另外一個(gè)分區(qū)上創(chuàng)建一個(gè)頁面文件,其大小大約為物理RAM + 11 MB。如果可能的話,將這個(gè)頁面文件放置在一個(gè)單獨(dú)的物理驅(qū)動器上,這樣系統(tǒng)執(zhí)行I/O操作就更加有效。
配置系統(tǒng)服務(wù)和生成日志文件及擴(kuò)展數(shù)據(jù)的應(yīng)用程序,使它們寫入的文件不在操作系統(tǒng)所在的驅(qū)動器上。
四、結(jié) 語
以上詳細(xì)論述了使用Win2K和IIS5構(gòu)建安全I(xiàn)nternet網(wǎng)站的Win2K操作系統(tǒng)安全配置指南部分,如果是嚴(yán)格按照這些步驟裝扮了Win2K,就可以說基本上做到了從“地面部分”全力堵截入侵者的攻擊。要做到從“空中部分”攔截入侵,請看“Win2K Internet服務(wù)器安全構(gòu)建指南(IIS篇)”。