windows 2000中的IIS網(wǎng)站安全構(gòu)建指南
因此,為了保護SAM數(shù)據(jù)庫的安全,管理員可以使用這個工具將雜亂信息代碼轉(zhuǎn)移到軟盤上,并注意為這個軟盤制作多個備份,放置到一個非常安全的地方。如果這個軟盤丟失或損壞,就無法重新啟動服務(wù)器了,因為再沒有其它辦法可以對用戶賬戶和口令數(shù)據(jù)庫進行解密。
另外,我們還應(yīng)該對SAM數(shù)據(jù)庫添加口令復雜性的要求,這是通過啟動“本地安全策略”工具并啟用其中的“密碼必須符合復雜性要求”來完成的:
5、確定Web站點的口令訪問策略
訪問Web 站點的不同內(nèi)容可能需要不同的口令,考慮到相應(yīng)的行為并設(shè)計好對策將極大地減少許多安全隱患。例如:服務(wù)器是只作為公共信息站點使用嗎?它允許不同權(quán)限的用戶訪問受保護的數(shù)據(jù)嗎?站點要求用戶向其提交數(shù)據(jù)嗎?......通常,我們可以對所有的Internet服務(wù)器都執(zhí)行相同的基本安全配置,然后再根據(jù)具體服務(wù)類型,進一步做出特殊安全設(shè)置。比如:如果服務(wù)器只是為公司提供一個Web上的存在,那最好就只允許匿名訪問,這樣就避免了服務(wù)器與客戶之間的口令傳遞,并降低了攻擊者探測服務(wù)器口令的可能性。
6、消除空連接安全漏洞
在Win2K中存在一種可能性:攻擊者可以使用一個所謂的空帳號登錄到系統(tǒng)、建立一個空對話,從而獲取服務(wù)器上用戶和組帳號情況列表以及服務(wù)器上的所有共享資源列表。呵呵,空手套帳號!讓這個“空手”真正落空的方法是修改注冊表相關(guān)項目,方法分別是:
禁止空連接獲取帳號信息:修改的鍵值及取值是
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
當這個值設(shè)置為1時,空連接用戶將不能訪問任何共享;如果設(shè)置為0,那么空連接用戶就可以連接到所有對Everyone組共享的程序或打印機上。
注意:修改這個鍵值可能會影響空連接對Named Pipes(名字管道)的訪問。Named Pipes就是一個系統(tǒng)上的程序與另一個不同系統(tǒng)上的程序通訊的功能。在Win2K中設(shè)置了許多named pipes,例如Winreg以IPC機制允許在一個客戶機器上運行Regedit并訪問遠程服務(wù)器的注冊表文件,Netlogon通過一個named pipe使用RPC連接來進行登錄認證,SMB (Server Message Blocks)使用named pipes進行網(wǎng)絡(luò)上服務(wù)器之間的通訊。注冊表中有關(guān)于空連接可以使用的named pipes列表,鍵值如下:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\NullSessionPipes
我們可以根據(jù)需要對以上列表中的字符串進行去除,但同樣請注意:如果發(fā)現(xiàn)有些服務(wù)工作不正常,請再修改回來。
7、去除對其他操作系統(tǒng)的支持
Win2K可以很好地支持其他操作系統(tǒng),允許例如OS/2和POSIX的應(yīng)用程序向服務(wù)器發(fā)送請求以執(zhí)行代碼。這種功能通常叫做Win2K的子系統(tǒng)。Win2K的子系統(tǒng)一般情況下不會用到,但卻是一個很大的安全漏洞,應(yīng)該采取措施堵住它。關(guān)閉這個漏洞的最簡單方法是去掉這個子系統(tǒng),使它們無法使用。放心,這不會給Win2K服務(wù)器或IIS帶來任何問題,因為它們是在Win32子系統(tǒng)中運行的。
禁止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è)置
需要處理的另一個問題是頁面文件(page file)在系統(tǒng)上的存放位置。當應(yīng)用程序或系統(tǒng)程序需要訪問物理RAM時,Win2K使用頁面文件作為應(yīng)用程序代碼的臨時保存區(qū)。因此,硬盤驅(qū)動器上必須有足夠的空間供頁面文件使用,否則就會導致系統(tǒng)崩潰。避免出現(xiàn)這種情況的方法有:
在系統(tǒng)上盡可能多安裝RAM。可用的物理RAM越多,系統(tǒng)運行的效率越高。
將所有的操作系統(tǒng)文件放置在自己的分區(qū)。這個分區(qū)中應(yīng)該只包含操作系統(tǒng)文件和一個至少相當于物理RAM大小的頁面文件。當系統(tǒng)遭遇一個STOP錯誤時,這個頁面文件允許系統(tǒng)創(chuàng)建一個crashdump文件。
至少在另外一個分區(qū)上創(chuàng)建一個頁面文件,其大小大約為物理RAM + 11 MB。如果可能的話,將這個頁面文件放置在一個單獨的物理驅(qū)動器上,這樣系統(tǒng)執(zhí)行I/O操作就更加有效。
配置系統(tǒng)服務(wù)和生成日志文件及擴展數(shù)據(jù)的應(yīng)用程序,使它們寫入的文件不在操作系統(tǒng)所在的驅(qū)動器上。
四、結(jié) 語
以上詳細論述了使用Win2K和IIS5構(gòu)建安全Internet網(wǎng)站的Win2K操作系統(tǒng)安全配置指南部分,如果是嚴格按照這些步驟裝扮了Win2K,就可以說基本上做到了從“地面部分”全力堵截入侵者的攻擊。要做到從“空中部分”攔截入侵,請看“Win2K Internet服務(wù)器安全構(gòu)建指南(IIS篇)”。