萬 飛 (長江大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,湖北 荊州434023;武漢職業(yè)技術(shù)學(xué)院輕工學(xué)院,湖北 武漢430074)
隨著網(wǎng)絡(luò)信息時(shí)代的日益發(fā)展,很多中小企業(yè)在Internet網(wǎng)絡(luò)上建立門戶網(wǎng)站或網(wǎng)絡(luò)信息系統(tǒng),這樣在Internet網(wǎng)絡(luò)中使用Windows Server系列服務(wù)器架設(shè)的站點(diǎn)越來越多,為了確保站點(diǎn)的可靠性,必須配置合法的身份驗(yàn)證以便對(duì)站點(diǎn)進(jìn)行安全訪問。下面,筆者對(duì)基于Windows Server 2003配置信息服務(wù)器 (Internet Information Services,IIS)站點(diǎn)的身份驗(yàn)證問題進(jìn)行了研究。
在Windows Server 2003Enterprise操作系統(tǒng)中安裝IIS的操作步驟如下[1]:①打開 “控制面板”→“添加/刪除程序”→ “添加/刪除 Windows組件”,系統(tǒng)經(jīng)過初始化后顯示 Windows組件向?qū)В虎谠赪indows組件向?qū)Ю镞x擇 “應(yīng)用程序服務(wù)器”→ “詳細(xì)信息”→ “Internet信息服務(wù)器 (IIS)”;③點(diǎn)擊確定,系統(tǒng)會(huì)提示需要IIS的安裝包路徑,一般使用Windows Server 2003Enterprise安裝光盤即可完成。
1)匿名身份認(rèn)證 如果啟用了匿名訪問,訪問站點(diǎn)時(shí),不要求提供經(jīng)過身份認(rèn)證的用戶憑據(jù)。當(dāng)需要讓用戶公開訪問那些沒有安全要求的信息時(shí),使用該選項(xiàng)最合適。IIS創(chuàng)建IUSR_Computer Name帳戶 (其中Computer Name是正在運(yùn)行IIS服務(wù)器的名稱),用來在匿名用戶請(qǐng)求Web內(nèi)容時(shí)對(duì)他們進(jìn)行身份認(rèn)證。該帳戶授予用戶本地登錄權(quán)限。用戶可以將匿名用戶訪問重置為使用任何有效的Windows帳戶。用戶可以為不同網(wǎng)站、虛擬目錄、物理目錄和文件建立不同的匿名帳戶。如果基于Windows Server 2003的計(jì)算機(jī)是獨(dú)立服務(wù)器,則IUSR_Computer Name帳戶位于本地服務(wù)器上。如果該服務(wù)器是域控制器,則IUSR_Computer Name帳戶是針對(duì)該域定義的。
2)基本身份認(rèn)證 使用基本身份認(rèn)證可限制對(duì)NTFS格式的Web服務(wù)器上文件的訪問。使用基本身份認(rèn)證,用戶必須輸入憑據(jù),而且訪問是基于用戶ID的。用戶ID和密碼都以明文形式在網(wǎng)絡(luò)間進(jìn)行發(fā)送。要使用基本身份認(rèn)證,應(yīng)授予每個(gè)用戶進(jìn)行本地登錄的權(quán)限;為了使管理更加容易,應(yīng)將每個(gè)用戶都添加到可以訪問所需文件的組中。因?yàn)橛脩魬{據(jù)是使用Base64編碼技術(shù)編碼,但其通過網(wǎng)絡(luò)傳輸時(shí)不經(jīng)過加密,所以基本身份認(rèn)證是一種不安全的身份認(rèn)證方式。
3)集成Windows身份認(rèn)證 集成Windows身份認(rèn)證比基本身份認(rèn)證安全,而且在用戶具有Windows域帳戶的內(nèi)部網(wǎng)環(huán)境中能很好地發(fā)揮作用。在集成Windows身份認(rèn)證中,瀏覽器嘗試使用當(dāng)前用戶在域登錄過程中使用的憑據(jù),如果嘗試失敗,就會(huì)提示該用戶輸入用戶名和密碼。如果用戶使用集成Windows身份認(rèn)證,則用戶的密碼將不傳送到服務(wù)器。如果用戶作為域用戶登錄到本地計(jì)算機(jī),則用戶在訪問該域中的網(wǎng)絡(luò)計(jì)算機(jī)時(shí)不必再次進(jìn)行身份認(rèn)證。集成Windows身份認(rèn)證以Kerberos票證的形式通過網(wǎng)絡(luò)向用戶發(fā)送身份認(rèn)證信息,其安全級(jí)別較高。值得注意的是,如果選擇了多個(gè)身份認(rèn)證選項(xiàng),IIS會(huì)首先嘗試協(xié)商最安全的方法,然后按可用身份認(rèn)證協(xié)議的列表向下逐個(gè)試用其他協(xié)議,直到找到客戶端和服務(wù)器都支持的某種共有的身份認(rèn)證協(xié)議。
4)摘要式身份認(rèn)證 摘要式身份認(rèn)證需要用戶ID和密碼,其安全級(jí)別為中等。如果用戶被允許從公共網(wǎng)絡(luò)訪問安全信息,則可以使用該方法。在使用摘要式身份認(rèn)證時(shí),密碼不是以明文形式發(fā)送的。另外,用戶可以通過代理服務(wù)器使用摘要式身份認(rèn)證。摘要式身份認(rèn)證使用一種質(zhì)詢/響應(yīng)機(jī)制 (集成Windows身份認(rèn)證使用的機(jī)制),其中的密碼以加密形式發(fā)送。在使用摘要式身份認(rèn)證時(shí)必須滿足下述要求:①用戶和IIS服務(wù)器必須是同一個(gè)域的成員或被同一個(gè)域信任;②用戶必須有一個(gè)存儲(chǔ)在域控制器上ActiveDirectory中的有效Windows用戶帳戶;③該域必須使用Microsoft Windows 2000或更高版本的域控制器;④必須將IISSuba.dll文件安裝到域控制器上,該文件在 Windows 2000或 Windows Server 2003的安裝過程中能夠自動(dòng)復(fù)制;⑤必須將所有用戶帳戶配置為選擇 “使用可逆的加密保存密碼”帳戶選項(xiàng)。要選擇此帳戶選項(xiàng),必須重置或重新輸入密碼。
5)Microsoft.NET Passport身份認(rèn)證 .NET Passport身份認(rèn)證提供了單一登錄安全性,為用戶提供對(duì)Internet上各種服務(wù)的訪問權(quán)限。如果選擇該選項(xiàng),對(duì)IIS服務(wù)的請(qǐng)求必須在查詢字符串或Cookie中包含有效的.NET Passport憑據(jù)。如果IIS服務(wù)不檢測(cè).NET Passport憑據(jù),請(qǐng)求就會(huì)被重定向到.NET Passport登錄頁。如果選擇此選項(xiàng),其他所有身份認(rèn)證方法都將不可用。
為了驗(yàn)證IIS多站點(diǎn)下的身份驗(yàn)證,首先需要在IIS中建立3個(gè)站點(diǎn),同時(shí)分別取名為Site_A、Site_B和Site_C,其中IIS服務(wù)器IP為10.84.11.102,站點(diǎn)Site_A的訪問地址為http://10.84.11.102:8081、站點(diǎn)Site_B的訪問地址為http://10.84.11.102:8082、站點(diǎn)Site_C的訪問地址為http://10.84.11.102:8083。
在建立IIS站點(diǎn)后,IIS會(huì)以用默認(rèn)開啟 “匿名身份驗(yàn)證”機(jī)制,并以一個(gè)通用的匿名帳戶 (IUSR_ADMIN-********)對(duì)站點(diǎn)進(jìn)行身份驗(yàn)證仿問,同時(shí)啟用 “集成Windows身份認(rèn)證”機(jī)制(查看方法:在IIS管理器網(wǎng)站目錄下右鍵單擊某個(gè)單站點(diǎn),打開 “屬性”對(duì)話框,找到 “目錄安全性”選項(xiàng)卡,在該選項(xiàng)卡的 “身份驗(yàn)證和訪問控制”內(nèi)容組里單擊 “編輯”即可)。
1)采用自定義帳戶進(jìn)行匿名身份驗(yàn)證 匿名身份驗(yàn)證配置過程如下:①打開 “本地用戶與組”管理器,在展開 “用戶”管理,在 “用戶”管理中增加3個(gè)帳戶,分別為Site_A、Site_B、Site_C,帳戶密碼為了方便統(tǒng)一,使用 “123456”。②更改Site_A帳戶所屬組,同時(shí)刪除帳戶默認(rèn) “隸屬于”的 “Users”組,新加入到 “IIS_WPG”用戶組中;以相同的方法更改帳戶Site_B、帳戶Site_C的“隸屬于”組信息。③更改IIS站點(diǎn)Site_A的匿名身份驗(yàn)證帳戶為Site_A,并設(shè)置密碼與創(chuàng)建帳戶時(shí)使用的密碼相同即為123456,同時(shí)勾選 “集成Windows身份驗(yàn)證”。④站點(diǎn)權(quán)限設(shè)置。在IIS站點(diǎn)管理器中右擊站點(diǎn)Site_A打開權(quán)限設(shè)置對(duì)話框,刪除默認(rèn)的Users組仿問權(quán)限,新增Site_A帳戶記問要限,并設(shè)置Site_A帳戶權(quán)限為可修改。⑤使用步驟③、④分別對(duì)IIS站點(diǎn)Site_B、站點(diǎn)Site_C做相同配置。
圖1所示為IIS站點(diǎn)Site_A配置自定義身份驗(yàn)證運(yùn)行效果圖。圖2所示為IIS站點(diǎn)身份驗(yàn)證登陸事件效果圖。
圖1 IIS站點(diǎn)Site_A配置自定義身份驗(yàn)證運(yùn)行效果圖
圖2 IIS站點(diǎn)身份驗(yàn)證登陸事件效果圖
2)采用特定帳戶進(jìn)行Windows集成身份驗(yàn)證 “Windows集成身份驗(yàn)證”配置過程與 “匿名身份驗(yàn)證”配置過程的唯一區(qū)別是在站點(diǎn)的 “身份驗(yàn)證與仿問控制”設(shè)置中不勾選 “啟用匿名方問”,因而對(duì)站點(diǎn)Site_A做出相應(yīng)更改。當(dāng)再次訪問站點(diǎn)Site_A的時(shí)候,會(huì)出現(xiàn)要求輸入的帳戶與密碼,在輸入之前設(shè)定的帳戶Site_A和密碼123456之后,就可以正常訪問網(wǎng)站。圖3所示為站點(diǎn)Site_A集成Windows身份驗(yàn)證驗(yàn)證成功后運(yùn)行效果圖。圖4所示為站點(diǎn)身份驗(yàn)證登陸事件結(jié)果圖。由圖4可知,帳戶Site_A、帳戶Site_B都已通知Windows身份驗(yàn)證,但是由于IIS的仿問控制權(quán)限限定了帳戶Site_B的訪問,所以使用帳戶Site_A進(jìn)行身份驗(yàn)證后能正常訪問,而使用帳戶Site_B則不能。
圖3 IIS站點(diǎn)Site_A集成Windows身份驗(yàn)證驗(yàn)證成功后運(yùn)行效果圖
圖4 IIS站點(diǎn)身份驗(yàn)證登陸事件結(jié)果圖
通過Windows帳戶組、IIS的身份驗(yàn)證機(jī)制和Windows文件仿問權(quán)限控制的配合使用,可以靈活地配置IIS的站點(diǎn)的身份驗(yàn)證用戶,并能在一臺(tái)服務(wù)器上配置多個(gè)站點(diǎn)的身份驗(yàn)證,且相互之間互不干擾,從而大大增強(qiáng)了應(yīng)用于Windows Server服務(wù)器系列操作系統(tǒng)上站點(diǎn)的安全可靠性。
[1]Server 2003IIS6.0安裝、配置實(shí)用技巧 [DB/OL].http://servers.pconline.com.cn/skills/0706/1035420_all.html,2007-06-15.
[2]李洋.IIS服務(wù)中5種身份驗(yàn)證的靈活運(yùn)用 [DB/OL].http://os.51cto.com/art/201005/202380.htm,2010-05-27.