我有一门叫做信息系统规划和审计的课程,我遇到了一个这样的考试问题:
为什么不建议使用“SQL Server 和 Windows 身份验证模式”对 Microsoft SQL 数据库进行身份验证?
我搜索了我所拥有的文献并用谷歌搜索了它,但我无法找到这个问题的明确答案。有谁知道这个问题的目的是什么?
我有一门叫做信息系统规划和审计的课程,我遇到了一个这样的考试问题:
为什么不建议使用“SQL Server 和 Windows 身份验证模式”对 Microsoft SQL 数据库进行身份验证?
我搜索了我所拥有的文献并用谷歌搜索了它,但我无法找到这个问题的明确答案。有谁知道这个问题的目的是什么?
当使用混合身份验证启动 SQL Server 实例时,“sa”登录会以完整的系统管理员权限启用,并会获得一个密码(希望是一个非常强大的密码)。“sa”帐户是一个常见的攻击点。
有权访问实例的“sa”帐户的黑客不仅拥有受感染实例和任何链接服务器上的所有数据,他还通过使用 xp_cmdshell 调用 PowerShell 脚本等来利用运行实例的服务帐户的权力事物。许多组织没有遵循服务帐户的最佳实践,他们将整个生产环境运行在一个或两个服务帐户下。这使得“sa”帐户成为黑客非常有吸引力的攻击点。
在 Windows 身份验证下,“sa”登录被禁用。这可能是您的考试问题正在寻找的内容。
迈克沃尔斯顿的观点也非常正确。
当然,这只是我的意见,但不推荐这样做的原因是您最终会拥有两组不同的用户,必须始终对其进行维护和监控。在现实世界中,这通常会导致这两个组中的一个被忽略或没有得到适当的维护,通常是因为系统管理员维护 Windows Auth 用户,而 DBA 维护 SQL Server 用户。这种不一致可能会导致安全问题,或者导致用户最终同时使用 Windows Auth 用户名/密码和 SQL Server 用户名/密码的问题。停用用户时,有时只有两个帐户中的一个会被停用,这可能会导致安全问题。