同 Apache、Tomcat等 網絡服務器軟件相比,Microsoft的 IIS(Internet Information Server)具有安裝方便、使用配置簡單的特點,在網絡上使用得非常廣泛,許多網站都是基于IIS建立的。為了保證網站的正常運行,需要經常對其進行維護和管理。通常大家都是采用FTP方式對網站文件進行維護。不過,這需要另外架設FTP服務器,進行FTP賬戶的創建和配置操作,增加了網絡運維的工作量。另外,一旦FTP賬戶密碼被黑客破譯,就會對整個網站帶來威脅。其實,我們完全可以打破常規,采用更加安全高效的方法,對IIS網站進行遠程管理操作。

圖1 添加所需的角色
除了使用FTP等傳統手段來管理Web網站外,還可以使用WebDAV(Web Distributed Authoring and Versioning)來對網站進行維護。WebDAV擴展了HTTP 1.1協議的功能,允許擁有合適權限的用戶,通過瀏覽器等工具,來遠程管理網站中WebDAV文件夾中的文件,可以用來維護網站中的網頁文件等內容,相比FTP來說,其安全性更高,使用起來更加方便。
本例中服務器上安裝的是Windows Server 2008 R2,客戶機使用的Windows 7。首先需要在IIS組件中安裝了“URL授權”和“WebDAV發布”對象。如果沒有的話,需要在服務器管理器窗口左側選擇“角色→Web服務器(IIS)”項,在右側點擊“添加角色服務”連接,在選擇角色服務窗口(如圖1)中的“常見HTTP功能”分支下選擇“WebDAV發布”項,在“安全性”分支下選擇“URL授權”項,之后點擊下一步按鈕,按照提示完成以上角色的安裝操作。
在IIS信息服務管理窗口(如圖2)左側的“網站”節點下選擇合適的站點(例如“Default Web Site”等),在窗口中部雙擊“WebDAV創作規則”項,在窗口右側列表中點擊“啟用WebDAV”鏈接,激活WebDAV服務。

圖2 IIS信息服務管理窗口

圖3 添加創作規則
點擊“添加創作規則”鏈接,在彈出窗口(如圖3)中的“允許訪問”欄中選擇“全部內容”項,在“允許訪問此內容”欄中選擇“指定的用戶”項,輸 入“administrator”賬戶名,在“權限”欄中選擇“讀取”、“源”、“寫入”等項,授予Administrator賬戶對所有內容擁有讀取寫入等權限,點擊“確定”按鈕,保存規則信息。在IIS信息服務管理窗口選擇目標站點,在窗口中部雙擊“身份驗證”項,在身份驗證界面中的“Windows身份驗證”欄中選擇“已啟用”項。如果啟用了“基本身份驗證”項,那么WebDAV客戶端就需要使用HTTPS協議來連接WebDAV網站。
為了讓客戶端可以順利連接WebDAV網站,必須依靠WebDAV Redirector組件的支持方可。WebDAV Redirector是架構在WebDAV協議上的遠程文件系統,允許客戶端訪問WebDAV網站服務器中的文件,如同訪問普通的文件服務器一樣。在Windows XP/7等各版本的Windows中,其實已經內置了WebDAV Redirector組件,不過要想讓其正常運作,必須開啟WebClient服務。在命令提示符窗口中執行“sc start webclient”命令,就可以啟動該服務。其實,當Windows 7客戶端在連接WebDAV網站時,服務器上的WebClient服務會自動啟動。注意,在Windows 2008 Server R2中默認并沒有安裝WebDAV Redirector,為此可以在服務器管理器中啟動功能添加向導界面,在選擇功能窗口中選擇“桌面體驗”項,來安裝WebDAV Redirector。
當服務器端啟用和配置好WebDAV Redirector各項參數后,在客戶端上就可以執行連接操作。例如,在Windows 7桌面上的“網絡”圖標的右鍵菜單中點擊“映射網絡驅動器”項,在彈出窗口中的“驅動器”列表中選擇合適的盤符,在“文件夾”欄中輸入目標網站地址(例如“http://www.xxx.com/”等)。注意,如果目標網站采用的驗證方法為基本身份驗證,就需要使用“https://www.xxx.com/”之 類 的HTTPS鏈接。點擊“完成”按鈕,在登錄窗口中輸入賬戶名(本例為“administrator”)和密碼,點擊連接按鈕,就可以連接到WebDAV網站中。
之后在資源管理器左側的“計算機”節點下會出現映射成功后得到的網絡盤符,在其中顯示網站中的所有文件。您就可以如同操作本地文件一樣,對網站中的文件進行編輯。當然,也可以命令行來完成連接操作。在命令提示符窗口中執行“net use z:http://www.xxx.com”命令,之后按照提示輸入賬戶名和密碼,就可以將WebDAV網站映射到Z盤中。如果執行“net use * http://www.xxx.com”命令,則可以讓系統自動為WebDAV網站設定可用的網絡盤符。如果在連接過程中出現錯誤,需要對一些關鍵環節進行檢查,例如客戶端主機是否安裝了WebDAV Redirector組件,是否啟動了WebClient服務,服務器網站上是否啟用了WebDAV組件,網站使用的身份驗證模式是否合適等。例如,網站使用基本身份驗證,客戶端卻使用常規的HTTP協議連接等。檢測網站上配置的WebDAV規則是否為賬戶授予了合適的權限,防止因為權限不足無法連接。檢查客戶機的DNS服務器參數是否設置正確,避免無法檢測到網站的IP。

圖4 創建IIS管理賬戶

圖5 查看功能委派設置信息

圖6 管理服務設置界面
一般情況下,都是服務器管理員負責IIS網站的維護工作。在某些情況下,可能需要將管理權交與非管理員的用戶來使用。這里假設IIS網站安裝在一臺Windows Server 2008 R2上,需要從另一臺Windows Server 2008 R2或者Windows 7主機對其遠程管理為例,說明具體的實現方法。首先在IIS主機上打開服務器管理器窗口,在左側點擊“角色”項,在右側的Web服務器(IIS)界面中點擊“添加角色服務”鏈接,在向導界面中的“管理工具”節點下的“管理服務”項,來安裝該角色。
對IIS網站進行管理,可以配置兩種賬戶類型。一種是本地的賬戶或者域賬戶。一種是IIS管理器賬戶。對于后者來說,可以在IIS管理器中雙擊“IIS管理器用戶”項,在彈出窗口(如圖4)右側點擊“添加用戶”鏈接。輸入用戶名和密碼,創建所需的賬戶。
要想讓非管理員用戶對IIS管理器進行遠程管理,需要針對不同的管理權限,通過功能委派的方式來實現。在IIS管理器中雙擊“功能委派”項,可以查看默認的配置信息(如圖5)。可以看出,不同的委派項目對應的權限包括只讀,讀寫等。例如。對于目錄瀏覽來說,遠程管理者具有對所有網站的目錄具有讀取寫入的權限。
當然,可以根據實際需要,針對不同的網站設置不同的委派配置參數。在功能委派管理面板右側點擊“自定義站點委派”鏈接,在“站點”列表中選擇目標站點(例如“Default Web Site”等),在面板下部的針對不同的委派項目(例如HTTP響應頭,HTTP重定向,IPv4地址和域限制等),進行權限的設置操作。例如,選擇對應的委派項目,在右側點擊“讀/ 寫”,“只讀”,“未委派”等鏈接,可以更改其屬性。為了順利實現遠程管理操作,必須在IIS主機上開啟遠程連接功能。在IIS管理器中雙擊“管理服務”項,在管理服務面板(如圖6)中勾選“啟用遠程連接”項,在“標識憑據”欄中選擇“僅限于Windows憑據”項,表示只允許本地的賬戶或者域賬戶執行遠程管理操作。
選擇“Windows 憑據或IIS管理器憑據”項,表述允許本地的賬戶或者域賬戶和IIS賬戶執行管理操作。在右側選擇“應用”項,并點擊“啟動”鏈接項,激活遠程連接功能。在IIS管理器中雙擊“IIS管理器權限”項,在打開窗口的右側點擊“允許用戶”鏈接。在允許用戶窗口中選擇用戶類型,包括Windows賬戶和IIS管理器賬戶。例如這里選擇“IIS管理器”項,輸入IIS賬戶名稱,或者點擊“選擇”按鈕,選擇所需的IIS賬戶。為了保證客戶端可以順利執行遠程訪問,需要在IIS主機上對防火墻進行合理配置,允許文件和打印機共享通過防火墻。
當配置好IIS主機后,接下來需要在執行遠程訪問的主機上安裝所需的遠程管理工具。在服務器管理器中打開添加功能操作界面,在選擇功能窗口中的“遠程服務器管理工具”節點下打開“角色管理工具”項,在其中選擇“Web服務器(IIS)工具”項,執行該功能項的安裝操作。如果使用Windows 7客戶機的話,需要安裝Remote Server Administrator Tools for Windows 7這一工具。當安裝完畢后,在控制面板中打開“程序”類,在其中雙擊“打開或關閉Windows功能”項,在彈出窗口中勾選“遠程服務器管理工具”項,選擇所需的工具項目即可。下載地址:http://www.microsoft.com/en-us/download/details.aspx?id=7887。
在Internet信息服務(IIS)管理器窗口中打開起始頁界面,在其中點擊“連接至站點”鏈接,在打開窗口中輸入服務器名稱和站點名稱,點擊下一步按鈕,輸入目標服務器上的賬戶名或者IIS管理器賬戶名,輸入密碼,執行連接操作,如果出現服務器證書報警窗口,點擊“連接”按鈕即可。當完成連接操作后,在客戶機的IIS管理器窗口左側就會出現目標網站項目,選擇對應的網站名稱,就可以在右側窗口顯示其管理分組項目,您就可以對其進行靈活的遠程管理操作了。
前面談到了Windows身份驗證,IIS基本身份驗證等模式,這就涉及到IIS的用戶管理方式。實際上,IIS用來驗證用戶名稱和密碼的方式不僅包括以上兩種,還包括摘要式身份驗證,匿名身份驗證等。了解這些身份驗證方式,對于IIS的管理是極為重要的。在默認情況下,IIS網站允許所有的用戶進行訪問,但是如果網站僅僅針對特定的用戶開放的話,來訪者就必須輸入合適的賬戶名和密碼。
一般來說,系統默認采用匿名身份驗證模式。如果需要使用其他的驗證方式,在IIS主機上打開服務器管理器窗口,在左側點擊“角色”項,在右側的Web服務器(IIS)界面中點擊“添加角色服務”鏈接,在選擇角色服務界面中的IIS安全性欄中選擇“基本身份驗證”,“Windows身份驗證”,“摘要式身份驗證”等項目。實際上,不僅可以針對整個網站設置身份驗證方式,還可以對其中的文件或者文件夾設定合適的身份驗證模式。
例如,在IIS管理器中選擇對應的站點,雙擊“身份驗證”項,在彈出窗口(如圖7)中選用合適的身份驗證模式即可。如果您同時啟用了所有的身份驗證模式,那么當客戶端訪問目標網站,文件夾或者文件時。首先執行匿名身份驗證,如果驗證失敗,則按照順序依次執行Windows驗證,摘要式身份驗證,基本身份驗證模式。
不管是何種的瀏覽器,都支持匿名身份驗證模式,無需輸入賬戶名和密碼,就可以訪問目標網站。實際上,在系統內部內置了名為IUSR的賬戶,當用戶匿名訪問網站時,其具有的權限與該賬戶相當。當使用身份驗證模式時,用戶在訪問目標網站時,必須輸入對應的賬戶名和密碼。不過,在發送賬戶和密碼給服務器時,其并沒有加密。為了保護其安全性,最好使用SSL加密連接方式。
要想使用該種驗證方式,必須先禁用其他三種身份驗證方式。在身份驗證管理界面中選擇“基本身份驗證”項,點擊“編輯”鏈接,在彈出窗口中的“默認域”欄中可以輸入對應的域名,這樣當客戶端訪問時,就可以將賬戶名密碼發送到該域中的域控制器進行檢測。該值默認為空,表示將賬戶名和密碼發送到IIS服務器的本地安全數據庫,或者發送到本域中的Active Directory數據庫中來檢查其是否合法。在“領域”欄中輸入登錄提示信息(例如本單位名稱等),該信息會顯示客戶端的登錄窗口中。

圖7 選擇身份驗證模式
相比基本身份驗證模式,摘要式身份驗證模式要安全得多,當客戶端輸入賬戶名和密碼時,這些信息會經過MD5加密處理,然后才發送給目標服務器。當然,前提是IIS主機必須是活動目錄域中的成員或者域控制器,賬戶名必須是活動目錄域用戶,該賬戶必須與IIS主機位于同域或者是信任域。使用該種身份驗證模式,需要禁用Windows驗證模式和匿名身份驗證模式。在身份驗證管理界面中選擇“摘要式身份驗證”項,點擊“編輯”鏈接,在彈出窗口中的“領域”欄中輸入對應的域名。當客戶端連接網站時,在登錄窗口中輸入域賬戶名和密碼,才可以執行連接操作。
如果使用Windows身份驗證模式,在連接時同樣要求輸入賬戶名和密碼,這些信息也經過加密處理,其支持Kerberos v5和NTLM驗證協議。一般來說,因為Kerberos v5協議會被防火墻攔截,而NTLM認證協議得不到代理服務器的支持。因此,該身份驗證模式很適用于內網環境。內網客戶端可以利用該模式,來連接內部網咯。為了提高使用的靈活性,可以利用自動登錄賬戶來連接網站。
例如在IE中打開配置窗口,在“安全”面板中選擇“本地Intranet”項,點擊“站點”按鈕,在彈出窗口中點擊“高級”按鈕,在本地Intranet窗口中輸入網站地址,點擊“添加”按鈕,將其添加到網站列表中。點擊“自定義級別”按鈕,在彈出窗口中“用戶身份驗證”合適的登錄項目,例如選擇“自動使用當前用戶名和密碼登錄”等。這樣,在連接目標網站時,就可以使用當前賬戶和密碼自動登錄了。如果登錄失敗的的話,可以按照提示輸入其他的賬戶和密碼進行登錄即可。