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

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


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

方法二: 修改日志訪問權限
日志是為管理員了解系統安全狀況而設計的,其他用戶沒有必要訪問,應將日志保存在NTFS分區上,設置為只有管理員才能訪問。
當然,如果條件許可,還可單獨設置一個分區用于保存系統日志,分區格式是NTFS,這樣除了便于管理外,也避免了日志與系統保存在同一分區給系統帶來的安全威脅。如果IIS日志保存在系統分區中,入侵者使用軟件讓IIS產生大量的日志,可能會導致日志填滿硬盤空間,整個Windows系統將因為缺乏足夠可用的硬盤空間而崩潰,為日志設置單獨的分區則可以避免這種情況的出現。
通過以上的一些安全設置,相信你的WEB服務器會安全許多。不過,需要提醒大家注意的是:不要認為進行了安全配置的主機就一定是安全的,我們只能說一臺主機在某些情況下一定的時間內是安全的,隨著網絡結構變化、新漏洞的發現、用戶操作,主機的安全狀況是隨時隨地變化的,只有讓安全意識貫穿整個過程才能做到真正的安全。