當前位置: 首頁IT技術 → windows 2000中的IIS網(wǎng)站安全構建指南

windows 2000中的IIS網(wǎng)站安全構建指南

更多

下面提供給大家一起分享學習的是關于windows 2000中的IIS網(wǎng)站安全構建指南,希望對大家有用。

Win2000操作系統(tǒng)的一個主要特色就是將IIS融入其內(nèi)核之中,并提供一些用來配置和維護軟件的向?qū)Чぞ,使構建一個Internet網(wǎng)站輕松易得。但是,如果要創(chuàng)建一個安全可靠的Internet網(wǎng)站,實現(xiàn)“地面部分”-Win2K操作系統(tǒng)和“空中部分”-IIS的雙重安全,還需要更加全面和深入的工作。本文就對這些穩(wěn)固工作中的地面部分-Win2K操作系統(tǒng)進行討論,旨在幫助管理員一步步地實施網(wǎng)站安全構建工作。

  一、安全思想先行

  所謂兵馬未發(fā),糧草先行,在安裝和配置一個Internet服務器之前,首先要從思想上對安全工作有個全局認識,至少應該考慮好以下幾個方面的內(nèi)容:

  1、編制計劃

  編制安裝計劃的過程本身就可以作為一篇論文深加論述,這里只做概要介紹。保護Internet服務器安全需要詳盡的計劃,這不是指在安裝過程中彈出菜單時確定選擇哪一個項目,而是要仔細確定系統(tǒng)的功能和目標,最終成為安裝的路標、排除故障的向?qū)、服務器安裝及網(wǎng)絡邊界情況的基礎文檔。如果需要安裝計劃編制方面的基礎性方針資料,可以參考  RFC手冊之2196項“站點安全手冊”,地址是:http://www.faqs.org/rfcs/rfc2196.html。

  2、設計策略

  除了確定服務器將執(zhí)行那些功能,還需要確定誰能訪問服務器、在服務器上存儲什么數(shù)據(jù)以及在出現(xiàn)各種情況時應該采取哪些措施。這就是策略的制定。實際上,策略定義了一個組織的服務器與接受它的服務和數(shù)據(jù)的Internet公眾之間的交互作用細節(jié)。真正安全的站點必須具有適當?shù)牟呗浴jP于策略的設計,同樣請參考RFC手冊之2196項“站點安全手冊”。

  3、訪問控制

  這方面是指對服務器的訪問權,主要包括三類:

  物理訪問控制:指實際接觸和操作服務器控制臺的能力。如果攻擊者取得了物理訪問權,就可以繞過許多安全措施,整個安全計劃將出現(xiàn)一個大大的漏洞!

  系統(tǒng)訪問控制:確定哪些組或個人賬號對系統(tǒng)擁有何種權限,例如備份和恢復數(shù)據(jù)、向Web 服務器發(fā)布文檔、管理賬戶或組。

  網(wǎng)絡訪問控制:網(wǎng)絡訪問控制規(guī)定了內(nèi)部網(wǎng)與Internet相互作用的權限,例如端口訪問、數(shù)據(jù)讀取、服務使用等等。不僅僅要考慮到外部的入侵行為,還要設想到內(nèi)部的敵人攻擊。為此,一般將服務器放于DMZ區(qū)域內(nèi)。一個DMZ(Demilitarized Zone)就是一個孤立的網(wǎng)絡,可以把不信任的系統(tǒng)放在那里。例如,我們希望任何人都能訪問Web和Email服務器,所以它們就是不能信任的;將它們放在DMZ中特別關照,就可對來自內(nèi)部和外部的訪問都進行限制。

  二、Win2K安裝時要重點考慮的安全配置信息

  安裝Win2K時,直到配置網(wǎng)絡協(xié)議時才需要考慮安全問題。對于一個Internet網(wǎng)站,配置網(wǎng)絡協(xié)議時一定要關閉一個很大的安全漏洞:NetBIOS協(xié)議!就是說,在“本地連接屬性”窗口中,只選中“microsoft網(wǎng)絡客戶端”和“Internet協(xié)議(TCP/IP)”兩項:

  選中“Microsoft網(wǎng)絡客戶端”的原因在于NTLM (NT/LAN 管理器)安全支持供應(Security Support Provider)組件是嵌入在操作系統(tǒng)中的,如果沒有這個組件,IIS將無法運行。

  你可能要問了:“只配置這兩個協(xié)議,需要其他的功能怎么辦”?解決方法很簡單:為服務器安裝配置兩個網(wǎng)卡,第一個用于Internet連接,其上只綁定那兩個服務協(xié)議;第二個用于從本地網(wǎng)絡訪問服務器,根據(jù)需要添加其他的服務協(xié)議,例如“Microsoft網(wǎng)絡的文件和打印機共享”等:

  接下來,我們要設置TCP/Ip協(xié)議的屬性內(nèi)容。除了確定網(wǎng)卡IP地址以及默認網(wǎng)關地址外,還需要點擊“高級”按鈕進入“WINS”選項卡設置“禁止TCP/IP上的NetBIOS”,以阻止網(wǎng)卡向Internet發(fā)送和接收NetBIOS信息:

  NetBIOS是簡單友好的機器名表達法,例如\\servername\shareresource。如果打開這個功能,攻擊者就可以使用端口掃描器等軟件測試出具有端口137 和139監(jiān)聽的機器,從而進一步使用其NetBIOS 名嘗試獲取系統(tǒng)資源的訪問權。

  三、Win2K安裝后要重點考慮的安全配置信息

  操作系統(tǒng)安裝完畢后,建議執(zhí)行如下安全配置:

  1、安裝微軟高級加密包(Microsoft High Encryption Pack),將服務器升級為128位加密。

  默認狀態(tài)下,服務器軟件的加密狀態(tài)處于較低級別,我們必須手工將其配置為128位加密。而且,這項工作應該在創(chuàng)建帳號和組之前進行,這樣就可以保證在服務器上創(chuàng)建的所有項目都是128位加密級別的。

  2、安裝最新的SP軟件包和Hotfixes

  微軟的產(chǎn)品是老裁縫做的,不打補丁不漂亮的,所以管理員們要經(jīng)常訪問以下地址看看是否又有新補丁面世:http://www.microsoft.com/windows2000/downloads/default.asp

  這個地址包含了大量關于Win2K的信息,對日常管理Win2K服務器非常有參考價值。關于HotFixes有一點需要注意:只在系統(tǒng)需要的時候才安裝相應HotFix。因為,并不是每個服務器都需要所有的HotFix,其中有一些hotfix修復的漏洞只存在于某些特定配置中。

  3、對系統(tǒng)服務的啟動方式重新進行規(guī)劃

  默認狀態(tài)下,許多服務都隨系統(tǒng)啟動而啟動。但由于有些服務因為啟動帳號身份的權限過大,有可能埋下安全隱患地雷,因此必須對所有服務的啟動方式進行重新規(guī)劃。規(guī)劃的原則應該是:除非絕對必要,關閉該服務。

以下是我們認為應該處于“自動”啟動狀態(tài)的基本服務:

  DNS Client:如果服務器需要主動與其它服務器進行通信,就需要這個服務。許多Web服務器僅僅是對請求進行應答而自身并不發(fā)出請求,這時就不需要DNS Client了。

  Event Log:事件日志,用于記錄程序和 Windows 發(fā)送的事件消息。事件日志包含對診斷問題有所幫助的信息,可以在“事件查看器”中查看報告。

  Logical Disk Manager:邏輯磁盤管理器監(jiān)視狗服務,用于管理本地磁盤驅(qū)動器和可移動設備。 

  Network Connections:管理“網(wǎng)絡和撥號連接”文件夾中對象,在其中可以查看局域網(wǎng)和遠程連接。

  Protected Storage:提供對敏感數(shù)據(jù)(如私鑰)的保護性存儲,以便防止未授權的服務、過程或用戶對其的非法訪問。

  Remote Procedure Call (RPC):遠程過程調(diào)用服務,用于在一個系統(tǒng)上使用程序執(zhí)行遠程系統(tǒng)上的指令或程序。

  Security Accounts Manager (SAM):安全帳號管理服務,用于維護本地用戶帳戶的安全信息。

  Windows Management Instrumentation(WMI):Windows管理器,提供系統(tǒng)管理信息,如果沒有它,就沒有可訪問的管理控制臺來執(zhí)行系統(tǒng)管理。

  Windows Management Instrumentation Driver Extensions:Windows管理器驅(qū)動器擴展,也是MMC所要求的,用于與驅(qū)動程序間交換系統(tǒng)管理信息。

  以下是我們認為應該處于“手動”啟動狀態(tài)的基本服務:

  Logical Disk Manager Administrative Service:邏輯硬盤管理器管理服務,是磁盤管理請求的系統(tǒng)管理服務。 

  World Wide Web Publishing Service:WWW發(fā)布服務,用于向Web 站點設置的特定端口(通常是80)發(fā)布Web內(nèi)容。

  4、強化SAM數(shù)據(jù)庫的保護

  SAM數(shù)據(jù)庫就是系統(tǒng)賬戶數(shù)據(jù)庫,其中的內(nèi)容屬于一等機密,再怎么保護也不為過。默認狀態(tài)下,SAM 是用本地存儲的啟動關鍵字來加密的,這個關鍵字中包含一個雜亂信息代碼,它在啟動過程中被處理進而將賬戶數(shù)據(jù)庫解密并存儲在內(nèi)存中,從而被系統(tǒng)訪問。加密關鍵字的默認存儲地點可以用Win2K命令行工具syskey.exe來修改:

  因此,為了保護SAM數(shù)據(jù)庫的安全,管理員可以使用這個工具將雜亂信息代碼轉移到軟盤上,并注意為這個軟盤制作多個備份,放置到一個非常安全的地方。如果這個軟盤丟失或損壞,就無法重新啟動服務器了,因為再沒有其它辦法可以對用戶賬戶和口令數(shù)據(jù)庫進行解密。

  另外,我們還應該對SAM數(shù)據(jù)庫添加口令復雜性的要求,這是通過啟動“本地安全策略”工具并啟用其中的“密碼必須符合復雜性要求”來完成的:

  5、確定Web站點的口令訪問策略

  訪問Web 站點的不同內(nèi)容可能需要不同的口令,考慮到相應的行為并設計好對策將極大地減少許多安全隱患。例如:服務器是只作為公共信息站點使用嗎?它允許不同權限的用戶訪問受保護的數(shù)據(jù)嗎?站點要求用戶向其提交數(shù)據(jù)嗎?......通常,我們可以對所有的Internet服務器都執(zhí)行相同的基本安全配置,然后再根據(jù)具體服務類型,進一步做出特殊安全設置。比如:如果服務器只是為公司提供一個Web上的存在,那最好就只允許匿名訪問,這樣就避免了服務器與客戶之間的口令傳遞,并降低了攻擊者探測服務器口令的可能性。

  6、消除空連接安全漏洞

  在Win2K中存在一種可能性:攻擊者可以使用一個所謂的空帳號登錄到系統(tǒng)、建立一個空對話,從而獲取服務器上用戶和組帳號情況列表以及服務器上的所有共享資源列表。呵呵,空手套帳號。∽屵@個“空手”真正落空的方法是修改注冊表相關項目,方法分別是:

  禁止空連接獲取帳號信息:修改的鍵值及取值是

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA,REG_DWORD,1

  注意:有些服務可能要使用空連接在網(wǎng)絡上完成與其它服務器和系統(tǒng)通信的任務,所以如果修改注冊表后發(fā)現(xiàn)這些服務工作不正常了,那就再修改回來吧。摸著石頭過河嗎!

  禁止空連接獲取共享資源:修改的鍵值及取值是

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\RestrictNullSessaccess,REG_DWORD,1

  當這個值設置為1時,空連接用戶將不能訪問任何共享;如果設置為0,那么空連接用戶就可以連接到所有對Everyone組共享的程序或打印機上。

  注意:修改這個鍵值可能會影響空連接對Named Pipes(名字管道)的訪問。Named Pipes就是一個系統(tǒng)上的程序與另一個不同系統(tǒng)上的程序通訊的功能。在Win2K中設置了許多named pipes,例如Winreg以IPC機制允許在一個客戶機器上運行Regedit并訪問遠程服務器的注冊表文件,Netlogon通過一個named pipe使用RPC連接來進行登錄認證,SMB (Server Message Blocks)使用named pipes進行網(wǎng)絡上服務器之間的通訊。注冊表中有關于空連接可以使用的named pipes列表,鍵值如下:

  HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\NullSessionPipes

  我們可以根據(jù)需要對以上列表中的字符串進行去除,但同樣請注意:如果發(fā)現(xiàn)有些服務工作不正常,請再修改回來。

  7、去除對其他操作系統(tǒng)的支持

  Win2K可以很好地支持其他操作系統(tǒng),允許例如OS/2和POSIX的應用程序向服務器發(fā)送請求以執(zhí)行代碼。這種功能通常叫做Win2K的子系統(tǒng)。Win2K的子系統(tǒng)一般情況下不會用到,但卻是一個很大的安全漏洞,應該采取措施堵住它。關閉這個漏洞的最簡單方法是去掉這個子系統(tǒng),使它們無法使用。放心,這不會給Win2K服務器或IIS帶來任何問題,因為它們是在Win32子系統(tǒng)中運行的。

  禁止OS/2和POSIX要通過刪除相關文件和改寫相關注冊表鍵值來完成,步驟如下:

  刪除“\%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)整頁面文件的設置

  需要處理的另一個問題是頁面文件(page file)在系統(tǒng)上的存放位置。當應用程序或系統(tǒng)程序需要訪問物理RAM時,Win2K使用頁面文件作為應用程序代碼的臨時保存區(qū)。因此,硬盤驅(qū)動器上必須有足夠的空間供頁面文件使用,否則就會導致系統(tǒng)崩潰。避免出現(xiàn)這種情況的方法有:

  在系統(tǒng)上盡可能多安裝RAM?捎玫奈锢鞷AM越多,系統(tǒng)運行的效率越高。

  將所有的操作系統(tǒng)文件放置在自己的分區(qū)。這個分區(qū)中應該只包含操作系統(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)服務和生成日志文件及擴展數(shù)據(jù)的應用程序,使它們寫入的文件不在操作系統(tǒng)所在的驅(qū)動器上。

  四、結 語

  以上詳細論述了使用Win2K和IIS5構建安全Internet網(wǎng)站的Win2K操作系統(tǒng)安全配置指南部分,如果是嚴格按照這些步驟裝扮了Win2K,就可以說基本上做到了從“地面部分”全力堵截入侵者的攻擊。要做到從“空中部分”攔截入侵,請看“Win2K Internet服務器安全構建指南(IIS篇)”。

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)