IIS服務中五種身份驗證的靈活運用
原創【51CTO獨家特稿】微軟IIS服務是一項經典的Web服務,可以為廣大用戶提供信息發布和資源共享功能。身份認證是保證IIS服務安全的基礎機制,IIS支持以下5種 Web 身份認證方法:
推薦專題:IIS服務“講武堂”
一、匿名身份認證
如果啟用了匿名訪問,訪問站點時,不要求提供經過身份認證的用戶憑據。當需要讓大家公開訪問那些沒有安全要求的信息時,使用此選項最合適。IIS 創建 IUSR_ComputerName 帳戶(其中 ComputerName 是正在運行 IIS服務器的名稱),用來在匿名用戶請求 Web 內容時對他們進行身份認證。此帳戶授予用戶本地登錄權限。用戶可以將匿名用戶訪問重置為使用任何有效的 Windows 帳戶。用戶可以為不同的網站、虛擬目錄、物理目錄和文件建立不同的匿名帳戶。如果基于 Windows Server 2003 的計算機是獨立服務器,則 IUSR_ComputerName 帳戶位于本地服務器上。如果該服務器是域控制器,則 IUSR_ComputerName 帳戶是針對該域定義的。
二、基本身份認證
使用基本身份認證可限制對 NTFS 格式的 Web 服務器上文件的訪問。使用基本身份認證,用戶必須輸入憑據,而且訪問是基于用戶 ID 的。用戶 ID 和密碼都以明文形式在網絡間進行發送。要使用基本身份認證,請授予每個用戶進行本地登錄的權限,為了使管理更加容易,請將每個用戶都添加到可以訪問所需文件的組中。因為用戶憑據是使用 Base64 編碼技術編碼的,但它們在通過網絡傳輸時不經過加密,所以基本身份認證被認為是一種不安全的身份認證方式。
三、Windows 集成身份認證
Windows 集成身份認證比基本身份認證安全,而且在用戶具有 Windows 域帳戶的內部網環境中能很好地發揮作用。在集成 Windows 身份認證中,瀏覽器嘗試使用當前用戶在域登錄過程中使用的憑據,如果此嘗試失敗,就會提示該用戶輸入用戶名和密碼。如果用戶使用集成 Windows 身份認證,則用戶的密碼將不傳送到服務器。如果用戶作為域用戶登錄到本地計算機,則此用戶在訪問該域中的網絡計算機時不必再次進行身份認證。集成身份認證以前稱為 NTLM 或 Windows NT 質詢/響應身份認證,此方法以 Kerberos 票證的形式通過網絡向用戶發送身份認證信息,并提供較高的安全級別。Windows 集成身份認證使用 Kerberos 版本 5 和 NTLM 身份認證。注意:如果選擇了多個身份認證選項,IIS服務 會首先嘗試協商最安全的方法,然后它按可用身份認證協議的列表向下逐個試用其他協議,直到找到客戶端和服務器都支持的某種共有的身份認證協議。
四、摘要式身份認證
摘要式身份認證需要用戶 ID 和密碼,可提供中等的安全級別,如果用戶要允許從公共網絡訪問安全信息,則可以使用這種方法。這種方法與基本身份認證提供的功能相同。摘要式身份認證克服了基本身份認證的許多缺點。在使用摘要式身份認證時,密碼不是以明文形式發送的。另外,用戶可以通過代理服務器使用摘要式身份認證。摘要式身份認證使用一種質詢/響應機制(集成 Windows 身份認證使用的機制),其中的密碼是以加密形式發送的。
要使用摘要式身份認證,必須滿足下述要求:
用戶和 IIS 服務器必須是同一個域的成員或被同一個域信任。
用戶必須有一個存儲在域控制器上 Active Directory 中的有效 Windows 用戶帳戶。
該域必須使用 Microsoft Windows 2000 或更高版本的域控制器。
必須將 IISSuba.dll 文件安裝到域控制器上。此文件會在 Windows 2000 或 Windows Server 2003 的安裝過程中自動復制。
必須將所有用戶帳戶配置為選擇“使用可逆的加密保存密碼”帳戶選項。要選擇此帳戶選項,必須重置或重新輸入密碼。
五、Microsoft .NET Passport 身份認證
.NET Passport 身份認證提供了單一登錄安全性,為用戶提供對 Internet 上各種服務的訪問權限。如果選擇此選項,對 IIS服務 的請求必須在查詢字符串或 Cookie 中包含有效的 .NET Passport 憑據。如果 IIS服務 不檢測 .NET Passport 憑據,請求就會被重定向到 .NET Passport 登錄頁。并且,如果選擇此選項,所有其他身份認證方法都將不可用。
【51CTO獨家特稿,合作站點轉載請注明原文譯者和出處。】
【編輯推薦】