構(gòu)造一個安全的Windows 2000 操作系統(tǒng)
要創(chuàng)建一個安全可靠的Web服務(wù)器,必須要實(shí)現(xiàn)Windows 2000操作系統(tǒng)和IIS的雙重安全,因?yàn)镮IS的用戶同時也是Windows 2000的用戶,并且IIS目錄的權(quán)限依賴Windows的NTFS文件系統(tǒng)的權(quán)限控制,所以保護(hù)IIS安全的第一步就是確保Windows 2000操作系統(tǒng)的安全。實(shí)際上,Web服務(wù)器安全的根本就是保障操作系統(tǒng)的安全。
使用NTFS文件系統(tǒng)
在NT系統(tǒng)中應(yīng)該使用NTFS系統(tǒng),NTFS可以對文件和目錄進(jìn)行管理,而FAT文件系統(tǒng)只能提供共享級的安全,而且在默認(rèn)情況下,每建立一個新的共享,所有的用戶就都能看到,這樣不利于系統(tǒng)的安全性。而在NTFS文件下,建立新共享后可以通過修改權(quán)限保證系統(tǒng)安全。
關(guān)閉默認(rèn)共享
在Windows 2000中,有一個“默認(rèn)共享”,這是在安裝服務(wù)器的時候,把系統(tǒng)安裝分區(qū)自動進(jìn)行共享,雖然對其訪問還需要超級用戶的密碼,但這是潛在的安全隱患,從服務(wù)器的安全考慮,最好關(guān)閉這個“默認(rèn)共享”,以保證系統(tǒng)安全。方法是:單擊“開始/運(yùn)行”,在運(yùn)行窗口中輸入“Regedit”,打開注冊表編輯器,展開“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters”項(xiàng),添加鍵值A(chǔ)utoShareServer,類型為REG_DWORD,值為0。 這樣就可以徹底關(guān)閉“默認(rèn)共享”。
共享權(quán)限的修改
在系統(tǒng)默認(rèn)情況下,每建立一個新的共享,Everyone用戶就享有“完全控制”的共享權(quán)限,因此,在建立新的共享后應(yīng)該立即修改Everyone的缺省權(quán)限,不能讓W(xué)eb服務(wù)器訪問者得到不必要的權(quán)限,給服務(wù)器帶來被攻擊的危險。
為系統(tǒng)管理員賬號改名
對于一般用戶,我們可以在“本地安全策略”中的“帳戶鎖定策略”中限制猜測口令的次數(shù),但對系統(tǒng)管理員賬號(adminstrator)卻無法限制,這就可能給非法用戶攻擊管理員賬號口令帶來機(jī)會,所以我們需要將管理員賬號更名。具體設(shè)置方法如下:
鼠標(biāo)右擊“我的電腦” “管理”,啟動“計(jì)算機(jī)管理”程序,在“本地用戶和組”中,鼠標(biāo)右擊“管理員賬號(administrator)”,選擇“重命名”,將管理員帳號修改為一個很普通的用戶名即可。
禁用TCP/IP 上的NetBIOS
NetBIOS是許多安全缺陷的源泉,所以我們需要禁用它。鼠標(biāo)右擊桌面上“網(wǎng)絡(luò)鄰居” “屬性” “本地連接” “屬性”,打開“本地連接屬性”對話框。選擇“Internet協(xié)議(TCP/IP)” “屬性” “高級” “WINS”,選中“禁用TCP/IP上的NetBIOS”一項(xiàng)即可解除TCP/IP上的NetBIOS,如圖1。
TCP/IP上對進(jìn)站連接進(jìn)行控制
方法一 利用TCP/IP篩選
鼠標(biāo)右擊桌面上“網(wǎng)絡(luò)鄰居” “屬性” “本地連接” “屬性”,打開“本地連接屬性”對話框。選擇“Internet協(xié)議(TCP/IP)” “屬性” “高級” “選項(xiàng)”, 在列表中單擊選中“TCP/IP篩選”選項(xiàng)。單擊“屬性”按鈕,選擇“只允許”,再單擊“添加”按鈕,如圖2,只填入80端口即可。

方法二 利用IP安全策略
IPSec Policy Filters(IP安全策略過濾器)彌補(bǔ)了傳統(tǒng)TCP/IP設(shè)計(jì)上的“隨意信任”重大安全漏洞,可以實(shí)現(xiàn)更仔細(xì)更精確的TCP/IP安全。它是一個基于通訊分析的策略,將通訊內(nèi)容與設(shè)定好的規(guī)則進(jìn)行比較以判斷通訊是否與預(yù)期相吻合,然后據(jù)此允許或拒絕通訊的傳輸。我們同樣可以設(shè)置只允許80端口的數(shù)據(jù)通過,其它端口來的數(shù)據(jù)一律攔截。
防范拒絕服務(wù)攻擊
DDoS攻擊現(xiàn)在很流行,例如SYN使用巨量畸形TCP信息包向服務(wù)器發(fā)出請求,最終導(dǎo)致服務(wù)器不能正常工作。改寫注冊表信息雖然不能完全阻止這類攻擊,但是可以降低其風(fēng)險。打開注冊表:將HKLM\System\CurrentControlSet\Services\Tcpip\Parameters下的SynAttackProtect的值修改為2。這樣可以使TCP/IP調(diào)整SYN-ACKS的重傳,當(dāng)出現(xiàn)SYN-ATTACK跡象時,使連接對超時的響應(yīng)更快。
保證IIS自身的安全性
IIS安全安裝
在保證系統(tǒng)具有較高安全性的情況下,還要保證IIS的安全性。要構(gòu)建一個安全的IIS服務(wù)器,必須從安裝時就充分考慮安全問題。
不要將IIS安裝在系統(tǒng)分區(qū)上
默認(rèn)情況下,IIS與操作系統(tǒng)安裝在同一個分區(qū)中,這是一個潛在的安全隱患。因?yàn)橐坏┤肭终呃@過了IIS的安全機(jī)制,就有可能入侵到系統(tǒng)分區(qū)。如果管理員對系統(tǒng)文件夾、文件的權(quán)限設(shè)置不是非常合理,入侵者就有可能篡改、刪除系統(tǒng)的重要文件,或者利用一些其他的方式獲得權(quán)限的進(jìn)一步提升。將IIS安裝到其他分區(qū),即使入侵者能繞過IIS的安全機(jī)制,也很難訪問到系統(tǒng)分區(qū)。
修改IIS的安裝默認(rèn)路徑
IIS的默認(rèn)安裝的路徑是\inetpub,Web服務(wù)的頁面路徑是\inetpub\wwwroot,這是任何一個熟悉IIS的人都知道的,入侵者也不例外,使用默認(rèn)的安裝路徑無疑是告訴了入侵者系統(tǒng)的重要資料,所以需要更改。
打上Windows和IIS的補(bǔ)丁
只要提高安全意識,經(jīng)常注意系統(tǒng)和IIS的設(shè)置情況,并打上最新的補(bǔ)丁,IIS就會是一個比較安全的服務(wù)器平臺,能為我們提供安全穩(wěn)定的服務(wù)。
IIS的安全配置
刪除不必要的虛擬目錄
IIS安裝完成后在wwwroot下默認(rèn)生成了一些目錄,并默認(rèn)設(shè)置了幾個虛擬目錄,包括IISHelp、IISAdmin、IISSamples、MSADC等,它們的實(shí)際位置有的是在系統(tǒng)安裝目錄下,有的是在重要的Program files下,從安全的角度來看很不安全,而且這些設(shè)置實(shí)際也沒有太大的作用,所以我們可以刪除這些不必要的虛擬目錄。
刪除危險的IIS組件
默認(rèn)安裝后的有些IIS組件可能會造成安全威脅,應(yīng)該從系統(tǒng)中去掉,以下是一些“黑名單”,大家可以根據(jù)自己的需要決定是否需要刪除。
● Internet服務(wù)管理器(HTML):這是基于Web 的IIS服務(wù)器管理頁面,一般情況下不應(yīng)通過Web進(jìn)行管理,建議卸載它。
● SMTP Service和NNTP Service:如果不打算使用服務(wù)器轉(zhuǎn)發(fā)郵件和提供新聞組服務(wù),就可以刪除這兩項(xiàng),否則,可能因?yàn)樗鼈兊穆┒磶硇碌牟话踩?br>● 樣本頁面和腳本:這些樣本中有些是專門為顯示IIS的強(qiáng)大功能設(shè)計(jì)的,但同樣可被用來從Internet上執(zhí)行應(yīng)用程序和瀏覽服務(wù)器,建議刪除。
為IIS中的文件分類設(shè)置權(quán)限
除了在操作系統(tǒng)里為IIS的文件設(shè)置必要的權(quán)限外,還要在IIS管理器中為它們設(shè)置權(quán)限,以期做到雙保險。一般而言,對一個文件夾永遠(yuǎn)也不應(yīng)同時設(shè)置寫和執(zhí)行權(quán)限,以防止攻擊者向站點(diǎn)上傳并執(zhí)行惡意代碼。另外目錄瀏覽功能也應(yīng)禁止,預(yù)防攻擊者把站點(diǎn)上的文件夾瀏覽個遍最后找到漏洞。一個好的設(shè)置策略是:為Web 站點(diǎn)上不同類型的文件都建立目錄,然后給它們分配適當(dāng)權(quán)限。例如:
● 靜態(tài)文件文件夾:包括所有靜態(tài)文件,如HTM 或HTML,給予允許讀取、拒絕寫的權(quán)限。
● ASP腳本文件夾:包含站點(diǎn)的所有腳本文件,如cgi、vbs、asp等等,給予允許執(zhí)行、拒絕寫和讀取的權(quán)限。
● EXE等可執(zhí)行程序:包含站點(diǎn)上的二進(jìn)制執(zhí)行文件,給予允許執(zhí)行、拒絕寫和拒絕讀取的權(quán)限。
刪除不必要的應(yīng)用程序映射
IIS中默認(rèn)存在很多種應(yīng)用程序映射,如.htw、.ida、.idq、.asp、.cer、.cdx、.asa、.htr、.idc、.shtm、.shtml、.stm、.printer等,通過這些程序映射,IIS就能知道對于什么樣的文件該調(diào)用什么樣的動態(tài)鏈接庫文件來進(jìn)行解析處理。但是,在這些程序映射中,除了.asp的這個程序映射,其它的文件在網(wǎng)站上都很少用到。而且在這些程序映射中,.htr、.idq/ida、.printer等多個程序映射都已經(jīng)被發(fā)現(xiàn)存在緩存溢出問題,入侵者可以利用這些程序映射中存在的緩存溢出獲得系統(tǒng)的權(quán)限。即使已經(jīng)安裝了系統(tǒng)最新的補(bǔ)丁程序,仍然沒法保證安全。
所以我們需要將這些不需要的程序映射刪除。在“Internet服務(wù)管理器”中,右擊網(wǎng)站目錄,選擇“屬性”,在網(wǎng)站目錄屬性對話框的“主目錄”頁面中,點(diǎn)擊“配置”按鈕,彈出“應(yīng)用程序配置”對話框,在“應(yīng)用程序映射”頁面,刪除無用的程序映射,如圖3。如果需要這一類文件時,必須安裝最新的系統(tǒng)修補(bǔ)程序以解決程序映射存在的問題,并且選中相應(yīng)的程序映射,再點(diǎn)擊“編輯”按鈕,在“添加/編輯應(yīng)用程序擴(kuò)展名映射”對話框中勾選“檢查文件是否存在”選項(xiàng),如圖4。這樣當(dāng)客戶請求這類文件時,IIS會先檢查文件是否存在,文件存在后才會去調(diào)用程序映射中定義的動態(tài)鏈接庫來解析。


保護(hù)日志安全
日志是系統(tǒng)安全策略的一個重要壞節(jié),IIS帶有日志功能,能記錄所有的用戶請求。確保日志的安全能有效提高系統(tǒng)整體安全性。
方法一: 修改IIS日志的存放路徑
IIS的日志默認(rèn)保存在一個眾所周知的位置(%WinDir%\System32\LogFil-es),這對Web日志的安全很不利。所以我們最好修改一下其存放路徑。在“Internet服務(wù)管理器”中,右擊網(wǎng)站目錄,選擇“屬性”,在網(wǎng)站目錄屬性對話框的“Web站點(diǎn)”頁面中,在選中“啟用日志記錄”的情況下,點(diǎn)擊旁邊的“屬性”按鈕,在“常規(guī)屬性”頁面,點(diǎn)擊“瀏覽”按鈕或者直接在輸入框中輸入日志存放路徑即可,如圖5。

方法二: 修改日志訪問權(quán)限
日志是為管理員了解系統(tǒng)安全狀況而設(shè)計(jì)的,其他用戶沒有必要訪問,應(yīng)將日志保存在NTFS分區(qū)上,設(shè)置為只有管理員才能訪問。
當(dāng)然,如果條件許可,還可單獨(dú)設(shè)置一個分區(qū)用于保存系統(tǒng)日志,分區(qū)格式是NTFS,這樣除了便于管理外,也避免了日志與系統(tǒng)保存在同一分區(qū)給系統(tǒng)帶來的安全威脅。如果IIS日志保存在系統(tǒng)分區(qū)中,入侵者使用軟件讓IIS產(chǎn)生大量的日志,可能會導(dǎo)致日志填滿硬盤空間,整個Windows系統(tǒng)將因?yàn)槿狈ψ銐蚩捎玫挠脖P空間而崩潰,為日志設(shè)置單獨(dú)的分區(qū)則可以避免這種情況的出現(xiàn)。
通過以上的一些安全設(shè)置,相信你的WEB服務(wù)器會安全許多。不過,需要提醒大家注意的是:不要認(rèn)為進(jìn)行了安全配置的主機(jī)就一定是安全的,我們只能說一臺主機(jī)在某些情況下一定的時間內(nèi)是安全的,隨著網(wǎng)絡(luò)結(jié)構(gòu)變化、新漏洞的發(fā)現(xiàn)、用戶操作,主機(jī)的安全狀況是隨時隨地變化的,只有讓安全意識貫穿整個過程才能做到真正的安全。