打印本文 打印本文 关闭窗口 关闭窗口
如何做:创建自定义帐户来运行 ASP.NET
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2084  更新时间:2009/4/23 10:47:05  文章录入:mintao  责任编辑:mintao

身份验证、授权和安全通信

有关构建安全的 ASP.NET 应用程序 的起点和完整概述,请参见登陆页面。

总结

通常,使用内置 ASPNET 帐户来运行 ASP.NET Web 应用程序。但是,偶尔也可以使用自定义帐户。本“如何做”介绍如何创建具有最小权限的本地帐户来运行 ASP.NET Web 应用程序。

如何做:创建自定义帐户来运行 ASP.NET

本“如何做”介绍如何创建具有最小权限的本地帐户来运行 ASP.NET 辅助进程 (aspnet_wp.exe) 或用于虚拟目录中的模拟标识。虽然本“如何做”中的过程用于创建本地帐户,但是,其中述及的概念同样适用于域帐户。

ASP.NET 辅助进程标识

安装时为运行 ASP.NET 而创建的默认帐户是具有最小权限的本地帐户,并且是在 machine.config 中指定的(如下所示):

 

<processModel enable="true" userName="machine" password="AutoGenerate" />

 

该帐户在“本地用户和组”中被标识为 ASPNET,并且在本地系统机构 (LSA) 中使用增强密码保护。

当需要使用 ASP.NET 进程标识来访问网络资源(如数据库)时,您可以执行下列操作之一:

●   使用域帐户。

●   使用“镜像的”本地帐户(即,在两台计算机上具有相同用户名和密码的帐户)。在以下情况下需要使用这种方法:计算机位于单独的域中,并且域之间没有建立信任关系;或者计算机被防火墙隔开,并且您无法打开进行 NTLM Kerberos 身份验证所需的端口。

最简单的方法是在 Web 服务器上将 ASPNET 帐户的密码更改为已知值,然后在目标计算机上创建名为 ASPNET 且具有相同密码的帐户。在 Web 服务器上,必须先在“本地用户和组”中更改 ASPNET 帐户密码,然后在 machine.config 中将“AutoGenerate”替换为新密码。

 

<processModel enable="true" userName="machine"

password="YourStrongPassword" />

 

可以使用本“如何做”中介绍的步骤来创建具有最小权限的本地帐户。

模拟固定标识

可通过在 web.config 中使用以下设置给特定虚拟目录设置固定的标识。

 

<identity impersonate="true" userName="YourAccount"

password="YourStrongPassword" />

 

这种方法通常用于以下情况:同一个 Web 服务器上有多个 Web 站点并且需要以不同的标识来运行;例如,在应用程序托管方案中。

本“如何做”介绍如何创建具有最小权限的本地帐户。如果您主要关心管理问题,则可以使用具有最小权限的限制域帐户和增强密码。

备注

在考虑用于运行 ASP.NET 的帐户时,请记住以下事项:

●   默认情况下,ASP.NET 不进行模拟。因此,Web 应用程序进行的任何资源访问均使用 ASP.NET 进程标识。在这种情况下,Windows 资源必须拥有一个访问控制列表 (ACL),它可授予对 ASP.NET 进程帐户的访问权限。

●   如果启用模拟,则应用程序使用原始调用者的安全上下文来访问资源;如果已将 IIS 配置用于匿名身份验证,则应用程序也可以使用匿名 Internet 用户帐户(默认为 IUSR_MACHINE)来访问资源。在这种情况下,资源必须具有基于原始调用者标识(或 IUSR_MACHINE)的 ACL

●   在创建自定义帐户时始终坚持分配最小权限的原则,即只分配一组最低限度的权限。

●   避免使用 SYSTEM 帐户运行 ASP.NET

●   避免给帐户授予“作为操作系统的一部分”权限。

   

总结

“如何做”包括如下过程:

1.   创建一个新的本地帐户

2.   分配最少的权限

3.   分配 NTFS 权限

4.   将 ASP.NET 配置为使用新帐户运行

 

1. 创建一个新的本地帐户

此过程创建一个新的本地帐户。默认情况下,将它添加到本地 Users 组中。

u 创建一个新的本地帐户

1.   创建一个新的本地帐户(例如,“CustomASPNET”)。

确保将增强密码用于该帐户。增强密码应包含至少 7 个字符并混合使用大写字母、小写字母、数字和其他字符,如 *? $ 等。

2.   清除“用户下次登录时须更改密码”选项。

3.   选择“密码永不过期”选项。

 

2. 分配最少的权限

此过程分配运行 ASP.NET 所需的一组最低限度的权限。

u 分配最少的权限

1.   从“管理工具”程序组中,启动“本地安全策略”工具。

2.   展开“本地策略”,然后选择“用户权利指派”。

在右窗格中将显示一个权限列表。

3.   给新帐户分配以下权限:

从网络访问此计算机

拒绝本地登录

以批处理作业登录

[1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口