保护 RDS 应用程序

适用于:Access 2013、Office 2013

Microsoft Internet Explorer 安全问题

随着 Microsoft Internet Explorer新增的安全增强功能,一些 ADO 和 RDS 对象仅限于在"安全"模式环境中运行。 这需要您注意这些问题,包括不同区域、安全级别、限制性行为、不安全的操作和自定义安全设置。

有关这些问题的详细信息,请参阅 ActiveX 数据对象 (ADO) 技术文章中的“Microsoft Internet Explorer 中的 ADO 和 RDS 安全问题”。

安全性和 Web 服务器

如果在 Internet Web 服务器上使用 RDSServer.DataFactory 对象,请记住这样做会带来潜在的安全风险。 获得有效数据源名称 (DSN)、用户 ID 和密码信息的外部用户可以编写将任何查询发送到该数据源的页面。 如果您希望进一步限制对数据源的访问,一种选择是撤消注册并删除 RDSServer.DataFactory 对象 (msadcf.dll),转而使用带硬代码查询的自定义业务对象。

有关使用 RDSServer.DataFactory 对象的安全含义详细信息,请参阅 Microsoft 安全网站上 Microsoft安全公告 MS99-025。

客户端模拟和安全性

如果 IIS Web 服务器的 Password Authentication 属性设置为 Windows NT 4.0) 的 Windows NT 质询/响应身份验证 (或 Windows 2000) 的集成 Windows 身份验证 (,则业务对象在客户端的安全上下文中调用。 这是 RDS 1.5 中的新增功能,它允许通过 HTTP 进行客户端模拟。 在此模式下运行时,登录到 Web 服务器 (IIS) 不是匿名的,而是使用客户端计算机运行时使用的用户 ID 和密码。 如果 ODBC DSN 设置为使用可信连接,那么对 SQL Server 等数据库的访问也发生在客户端的安全性上下文中。 But this only works if the database is on the same computer as the IIS; the client credentials cannot be carried over to yet another computer.

例如,客户 John Doe 要登录到客户端计算机,他的用户 ID 为"JohnD",密码为"secret"。 他运行基于浏览器的应用程序,该应用程序需访问 RDSServer.DataFactory 对象,并通过在运行 IIS 的“MyServer”计算机上执行 SQL 查询来创建 Recordset。 MyServer 是一个运行 Windows NT Server 4.0 的系统,它设置为使用 Windows NT 质询/响应验证,它的 ODBC DSN 的“使用可信连接”处于选中状态,该服务器还包含 SQL Server 数据源。 当 Web 服务器上收到请求时,它会要求客户端提供用户 ID 和密码。 因此,MyServer 上的请求将记录为来自"JohnD"/"Secret",而不是 IUSER MyServer (这是当匿名密码身份验证在) _ 上时的默认请求。 同样,当登录 SQL Server 时,将使用“JohnD”/“Secret”。

因此,在没有明确提示用户输入登录到数据库所需的用户 ID 和密码信息的情况下,IIS Windows NT 口令/应答身份验证模式允许创建 HTML 页面。如果使用 IIS 基本身份验证,也要求使用该模式。

密码验证

RDS 可以与在三种密码身份验证模式之一中运行的 IIS Web 服务器通信:匿名、基本或 NT 质询/响应身份验证 (在 Windows 2000) 中称为集成 Windows 身份验证。 这些设置定义 Web 服务器如何控制通过它访问,例如要求客户端计算机在 NT Web 服务器上具有显式访问权限。