Windows 2000的IIS(Internet Information Services) 5.0提供甚麼樣的新功能呢?
IIS 5.0新功能如下:
l 安全性上:包括摘要式驗證、整合的Windows驗證、SGC (Server-Gated Cryptography ) 、Microsoft Certificate Services 2.0、集區處理程序之程式保護等。
l 管理上:包括IIS重新啟動、站台CPU使用時間的限制、CPU資源使用記錄、使用終端機服務遠端管理IIS、自訂錯誤訊息等。
l Internet標準上:包括WebDAV(Web Distributed Authoring and Versioning)、FTP重新啟動、HTTP壓縮等。
l Active Server Pages:包括新的轉向方法(Server.Transfer與Server.Execute方法)、新的錯誤處理功能(Server.GetLastError方法)、無指令.ASP的執行速度增快、可安裝元件的效能調升、Scriptlet支援、使用cookIE取得瀏覽器資訊、自動增減執行緒(executing threads)、SRC伺服器端包含功能、Script Encoder編碼保護等。
IIS 5.0於安全性上新增那些功能呢?
IIS 5.0於安全性上所新增加的功能,包括摘要式驗證、整合的Windows驗證、SGC (Server-Gated Cryptography ) 、Microsoft Certificate Services 2.0、集區處理程序之程式保護等,簡介如下:
摘要式驗證
使用者登入IIS時,若採用IIS 4.0所提供的基本驗證方式,於輸入使用者名稱和密碼來建立連線時,會將使用者的名稱及密碼以未加密的格式透過網路傳輸,使用網路監視工具即可以於網路傳輸中攔截和破解使用者名稱及密碼。
IIS 5.0新提供 [摘要式驗證] 方式,於使用者登入IIS時輸入使用者名稱和密碼來建立連線時,透過網路傳送「雜湊值」而非密碼。
[摘要式驗證] 方式可以跨越PRoxy伺服器或其他防火牆。
[摘要式驗證] 方式,於伺服器和用戶端的瀏覽器方面都有一些限制:
l 伺服器方面:只有在具有Windows 2000的網域主控站的網域,才能使用 [摘要式驗證] 方式。
l 用戶端的瀏覽器方面:由於 [摘要式驗證] 方式採用新的HTTP 1.1功能,目前唯有IE 5.0的瀏覽器才能使用 [摘要式驗證] 方式。
整合的Windows驗證
於使用者登入IIS時不須輸入使用者名稱和密碼即可建立連線整合的Windows驗證,即以前「Windows NT挑戰與回應」驗證(或稱為NTLM),加上新的Kerberos v5驗證通訊協定(Kerberos v5 Authentication Protocol)方式。
使用整合的Windows驗證時,用戶端的瀏覽器會透過一種加密機制來驗證密碼,由於使用者名稱和密碼不會透過網路傳送,因此整合的Windows驗證是安全的驗證形式。
[整合的Windows驗證] 方式於伺服器和用戶端的瀏覽器方面都有一些限制:
l 伺服器方面:不可以跨越proxy伺服器或其他防火牆。
l 用戶端的瀏覽器方面:唯有IE 2.0 以後的版本才支援整合的Windows 驗證方式。
因此 [整合的Windows驗證] 最適合用於intranet環境。
SGC (Server-Gated Cryptography )
美國外銷法律(Export Law)規定美國和加拿大以外地區只能使用40位元長度做為加解密之用。因此,美國和加拿大地區之SSL(Secure Sockets Layer)雖然可以使用128位元,但是以外地區之SSL只能使用40位元。
SGC (Server-Gated Cryptography )是SSL的延伸,使用128位元,限於使用於銀行或其他經核准的應用上。SGC就是可以使用於美國和加拿大地區以外地區之128位元SSL。
為了保護於網際網路上傳輸的財務資料之安全,網路銀行(Internet Banking)之應用建議採用128位元加解密方式。
使用SGC需要向CA(憑證授權單位)要求核發特殊的SGC憑證,目前只有VeriSign核發SGC憑證。
IIS伺服器方面,IIS 5.0支援128位元的SGC,IIS 3.0/4.0也支援SGC但須另外安裝SGC Add-on並修改機碼。詳細資料可連線到www.microsoft.com/security/tech/sgc。
用戶端的瀏覽器方面,IE 4.0/5.0支援128位元的SGC。
Microsoft Certificate Services 2.0
使用Microsoft 2000的Microsoft Certificate Services 2.0可以自己扮演CA(憑證授權單位),自己可以發行伺服器憑證、用戶端憑證。
CA所發行憑證,用於數位簽章、SSL安全傳輸、TLS傳輸層安全、S/MIME保護郵件等。
Microsoft Certificate Services並未包含於標準的Windows 2000安裝當中,須再加裝。
使用Microsoft 2000 Microsoft Certificate Services 2.0的憑證功能,須先將憑證、憑證授權單位新增至MMC。
集區處理程序之程式保護
為了避免一個不穩定的應用程式影響到整個IIS的運作,IIS 4.0可以將一個應用程式放在與其他程序完全隔絕的獨立程序中執行。
IIS 5.0,則多一個選擇,可以將所有應用程式一起於共用的集區處理程序中執行,與IIS處理程序分離。
當您新建立一個應用程式時,IIS預設此應用程式與其他應用程式在同一個處理程序中執行,此處理程序與IIS核心處理程序分離。
對於重要的應用程式,您可以設定於獨立的處理程序中執行。
IIS 5.0於管理性上新增那些功能呢?
IIS 5.0於管理上所新增加的功能,包括IIS重新啟動、站台CPU使用時間的限制、CPU資源使用記錄、使用終端機服務遠端管理IIS、自訂錯誤訊息等,簡介如下:
IIS重新啟動
於之前的IIS版本,當應用程式執行錯誤時,常常必須重新啟動電腦。
IIS 5.0可以從 [Internet服務管理員] 來直接停止和啟動所有的Internet服務,不須重新啟動電腦。
另外也可以使用Iisreset.exe重新啟動IIS。
站台CPU使用時間的限制
若在一個Web伺服器電腦上執行多個Web站台時,有的站台可能耗盡大部份CPU處理資源,以導致其他站台分不到CPU處理的資源。現在IIS 5.0,讓您可以限制每一個Web站台最多可以使用多少CPU處理時間。
CPU資源使用記錄
IIS 5.0之W3C擴充日誌檔加入 [處理帳戶] 欄位於來記錄有關Web 站台如何使用伺服器CPU資源的資訊。
您可以使用這些資訊,來判斷站台是否使用過高之CPU資源,也可以用來偵測指令檔或CGI處理程序的錯誤。
每一個站台可以設定W3C擴充日誌檔記錄中之處理帳戶選項,只有選取W3C擴充記錄檔案格式時,才會加予記錄。
使用終端機服務遠端管理IIS
Windows 2000提供的 [Microsoft終端機服務] (Terminal Service)功能,讓您可以透過LAN、PPTP、或撥接等網路連線由遠端管理IIS。
「終端機服務」提供類似PC Anywhere的功能,讓使用者能於遠端使用個人電腦,執行伺服器上的應用程式,使用者的電腦只負責鍵盤滑鼠和螢幕顯示等輸入輸出的功能,只當做一台終端機而已。
使用非Windows用戶端的電腦,如UNIX工作站,只要安裝協力廠商的外掛用戶端軟體,也可以使用終端機服務進行遠端管理。
自訂錯誤訊息
當Web站台發生HTTP錯誤時,用戶端於瀏覽器中會收到IIS所傳送的錯誤訊息,IIS 5.0可以自己製作錯誤訊息。
透過500-100.ASP程式,可以自訂錯誤訊息。
IIS 5.0於Internet標準上新增那些功能呢?
IIS 5.0於Internet標準上所新增加的功能,包括WebDAV(Web Distributed Authoring and Versioning)、FTP重新啟動、HTTP壓縮等,簡介如下:
WebDAV(Web Distributed Authoring and Versioning)
WebDAV(Web Distributed Authoring and Versioning)為一個HTTP/1.1通訊協定的延伸建議RFC-2518,讓用戶端使用者可以透過網路來進行網頁內容的編輯工作。WebDAV透過HTTP/1.1通訊協定標準,提供簡單的檔案輸入/輸出(simple File I/O)的功能。
安裝Windows 2000、IE 5、或Office 2000的用戶端電腦,具有權限的使用者,就可以針對IIS的虛擬目錄來發行、鎖定、管理Web的資源,將文件發行至Web伺服器,及在Web目錄中處理檔案,包含:
移動、複製檔案:擁具權限的使用者可以在WebDAV目錄中移動、複製檔案。
修改檔案:擁具權限的使用者可以讀取、修改寫入檔案的內容。
鎖定檔案:多位使用者可以同時讀取同一個檔案,讀取時會將檔案鎖定,因此同時只有一人可以修改同一個檔案。
· 搜尋檔案:連線到WebDAV目錄後,就可以搜尋WebDAV目錄中的檔案與內容,譬如搜尋到所有由Jack所建立的檔案,或者搜尋所有含有IIS關鍵字的檔案。
FTP重新啟動
於以前的IIS版本,FTP下載檔案過程時若網路連線中斷,必須重新下載檔案。IIS 5.0提供FTP重新啟動功能,FTP下載檔案過程若網路連線中斷時,支援FTP重新啟動的用戶端使用REST指令,就可重新建立 FTP 連線,檔案傳輸自動從中斷處再繼續傳遞,不須重頭開始下載。
FTP重新啟動功能僅對下載檔案有效,當上載檔案到伺服器(PUT)、使用萬用字元下載檔案(MGET)、或下載超過4 GB量的檔案時,IIS 5.0不會執行FTP重新啟動功能。
HTTP 壓縮
為了增加Web伺服器與用戶端之間的網頁傳輸速度,可以啟用HTTP壓縮,將靜態內容檔案壓縮。
動態產生的內容檔案的也可以壓縮,但是須耗費額外CPU處理時間,若% Processor Time已經百分之八十或更多時,建議不要壓縮。
根據實驗測試,將靜態和動態內容壓縮,大約可以減少20%的傳輸量。
HTTP壓縮功能啟用或關閉,係針對整台Web伺服器來設定。
用戶端使用IE 5.0瀏覽器連線到已經啟用HTTP壓縮IIS 5.0之Web伺服器,才有HTTP壓縮功能。
若要啟用HTTP壓縮功能,方法為在 [Internet服務管理員] 中,選取電腦之 [內容],於 [主要內容] 之下選取 [WWW服務]。然後按一下 [編輯] 按鈕。
於 [服務] 頁上,選取 [壓縮靜態檔案] 可以壓縮靜態檔案;選取 [壓縮靜態檔案] 和 [壓縮應用程式檔案] 可以壓縮應用程式檔案。
保存壓縮之檔案可於 [暫時資料夾] 中設定,此目錄必須在本機NTFS磁碟中,不可共用。保存壓縮檔案之大小可於 [限制於] 輸入數字加以限制其大小。
ASP新增那些功能呢?
於IIS伺服器端執行的指令檔語言ASP (Active Server Pages),可以用來建立動態的網頁內容。
IIS 5.0於ASP方面新增加了幾項功能,包括新的轉向方法(Server.Transfer與Server.Execute方法)、新的錯誤處理功能(Server.GetLastError方法)、無指令.ASP的執行速度增快、可安裝元件的效能調升、Scriptlet支援、使用cookIE取得瀏覽器資訊、自動增減執行緒(executing threads)、SRC伺服器端包含功能、Script Encoder編碼保護等,簡介如下:
新的轉向方法
新的轉向方法Server.Transfer與Server.Execute方法,直接由IIS 5.0於網站伺服器端直接轉向到另一個網頁,不需像Response.Redirect先傳送到瀏覽器再要求網站伺服器轉向,如此會減少一次用戶端與網站伺服器之間的來回通訊時間。
新的錯誤處理功能
使用新的Server.GetLastError方法來顯示有用的錯誤資訊。
無指令.ASP的執行速度增快
IIS 5.0處理「無指令」的.asp檔案時,執行速度上比舊版快上許多,所謂「無指令」即不含asp指令,指的是不含伺服器端程式的.ASP檔案。
因為處理副檔名.asp須於伺服器端動態地產生內容,執行速度上比處理副檔名.htm等固定資料慢上許多。於舊版IIS,即使一個副檔名.ASP檔案只包括一些Html碼而未包括任何一行的asp指令時,執行速度也比副檔名.htm慢,因此一般不會把副檔名.htm改名為.ASP。
IIS 5.0就可以放心地把副檔名.htm改名為.ASP。
可安裝元件的效能調升
IIS 5.0新版的ASP將一些可安裝元件(Installable Components)之執行效能加以調升。
Scriptlet支援
ASP支援新指令技術Scriptlet(指令元件),可以從.ASP檔案以將Scriptlet當成COM元件的方式來呼叫。
您可以用VBScript或JScript的語言(不需要使用Visual Basic、C++、或者Java語言來編寫程式)編寫Scriptlet,儲存成.sct副檔名,註冊為元件成後,即可當成COM元件(Component Object Model)般來呼叫使用。
使用cookIE取得瀏覽器資訊
現在於IIS 5.0,多了一項新的判斷瀏覽器功能方法,方法為使用cookIE儲存於瀏覽器DHtml語法所偵測到的資訊傳回IIS,以後透過Browser Capabilities元件得知cookIE回報的瀏覽器資訊。
自動增減執行緒(executing threads)
新版的ASP能自動增減執行緒(executing threads),當偵測到無法順利執行要求(如被外界鎖定資源)時,ASP會自動增加更多的執行緒數量,以便同時執行更多的用戶端要求;當偵測到CPU的負荷過重時,ASP會自動縮減執行緒的數量。如何可降低系統來回切換執行緒的頻率。
若需不啟用此自動增減執行緒的功能,可以設定ASPThreadGateEnabled的metabase 屬性。
SRC伺服器端包含功能
於伺服器端包含一個檔案,除了#Include指令外,新版的ASP讓您可以於Html的<SCRIPT></SCRIPT>標記中的SRC屬性來達成伺服器端的包含功能。語法如下,SRC屬性可設定虛擬路徑或相對路徑,用RUNAT=SERVER屬性來表示要伺服器端執行:
<SCRIPT LANGUAGE="VBScript" RUNAT=SERVER SRC="xxx.inc"></SCRIPT>
若須於<SCRIPT>標記內放入程式碼,需多加一組<SCRIPT>標記。
Script Encoder編碼保護
Script Encoder 可以將Script指令碼(如VBScript、Script)加予編碼成亂碼,以保護ASP或Html的原始碼被他人所偷窺。Script Encoder程式編碼工具,可以將瀏覽器端與伺服器端的指令加以編碼,使原來的程式變成一堆無法閱讀的亂碼,執行時指令引擎自動會先進行解碼。