您的位置:首页 > 其它

IIS各种身份验证方式的区别

2010-09-15 16:55 232 查看

如何在 Windows Server 2003 中配置 Internet 信息服务 Web 身份验证

http://support.microsoft.com/kb/324276/zh-cn

身份验证方法

注意:使用下列某些身份验证方法时,您必须使用已用 NTFS 文件系统格式化的驱动器,因为 NTFS 格式化的驱动器的安全级别最高。

IIS 支持以下几种 Web 身份验证方法。

匿名身份验证

IIS 创建 IUSR_ComputerName 帐户(其中 ComputerName 是正在运行 IIS 的服务器的名称),用来在匿名用户请求 Web 内容时对他们进行身份验证。此帐户授予用户本地登录权限(针对IIS5.0,IIS6.0仅需授予网络登录权限)。您可以将匿名用户访问重置为使用任何有效的 Windows 帐户。

注意:您可以为不同的网站、虚拟目录、物理目录和文件建立不同的匿名帐户。

如果基于 Windows Server 2003 的计算机是独立服务器,则 IUSR_ComputerName 帐户位于本地服务器上。如果该服务器是域控制器,则 IUSR_ComputerName 帐户是针对该域定义的。

不需要客户端提供认证信息,在http头中不包括验证信息。
IIS首选的默认认证方式。
RFC1945
IUSR_<MachineName>:属于本地guests组成员。
口令在SAM和IIS Metabase中要同步
NTFS权限阻止匿名访问时IIS会尝试启用其他身份验证
在每个不同的节点上可以设置不同的Anonymous账户
子验证:subAuthentication
1.IIS将管理匿名账户的口令验证
2.IIS5中子验证默认开始,IIS6默认禁用
IIS6中启用子验证:
1.将AppPool的运行表示设置为Local System。
2.注册iissuba.dll dundll32 %windir%\system32\iissuba.dll,registerIISSUBA
3.设置Metabase属性AnonymousPasswordSync=ture
IIS5升级6只需前两步
C:\inetpub\adminScripts cscript //H:cscript
Adsutil.Vbs get w3svc/AnonymousUserName
/……………………….pass
修改脚本Adsutil.Vbs添加 Issecurepropety =false
Exit function 用于读取Metabase中匿名账户密码

基本身份验证

使用基本身份验证可限制对 NTFS 格式的 Web 服务器上文件的访问。使用基本身份验证,用户必须输入凭据,而且访问是基于用户 ID 的。用户 ID 和密码都以明文形式(base64编码)在网络间进行发送。

要使用基本身份验证,请授予每个用户进行本地登录的权限(II5.0,IIS6.0仅需网络登录权限),为了使管理更加容易,请将每个用户都添加到可以访问所需文件的组中。

注意:因为用户凭据是使用 Base64 编码技术编码的,但它们在通过网络传输时不经过加密,所以基本身份验证被认为是一种不安全的身份验证方式。

Web服务器:返回http401与所支持的身份验证方式。
客户端:以Authorization头返回‘明文’的用户名和密码。使用Base64 进行编码,结合ssl保证传输的安全性。IIS5用户需要本地登录权限,IIS6需网络登录权限。

Windows 集成身份验证

Windows 集成身份验证比基本身份验证安全,而且在用户具有 Windows 域帐户的内部网环境中能很好地发挥作用。在集成 Windows 身份验证中,浏览器尝试使用当前用户在域登录过程中使用的凭据,如果此尝试失败,就会提示该用户输入用户名和密码。如果您使用集成 Windows 身份验证,则用户的密码将不传送到服务器。如果用户作为域用户登录到本地计算机,则此用户在访问该域中的网络计算机时不必再次进行身份验证。请注意,如果您使用的是 Windows 集成身份验证,则必须使用 Microsoft Internet Explorer 2.0 或更高版本作为 Web 浏览器。

注意:您不能通过代理服务器使用集成 Windows 身份验证。

摘要式身份验证

摘要式身份验证克服了基本身份验证的许多缺点。在使用摘要式身份验证时,密码不是以明文形式发送的。另外,您可以通过代理服务器使用摘要式身份验证。摘要式身份验证使用一种质询/响应机制(集成 Windows 身份验证使用的机制),其中的密码是以加密形式发送的。要使用摘要式身份验证,请注意下列要求:

用户和 IIS 服务器必须是同一个域的成员或被同一个域信任。
用户必须有一个存储在域控制器上 Active Directory 中的有效 Windows 用户帐户。
该域必须使用 Microsoft Windows 2000 或更高版本的域控制器。
必须将 IISSuba.dll 文件安装到域控制器上。此文件会在 Windows 2000 或 Windows Server 2003 的安装过程中自动复制。
必须将所有用户帐户配置为选择“使用可逆的加密保存密码”帐户选项。要选择此帐户选项,必须重置或重新输入密码。
注意:如果您使用的是摘要式身份验证,则必须使用 Microsoft Internet Explorer 5.0 或更高版本作为您的 Web 浏览器。

.NET Passport 身份验证

Microsoft .NET Passport 是一项用户身份验证服务,它允许单一签入安全性,可使用户在访问启用了 .NET Passport 的网站和服务时更加安全。启用了 .NET Passport 的站点依靠 .NET Passport 中央服务器来对用户进行身份验证。但是,该中央服务器不会授权或拒绝特定用户对各个启用了 .NET Passport 的站点进行访问。控制用户的权限由网站负责。选择此选项时,对 IIS 的请求必须在查询字符串或 Cookie 中包含有效的 .NET Passport 凭据。如果 IIS 不检测 .NET Passport 凭据,这些请求就会被重定向到 .NET Passport 登录页。

匿名访问:如果启用了匿名访问,访问站点时,不要求提供经过身份验证的用户凭据。当需要让大家公开访问那些没有安全要求的信息时,使用此选项最合适。用户尝试连接您的网站时,IIS 会将该连接分配给 IUSER_ComputerName 帐户,其中 ComputerName 是运行 IIS 的服务器的名称。默认情况下,IUSER_ComputerName 帐户为 Guests 组的成员。此组具有 NTFS 文件系统权限所规定的安全限制,这些限制指定访问级别以及可提供给公共用户的内容的类型。要编辑用于匿名访问的 Windows 帐户,请在“匿名访问”框中单击浏览。

重要说明:如果启用匿名访问,IIS 会始终先使用匿名身份验证来尝试验证用户身份,即使您启用其他身份验证方法也是如此。



集成 Windows 身份验证:以前称为 NTLM 或 Windows NT 质询/响应身份验证,此方法以 Kerberos 票证的形式通过网络向用户发送身份验证信息,并提供较高的安全级别。Windows 集成身份验证使用 Kerberos 版本 5 和 NTLM 身份验证。要使用此方法,客户端必须使用 Microsoft Internet Explorer 2.0 或更高版本。另外,不支持通过 HTTP 代理连接进行 Windows 集成身份验证。如果某个 Intranet 中的用户和 Web 服务器计算机在同一个域中,并且管理员可以确保每个用户都使用 Internet Explorer 2.0 或更高版本,那么对于这个 Intranet,使用此选项是最合适的。

注意:如果选择了多个身份验证选项,IIS 会首先尝试协商最安全的方法,然后它按可用身份验证协议的列表向下逐个试用其他协议,直到找到客户端和服务器都支持的某种共有的身份验证协议。



Windows 域服务器的摘要式身份验证:摘要式身份验证需要用户 ID 和密码,可提供中等的安全级别,如果您要允许从公共网络访问安全信息,则可以使用这种方法。这种方法与基本身份验证提供的功能相同。但是,此方法会将用户凭据作为 MD5 哈希或消息摘要在网络中进行传输,这样就无法根据哈希对原始用户名和密码进行解码。要使用此方法,客户端必须使用 Microsoft Internet Explorer 5.0 或更高版本,Web 客户端和 Web 服务器必须是相同域的成员或者被相同域信任。

如果启用摘要式身份验证,请在领域框中键入领域名称。



基本身份验证(以明文形式发送密码):基本身份验证需要用户 ID 和密码,提供的安全级别较低。用户凭据以明文形式在网络中发送。这种形式提供的安全级别很低,因为几乎所有协议分析程序都能读取密码。但是,它与大多数 Web 客户端兼容。如果允许用户访问的信息没有什么隐私性或不需要保护,使用此选项最为合适。

如果启用基本身份验证,请在“默认域”框中键入要使用的域名。您还可以选择在领域框中输入一个值。



Microsoft .NET Passport 身份验证:.NET Passport 身份验证提供了单一登录安全性,为用户提供对 Internet 上各种服务的访问权限。如果选择此选项,对 IIS 的请求必须在查询字符串或 Cookie 中包含有效的 .NET Passport 凭据。如果 IIS 不检测 .NET Passport 凭据,请求就会被重定向到 .NET Passport 登录页。

注意:如果选择此选项,所有其他身份验证方法都将不可用(显示为灰色)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: