关于LSA策略句柄的一点内容

概要
当您添加 NT AUTHORITY\ANONYMOUS 登录登录到您的 Microsoft SQL Server 2000 Microsoft SQL Server 2005 实例以便的 SQL Server 实例接受通过 Microsoft Windows 集成安全匿名登录,然后您尝试连接到 SQL Server 作为匿名用户的实例、 连接尝试可能不会成功和您可能会收到以下错误信息:
用户 '(null)' 登录失败。 理由: 未关联一个受信任的 SQL Server 连接。
此外,是在系统事件日志中记录以下事件:
事件类型: 错误
事件源: LsaSrv
事件类别: $
事件 ID 6033
日期:
时间:
用户: N/A
计算机: < 计算机名称 >
说明:

从连接的匿名会话 < 计算机名称 > 试图打开此计算机上的 LSA 策略句柄。 尝试被拒绝与 STATUS _ ACCESS _ DENIED,以防止向匿名调用方泄露安全敏感的信息。

进行此尝试应用程序需要进行修复。 请与应用程序供应商联系。 作为临时解决办法,可以通过设置 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\TurnOffAnonymousBlock 来禁用此安全措施将 DWORD 值为 1
满足以下所有条件时发生此问题:在运行 Microsoft Windows Server 2003 的一个计算机上安装的 SQL Server 实例。
正在运行的 SQL Server 实例的计算机是域中的成员服务器。
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\TurnOffAnonymousBlock
注册表值缺失或不设置为 1
网络访问: 允许匿名 SID / 名称转换 正在运行的 SQL Server 实例的计算机上安全选项未启用。

回到顶端

原因
当您尝试连接到 SQL Server 作为匿名用户的实例时,匿名连接尝试打开 LSA 策略句柄运行 SQL Server 实例的计算机上。 默认情况下在 Windows Server 2003 成员服务器拒绝会尝试打开一个 LSA 策略句柄如果 TurnOffAnonymousBlock 注册表值未设置为 1 的匿名连接尝试。 因此,您的匿名连接不成功。 此外,SQL Server 接收到匿名连接请求,SQL Server 调用 LookupAccountSid Windows API 函数以获取帐户名称。 如果由于匿名连接的上下文中调用该函数,还失败不是函数调用 网络访问: 允许匿名 SID / 名称转换 未启用安全选项。
回到顶端

替代方法
警告 此替代方法可能会导致您的计算机或您的网络更容易受到怀有恶意的用户或恶意软件 (如病毒的攻击。 我们建议不要采用此解决办法但提供此信息,以便您可以在您自己的判断力来实现此替代方法。 使用此替代方法需要您自己的担风险。

若要解决此问题,请在运行 Windows Server 2003 为允许匿名连接到 SQL Server 2000 SQL Server 2005 的计算机上按照下列步骤操作: 1. 启用 网络访问: 允许匿名 SID / 名称转换 本地安全策略中的安全选项。 为此,请按照下列步骤操作: a.  单击 开始 ,然后单击 控制面板
b. 
双击 管理工具 ,然后双击 本地安全策略
c. 
在左窗格中, 展开 本地策略 ,然后单击 安全选项
d. 
在右窗格, 策略 下中列,找到并双击 网络访问: 允许匿名 SID / 名称转换
e. 
网络访问: 允许匿名 SID / 名称转换 对话框,单击 启用 选项,然后单击 确定
f. 
关闭 本地安全设置 窗口。
g. 
关闭 管理工具 窗口。

2.
TurnOffAnonymousBlock DWORD 注册表值设置为 1 要执行此,请按照下列步骤。

重要 此部分、 方法或任务包含的步骤,告诉您如何修改注册表。 但是,如果您错误地修改注册表,则可能会出现严重的问题。 因此,请确保仔细地执行这些步骤。 用于添加保护,您对其进行修改之前备份注册表。 然后,可以发生问题时还原注册表。 有关如何备份和还原注册表信息,单击下面的文章编号以查看 Microsoft 知识库中相应的文章:
322756 (http://support.microsoft.com/kb/322756/)
如何备份和还原 Windows 注册表
a. 
单击 开始 ,单击 运行 ,键入 regedit ,然后单击 确定
b. 
在注册表编辑器,找到并单击 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 注册表项。
c. 
在右窗格中, 找到并双击 TurnOffAnonymousBlock DWORD 注册表值。

注意 如果不存在 TurnOffAnonymousBlock DWORD 注册表值,您必须创建注册表值。
d. 
编辑 DWORD 对话框,在 数值数据 框中, 键入 1 ,然后单击 确定

注意 默认情况下 网络访问: 允许匿名 SID / 名称转换 充当域控制器的计算机上启用安全选项。 但是,安全选项是在工作站和成员服务器上禁用的。 在域控制器不需要 TurnOffAnonymousBlock 注册表项,以控制匿名连接尝试。 因此,如果您的 SQL Server 实例的安装在运行 Windows Server 2003 的一个域控制器上,到 SQL Server 实例的匿名连接尝试不失败。
回到顶端

更多信息
在一个在的运行 Windows Server 2003 , 尝试访问该计算机的匿名连接执行安全检查是更严格的。 如果您创建的运行 Microsoft Internet 信息服务 (IIS) 6.0 Web 服务器使用 Windows 身份验证和模拟的 Microsoft ASP.NET 网页但是您不能委派用户帐户,任何尝试从 ASP.NET 页连接到 SQL Server 的远程实例会 NT AUTHORITY\ANONYMOUS 登录登录的安全上下文中。 您可以配置的 SQL Server 以通过作为 SQL Server 用户添加 NT AUTHORITY\ANONYMOUS 登录登录名和所需的权限授予该用户接受通过 Windows 集成安全匿名连接您的实例。 当您将添加 NT AUTHORITY\ANONYMOUS 登录登录到您的 SQL Server 的实例,匿名连接可以访问 SQL Server 数据但不提供任何登录凭据。

重要 我们不建议允许匿名访问到 SQL Server 用户可以连接到计算机运行 SQL Server 的任何用户都可以使用 NT AUTHORITY\ANONYMOUS 登录登录授予的所有权限。 如果您必须允许匿名访问到您的 SQL Server 实例的我们建议仅读取的权限授予 NT AUTHORITY\ANONYMOUS 登录登录到查看 SQL Server 数据时,想要公开可见。 此外,建议仅执行权限授予 SQL Server 存储的过程执行有限的操作。

而不是允许匿名连接到您的 SQL Server 实例的的可以将权限授予需要的访问特定的 SQL Server 帐户,然后在 ASP.NET 中在连接字符串中传递为 SQL Server 帐户登录凭据页。 使用 SQL Server 身份验证可以避免匿名连接尝试的 SQL Server 实例,更安全的。

如果 网络访问: 允许匿名 SID / 名称转换 运行 Windows Server 2003 计算机上启用安全选项,用户可以创建网络连接到计算机所有用户可以都查找任何已知的安全标识的帐户名 (SID),如与管理员帐户。 恶意攻击者可能会使用此信息通过使用一个方法,如密码猜测连接到服务器或锁定具有失败的登录尝试的帐户。

如果将 TurnOffAnonymousBlock 注册表值的值设置为 1,匿名连接可以打开该策略句柄为本地安全机构。 有关 LSA 策略信息,请访问下面的 MSDN Web 站点:
http://msdn2.microsoft.com/en-us/library/ms721831.aspx (http://msdn2.microsoft.com/en-us/library/ms721831.aspx)
http://msdn2.microsoft.com/en-us/library/ms722489.aspx (http://msdn2.microsoft.com/en-us/library/ms722489.aspx)
http://msdn2.microsoft.com/en-us/library/ms721833.aspx (http://msdn2.microsoft.com/en-us/library/ms721833.aspx)
http://msdn2.microsoft.com/en-us/library/ms721874.aspx (http://msdn2.microsoft.com/en-us/library/ms721874.aspx)
回到顶端

参考
有关 SQL Server 2000 中的连接问题疑难解答的其他信息,单击下面的文章编号以查看 Microsoft 知识库中相应的文章:
827422 (http://support.microsoft.com/kb/827422/)
如何解决 SQL Server 2000 中的连接问题
有关其他信息,单击下面的文章编号以查看 Microsoft 知识库中相应的文章:
247931 (http://support.microsoft.com/kb/247931/)
连接到 Active Server Pages 中的 SQL Server 身份验证方法

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/672726/viewspace-566587/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/672726/viewspace-566587/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值