当前位置: 首页 > 图文教程 > 服务器 > 安全防护 > IIS服务、ASP.NET引擎以及SQLServer的安全性问题

安全防护
如何正确预防网页中的5种“隐形杀手”
cpu散热技巧方法和六大误区
隐患起于灰尘!机箱内部风扇清理有妙招
电源常见故障判断分析与排除
主板常见故障分类及排除方法
绝杀病毒木马的好工具:ESET NOD32
三种方法解决IIS6目录检查漏洞
硬盘坏道故障实例解决
做好防范措施 让你的MP3拒绝病毒的入侵
彻底查杀网页病毒 断绝一切安全隐患
移动安全之手机病毒入侵的解决
中国PC用户个人上网十则网络安全指南
如何使tcp包和udp包穿透网络防火墙
细说iexplore.exe是进程还是病毒
如何用网络入侵检测系统防范黑客攻击
对Autorun.inf类U盘病毒的攻防经验总结
护花使者:远程修复MM的受损系统
绕过主动防御 木马病毒刺穿卡巴斯基
脚本图片类后门病毒的完美使用方法
QQ盗号木马USBINE.SYS暂时解决方法

安全防护 中的 IIS服务、ASP.NET引擎以及SQLServer的安全性问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-29   浏览: 42 ::
收藏到网摘: n/a

SQL Server、Internet 信息服务器和 ASP.NET 引擎都提供了坚实可靠的安全模型,它们可以很好地在一起协同工作。为了保证用户数据和应用程序的安全,Microsoft 还为每项服务的默认设置设置了相当低的值。大多数开发人员面临的挑战是如何使用 SQL Server、IIS 和 ASP.NET 在应用程序和数据之间设置适当的信任级别,而不会留下可被别人轻易攻入的安全漏洞。由于涉及三类服务(SQL Server、IIS 和 ASP.NET),所以需要采取三个关键的步骤来确保解决方案的安全。本部分讨论一种为 Web 应用程序设置足够权限和信任级别的更常用(且可靠)的方法。

定义 DotNetKB 自定义 IIS 用户帐户

保证 Web 应用程序安全性的最安全的方法是定义一个权限有限的自定义用户,然后对 IIS 进行配置,使之能够在执行您的 Web 应用程序时能作为自定义用户运行。这是相当容易实现的,可以确保访问您的 Web 应用程序的每个访问者都只具有您希望他们具有的权限。

第一步是生成一个新的 Windows 用户(本例中称为 DotNetKB),为其设置一个增强型密码,然后将其添加到 Windows 来宾组 (Guest Windows Group) 中。同时,确保选中 Password never expires(密码永不过期)和 User cannot change password(用户不能更改密码)复选框。这样将生成一个权限有限的用户,在 IIS 中运行您的 Web 应用程序时,您可以将其用作标识(参见图 1)。


 图1:生成的权限有限的用户

然后,调用 Internet 信息服务器管理员并选择承载这些网页的 Web 应用程序。在本例中,您可以选择承载前文所生成的测试页的 Web 应用程序 (DotNetKB_WebSite)。在树视图中的 Web 应用程序上单击鼠标右键,然后从上下文相关菜单中选择 Properties...(属性...)。然后选择 Directory Security(目录安全性)并单击该对话框 Anonymous access and authentication control(匿名访问和验证控制)部分中的 Edit(编辑)按钮。最后,输入自定义用户名 (DotNetKB),取消选择 Allow IIS to control password(允许 IIS 控制密码)复选框,并输入该自定义用户帐户的密码。完成所有这些工作之后,单击 OK(确定)按钮,将这些更改保存到 IIS 配置数据库中(参见图 2)。


图2:Authentication Methods(验证方法)对话框

此时,IIS 将在一个权限有限的自定义帐户下运行。任何访问者访问您应用程序的网页时,都将以这个自定义用户身份运行,且只具有该自定义用户的验证权限。

授权 DotNetKB 用户帐户访问 SQL Server

然后,您需要为该自定义用户授予访问数据库 (DotNetKB) 的相应权限。为此,您可以使用 Microsoft SQL Server 企业管理器或编写一个自定义脚本,以创建一个这样的用户并授予其访问特定对象的权限。本文介绍如何使用 SQL Server 企业管理器完成此操作。

注意:尽管 Visual Studio .NET 2003 具有与 SQL Server 兼容的许多强大的集成功能,但也不允许从 Visual Studio .NET 2003 中轻松管理用户和用户权限。在大型的组织和团队中,这些高级任务通常由数据库管理员完成。

因此,启动 SQL Server 企业管理器之后,您可以按照以下步骤将自定义用户 (DotNetKB) 添加数据库中(参见图 3):

·在左侧的树视图中,展开节点以显示 DotNetKB 数据库。在我的计算机上,树视图的结构如下:Console Root | SQL Server Group | (LOCAL) (Windows NT) | Databases | DotNetKB。
·然后,在数据库下的 Users(用户)节点上单击鼠标右键,并选择 New Database User...(新建数据库用户...)。显示 Database User Properties - New User(数据库用户属性 - 新建用户)对话框时,从 Login name(登录名)下拉框中选择 (<新建>)。
·显示 SQL Server Login Properties - New Login(SQL Server 登录属性 - 新建登录)对话框时,选择 General(常规)选项卡,并在 Name(名称)输入框中输入 DotNetKB。确保选中 Windows Authentication(Windows 验证)单选按钮,并从 Domain(域)下拉框中选择自定义用户帐户所在的计算机的名称。然后从 Database(数据库)下拉框中选择 DotNetKB。
·现在,选择 Databases(数据库)选项卡,在对话框顶部的列表中找到 DotNetKB 数据库并选中它。然后,确保选中对话框底部列表中的 public(公共)角色。最后,单击对话框底部的 OK(确定)按钮,保存您的更改。

图3:在数据库中添加自定义用户

然后,您需要为 DotNetKB 数据库中的所有存储过程和自定义函数添加执行权限。为此,您只