windows 2000中的IIS網(wǎng)站安全構(gòu)建指南
因此,為了保護(hù)SAM數(shù)據(jù)庫的安全,管理員可以使用這個(gè)工具將雜亂信息代碼轉(zhuǎn)移到軟盤上,并注意為這個(gè)軟盤制作多個(gè)備份,放置到一個(gè)非常安全的地方。如果這個(gè)軟盤丟失或損壞,就無法重新啟動(dòng)服務(wù)器了,因?yàn)樵贈(zèng)]有其它辦法可以對用戶賬戶和口令數(shù)據(jù)庫進(jìn)行解密。
另外,我們還應(yīng)該對SAM數(shù)據(jù)庫添加口令復(fù)雜性的要求,這是通過啟動(dòng)“本地安全策略”工具并啟用其中的“密碼必須符合復(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è)鍵值可能會(huì)影響空連接對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)一般情況下不會(huì)用到,但卻是一個(gè)很大的安全漏洞,應(yīng)該采取措施堵住它。關(guān)閉這個(gè)漏洞的最簡單方法是去掉這個(gè)子系統(tǒng),使它們無法使用。放心,這不會(huì)給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。
重新啟動(dòng)。
8、合理調(diào)整頁面文件的設(shè)置
需要處理的另一個(gè)問題是頁面文件(page file)在系統(tǒng)上的存放位置。當(dāng)應(yīng)用程序或系統(tǒng)程序需要訪問物理RAM時(shí),Win2K使用頁面文件作為應(yīng)用程序代碼的臨時(shí)保存區(qū)。因此,硬盤驅(qū)動(dòng)器上必須有足夠的空間供頁面文件使用,否則就會(huì)導(dǎo)致系統(tǒng)崩潰。避免出現(xiàn)這種情況的方法有:
在系統(tǒng)上盡可能多安裝RAM。可用的物理RAM越多,系統(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ū)動(dòng)器上,這樣系統(tǒng)執(zhí)行I/O操作就更加有效。
配置系統(tǒng)服務(wù)和生成日志文件及擴(kuò)展數(shù)據(jù)的應(yīng)用程序,使它們寫入的文件不在操作系統(tǒng)所在的驅(qū)動(dòng)器上。
四、結(jié) 語
以上詳細(xì)論述了使用Win2K和IIS5構(gòu)建安全I(xiàn)nternet網(wǎng)站的Win2K操作系統(tǒng)安全配置指南部分,如果是嚴(yán)格按照這些步驟裝扮了Win2K,就可以說基本上做到了從“地面部分”全力堵截入侵者的攻擊。要做到從“空中部分”攔截入侵,請看“Win2K Internet服務(wù)器安全構(gòu)建指南(IIS篇)”。