本文详细介绍ASP.NET 和 XML Web Services 上的共同点与不同点,最重要的目标之一是保护对数据源的访问。如果连接字符串未受保护,那么它就是一个潜在漏洞。如果以纯文本形式存储连接信息或者使连接信息持续位于内存中,
则可能会损害整个系统。可以使用 MSIL 反汇编程序 (Ildasm.exe) 读取嵌入在源代码中的连接字符串,以查看已编译的程序集中的 Microsoft 中间语言 (MSIL)。根据以下因素可能会出现与连接字符串有关的安全漏洞:所使用的身份验证类型,连接字符串持久地位于内存和磁盘中的方式,以及在运行时构造连接字符串所采用的技术。#t#
为了帮助限制对数据源的访问,必须保护诸如用户 ID、密码和数据源名称等连接信息的安全。为避免公开用户信息,建议尽可能使用 Windows 身份验证(有时也称为“集成安全性”)。使用
- Integrated Security
或者
- Trusted_Connection
关键字在连接字符串中指定 Windows 身份验证后,不必再使用用户 ID 和密码。在使用 Windows 身份验证时,用户由 Windows 进行身份验证,通过对 Windows 用户和组授予权限来确定他们是否可访问服务器和数据库资源。
在不能使用 Windows 身份验证的情况下必须格外小心,因为此时用户凭据在连接字符串中是公开的。在 ASP.NET 应用程序中,您可以将 Windows 帐户配置为用于连接到数据库和其他网络资源的固定标识。您可以在 web.config 文件中的标识元素中启用模拟,并指定用户名和密码。